@dropins/storefront-order 1.3.0-beta1 → 1.3.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/fragments.d.ts +1 -1
- package/api/graphql/GiftFragment.graphql.d.ts +0 -1
- package/api/graphql/OrderSummaryFragment.graphql.d.ts +1 -1
- package/api.js +1 -0
- package/api.js.map +1 -0
- package/chunks/CartSummaryItem.js +1 -0
- package/chunks/CartSummaryItem.js.map +1 -0
- package/chunks/OrderCancelForm.js +1 -0
- package/chunks/OrderCancelForm.js.map +1 -0
- package/chunks/OrderLoaders.js +1 -0
- package/chunks/OrderLoaders.js.map +1 -0
- package/chunks/ReturnsListContent.js +1 -0
- package/chunks/ReturnsListContent.js.map +1 -0
- package/chunks/ShippingStatusCard.js +1 -0
- package/chunks/ShippingStatusCard.js.map +1 -0
- package/chunks/capitalizeFirst.js +1 -0
- package/chunks/capitalizeFirst.js.map +1 -0
- package/chunks/confirmCancelOrder.js +1 -0
- package/chunks/confirmCancelOrder.js.map +1 -0
- package/chunks/fetch-graphql.js +1 -0
- package/chunks/fetch-graphql.js.map +1 -0
- package/chunks/formatDateToLocale.js +1 -0
- package/chunks/formatDateToLocale.js.map +1 -0
- package/chunks/getAttributesForm.js +1 -0
- package/chunks/getAttributesForm.js.map +1 -0
- package/chunks/getCustomerOrdersReturn.js +1 -0
- package/chunks/getCustomerOrdersReturn.js.map +1 -0
- package/chunks/getFormValues.js +1 -0
- package/chunks/getFormValues.js.map +1 -0
- package/chunks/getGuestOrder.js +1 -0
- package/chunks/getGuestOrder.js.map +1 -0
- package/chunks/getQueryParam.js +1 -0
- package/chunks/getQueryParam.js.map +1 -0
- package/chunks/getStoreConfig.js +1 -0
- package/chunks/getStoreConfig.js.map +1 -0
- package/chunks/initialize.js +2 -1
- package/chunks/initialize.js.map +1 -0
- package/chunks/network-error.js +1 -0
- package/chunks/network-error.js.map +1 -0
- package/chunks/redirectTo.js +1 -0
- package/chunks/redirectTo.js.map +1 -0
- package/chunks/requestGuestOrderCancel.js +1 -0
- package/chunks/requestGuestOrderCancel.js.map +1 -0
- package/chunks/requestGuestReturn.js +1 -0
- package/chunks/requestGuestReturn.js.map +1 -0
- package/chunks/returnOrdersHelper.js +1 -0
- package/chunks/returnOrdersHelper.js.map +1 -0
- package/chunks/setTaxStatus.js +1 -0
- package/chunks/setTaxStatus.js.map +1 -0
- package/chunks/transform-attributes-form.js +1 -0
- package/chunks/transform-attributes-form.js.map +1 -0
- package/chunks/useGetStoreConfig.js +1 -0
- package/chunks/useGetStoreConfig.js.map +1 -0
- package/chunks/useIsMobile.js +1 -0
- package/chunks/useIsMobile.js.map +1 -0
- package/configs/mock.config.d.ts +4 -0
- package/containers/CreateReturn.js +1 -0
- package/containers/CreateReturn.js.map +1 -0
- package/containers/CustomerDetails.js +1 -0
- package/containers/CustomerDetails.js.map +1 -0
- package/containers/OrderCancelForm.js +1 -0
- package/containers/OrderCancelForm.js.map +1 -0
- package/containers/OrderCostSummary.js +2 -1
- package/containers/OrderCostSummary.js.map +1 -0
- package/containers/OrderHeader.js +1 -0
- package/containers/OrderHeader.js.map +1 -0
- package/containers/OrderProductList.js +1 -0
- package/containers/OrderProductList.js.map +1 -0
- package/containers/OrderReturns.js +1 -0
- package/containers/OrderReturns.js.map +1 -0
- package/containers/OrderSearch.js +1 -0
- package/containers/OrderSearch.js.map +1 -0
- package/containers/OrderStatus.js +1 -0
- package/containers/OrderStatus.js.map +1 -0
- package/containers/ReturnsList.js +1 -0
- package/containers/ReturnsList.js.map +1 -0
- package/containers/ShippingStatus.js +1 -0
- package/containers/ShippingStatus.js.map +1 -0
- package/data/models/order-details.d.ts +1 -0
- package/fragments.js +6 -15
- package/fragments.js.map +1 -0
- package/hooks/containers/useCreateReturn.d.ts +1 -0
- package/package.json +1 -1
- package/render.js +2 -1
- package/render.js.map +1 -0
- package/types/api/getOrderDetails.types.d.ts +3 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
3
|
import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{classes as L}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";import{useState as p,useEffect as O}from"@dropins/tools/preact-hooks.js";import"../chunks/ShippingStatusCard.js";import"@dropins/tools/preact-compat.js";import{u as b}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import{events as g}from"@dropins/tools/event-bus.js";import{u as w}from"../chunks/useIsMobile.js";import{R as N}from"../chunks/ReturnsListContent.js";import{useText as $}from"@dropins/tools/i18n.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/returnOrdersHelper.js";import"../chunks/getFormValues.js";import"../chunks/OrderLoaders.js";import"../chunks/capitalizeFirst.js";const h=({orderData:s})=>{const[i,n]=p(s),[o,u]=p([]);return O(()=>{const t=g.on("order/data",e=>{n(e),u(e==null?void 0:e.returns)},{eager:!0});return()=>{t==null||t.off()}},[]),{order:i,orderReturns:o}},B=({slots:s,className:i,orderData:n,withHeader:o,withThumbnails:u,routeReturnDetails:t,routeProductDetails:e,routeTracking:l})=>{const m=b(),{orderReturns:a}=h({orderData:n}),f=w(),r="fullSizeView",c=(m==null?void 0:m.baseMediaUrl)??"",R=$({minifiedViewTitle:`Order.Returns.${r}.returnsList.minifiedViewTitle`,ariaLabelLink:`Order.Returns.${r}.returnsList.ariaLabelLink`,emptyOrdersListMessage:`Order.Returns.${r}.returnsList.emptyOrdersListMessage`,orderNumber:`Order.Returns.${r}.returnsList.orderNumber`,returnNumber:`Order.Returns.${r}.returnsList.returnNumber`,carrier:`Order.Returns.${r}.returnsList.carrier`});return d("div",{className:L(["order-order-returns",i]),children:a.length?d(N,{placeholderImage:c,pageInfo:{pageSize:1,totalPages:1,currentPage:1},minifiedViewKey:r,slots:s,isMobile:f,withOrderNumber:!1,withReturnNumber:!0,orderReturns:a,translations:R,withHeader:o,withThumbnails:u,minifiedView:!1,routeReturnDetails:t,routeProductDetails:e,routeTracking:l,loading:!1}):null})};export{B as OrderReturns,B as default};
|
|
4
|
+
//# sourceMappingURL=OrderReturns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderReturns.js","sources":["/@dropins/storefront-order/src/hooks/containers/useOrderReturns.tsx","/@dropins/storefront-order/src/containers/OrderReturns/OrderReturns.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { 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"],"names":["useOrderReturns","orderData","order","setOrder","useState","orderReturns","setOrderReturns","useEffect","event","events","OrderReturns","slots","className","withHeader","withThumbnails","routeReturnDetails","routeProductDetails","routeTracking","storeConfig","useGetStoreConfig","isMobile","useIsMobile","minifiedViewKey","placeholderImage","translations","useText","jsx","classes","ReturnsListContent"],"mappings":"q0BAqBO,MAAMA,EAAkB,CAAC,CAAE,UAAAC,KAAsC,CACtE,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAASH,CAAS,EACtC,CAACI,EAAcC,CAAe,EAAIF,EAEtC,CAAA,CAAE,EAEJ,OAAAG,EAAU,IAAM,CACd,MAAMC,EAAQC,EAAO,GACnB,aACCP,GAA0B,CACzBC,EAASD,CAAK,EACdI,EAAgBJ,GAAAA,YAAAA,EAAO,OAAO,CAChC,EACA,CAAE,MAAO,EAAK,CAChB,EACA,MAAO,IAAM,CACXM,GAAA,MAAAA,EAAO,KACT,CACF,EAAG,EAAE,EAEE,CAAE,MAAAN,EAAO,aAAAG,CAAa,CAC/B,ECnBaK,EAA6C,CAAC,CACzD,MAAAC,EACA,UAAAC,EACA,UAAAX,EACA,WAAAY,EACA,eAAAC,EACA,mBAAAC,EACA,oBAAAC,EACA,cAAAC,CACF,IAAM,CACJ,MAAMC,EAAcC,EAAkB,EAChC,CAAE,aAAAd,CAAa,EAAIL,EAAgB,CAAE,UAAAC,EAAW,EAChDmB,EAAWC,EAAY,EAEvBC,EAAkB,eAClBC,GAAmBL,GAAA,YAAAA,EAAa,eAAgB,GAEhDM,EAAeC,EAAQ,CAC3B,kBAAmB,iBAAiBH,CAAe,iCACnD,cAAe,iBAAiBA,CAAe,6BAC/C,uBAAwB,iBAAiBA,CAAe,sCACxD,YAAa,iBAAiBA,CAAe,2BAC7C,aAAc,iBAAiBA,CAAe,4BAC9C,QAAS,iBAAiBA,CAAe,sBAAA,CAC1C,EAGC,OAAAI,EAAC,MAAI,CAAA,UAAWC,EAAQ,CAAC,sBAAuBf,CAAS,CAAC,EACvD,SAAAP,EAAa,OACZqB,EAACE,EAAA,CACC,iBAAAL,EACA,SAAU,CACR,SAAU,EACV,WAAY,EACZ,YAAa,CACf,EACA,gBAAAD,EACA,MAAAX,EACA,SAAAS,EACA,gBAAiB,GACjB,iBAAkB,GAClB,aAAAf,EACA,aAAAmB,EACA,WAAAX,EACA,eAAAC,EACA,aAAc,GACd,mBAAAC,EACA,oBAAAC,EACA,cAAAC,EACA,QAAS,EAAA,GAET,IACN,CAAA,CAEJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
3
|
import{jsx as t,jsxs as q}from"@dropins/tools/preact-jsx-runtime.js";import{classes as L}from"@dropins/tools/lib.js";import{Card as M,InLineAlert as V,Icon as k,Button as C}from"@dropins/tools/components.js";import{useState as v,useCallback as F,useEffect as _,useMemo as D}from"@dropins/tools/preact-hooks.js";import{F as U}from"../chunks/ShippingStatusCard.js";import*as w from"@dropins/tools/preact-compat.js";import"@dropins/tools/preact.js";import{events as N}from"@dropins/tools/event-bus.js";import{F as g,g as H}from"../chunks/getFormValues.js";import{r as f}from"../chunks/redirectTo.js";import{g as E}from"../chunks/getQueryParam.js";import{g as x,a as B}from"../chunks/getGuestOrder.js";import{useText as z,Text as T}from"@dropins/tools/i18n.js";import"../chunks/network-error.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../fragments.js";import"../chunks/initialize.js";const X=i=>w.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},w.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"})),Z=({onError:i,isAuth:r,renderSignIn:a,routeCustomerOrder:s,routeGuestOrder:c})=>{const[b,u]=v({text:"",type:"success"}),[y,p]=v(!1),m=z({invalidSearch:"Order.Errors.invalidSearch",email:"Order.OrderSearchForm.email",lastname:"Order.OrderSearchForm.lastname",number:"Order.OrderSearchForm.orderNumber"}),R=F(async e=>{const l=E("orderRef"),o=l&&l.length>20;if(!e&&!l||!(e!=null&&e.number)&&!(e!=null&&e.token)&&!l)return null;if(r){const d=await x();(d==null?void 0:d.email)===e.email?f(s,{orderRef:e==null?void 0:e.number}):o||f(c,{orderRef:e.token})}else o||f(c,{orderRef:e==null?void 0:e.token})},[r,s,c]);_(()=>{const e=N.on("order/data",l=>{R(l)},{eager:!0});return()=>{e==null||e.off()}},[R]),_(()=>{const e=E("orderRef"),l=e&&e.length>20?e:null;e&&(l?f(c,{orderRef:e}):r?f(s,{orderRef:e}):a==null||a({render:!0,formValues:{number:e}}))},[r,s,c,a]);const O=D(()=>[{entityType:"CUSTOMER_ADDRESS",is_unique:!1,label:m.email,options:[],defaultValue:"",fieldType:g.TEXT,className:"",required:!0,orderNumber:1,name:"email",id:"email",code:"email",isUnique:!1},{entityType:"CUSTOMER_ADDRESS",is_unique:!1,label:m.lastname,options:[],defaultValue:"",fieldType:g.TEXT,className:"",required:!0,orderNumber:2,name:"lastname",id:"lastname",code:"lastname",isUnique:!1},{entityType:"CUSTOMER_ADDRESS",is_unique:!1,label:m.number,options:[],defaultValue:"",fieldType:g.TEXT,className:"",required:!0,orderNumber:3,name:"number",id:"number",code:"number",isUnique:!1}],[m]);return{onSubmit:F(async(e,l)=>{if(!l)return null;p(!0);const o=H(e.target);await B(o).then(n=>{n||u({text:m.invalidSearch,type:"warning"}),N.emit("order/data",n)}).catch(async n=>{var S;let d=!0;i==null||i({error:n.message});const h=r?await x():{email:""};if((h==null?void 0:h.email)===(o==null?void 0:o.email)){f(s,{orderRef:o.number});return}d=a==null?void 0:a({render:h===null||((S=n==null?void 0:n.message)==null?void 0:S.includes("Please login to view the order.")),formValues:o}),d&&u({text:n.message,type:"warning"})}).finally(()=>{p(!1)})},[r,i,a,s,m.invalidSearch]),inLineAlert:b,loading:y,normalizeFieldsConfig:O}},me=({className:i,isAuth:r,renderSignIn:a,routeCustomerOrder:s,routeGuestOrder:c,onError:b})=>{const{onSubmit:u,loading:y,inLineAlert:p,normalizeFieldsConfig:m}=Z({onError:b,isAuth:r,renderSignIn:a,routeCustomerOrder:s,routeGuestOrder:c});return t("div",{className:L(["order-order-search",i]),children:t(j,{onSubmit:u,loading:y,inLineAlert:p,fieldsConfig:m})})},j=({onSubmit:i,loading:r,inLineAlert:a,fieldsConfig:s})=>q(M,{variant:"secondary",className:"order-order-search-form",children:[t("h2",{className:"order-order-search-form__title",children:t(T,{id:"Order.OrderSearchForm.title"})}),t("p",{children:t(T,{id:"Order.OrderSearchForm.description"})}),a.text?t(V,{"data-testid":"orderAlert",className:"order-order-search-form__alert",type:a.type,variant:"secondary",heading:a.text,icon:t(k,{source:X})}):null,t(U,{className:"order-order-search-form__wrapper",name:"orderSearchForm",loading:r,fieldsConfig:s,onSubmit:i,children:t("div",{className:"order-order-search-form__button-container",children:t(C,{className:"order-order-search-form__button",size:"medium",variant:"primary",type:"submit",disabled:r,children:t(T,{id:"Order.OrderSearchForm.button"})},"logIn")})})]});export{me as OrderSearch,me as default};
|
|
4
|
+
//# sourceMappingURL=OrderSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderSearch.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg","/@dropins/storefront-order/src/hooks/containers/useOrderSearch.tsx","/@dropins/storefront-order/src/containers/OrderSearch/OrderSearch.tsx","/@dropins/storefront-order/src/components/OrderSearchForm/OrderSearchForm.tsx"],"sourcesContent":["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","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * 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 { 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 { 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"],"names":["SvgWarningFilled","props","React","useOrderSearch","onError","isAuth","renderSignIn","routeCustomerOrder","routeGuestOrder","inLineAlert","setInLineAlert","useState","loading","setLoading","translations","useText","orderSearchRedirect","useCallback","order","orderRef","getQueryParam","isToken","customer","getCustomer","redirectTo","useEffect","event","events","normalizeFieldsConfig","useMemo","FieldEnumList","valid","formValues","getFormValues","getGuestOrder","guestOrder","error","showErrorMessage","_a","OrderSearch","className","onSubmit","jsx","classes","OrderSearchForm","fieldsConfig","jsxs","Card","Text","InLineAlert","Icon","WarningFilled","Form","Button"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
3
|
import{jsx as s,Fragment as S,jsxs as A}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as $,classes as _}from"@dropins/tools/lib.js";import{Button as P,InLineAlert as B,Modal as V,Card as K,Header as Q}from"@dropins/tools/components.js";import{useState as C,useEffect as k,useCallback as T}from"@dropins/tools/preact-hooks.js";import"../chunks/ShippingStatusCard.js";import{useMemo as J}from"@dropins/tools/preact-compat.js";import{u as G}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import{events as I}from"@dropins/tools/event-bus.js";import{c as X,a as Y,r as Z}from"../chunks/confirmCancelOrder.js";import{useText as O,Text as M}from"@dropins/tools/i18n.js";import{C as D}from"../chunks/OrderLoaders.js";import{f as ee}from"../chunks/returnOrdersHelper.js";import{f as w}from"../chunks/formatDateToLocale.js";import{c as b}from"../chunks/capitalizeFirst.js";import{r as U}from"../chunks/redirectTo.js";import{O as te}from"../chunks/OrderCancelForm.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/network-error.js";import"../fragments.js";import"../chunks/initialize.js";import"../chunks/getFormValues.js";import"../chunks/requestGuestOrderCancel.js";var y=(t=>(t.CANCEL="CANCEL",t.RETURN="RETURN",t.REORDER="REORDER",t))(y||{});const re=({className:t,orderData:e,slots:n,routeCreateReturn:r,routeOnSuccess:u,onError:i})=>{const d=O({cancel:"Order.OrderStatusContent.actions.cancel",createReturn:"Order.OrderStatusContent.actions.createReturn",createAnotherReturn:"Order.OrderStatusContent.actions.createAnotherReturn",reorder:"Order.OrderStatusContent.actions.reorder"}),l=J(()=>{const c=e==null?void 0:e.availableActions,o=!!(c!=null&&c.length),a=!!(e!=null&&e.returnNumber),m=()=>{U(r,{},e)};return s(S,{children:n!=null&&n.OrderActions?s($,{"data-testid":"OrderActionsSlot",name:"OrderCanceledActions",slot:n==null?void 0:n.OrderActions,context:e}):s("div",{"data-testid":"availableActionsList",className:_(["order-order-actions__wrapper",["order-order-actions__wrapper--empty",!o]]),children:c==null?void 0:c.map(p=>{switch(p){case y.CANCEL:return s(S,{children:a?null:s(ce,{orderRef:(e==null?void 0:e.token)||(e==null?void 0:e.id)})});case y.RETURN:return s(P,{variant:"secondary",onClick:m,children:a?d.createAnotherReturn:d.createReturn});case y.REORDER:return s(S,{children:a?null:s(ie,{orderData:e,onError:i,routeOnSuccess:u,children:d.reorder})})}})})})},[i,e,u,r,n,d]);return s("div",{className:_(["order-order-actions",t]),children:l})},ne=({orderData:t})=>{const[e,n]=C(t),[r,u]=C(t==null?void 0:t.status);return k(()=>{const i=I.on("order/data",d=>{n(d),u(d.status)},{eager:!0});return()=>{i==null||i.off()}},[]),{orderStatus:r,order:e}},H=t=>{const e=new URL(window.location.href);t.forEach(n=>{e.searchParams.has(n)&&e.searchParams.delete(n)}),window.history.replaceState({},document.title,e.toString())},se=({enableOrderCancellation:t})=>{const e=O({cancelOrderHeading:"Order.OrderStatusContent.actions.cancel",confirmGuestReturnHeading:"Order.OrderStatusContent.actions.confirmGuestReturn",orderCancelled:"Order.OrderStatusContent.orderCanceled.message",guestRequestReturnMessage:"Order.OrderStatusContent.actions.confirmGuestReturnMessage"}),[n,r]=C(!1),[u,i]=C(!1),[d,l]=C({heading:"",text:"",status:void 0}),c=T(()=>{r(!0),H(["order_id","confirmation_key","action"])},[]),o=T((a,m,p)=>{l({heading:a,text:m,status:p}),H(["action"])},[]);return k(()=>{const a=new URLSearchParams(window.location.search),m=a.get("order_id")??"",p=a.get("confirmation_key")??"",g=a.get("action")??"";u||!m||!p||!g||(t&&g==="cancel"&&(i(!0),X(m,p).then(()=>{l({heading:e.cancelOrderHeading,text:e.orderCancelled,status:"success"})}).catch(h=>{l({heading:e.cancelOrderHeading,text:h.message,status:"warning"})})),g==="return"&&(i(!0),Y(m,p).then(()=>{l({heading:e.confirmGuestReturnHeading,text:e.guestRequestReturnMessage,status:"success"})}).catch(h=>{l({heading:e.confirmGuestReturnHeading,text:h.message,status:"warning"})})))},[t,e,o,u]),{orderActionStatus:d,isDismissed:n,onDismiss:c}},be=({slots:t,orderData:e,className:n,statusTitle:r,status:u,routeCreateReturn:i,onError:d,routeOnSuccess:l})=>{const{orderStatus:c,order:o}=ne({orderData:e}),a=G(),{orderActionStatus:m,isDismissed:p,onDismiss:g}=se({enableOrderCancellation:a==null?void 0:a.orderCancellationEnabled});return A("div",{className:_(["order-order-status",n]),children:[!p&&(m==null?void 0:m.status)!==void 0?s(B,{style:{marginBottom:"1rem"},heading:m.heading,onDismiss:g,description:m.text,type:m.status}):null,o?s(oe,{title:r,status:u||c,slots:t,orderData:o,routeCreateReturn:i,onError:d,routeOnSuccess:l}):s(D,{withCard:!1})]})},ce=({orderRef:t})=>{const[e,n]=C(!1),r=()=>{n(!0)},u=()=>{n(!1)},i=G(),d=(i==null?void 0:i.orderCancellationReasons)??[],l=c=>c.map((o,a)=>({text:o==null?void 0:o.description,value:a.toString()}));return I.on("order/data",c=>{const o=String(c.status).toLocaleLowerCase();(o==="guest order cancellation requested"||o==="canceled")&&u()}),A(S,{children:[s(P,{variant:"secondary",onClick:r,"data-testid":"cancel-button",children:s(M,{id:"Order.OrderStatusContent.actions.cancel"})}),e&&s(V,{centered:!0,size:"medium",onClose:u,className:"order-order-cancel__modal",title:s("h2",{className:"order-order-cancel__title",children:s(M,{id:"Order.OrderCancelForm.title"})}),"data-testid":"order-cancellation-reasons-modal",children:s(te,{orderRef:t,cancelReasons:l(d)})})]})},N={pending:"orderPending",shiping:"orderShipped",complete:"orderComplete",processing:"orderProcessing","on hold":"orderOnHold",canceled:"orderCanceled","suspected fraud":"orderSuspectedFraud","payment Review":"orderPaymentReview","order received":"orderReceived","guest order cancellation requested":"guestOrderCancellationRequested","pending payment":"orderPendingPayment",rejected:"orderRejected",authorized:"orderAuthorized","paypal canceled reversal":"orderPaypalCanceledReversal","pending paypal":"orderPendingPaypal","paypal reversed":"orderPaypalReversed",closed:"orderClosed"},oe=({slots:t,title:e,status:n,orderData:r,routeCreateReturn:u,onError:i,routeOnSuccess:d})=>{var x,E,L;const l=!!(r!=null&&r.returnNumber),c=String(n).toLocaleLowerCase(),o=(x=r==null?void 0:r.returns)==null?void 0:x[0],a=(o==null?void 0:o.returnStatus)??"",m=(o==null?void 0:o.createdReturnAt)??"",p=O({message:"Order.OrderStatusContent.orderPlaceholder.message",messageWithoutDate:"Order.OrderStatusContent.orderPlaceholder.messageWithoutDate"}),g=O(`Order.OrderStatusContent.${N[c]}.title`),h=O(`Order.OrderStatusContent.${N[c]}.message`),R=O(`Order.OrderStatusContent.${N[c]}.messageWithoutDate`),f=O({title:`Order.OrderStatusContent.returnStatus.${ee(a)}`,returnMessage:"Order.OrderStatusContent.returnMessage"});if(!n)return s("div",{});const q=g!=null&&g.title?g:{title:b(c)},v=h!=null&&h.message?h:p,F=R!=null&&R.messageWithoutDate?R:p,W=r!=null&&r.orderStatusChangeDate?v==null?void 0:v.message.replace("{DATE}",w(r==null?void 0:r.orderStatusChangeDate)):F.messageWithoutDate,j=((L=(E=f==null?void 0:f.returnMessage)==null?void 0:E.replace("{ORDER_CREATE_DATE}",w(r==null?void 0:r.orderDate)))==null?void 0:L.replace("{RETURN_CREATE_DATE}",w(m)))??"",z=l?e??(f.title||b(a)):e??q.title;return A(K,{className:"order-order-status-content",variant:"secondary",children:[s(Q,{title:z}),A("div",{className:"order-order-status-content__wrapper",children:[s("div",{className:_(["order-order-status-content__wrapper-description",["order-order-status-content__wrapper-description--actions-slot",!!(t!=null&&t.OrderActions)]]),children:s("p",{children:l?j:W})}),s(re,{orderData:r,slots:t,routeCreateReturn:u,routeOnSuccess:d,onError:i})]})]})},ie=({onError:t,routeOnSuccess:e,orderData:n,children:r})=>{const[u,i]=C(!1),d=T(()=>{i(!0);const l=n==null?void 0:n.number;Z(l).then(({success:c,userInputErrors:o})=>{c&&U(e,{}),o.length&&(t==null||t(o))}).catch(c=>{t==null||t(c.message)}).finally(()=>{i(!1)})},[n,e,t]);return s(P,{type:"button",disabled:u,variant:"secondary",className:"order-reorder",onClick:d,children:r})};export{be as OrderStatus,be as default};
|
|
4
|
+
//# sourceMappingURL=OrderStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderStatus.js","sources":["/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\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?: { message: string; timestamp: string }[];\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: { message: string; timestamp: string }[];\n items: {\n id: string;\n product_sku: string;\n product_name: string;\n quantity_shipped: number;\n order_item: OrderItemProps;\n }[];\n}\n\nexport enum AvailableActionsProps {\n CANCEL = 'CANCEL',\n RETURN = 'RETURN',\n REORDER = 'REORDER',\n}\n\nexport interface ReturnsItemsProps {\n number: string;\n status: string;\n created_at: string;\n order: {\n number: string;\n token: string;\n };\n shipping: {\n tracking: {\n status: {\n text: string;\n type: string;\n };\n carrier: {\n uid: string;\n label: string;\n };\n tracking_number: string;\n }[];\n };\n items: {\n quantity: number;\n status: string;\n uid: string;\n request_quantity: number;\n order_item: OrderItemProps;\n }[];\n}\nexport interface OrderProps {\n is_virtual?: boolean;\n order_status_change_date?: string;\n available_actions: AvailableActionsProps[];\n shipping_method: string;\n status: string;\n token: string;\n carrier: string;\n email: string;\n gift_receipt_included: boolean;\n id: string;\n number: string;\n order_date: string;\n printed_card_included: boolean;\n applied_coupons: { code: string }[];\n returns: {\n __typename: string;\n items: ReturnsItemsProps[];\n };\n shipments: ShipmentsProps[];\n items_eligible_for_return: OrderItemProps[];\n items: OrderItemProps[];\n gift_wrapping: GiftWrappingProps;\n gift_message: GiftMessageProps;\n payment_methods: PaymentMethodsProps[];\n invoices: InvoiceProps[];\n shipping_address: UserAddressesProps;\n billing_address: UserAddressesProps;\n total?: TotalProps;\n applied_gift_cards: {\n code: string;\n applied_balance: MoneyProps;\n }[];\n}\n\nexport interface ErrorProps {\n errors?: {\n message?: string;\n }[];\n}\n\ntype GetOrderDetailsByParams<T extends QueryType> = {\n orderId?: string;\n returnRef?: string;\n queryType: T;\n returnsPageSize?: number;\n};\n\nexport interface GetOrderDetailsByIdProps\n extends GetOrderDetailsByParams<QueryType> {}\n\nexport interface OrdersResponse extends ErrorProps {\n data?: {\n customer?: {\n orders?: {\n items?: OrderProps[];\n };\n };\n };\n}\n\nexport interface OrderByNumberResponse extends OrdersResponse {}\n\nexport type ResponseData<T extends QueryType> = T extends\n | 'orderData'\n | 'orderSummary'\n | 'orderStatus'\n ? OrderByNumberResponse\n : never;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { useMemo } from 'preact/compat';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { AvailableActionsProps, OrderActionsProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport '@/order/components/OrderActions/OrderActions.css';\nimport { OrderCancel, Reorder } from '@/order/components';\n\nexport const OrderActions: FunctionComponent<OrderActionsProps> = ({\n className,\n orderData,\n slots,\n routeCreateReturn,\n routeOnSuccess,\n onError,\n}) => {\n const translationActions = useText({\n cancel: 'Order.OrderStatusContent.actions.cancel',\n createReturn: 'Order.OrderStatusContent.actions.createReturn',\n createAnotherReturn: 'Order.OrderStatusContent.actions.createAnotherReturn',\n reorder: 'Order.OrderStatusContent.actions.reorder',\n });\n\n const renderAvailableActions = useMemo(() => {\n const availableActionsList = orderData?.availableActions;\n const isEmpty = !!availableActionsList?.length;\n const isReturnPage = !!orderData?.returnNumber;\n\n const redirectToCreateReturn = () => {\n redirectTo(routeCreateReturn, {}, orderData);\n };\n\n return (\n <>\n {slots?.OrderActions ? (\n <Slot\n data-testid=\"OrderActionsSlot\"\n name=\"OrderCanceledActions\"\n slot={slots?.OrderActions}\n context={orderData}\n />\n ) : (\n <div\n data-testid=\"availableActionsList\"\n className={classes([\n 'order-order-actions__wrapper',\n ['order-order-actions__wrapper--empty', !isEmpty],\n ])}\n >\n {(availableActionsList as AvailableActionsProps[])?.map(\n (action: string) => {\n switch (action) {\n case AvailableActionsProps.CANCEL:\n // Cancel action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <OrderCancel\n orderRef={orderData?.token! || orderData?.id!}\n />\n ) : null}\n </>\n );\n case AvailableActionsProps.RETURN:\n return (\n <Button\n variant=\"secondary\"\n onClick={redirectToCreateReturn}\n >\n {isReturnPage\n ? translationActions.createAnotherReturn\n : translationActions.createReturn}\n </Button>\n );\n case AvailableActionsProps.REORDER:\n // Reorder action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <Reorder\n orderData={orderData}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n >\n {translationActions.reorder}\n </Reorder>\n ) : null}\n </>\n );\n }\n }\n )}\n </div>\n )}\n </>\n );\n }, [\n onError,\n orderData,\n routeOnSuccess,\n routeCreateReturn,\n slots,\n translationActions,\n ]);\n\n return (\n <div className={classes(['order-order-actions', className])}>\n {renderAvailableActions}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { StatusEnumProps, UseOrderStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderStatus = ({ orderData }: UseOrderStatusProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderStatus, setOrderStatus] = useState<StatusEnumProps>(\n orderData?.status as StatusEnumProps\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderStatus(order.status as StatusEnumProps);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { orderStatus, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const removeQueryParams = (params: string[]) => {\n const url = new URL(window.location.href);\n\n params.forEach((param) => {\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n }\n });\n\n window.history.replaceState({}, document.title, url.toString());\n};\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { UseOrderActionsProps } from '@/order/types';\nimport { confirmGuestReturn, confirmCancelOrder } from '@/order/api';\nimport { removeQueryParams } from '@/order/lib/removeQueryParams';\n\nexport const useOrderActions = ({\n enableOrderCancellation,\n}: UseOrderActionsProps) => {\n const translations = useText({\n cancelOrderHeading: 'Order.OrderStatusContent.actions.cancel',\n confirmGuestReturnHeading:\n 'Order.OrderStatusContent.actions.confirmGuestReturn',\n orderCancelled: 'Order.OrderStatusContent.orderCanceled.message',\n guestRequestReturnMessage:\n 'Order.OrderStatusContent.actions.confirmGuestReturnMessage',\n });\n const [isDismissed, setIsDismissed] = useState<boolean>(false);\n const [isExecuted, setIsExecuted] = useState<boolean>(false);\n const [orderActionStatus, setOrderActionStatus] = useState<{\n heading: string;\n text: string;\n status: 'success' | 'error' | 'warning' | undefined;\n }>({\n heading: '',\n text: '',\n status: undefined,\n });\n\n const onDismiss = useCallback(() => {\n setIsDismissed(true);\n removeQueryParams(['order_id', 'confirmation_key', 'action']);\n }, []);\n\n const triggerAlertOnDismiss = useCallback(\n (\n heading: string,\n text: string,\n status: 'success' | 'error' | 'warning' | undefined\n ) => {\n setOrderActionStatus({\n heading,\n text,\n status,\n });\n\n removeQueryParams(['action']);\n },\n []\n );\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const orderId = params.get('order_id') ?? '';\n const confirmationKey = params.get('confirmation_key') ?? '';\n const actionType = params.get('action') ?? '';\n\n if (isExecuted || !orderId || !confirmationKey || !actionType) return;\n\n if (enableOrderCancellation && actionType === 'cancel') {\n setIsExecuted(true);\n confirmCancelOrder(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: translations.orderCancelled,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n\n if (actionType === 'return') {\n setIsExecuted(true);\n confirmGuestReturn(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: translations.guestRequestReturnMessage,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n }, [\n enableOrderCancellation,\n translations,\n triggerAlertOnDismiss,\n isExecuted,\n ]);\n\n return {\n orderActionStatus,\n isDismissed,\n onDismiss,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CardLoader, OrderStatusContent } from '@/order/components';\nimport { OrderStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n useOrderActions,\n useGetStoreConfig,\n useOrderStatus,\n} from '@/order/hooks';\nimport { InLineAlert } from '@adobe-commerce/elsie/components';\n\nexport const OrderStatus: Container<OrderStatusProps> = ({\n slots,\n orderData,\n className,\n statusTitle,\n status,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const { orderStatus, order } = useOrderStatus({ orderData });\n\n const storeConfig = useGetStoreConfig();\n\n const { orderActionStatus, isDismissed, onDismiss } = useOrderActions({\n enableOrderCancellation: storeConfig?.orderCancellationEnabled,\n });\n\n return (\n <div className={classes(['order-order-status', className])}>\n {!isDismissed && orderActionStatus?.status !== undefined ? (\n <InLineAlert\n style={{ marginBottom: '1rem' }}\n heading={orderActionStatus.heading}\n onDismiss={onDismiss}\n description={orderActionStatus.text}\n type={orderActionStatus.status}\n />\n ) : null}\n {order ? (\n <OrderStatusContent\n title={statusTitle}\n status={status || orderStatus}\n slots={slots}\n orderData={order}\n routeCreateReturn={routeCreateReturn}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Modal, PickerOption } from '@adobe-commerce/elsie/components';\nimport { OrderCancelProps } from '@/order/types';\nimport { useGetStoreConfig } from '@/order/hooks/api/useGetStoreConfig';\nimport { OrderCancellationReason } from '@/order/data/models';\nimport { OrderCancelForm } from '@/order/containers';\nimport { useState } from 'preact/hooks';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/order/components/OrderCancel/OrderCancel.css';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderCancel: FunctionComponent<OrderCancelProps> = ({\n orderRef,\n}) => {\n const [isCancelReasonsModalVisible, setIsCancelReasonsModalVisible] =\n useState(false);\n\n const handleOpen = () => {\n setIsCancelReasonsModalVisible(true);\n };\n const handleClose = () => {\n setIsCancelReasonsModalVisible(false);\n };\n\n const storeConfig = useGetStoreConfig();\n const orderCancellationReasons = storeConfig?.orderCancellationReasons ?? [];\n\n const transformCancelReasons = (\n reasons: OrderCancellationReason[]\n ): PickerOption[] => {\n return reasons.map((reason, index) => {\n return {\n text: reason?.description,\n value: index.toString(),\n };\n });\n };\n\n events.on('order/data', (orderData) => {\n const status = String(orderData.status).toLocaleLowerCase();\n if (\n status === 'guest order cancellation requested' ||\n status === 'canceled'\n ) {\n handleClose();\n }\n });\n\n return (\n <>\n <Button\n variant=\"secondary\"\n onClick={handleOpen}\n data-testid=\"cancel-button\"\n >\n <Text id={'Order.OrderStatusContent.actions.cancel'} />\n </Button>\n {isCancelReasonsModalVisible && (\n <Modal\n centered={true}\n size=\"medium\"\n onClose={handleClose}\n className={'order-order-cancel__modal'}\n title={\n <h2 className={'order-order-cancel__title'}>\n <Text id={'Order.OrderCancelForm.title'} />\n </h2>\n }\n data-testid=\"order-cancellation-reasons-modal\"\n >\n <OrderCancelForm\n orderRef={orderRef}\n cancelReasons={transformCancelReasons(orderCancellationReasons)}\n />\n </Modal>\n )}\n </>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { OrderStatusContentProps, StatusEnumProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderActions } from '@/order/components';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/OrderStatusContent/OrderStatusContent.css';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst statusTransform: Record<string, string> = {\n pending: 'orderPending',\n shiping: 'orderShipped',\n complete: 'orderComplete',\n processing: 'orderProcessing',\n 'on hold': 'orderOnHold',\n canceled: 'orderCanceled',\n 'suspected fraud': 'orderSuspectedFraud',\n 'payment Review': 'orderPaymentReview',\n 'order received': 'orderReceived',\n 'guest order cancellation requested': 'guestOrderCancellationRequested',\n 'pending payment': 'orderPendingPayment',\n rejected: 'orderRejected',\n authorized: 'orderAuthorized',\n 'paypal canceled reversal': 'orderPaypalCanceledReversal',\n 'pending paypal': 'orderPendingPaypal',\n 'paypal reversed': 'orderPaypalReversed',\n closed: 'orderClosed',\n};\n\nexport const OrderStatusContent: FunctionComponent<OrderStatusContentProps> = ({\n slots,\n title,\n status,\n orderData,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const orderStatus = String(status).toLocaleLowerCase();\n const orderReturn = orderData?.returns?.[0];\n const orderReturnStatus = orderReturn?.returnStatus ?? '';\n const createdReturnAt = orderReturn?.createdReturnAt ?? '';\n\n const translationsPlaceholder = useText({\n message: 'Order.OrderStatusContent.orderPlaceholder.message',\n messageWithoutDate:\n 'Order.OrderStatusContent.orderPlaceholder.messageWithoutDate',\n });\n\n const translationsHeader = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.title`\n );\n\n const translationsMessage = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.message`\n );\n\n const translationsMessageWithoutDate = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.messageWithoutDate`\n );\n\n const translationsReturn = useText({\n title: `Order.OrderStatusContent.returnStatus.${formatReturnStatus(\n orderReturnStatus\n )}`,\n returnMessage: 'Order.OrderStatusContent.returnMessage',\n });\n\n if (!status) return <div />;\n\n const translationsHeaderTitle = translationsHeader?.title\n ? translationsHeader\n : { title: capitalizeFirst(orderStatus) };\n const translationsText = translationsMessage?.message\n ? translationsMessage\n : translationsPlaceholder;\n const translationsTextWithoutDate =\n translationsMessageWithoutDate?.messageWithoutDate\n ? translationsMessageWithoutDate\n : translationsPlaceholder;\n\n const orderMessage = orderData?.orderStatusChangeDate\n ? translationsText?.message.replace(\n '{DATE}',\n formatDateToLocale(orderData?.orderStatusChangeDate)\n )\n : translationsTextWithoutDate.messageWithoutDate;\n\n const returnMessage =\n translationsReturn?.returnMessage\n ?.replace(\n '{ORDER_CREATE_DATE}',\n formatDateToLocale(orderData?.orderDate!)\n )\n ?.replace('{RETURN_CREATE_DATE}', formatDateToLocale(createdReturnAt)) ??\n '';\n\n const headerTitle = isReturnPage\n ? title ?? (translationsReturn.title || capitalizeFirst(orderReturnStatus))\n : title ?? translationsHeaderTitle.title;\n\n return (\n <Card className=\"order-order-status-content\" variant=\"secondary\">\n <Header title={headerTitle} />\n <div className=\"order-order-status-content__wrapper\">\n <div\n className={classes([\n 'order-order-status-content__wrapper-description',\n [\n 'order-order-status-content__wrapper-description--actions-slot',\n !!slots?.OrderActions,\n ],\n ])}\n >\n <p>{isReturnPage ? returnMessage : orderMessage}</p>\n </div>\n <OrderActions\n orderData={orderData}\n slots={slots}\n routeCreateReturn={routeCreateReturn}\n routeOnSuccess={routeOnSuccess}\n onError={onError}\n />\n </div>\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { reorderItems } from '@/order/api';\nimport { useCallback, useState } from 'preact/hooks';\nimport { ReorderProps } from '@/order/types';\n\nexport const Reorder: FunctionComponent<ReorderProps> = ({\n onError,\n routeOnSuccess,\n orderData,\n children,\n}) => {\n const [loading, setLoading] = useState(false);\n\n const mutationReorderItems = useCallback(() => {\n setLoading(true);\n const orderNumber = orderData?.number!;\n\n reorderItems(orderNumber)\n .then(({ success, userInputErrors }) => {\n if (success) {\n redirectTo(routeOnSuccess, {});\n }\n\n if (userInputErrors.length) {\n onError?.(userInputErrors);\n }\n })\n .catch((error) => {\n onError?.(error.message as string);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [orderData, routeOnSuccess, onError]);\n\n return (\n <Button\n type=\"button\"\n disabled={loading}\n variant=\"secondary\"\n className={'order-reorder'}\n onClick={mutationReorderItems}\n >\n {children}\n </Button>\n );\n};\n"],"names":["AvailableActionsProps","OrderActions","className","orderData","slots","routeCreateReturn","routeOnSuccess","onError","translationActions","useText","renderAvailableActions","useMemo","availableActionsList","isEmpty","isReturnPage","redirectToCreateReturn","redirectTo","jsx","Fragment","Slot","classes","action","OrderCancel","Button","Reorder","useOrderStatus","order","setOrder","useState","orderStatus","setOrderStatus","useEffect","event","events","removeQueryParams","params","url","param","useOrderActions","enableOrderCancellation","translations","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","useCallback","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","error","confirmGuestReturn","OrderStatus","statusTitle","storeConfig","useGetStoreConfig","jsxs","InLineAlert","OrderStatusContent","CardLoader","orderRef","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","index","Text","Modal","OrderCancelForm","statusTransform","title","orderReturn","_a","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","formatReturnStatus","translationsHeaderTitle","capitalizeFirst","translationsText","translationsTextWithoutDate","orderMessage","formatDateToLocale","returnMessage","_c","_b","headerTitle","Card","Header","children","loading","setLoading","mutationReorderItems","orderNumber","reorderItems","success","userInputErrors"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
3
|
import{jsx as f}from"@dropins/tools/preact-jsx-runtime.js";import{classes as $}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";import{useState as o,useEffect as g,useCallback as M}from"@dropins/tools/preact-hooks.js";import"../chunks/ShippingStatusCard.js";import"@dropins/tools/preact-compat.js";import{u as T}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import"@dropins/tools/event-bus.js";import{g as v}from"../chunks/getCustomerOrdersReturn.js";import{u as y}from"../chunks/useIsMobile.js";import{R as A}from"../chunks/ReturnsListContent.js";import{useText as V}from"@dropins/tools/i18n.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/network-error.js";import"../fragments.js";import"../chunks/initialize.js";import"../chunks/returnOrdersHelper.js";import"../chunks/getFormValues.js";import"../chunks/OrderLoaders.js";import"../chunks/capitalizeFirst.js";const L={totalPages:1,currentPage:1,pageSize:1},k=({returnPageSize:i})=>{const[n,u]=o(!0),[s,a]=o([]),[m,l]=o(L),[t,d]=o(1);g(()=>{v(i,t).then(r=>{a((r==null?void 0:r.ordersReturn)??[]),l((r==null?void 0:r.pageInfo)??L)}).finally(()=>{u(!1)})},[i,t]),g(()=>{window==null||window.scrollTo({top:100,behavior:"smooth"})},[t]);const c=M(r=>{d(r)},[]);return{pageInfo:m,selectedPage:t,loading:n,orderReturns:s,handleSetSelectPage:c}},ir=({slots:i,withReturnsListButton:n,className:u,minifiedView:s,withHeader:a,withThumbnails:m,returnPageSize:l,returnsInMinifiedView:t,routeReturnDetails:d,routeOrderDetails:c,routeTracking:r,routeReturnsList:R,routeProductDetails:O})=>{const p=T(),{pageInfo:b,selectedPage:w,handleSetSelectPage:h,loading:N,orderReturns:P}=k({returnPageSize:l}),S=y(),e=s?"minifiedView":"fullSizeView",I=V({viewAllOrdersButton:`Order.Returns.${e}.returnsList.viewAllOrdersButton`,ariaLabelLink:`Order.Returns.${e}.returnsList.ariaLabelLink`,emptyOrdersListMessage:`Order.Returns.${e}.returnsList.emptyOrdersListMessage`,minifiedViewTitle:`Order.Returns.${e}.returnsList.minifiedViewTitle`,orderNumber:`Order.Returns.${e}.returnsList.orderNumber`,returnNumber:`Order.Returns.${e}.returnsList.returnNumber`,carrier:`Order.Returns.${e}.returnsList.carrier`});return f("div",{className:$(["order-returns-list",u]),children:f(A,{placeholderImage:(p==null?void 0:p.baseMediaUrl)??"",minifiedViewKey:e,withOrderNumber:!0,withReturnNumber:!0,slots:i,selectedPage:w,handleSetSelectPage:h,pageInfo:b,withReturnsListButton:n,isMobile:S,orderReturns:P,translations:I,withHeader:a,returnsInMinifiedView:t,withThumbnails:m,minifiedView:s,routeReturnDetails:d,routeOrderDetails:c,routeTracking:r,routeReturnsList:R,routeProductDetails:O,loading:N})})};export{ir as default};
|
|
4
|
+
//# sourceMappingURL=ReturnsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReturnsList.js","sources":["/@dropins/storefront-order/src/hooks/containers/useReturnsList.tsx","/@dropins/storefront-order/src/containers/ReturnsList/ReturnsList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { 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 window?.scrollTo({\n top: 100,\n behavior: 'smooth',\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 { 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"],"names":["DEFAULT_PAGE_INFO","useReturnsList","returnPageSize","loading","setLoading","useState","orderReturns","setOrderReturns","pageInfo","setPageInfo","selectedPage","setSelectedPage","useEffect","getCustomerOrdersReturn","response","handleSetSelectPage","useCallback","value","ReturnsList","slots","withReturnsListButton","className","minifiedView","withHeader","withThumbnails","returnsInMinifiedView","routeReturnDetails","routeOrderDetails","routeTracking","routeReturnsList","routeProductDetails","storeConfig","useGetStoreConfig","isMobile","useIsMobile","minifiedViewKey","translations","useText","jsx","classes","ReturnsListContent"],"mappings":"y9BAqBA,MAAMA,EAAoB,CAAE,WAAY,EAAG,YAAa,EAAG,SAAU,CAAE,EAE1DC,EAAiB,CAAC,CAAE,eAAAC,KAA0C,CACzE,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAS,EAAI,EACrC,CAACC,EAAcC,CAAe,EAAIF,EAEtC,CAAA,CAAE,EAEE,CAACG,EAAUC,CAAW,EAAIJ,EAI7BL,CAAiB,EAEd,CAACU,EAAcC,CAAe,EAAIN,EAAiB,CAAC,EAE1DO,EAAU,IAAM,CACdC,EAAwBX,EAAgBQ,CAAY,EACjD,KAAMI,GAAa,CACFP,GAAAO,GAAA,YAAAA,EAAU,eAAgB,EAAE,EAChCL,GAAAK,GAAA,YAAAA,EAAU,WAAYd,CAAiB,CAAA,CACpD,EACA,QAAQ,IAAM,CACbI,EAAW,EAAK,CAAA,CACjB,CAAA,EACF,CAACF,EAAgBQ,CAAY,CAAC,EAEjCE,EAAU,IAAM,CACd,qBAAQ,SAAS,CACf,IAAK,IACL,SAAU,QAAA,EACX,EACA,CAACF,CAAY,CAAC,EAEX,MAAAK,EAAsBC,EAAaC,GAAkB,CACzDN,EAAgBM,CAAK,CACvB,EAAG,EAAE,EAEE,MAAA,CACL,SAAAT,EACA,aAAAE,EACA,QAAAP,EACA,aAAAG,EACA,oBAAAS,CACF,CACF,EC5CaG,GAA2C,CAAC,CACvD,MAAAC,EACA,sBAAAC,EACA,UAAAC,EACA,aAAAC,EACA,WAAAC,EACA,eAAAC,EACA,eAAAtB,EACA,sBAAAuB,EACA,mBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,oBAAAC,CACF,IAAM,CACJ,MAAMC,EAAcC,EAAkB,EAChC,CAAE,SAAAxB,EAAU,aAAAE,EAAc,oBAAAK,EAAqB,QAAAZ,EAAS,aAAAG,GAC5DL,EAAe,CAAE,eAAAC,EAAgB,EAC7B+B,EAAWC,EAAY,EAEvBC,EAAkBb,EAAe,eAAiB,eAElDc,EAAeC,EAAQ,CAC3B,oBAAqB,iBAAiBF,CAAe,mCACrD,cAAe,iBAAiBA,CAAe,6BAC/C,uBAAwB,iBAAiBA,CAAe,sCACxD,kBAAmB,iBAAiBA,CAAe,iCACnD,YAAa,iBAAiBA,CAAe,2BAC7C,aAAc,iBAAiBA,CAAe,4BAC9C,QAAS,iBAAiBA,CAAe,sBAAA,CAC1C,EAGC,OAAAG,EAAC,OAAI,UAAWC,EAAQ,CAAC,qBAAsBlB,CAAS,CAAC,EACvD,SAAAiB,EAACE,EAAA,CACC,kBAAkBT,GAAA,YAAAA,EAAa,eAAgB,GAC/C,gBAAAI,EACA,gBAAiB,GACjB,iBAAkB,GAClB,MAAAhB,EACA,aAAAT,EACA,oBAAAK,EACA,SAAAP,EACA,sBAAAY,EACA,SAAAa,EACA,aAAA3B,EACA,aAAA8B,EACA,WAAAb,EACA,sBAAAE,EACA,eAAAD,EACA,aAAAF,EACA,mBAAAI,EACA,kBAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,oBAAAC,EACA,QAAA3B,CAAA,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
3
|
import{jsx as i,jsxs as S,Fragment as A}from"@dropins/tools/preact-jsx-runtime.js";import{classes as L,VComponent as q,Slot as N}from"@dropins/tools/lib.js";import{Card as R,Header as E,Accordion as V,AccordionSection as B,ContentGrid as M,Image as U}from"@dropins/tools/components.js";import{useState as G,useEffect as D}from"@dropins/tools/preact-hooks.js";import"../chunks/ShippingStatusCard.js";import"@dropins/tools/preact-compat.js";import{u as nn}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import{events as en}from"@dropins/tools/event-bus.js";import{C as pn}from"../chunks/OrderLoaders.js";import{u as tn}from"../chunks/useIsMobile.js";import{Text as H,useText as rn}from"@dropins/tools/i18n.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";var Y=(l=>(l.PENDING="pending",l.SHIPPING="shipping",l.COMPLETE="complete",l.PROCESSING="processing",l.HOLD="on hold",l.CANCELED="Canceled",l.SUSPECTED_FRAUD="suspected fraud",l.PAYMENT_REVIEW="payment review",l))(Y||{});const ln=({orderData:l})=>{const[r,p]=G(!0),[n,c]=G(l),[s,g]=G(!1);return D(()=>{const h=en.on("order/data",a=>{c(a),g(a==null?void 0:a.isVirtual),p(!1)},{eager:!0});return l!=null&&l.id&&p(!1),()=>{h==null||h.off()}},[l]),{loading:r,order:n,isVirtualProduct:s}},k=({value:l,variant:r="primary",size:p="medium",icon:n,className:c,children:s,disabled:g=!1,active:h=!1,activeChildren:a,activeIcon:C,href:e,...f})=>{let u="dropin-button";(n&&!s||n&&h&&!a||!n&&h&&C)&&(u="dropin-iconButton"),h&&a&&(u="dropin-button"),c=L([u,`${u}--${p}`,`${u}--${r}`,[`${u}--${r}--disabled`,g],s&&n&&`${u}--with-icon`,!s&&a&&n&&`${u}--with-icon`,h&&C&&`${u}--with-icon`,c]);const b=L(["dropin-button-icon",`dropin-button-icon--${r}`,[`dropin-button-icon--${r}--disabled`,g],n==null?void 0:n.props.className]),m=e?{node:i("a",{}),role:"link",href:e,...f,disabled:g,active:h,onKeyDown:I=>{g&&I.preventDefault()},tabIndex:g?-1:0}:{node:i("button",{}),role:"button",...f,value:l,disabled:g,active:h};return S(q,{...m,className:c,children:[n&&!h&&i(q,{node:n,className:b}),C&&h&&i(q,{node:C,className:b}),s&&!h&&(typeof s=="string"?i("span",{children:s}):s),h&&a&&(typeof a=="string"?i("span",{children:a}):a)]})},sn=({placeholderImage:l,slots:r,collapseThreshold:p,translations:n,returnData:c,routeTracking:s,routeProductDetails:g})=>{var C;const h=tn(),a=g?"a":"span";return S(R,{variant:"secondary",className:L(["order-shipping-status-card","order-shipping-status-card--return-order"]),children:[i(E,{title:n.returnOrderCardTitle}),S("div",{children:[(C=c==null?void 0:c.tracking)==null?void 0:C.map((e,f)=>{var I,O;const u={title:"",number:(e==null?void 0:e.trackingNumber)??"",carrier:((I=e==null?void 0:e.carrier)==null?void 0:I.label)??""},b=s==null?void 0:s(u),m=b?()=>{window.open(b,"_blank","noreferrer")}:null;return S("div",{className:"order-shipping-status-card__header",children:[S("div",{children:[`${n.carrier} `,`${(O=u.carrier)==null?void 0:O.toLocaleUpperCase()} | `,u.number]}),m?i(k,{onClick:m,children:n.trackButton}):null]},`${u.number}_${f}`)}),r!=null&&r.ReturnItemsDetails?i(N,{"data-testid":"returnItemsDetails",name:"ReturnItemsDetails",slot:r==null?void 0:r.ReturnItemsDetails,context:{items:c.items}}):null,i(V,{actionIconPosition:"right","data-testid":"dropinAccordion",children:i(B,{defaultOpen:p>=c.items.length,title:i(H,{id:"Order.ShippingStatusCard.itemText",plural:c.items.reduce((e,f)=>e+f.requestQuantity,0),fields:{count:c.items.reduce((e,f)=>e+f.requestQuantity,0)}}),children:i(M,{maxColumns:h?3:9,emptyGridContent:i(A,{}),className:L(["order-shipping-status-card__images",["order-shipping-status-card__images-3",h]]),children:c.items.map((e,f)=>{var b,m,I;const u={title:((b=e.thumbnail)==null?void 0:b.label)??"",src:((m=e.thumbnail)==null?void 0:m.url)??l,alt:((I=e.thumbnail)==null?void 0:I.label)??"",width:85,height:114,loading:"lazy"};return i(a,{href:(g==null?void 0:g(e))??"#","data-testid":`${f}${e.uid}`,children:i(N,{slotTag:"span",contentTag:"span",name:"ShippingStatusCardImage",slot:r==null?void 0:r.ShippingStatusReturnCardImage,context:{data:e,defaultImageProps:u},children:i(U,{...u})})},`${f}${e.uid}`)})})})})]})]})},dn=({placeholderImage:l,translations:r,slots:p,orderData:n,collapseThreshold:c=10,routeProductDetails:s,routeTracking:g})=>{var O,j,z,F,Q,K,W;const h=!!(n!=null&&n.returnNumber),a=n==null?void 0:n.returnNumber,C=s?"a":"span",e=(O=n==null?void 0:n.status)==null?void 0:O.toLocaleLowerCase(),u=((j=n==null?void 0:n.shipments)==null?void 0:j.length)===1&&(e==null?void 0:e.includes(Y.COMPLETE)),b=(z=n==null?void 0:n.shipments)==null?void 0:z.every(t=>t.tracking.length===0),m=(F=n==null?void 0:n.items)==null?void 0:F.filter(t=>(t==null?void 0:t.quantityShipped)===0||(t==null?void 0:t.quantityShipped)<(t==null?void 0:t.quantityOrdered)),I=(Q=n==null?void 0:n.items)==null?void 0:Q.reduce((t,o)=>{const T=o.quantityOrdered-o.quantityShipped;return t+(T>0?T:0)},0);if(h&&(n!=null&&n.returns.length)){const t=n.returns.find(o=>o.returnNumber===a);return!t||t.tracking.length===0?null:i(sn,{placeholderImage:l,slots:p,collapseThreshold:c,translations:r,returnData:t,routeTracking:g,routeProductDetails:s})}return!n||e!=null&&e.includes(Y.CANCELED)?null:(K=n==null?void 0:n.shipments)!=null&&K.length?b&&!(m!=null&&m.length)&&u?null:S(A,{children:[(W=n==null?void 0:n.shipments)==null?void 0:W.map(({tracking:t,items:o,id:T},w)=>{const _=o.reduce((d,y)=>d+((y==null?void 0:y.quantityShipped)??y.orderItem.quantityShipped??0),0);return S(R,{variant:"secondary",className:"order-shipping-status-card",children:[i(E,{title:r.shippingCardTitle}),t==null?void 0:t.map(d=>{var x;const y=g==null?void 0:g(d),$=y?()=>{window.open(y,"_blank","noreferrer")}:null;return S("div",{className:"order-shipping-status-card__header",role:"status",children:[S("div",{className:"order-shipping-status-card__header--content",children:[S("p",{children:[r.carrier," ",(x=d==null?void 0:d.carrier)==null?void 0:x.toLocaleUpperCase()," | ",d==null?void 0:d.number]}),i("p",{children:d==null?void 0:d.title})]}),p!=null&&p.DeliveryTrackActions?i(N,{"data-testid":"deliverySlotActions",name:"DeliveryTrackActions",slot:p==null?void 0:p.DeliveryTrackActions,context:{trackInformation:d}}):$?i(k,{onClick:$,children:r.trackButton}):null]},d.number)}),u?null:i(V,{actionIconPosition:"right","data-testid":"dropinAccordion",children:i(B,{"data-position":w+1,defaultOpen:c>=(o==null?void 0:o.length),title:i(H,{id:"Order.ShippingStatusCard.notYetShippedImagesTitle",plural:_,fields:{count:_}}),children:i(M,{maxColumns:6,emptyGridContent:i(A,{}),className:"order-shipping-status-card__images",children:o==null?void 0:o.map(d=>{var x,J,X,Z,v,P;const y=((X=(J=(x=d==null?void 0:d.orderItem)==null?void 0:x.product)==null?void 0:J.thumbnail)==null?void 0:X.label)??"",$={title:y,src:((P=(v=(Z=d==null?void 0:d.orderItem)==null?void 0:Z.product)==null?void 0:v.thumbnail)==null?void 0:P.url)??l,alt:y,width:85,height:114,loading:"eager"};return i(C,{href:(s==null?void 0:s(d))??"#",children:i(N,{slotTag:"span",contentTag:"span",name:"ShippingStatusCardImage",slot:p==null?void 0:p.ShippingStatusCardImage,context:{data:d,defaultImageProps:$},children:i(U,{...$})})},d.id)})})})}),p!=null&&p.DeliveryTimeLine?i(N,{"data-testid":"deliverySlotTimeLine",name:"DeliveryTimeLine",slot:p==null?void 0:p.DeliveryTimeLine,context:{}}):null]},T)}),m!=null&&m.length?S(R,{variant:"secondary",className:"order-shipping-status-card","data-testid":"dropinAccordionNotYetShipped2",children:[i(E,{title:r.notYetShippedTitle}),i(V,{actionIconPosition:"right",children:i(B,{defaultOpen:c>=(m==null?void 0:m.length),title:i(H,{id:"Order.ShippingStatusCard.notYetShippedImagesTitle",plural:I,fields:{count:I}}),children:i(M,{maxColumns:6,emptyGridContent:i(A,{}),className:"order-shipping-status-card__images",children:m==null?void 0:m.map(t=>{var T,w,_;const o={title:((T=t.thumbnail)==null?void 0:T.label)??"",src:((w=t.thumbnail)==null?void 0:w.url)??"",alt:((_=t.thumbnail)==null?void 0:_.label)??"",width:85,height:114,loading:"lazy"};return i(C,{href:(s==null?void 0:s(t))??"#",children:i(N,{slotTag:"span",contentTag:"span",name:"NotYetShippedProductImage",slot:p==null?void 0:p.NotYetShippedProductImage,context:{data:t,defaultImageProps:o},children:i(U,{...o})})},t.id)})})})})]}):null]}):S(R,{variant:"secondary",className:"order-shipping-status-card",children:[i(E,{title:r.shippingInfoTitle}),i("div",{className:"order-shipping-status-card__header",children:S("div",{className:"order-shipping-status-card__header--content",children:[n!=null&&n.carrier?i("p",{children:n==null?void 0:n.carrier}):null,i("p",{children:r.noInfoTitle})]})})]})},On=({slots:l,className:r,collapseThreshold:p,orderData:n,routeOrderDetails:c,routeTracking:s,routeProductDetails:g})=>{const{loading:h,order:a,isVirtualProduct:C}=ln({orderData:n}),e=nn(),f=rn({carrier:"Order.ShippingStatusCard.carrier",prepositionOf:"Order.ShippingStatusCard.prepositionOf",returnOrderCardTitle:"Order.ShippingStatusCard.returnOrderCardTitle",shippingCardTitle:"Order.ShippingStatusCard.shippingCardTitle",shippingInfoTitle:"Order.ShippingStatusCard.shippingInfoTitle",notYetShippedTitle:"Order.ShippingStatusCard.notYetShippedTitle",noInfoTitle:"Order.ShippingStatusCard.noInfoTitle",returnNumber:"Order.ShippingStatusCard.returnNumber",orderNumber:"Order.ShippingStatusCard.orderNumber",trackButton:"Order.ShippingStatusCard.trackButton"});if(!h&&C)return null;const u=(e==null?void 0:e.baseMediaUrl)??"";return i("div",{className:L(["order-shipping-status",r]),children:!h&&a?i(dn,{placeholderImage:u,translations:f,routeOrderDetails:c,routeTracking:s,slots:l,orderData:a,collapseThreshold:p,routeProductDetails:g}):i(pn,{withCard:!1})})};export{On as ShippingStatus,On as default};
|
|
4
|
+
//# sourceMappingURL=ShippingStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShippingStatus.js","sources":["/@dropins/storefront-order/src/types/orderStatus.types.ts","/@dropins/storefront-order/src/hooks/containers/useShippingStatus.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/containers/ShippingStatus/ShippingStatus.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { 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\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 * 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}\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 * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * 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":["StatusEnumProps","useShippingStatus","orderData","loading","setLoading","useState","order","setOrder","isVirtualProduct","setIsVirtualProduct","useEffect","event","events","Button","value","variant","size","icon","className","children","disabled","active","activeChildren","activeIcon","href","props","buttonType","classes","iconClassName","attributes","jsxs","VComponent","jsx","ShippingStatusReturnCard","placeholderImage","slots","collapseThreshold","translations","returnData","routeTracking","routeProductDetails","isMobile","useIsMobile","ImageTag","Card","Header","_a","track","index","trackingData","trackingRoute","handleClick","_b","Slot","Accordion","AccordionSection","Text","acc","ContentGrid","Fragment","item","defaultImageProps","_c","Image","ShippingStatusCard","isReturnPage","returnNumber","orderStatus","isCompleted","allTrackingIsEmpty","el","renderNotYetShippedProduct","_d","totalNotYetShippedProduct","_e","difference","_f","_g","tracking","items","id","accordionValue","label","ShippingStatus","routeOrderDetails","storeConfig","useGetStoreConfig","useText","CardLoader"],"mappings":"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","x_google_ignoreList":[2]}
|
package/fragments.js
CHANGED
|
@@ -190,6 +190,10 @@ const o=`
|
|
|
190
190
|
value
|
|
191
191
|
currency
|
|
192
192
|
}
|
|
193
|
+
grand_total_excl_tax {
|
|
194
|
+
value
|
|
195
|
+
currency
|
|
196
|
+
}
|
|
193
197
|
total_giftcard {
|
|
194
198
|
currency
|
|
195
199
|
value
|
|
@@ -297,20 +301,6 @@ const o=`
|
|
|
297
301
|
}
|
|
298
302
|
}
|
|
299
303
|
`,d=`
|
|
300
|
-
fragment AVAILABLE_GIFT_WRAPPING_FRAGMENT on GiftWrapping {
|
|
301
|
-
__typename
|
|
302
|
-
uid
|
|
303
|
-
design
|
|
304
|
-
image {
|
|
305
|
-
url
|
|
306
|
-
label
|
|
307
|
-
}
|
|
308
|
-
price {
|
|
309
|
-
currency
|
|
310
|
-
value
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
`,s=`
|
|
314
304
|
fragment GUEST_ORDER_FRAGMENT on CustomerOrder {
|
|
315
305
|
printed_card_included
|
|
316
306
|
gift_receipt_included
|
|
@@ -403,4 +393,5 @@ const o=`
|
|
|
403
393
|
${A}
|
|
404
394
|
${u}
|
|
405
395
|
${T}
|
|
406
|
-
`;export{e as ADDRESS_FRAGMENT,T as APPLIED_GIFT_CARDS_FRAGMENT,
|
|
396
|
+
`;export{e as ADDRESS_FRAGMENT,T as APPLIED_GIFT_CARDS_FRAGMENT,a as BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,E as DOWNLOADABLE_ORDER_ITEMS_FRAGMENT,t as GIFT_CARD_DETAILS_FRAGMENT,u as GIFT_MESSAGE_FRAGMENT,A as GIFT_WRAPPING_FRAGMENT,d as GUEST_ORDER_FRAGMENT,n as ORDER_ITEM_DETAILS_FRAGMENT,i as ORDER_ITEM_FRAGMENT,R as ORDER_SUMMARY_FRAGMENT,r as PRICE_DETAILS_FRAGMENT,_ as PRODUCT_DETAILS_FRAGMENT,o as REQUEST_RETURN_ORDER_FRAGMENT,c as RETURNS_FRAGMENT};
|
|
397
|
+
//# sourceMappingURL=fragments.js.map
|
package/fragments.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fragments.js","sources":["/@dropins/storefront-order/src/api/graphql/RequestReturnOrderFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/CustomerAddressFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/OrderItemsFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/OrderSummaryFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/ReturnsFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/GiftFragment.graphql.ts","/@dropins/storefront-order/src/api/graphql/GuestOrderFragment.graphql.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const REQUEST_RETURN_ORDER_FRAGMENT = /* GraphQL */ `\n fragment REQUEST_RETURN_ORDER_FRAGMENT on Return {\n __typename\n uid\n status\n number\n created_at\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ADDRESS_FRAGMENT = /* GraphQL */ `\n fragment ADDRESS_FRAGMENT on OrderAddress {\n city\n company\n country_code\n fax\n firstname\n lastname\n middlename\n postcode\n prefix\n region\n region_id\n street\n suffix\n telephone\n vat_id\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const PRODUCT_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment PRODUCT_DETAILS_FRAGMENT on ProductInterface {\n __typename\n canonical_url\n url_key\n uid\n name\n sku\n only_x_left_in_stock\n gift_wrapping_price {\n currency\n value\n }\n stock_status\n thumbnail {\n label\n url\n }\n price_range {\n maximum_price {\n regular_price {\n currency\n value\n }\n }\n }\n }\n`;\n\nexport const PRICE_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment PRICE_DETAILS_FRAGMENT on OrderItemInterface {\n prices {\n price_including_tax {\n value\n currency\n }\n original_price {\n value\n currency\n }\n original_price_including_tax {\n value\n currency\n }\n price {\n value\n currency\n }\n }\n }\n`;\n\nexport const GIFT_CARD_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment GIFT_CARD_DETAILS_FRAGMENT on GiftCardOrderItem {\n ...PRICE_DETAILS_FRAGMENT\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n gift_card {\n recipient_name\n recipient_email\n sender_name\n sender_email\n message\n }\n }\n`;\n\nexport const ORDER_ITEM_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment ORDER_ITEM_DETAILS_FRAGMENT on OrderItemInterface {\n gift_wrapping {\n ...GIFT_WRAPPING_FRAGMENT\n }\n __typename\n status\n product_sku\n eligible_for_return\n product_name\n product_url_key\n id\n quantity_ordered\n quantity_shipped\n quantity_canceled\n quantity_invoiced\n quantity_refunded\n quantity_return_requested\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n product_sale_price {\n value\n currency\n }\n selected_options {\n label\n value\n }\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n ...PRICE_DETAILS_FRAGMENT\n }\n`;\n\nexport const BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT = /* GraphQL */ `\n fragment BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT on BundleOrderItem {\n ...PRICE_DETAILS_FRAGMENT\n bundle_options {\n uid\n label\n values {\n uid\n product_name\n }\n }\n }\n`;\n\nexport const DOWNLOADABLE_ORDER_ITEMS_FRAGMENT = /* GraphQL */ `\n fragment DOWNLOADABLE_ORDER_ITEMS_FRAGMENT on DownloadableOrderItem {\n product_name\n downloadable_links {\n sort_order\n title\n }\n }\n`;\n\nexport const ORDER_ITEM_FRAGMENT = /* GraphQL */ `\n fragment ORDER_ITEM_FRAGMENT on OrderItemInterface {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on BundleOrderItem {\n ...BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT\n }\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n ...DOWNLOADABLE_ORDER_ITEMS_FRAGMENT\n }\n\n ${DOWNLOADABLE_ORDER_ITEMS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const ORDER_SUMMARY_FRAGMENT = /* GraphQL */ `\n fragment ORDER_SUMMARY_FRAGMENT on OrderTotal {\n gift_options {\n gift_wrapping_for_items {\n currency\n value\n }\n gift_wrapping_for_items_incl_tax {\n currency\n value\n }\n gift_wrapping_for_order {\n currency\n value\n }\n gift_wrapping_for_order_incl_tax {\n currency\n value\n }\n printed_card {\n currency\n value\n }\n printed_card_incl_tax {\n currency\n value\n }\n }\n grand_total {\n value\n currency\n }\n grand_total_excl_tax {\n value\n currency\n }\n total_giftcard {\n currency\n value\n }\n subtotal_excl_tax {\n currency\n value\n }\n subtotal_incl_tax {\n currency\n value\n }\n taxes {\n amount {\n currency\n value\n }\n rate\n title\n }\n total_tax {\n currency\n value\n }\n total_shipping {\n currency\n value\n }\n discounts {\n amount {\n currency\n value\n }\n label\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const RETURNS_FRAGMENT = /* GraphQL */ `\n fragment RETURNS_FRAGMENT on Returns {\n __typename\n items {\n number\n status\n created_at\n shipping {\n tracking {\n status {\n text\n type\n }\n carrier {\n uid\n label\n }\n tracking_number\n }\n }\n order {\n number\n token\n }\n items {\n uid\n quantity\n status\n request_quantity\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n }\n`;\n","export const APPLIED_GIFT_CARDS_FRAGMENT = `\n fragment APPLIED_GIFT_CARDS_FRAGMENT on ApplyGiftCardToOrder {\n __typename\n code\n applied_balance {\n value\n currency\n }\n }\n`;\n\nexport const GIFT_MESSAGE_FRAGMENT = `\n fragment GIFT_MESSAGE_FRAGMENT on GiftMessage {\n __typename\n from\n to\n message\n }\n`;\n\nexport const GIFT_WRAPPING_FRAGMENT = `\n fragment GIFT_WRAPPING_FRAGMENT on GiftWrapping {\n __typename\n uid\n design\n image {\n url\n }\n price {\n value\n currency\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport {\n ADDRESS_FRAGMENT,\n BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT,\n GIFT_CARD_DETAILS_FRAGMENT,\n ORDER_ITEM_DETAILS_FRAGMENT,\n PRICE_DETAILS_FRAGMENT,\n PRODUCT_DETAILS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n RETURNS_FRAGMENT,\n ORDER_ITEM_FRAGMENT,\n GIFT_WRAPPING_FRAGMENT,\n GIFT_MESSAGE_FRAGMENT,\n APPLIED_GIFT_CARDS_FRAGMENT,\n} from '@/order/api/fragments';\n\nexport const GUEST_ORDER_FRAGMENT = /* GraphQL */ `\n fragment GUEST_ORDER_FRAGMENT on CustomerOrder {\n printed_card_included\n gift_receipt_included\n gift_wrapping {\n ...GIFT_WRAPPING_FRAGMENT\n }\n gift_message {\n ...GIFT_MESSAGE_FRAGMENT\n }\n applied_gift_cards {\n ...APPLIED_GIFT_CARDS_FRAGMENT\n }\n items_eligible_for_return {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n }\n email\n id\n number\n order_date\n order_status_change_date\n status\n token\n carrier\n shipping_method\n available_actions\n is_virtual\n returns {\n ...RETURNS_FRAGMENT\n }\n payment_methods {\n name\n type\n }\n applied_coupons {\n code\n }\n shipments {\n id\n tracking {\n title\n number\n carrier\n }\n comments {\n message\n timestamp\n }\n items {\n __typename\n id\n product_sku\n product_name\n order_item {\n ...ORDER_ITEM_DETAILS_FRAGMENT\n ... on GiftCardOrderItem {\n ...GIFT_CARD_DETAILS_FRAGMENT\n product {\n ...PRODUCT_DETAILS_FRAGMENT\n }\n }\n }\n }\n }\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n items {\n ...ORDER_ITEM_FRAGMENT\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n ${PRODUCT_DETAILS_FRAGMENT}\n ${PRICE_DETAILS_FRAGMENT}\n ${GIFT_CARD_DETAILS_FRAGMENT}\n ${ORDER_ITEM_DETAILS_FRAGMENT}\n ${BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n ${ADDRESS_FRAGMENT}\n ${RETURNS_FRAGMENT}\n ${ORDER_ITEM_FRAGMENT}\n ${GIFT_WRAPPING_FRAGMENT}\n ${GIFT_MESSAGE_FRAGMENT}\n ${APPLIED_GIFT_CARDS_FRAGMENT}\n`;\n"],"names":["REQUEST_RETURN_ORDER_FRAGMENT","ADDRESS_FRAGMENT","PRODUCT_DETAILS_FRAGMENT","PRICE_DETAILS_FRAGMENT","GIFT_CARD_DETAILS_FRAGMENT","ORDER_ITEM_DETAILS_FRAGMENT","BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT","DOWNLOADABLE_ORDER_ITEMS_FRAGMENT","ORDER_ITEM_FRAGMENT","ORDER_SUMMARY_FRAGMENT","RETURNS_FRAGMENT","APPLIED_GIFT_CARDS_FRAGMENT","GIFT_MESSAGE_FRAGMENT","GIFT_WRAPPING_FRAGMENT","GUEST_ORDER_FRAGMENT"],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ export declare const useCreateReturn: ({ onSuccess, onError, handleSetInLineAler
|
|
|
44
44
|
items?: OrderItemModel[] | undefined;
|
|
45
45
|
totalGiftCard?: import('../../types').MoneyProps | undefined;
|
|
46
46
|
grandTotal?: import('../../types').MoneyProps | undefined;
|
|
47
|
+
grandTotalExclTax?: import('../../types').MoneyProps | undefined;
|
|
47
48
|
totalShipping?: import('../../types').MoneyProps | undefined;
|
|
48
49
|
subtotalExclTax?: import('../../types').MoneyProps | undefined;
|
|
49
50
|
subtotalInclTax?: import('../../types').MoneyProps | undefined;
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-order", "version": "1.3.0-
|
|
1
|
+
{"name": "@dropins/storefront-order", "version": "1.3.0-beta3", "@dropins/tools": "^1.4.0-beta3", "license": "SEE LICENSE IN LICENSE.md"}
|