From e0c44063df515410fd138fb835c8c755523e002b Mon Sep 17 00:00:00 2001 From: Konstantin Fandelyuk Date: Sun, 15 Dec 2024 19:33:05 +0200 Subject: [PATCH] updated order --- .../confirmCancelOrder.d.ts | 92 ++++++++++++++++++- .../storefront-order/chunks/initialize.js | 22 ++--- .../storefront-order/chunks/network-error.js | 2 +- .../chunks/requestGuestReturn.js | 2 +- .../chunks/transform-attributes-form.js | 2 +- .../storefront-order/configs/mock.config.d.ts | 1 + .../containers/CustomerDetails.js | 2 +- .../data/models/order-details.d.ts | 24 ++++- .../transforms/transform-order-details.d.ts | 92 ++++++++++++++++++- .../lib/categorizeProducts.d.ts | 16 +++- .../types/api/getOrderDetails.types.d.ts | 8 +- 11 files changed, 243 insertions(+), 20 deletions(-) diff --git a/scripts/__dropins__/storefront-order/api/confirmCancelOrder/confirmCancelOrder.d.ts b/scripts/__dropins__/storefront-order/api/confirmCancelOrder/confirmCancelOrder.d.ts index d9e243dd3c..8d935709a6 100644 --- a/scripts/__dropins__/storefront-order/api/confirmCancelOrder/confirmCancelOrder.d.ts +++ b/scripts/__dropins__/storefront-order/api/confirmCancelOrder/confirmCancelOrder.d.ts @@ -12,5 +12,95 @@ * is strictly forbidden unless prior written permission is obtained * from Adobe. *******************************************************************/ -export declare const confirmCancelOrder: (orderId: string, confirmationKey: string) => Promise; +export declare const confirmCancelOrder: (orderId: string, confirmationKey: string) => Promise<{ + subtotalExclTax: any; + subtotalInclTax: any; + billingAddress: { + city: any; + company: any; + countryCode: any; + fax: any; + firstName: any; + lastName: any; + middleName: any; + postCode: any; + prefix: any; + region: any; + regionId: any; + street: any; + suffix: any; + telephone: any; + vatId: any; + }; + shippingAddress: { + city: any; + company: any; + countryCode: any; + fax: any; + firstName: any; + lastName: any; + middleName: any; + postCode: any; + prefix: any; + region: any; + regionId: any; + street: any; + suffix: any; + telephone: any; + vatId: any; + }; + shipments: { + items: { + id: string; + productName: string; + productSku: string; + quantityShipped: number; + orderItem: import('../../data/models').OrderItemModel; + }[]; + id: string; + number: string; + tracking: { + carrier: string; + number: string; + title: string; + }[]; + comments: { + message: string; + timestamp: string; + }[]; + }[]; + items: import('../../data/models').OrderItemModel[]; + returns: import('../../data/models').OrdersReturnPropsModel[]; + itemsEligibleForReturn: import('../../data/models').OrderItemModel[]; + totalQuantity: number; + shippingMethod: string; + shipping: { + amount: any; + currency: any; + code: string; + }; + payments: { + code: string; + name: string; + }[]; + grandTotal: any; + totalGiftcard: any; + taxes: any; + totalTax: any; + totalShipping: any; + discounts: any; + token: string; + email: string; + status: string; + number: string; + id: string; + carrier: string; + coupons: { + code: string; + }[]; + orderDate: string; + isVirtual: boolean; + availableActions: import('../../types/index').AvailableActionsProps[]; + orderStatusChangeDate: string; +} | null>; //# sourceMappingURL=confirmCancelOrder.d.ts.map \ No newline at end of file diff --git a/scripts/__dropins__/storefront-order/chunks/initialize.js b/scripts/__dropins__/storefront-order/chunks/initialize.js index 67b3f97479..906b32602d 100644 --- a/scripts/__dropins__/storefront-order/chunks/initialize.js +++ b/scripts/__dropins__/storefront-order/chunks/initialize.js @@ -1,6 +1,6 @@ /*! Copyright 2024 Adobe All Rights Reserved. */ -import{merge as Q,Initializer as na}from"@dropins/tools/lib.js";import{events as v}from"@dropins/tools/event-bus.js";import{a as ta,h as x}from"./network-error.js";import{PRODUCT_DETAILS_FRAGMENT as K,PRICE_DETAILS_FRAGMENT as j,GIFT_CARD_DETAILS_FRAGMENT as H,ORDER_ITEM_DETAILS_FRAGMENT as J,BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT as V,ORDER_SUMMARY_FRAGMENT as W,ADDRESS_FRAGMENT as X,RETURNS_FRAGMENT as Z}from"../fragments.js";import{f as m,h as _a}from"./fetch-graphql.js";const ua=a=>a||0,ia=a=>{var n,t,_;return{...a,canonicalUrl:(a==null?void 0:a.canonical_url)||"",urlKey:(a==null?void 0:a.url_key)||"",id:(a==null?void 0:a.uid)||"",name:(a==null?void 0:a.name)||"",sku:(a==null?void 0:a.sku)||"",image:((n=a==null?void 0:a.image)==null?void 0:n.url)||"",productType:(a==null?void 0:a.__typename)||"",thumbnail:{label:((t=a==null?void 0:a.thumbnail)==null?void 0:t.label)||"",url:((_=a==null?void 0:a.thumbnail)==null?void 0:_.url)||""}}},sa=a=>{if(!a||!("selected_options"in a))return;const n={};for(const t of a.selected_options)n[t.label]=t.value;return n},la=a=>{const n=a==null?void 0:a.map(_=>({uid:_.uid,label:_.label,values:_.values.map(i=>i.product_name).join(", ")})),t={};return n==null||n.forEach(_=>{t[_.label]=_.values}),Object.keys(t).length>0?t:null},ea=a=>(a==null?void 0:a.length)>0?{count:a.length,result:a.map(n=>n.title).join(", ")}:null,ca=a=>({quantityCanceled:(a==null?void 0:a.quantity_canceled)??0,quantityInvoiced:(a==null?void 0:a.quantity_invoiced)??0,quantityOrdered:(a==null?void 0:a.quantity_ordered)??0,quantityRefunded:(a==null?void 0:a.quantity_refunded)??0,quantityReturned:(a==null?void 0:a.quantity_returned)??0,quantityShipped:(a==null?void 0:a.quantity_shipped)??0,quantityReturnRequested:(a==null?void 0:a.quantity_return_requested)??0}),I=a=>a==null?void 0:a.filter(n=>n.__typename).map(n=>{var T,e,R,O,N,b,g,h,A,D,u,r,y,p,G,f,F,S,d,q,L,k,B,$,o,U,w,P,z,Y;const{quantityCanceled:t,quantityInvoiced:_,quantityOrdered:i,quantityRefunded:s,quantityReturned:l,quantityShipped:c,quantityReturnRequested:E}=ca(n);return{type:n==null?void 0:n.__typename,eligibleForReturn:n==null?void 0:n.eligible_for_return,productSku:n==null?void 0:n.product_sku,productName:n.product_name,productUrlKey:n.product_url_key,quantityCanceled:t,quantityInvoiced:_,quantityOrdered:i,quantityRefunded:s,quantityReturned:l,quantityShipped:c,quantityReturnRequested:E,id:n==null?void 0:n.id,discounted:((O=(R=(e=(T=n==null?void 0:n.product)==null?void 0:T.price_range)==null?void 0:e.maximum_price)==null?void 0:R.regular_price)==null?void 0:O.value)*(n==null?void 0:n.quantity_ordered)!==((N=n==null?void 0:n.product_sale_price)==null?void 0:N.value)*(n==null?void 0:n.quantity_ordered),total:{value:((b=n==null?void 0:n.product_sale_price)==null?void 0:b.value)*(n==null?void 0:n.quantity_ordered)||0,currency:((g=n==null?void 0:n.product_sale_price)==null?void 0:g.currency)||""},totalInclTax:{value:((h=n==null?void 0:n.product_sale_price)==null?void 0:h.value)*(n==null?void 0:n.quantity_ordered)||0,currency:(A=n==null?void 0:n.product_sale_price)==null?void 0:A.currency},price:{value:((D=n==null?void 0:n.product_sale_price)==null?void 0:D.value)||0,currency:(u=n==null?void 0:n.product_sale_price)==null?void 0:u.currency},priceInclTax:{value:((r=n==null?void 0:n.product_sale_price)==null?void 0:r.value)||0,currency:(y=n==null?void 0:n.product_sale_price)==null?void 0:y.currency},totalQuantity:ua(n==null?void 0:n.quantity_ordered),regularPrice:{value:(F=(f=(G=(p=n==null?void 0:n.product)==null?void 0:p.price_range)==null?void 0:G.maximum_price)==null?void 0:f.regular_price)==null?void 0:F.value,currency:(L=(q=(d=(S=n==null?void 0:n.product)==null?void 0:S.price_range)==null?void 0:d.maximum_price)==null?void 0:q.regular_price)==null?void 0:L.currency},product:ia(n==null?void 0:n.product),thumbnail:{label:((B=(k=n==null?void 0:n.product)==null?void 0:k.thumbnail)==null?void 0:B.label)||"",url:((o=($=n==null?void 0:n.product)==null?void 0:$.thumbnail)==null?void 0:o.url)||""},giftCard:(n==null?void 0:n.__typename)==="GiftCardOrderItem"?{senderName:((U=n.gift_card)==null?void 0:U.sender_name)||"",senderEmail:((w=n.gift_card)==null?void 0:w.sender_email)||"",recipientEmail:((P=n.gift_card)==null?void 0:P.recipient_email)||"",recipientName:((z=n.gift_card)==null?void 0:z.recipient_name)||"",message:((Y=n.gift_card)==null?void 0:Y.message)||""}:void 0,configurableOptions:sa(n),bundleOptions:n.__typename==="BundleOrderItem"?la(n.bundle_options):null,itemPrices:n.prices,downloadableLinks:n.__typename==="DownloadableOrderItem"?ea(n==null?void 0:n.downloadable_links):null}}),C=(a,n)=>{var O,N,b,g,h,A,D,u,r;const t=I(a.items),_=((O=Ea(a==null?void 0:a.returns))==null?void 0:O.ordersReturn)??[],i=n?_.filter(y=>y.returnNumber===n):_,{total:s,...l}=ta({...a,items:t,returns:i},"camelCase",{applied_coupons:"coupons",__typename:"__typename",firstname:"firstName",middlename:"middleName",lastname:"lastName",postcode:"postCode",payment_methods:"payments"}),c=(N=a==null?void 0:a.payment_methods)==null?void 0:N[0],E=(c==null?void 0:c.type)||"",T=(c==null?void 0:c.name)||"",e=(b=l==null?void 0:l.items)==null?void 0:b.reduce((y,p)=>y+(p==null?void 0:p.totalQuantity),0),R={...s,...l,totalQuantity:e,shipping:{amount:((g=s==null?void 0:s.totalShipping)==null?void 0:g.value)??0,currency:((h=s==null?void 0:s.totalShipping)==null?void 0:h.currency)||"",code:l.shippingMethod??""},payments:[{code:E,name:T}]};return Q(R,(r=(u=(D=(A=M==null?void 0:M.getConfig())==null?void 0:A.models)==null?void 0:D.OrderDataModel)==null?void 0:u.transformer)==null?void 0:r.call(u,a))},Ra=(a,n,t)=>{var _,i,s,l,c,E,T;if((l=(s=(i=(_=n==null?void 0:n.data)==null?void 0:_.customer)==null?void 0:i.orders)==null?void 0:s.items)!=null&&l.length&&a==="orderData"){const e=(T=(E=(c=n==null?void 0:n.data)==null?void 0:c.customer)==null?void 0:E.orders)==null?void 0:T.items[0];return console.log("transformOrderData(item, returnRef)",C(e,t)),C(e,t)}return null},Ea=a=>{var s,l,c,E,T;if(!((s=a==null?void 0:a.items)!=null&&s.length))return null;const n=a==null?void 0:a.items,t=a==null?void 0:a.page_info,i={ordersReturn:[...n].sort((e,R)=>+R.number-+e.number).map(e=>{var A,D;const{order:R,status:O,number:N,created_at:b}=e,g=((D=(A=e==null?void 0:e.shipping)==null?void 0:A.tracking)==null?void 0:D.map(u=>{const{status:r,carrier:y,tracking_number:p}=u;return{status:r,carrier:y,trackingNumber:p}}))??[],h=e.items.map(u=>{var S;const r=u==null?void 0:u.quantity,y=u==null?void 0:u.status,p=u==null?void 0:u.request_quantity,G=u==null?void 0:u.uid,f=u==null?void 0:u.order_item,F=((S=I([f]))==null?void 0:S.reduce((d,q)=>q,{}))??{};return{uid:G,quantity:r,status:y,requestQuantity:p,...F}});return{createdReturnAt:b,returnStatus:O,token:R==null?void 0:R.token,orderNumber:R==null?void 0:R.number,returnNumber:N,items:h,tracking:g}}),...t?{pageInfo:{pageSize:t.page_size,totalPages:t.total_pages,currentPage:t.current_page}}:{}};return Q(i,(T=(E=(c=(l=M==null?void 0:M.getConfig())==null?void 0:l.models)==null?void 0:c.CustomerOrdersReturnModel)==null?void 0:E.transformer)==null?void 0:T.call(E,{...n,...t}))},Sa=(a,n)=>{var _,i;if(!((_=a==null?void 0:a.data)!=null&&_.guestOrder))return null;const t=(i=a==null?void 0:a.data)==null?void 0:i.guestOrder;return C(t,n)},Ta=(a,n)=>{var _,i;if(!((_=a==null?void 0:a.data)!=null&&_.guestOrderByToken))return null;const t=(i=a==null?void 0:a.data)==null?void 0:i.guestOrderByToken;return C(t,n)},ya=` +import{merge as P,Initializer as m}from"@dropins/tools/lib.js";import{events as L}from"@dropins/tools/event-bus.js";import{h as z}from"./network-error.js";import{PRODUCT_DETAILS_FRAGMENT as Y,PRICE_DETAILS_FRAGMENT as Q,GIFT_CARD_DETAILS_FRAGMENT as K,ORDER_ITEM_DETAILS_FRAGMENT as j,BUNDLE_ORDER_ITEM_DETAILS_FRAGMENT as V,ORDER_SUMMARY_FRAGMENT as X,ADDRESS_FRAGMENT as H,RETURNS_FRAGMENT as J}from"../fragments.js";import{f as W,h as o}from"./fetch-graphql.js";const r=n=>n||0,I=n=>{var i,_,u,l,a,s,T,E,p;return{__typename:(n==null?void 0:n.__typename)||"",uid:(n==null?void 0:n.uid)||"",onlyXLeftInStock:(n==null?void 0:n.only_x_left_in_stock)??0,stockStatus:(n==null?void 0:n.stock_status)??"",priceRange:{maximumPrice:{regularPrice:{currency:((u=(_=(i=n==null?void 0:n.price_range)==null?void 0:i.maximum_price)==null?void 0:_.regular_price)==null?void 0:u.currency)??"",value:((s=(a=(l=n==null?void 0:n.price_range)==null?void 0:l.maximum_price)==null?void 0:a.regular_price)==null?void 0:s.value)??0}}},canonicalUrl:(n==null?void 0:n.canonical_url)??"",urlKey:(n==null?void 0:n.url_key)||"",id:(n==null?void 0:n.uid)??"",name:(n==null?void 0:n.name)||"",sku:(n==null?void 0:n.sku)||"",image:((T=n==null?void 0:n.image)==null?void 0:T.url)||"",productType:(n==null?void 0:n.__typename)||"",thumbnail:{label:((E=n==null?void 0:n.thumbnail)==null?void 0:E.label)||"",url:((p=n==null?void 0:n.thumbnail)==null?void 0:p.url)||""}}},d=n=>{if(!n||!("selected_options"in n))return;const i={};for(const _ of n.selected_options)i[_.label]=_.value;return i},nn=n=>{const i=n==null?void 0:n.map(u=>({uid:u.uid,label:u.label,values:u.values.map(l=>l.product_name).join(", ")})),_={};return i==null||i.forEach(u=>{_[u.label]=u.values}),Object.keys(_).length>0?_:null},_n=n=>(n==null?void 0:n.length)>0?{count:n.length,result:n.map(i=>i.title).join(", ")}:null,un=n=>({quantityCanceled:(n==null?void 0:n.quantity_canceled)??0,quantityInvoiced:(n==null?void 0:n.quantity_invoiced)??0,quantityOrdered:(n==null?void 0:n.quantity_ordered)??0,quantityRefunded:(n==null?void 0:n.quantity_refunded)??0,quantityReturned:(n==null?void 0:n.quantity_returned)??0,quantityShipped:(n==null?void 0:n.quantity_shipped)??0,quantityReturnRequested:(n==null?void 0:n.quantity_return_requested)??0}),$=n=>({city:(n==null?void 0:n.city)??"",company:(n==null?void 0:n.company)??"",countryCode:(n==null?void 0:n.country_code)??"",fax:(n==null?void 0:n.fax)??"",firstName:(n==null?void 0:n.firstname)??"",lastName:(n==null?void 0:n.lastname)??"",middleName:(n==null?void 0:n.middlename)??"",postCode:(n==null?void 0:n.postcode)??"",prefix:(n==null?void 0:n.prefix)??"",region:(n==null?void 0:n.region)??"",regionId:(n==null?void 0:n.region_id)??"",street:(n==null?void 0:n.street)??[],suffix:(n==null?void 0:n.suffix)??"",telephone:(n==null?void 0:n.telephone)??"",vatId:(n==null?void 0:n.vat_id)??""}),ln=n=>{const i={value:0,currency:"USD"};return{grandTotal:(n==null?void 0:n.grand_total)??i,totalGiftcard:(n==null?void 0:n.total_giftcard)??i,subtotalExclTax:(n==null?void 0:n.subtotal_excl_tax)??i,subtotalInclTax:(n==null?void 0:n.subtotal_incl_tax)??i,taxes:(n==null?void 0:n.taxes)??[],totalTax:(n==null?void 0:n.total_tax)??i,totalShipping:(n==null?void 0:n.total_shipping)??i,discounts:(n==null?void 0:n.discounts)??[]}},w=n=>{const i={value:0,currency:"USD"},_=(n==null?void 0:n.prices)??{};return{price:(_==null?void 0:_.price)??i,priceIncludingTax:(_==null?void 0:_.price_including_tax)??i,originalPrice:(_==null?void 0:_.original_price)??i,originalPriceIncludingTax:(_==null?void 0:_.original_price_including_tax)??i,discounts:(_==null?void 0:_.discounts)??[]}},cn=n=>{var i,_,u,l,a;return{senderName:((i=n.gift_card)==null?void 0:i.sender_name)||"",senderEmail:((_=n.gift_card)==null?void 0:_.sender_email)||"",recipientEmail:((u=n.gift_card)==null?void 0:u.recipient_email)||"",recipientName:((l=n.gift_card)==null?void 0:l.recipient_name)||"",message:((a=n.gift_card)==null?void 0:a.message)||""}},tn=n=>{var i,_,u,l;return{label:((_=(i=n==null?void 0:n.product)==null?void 0:i.thumbnail)==null?void 0:_.label)||"",url:((l=(u=n==null?void 0:n.product)==null?void 0:u.thumbnail)==null?void 0:l.url)||""}},Z=n=>{var E,p,c,R,e,q,F,v,k,f,N,t,b,A,h,S,M,G,g,x,y;const{quantityCanceled:i,quantityInvoiced:_,quantityOrdered:u,quantityRefunded:l,quantityReturned:a,quantityShipped:s,quantityReturnRequested:T}=un(n);return{selectedOptions:(n==null?void 0:n.selected_options)??[],productSalePrice:n==null?void 0:n.product_sale_price,status:(n==null?void 0:n.status)??"",type:n==null?void 0:n.__typename,eligibleForReturn:(n==null?void 0:n.eligible_for_return)??!1,productSku:(n==null?void 0:n.product_sku)??"",productName:(n==null?void 0:n.product_name)??"",productUrlKey:(n==null?void 0:n.product_url_key)??"",quantityCanceled:i,quantityInvoiced:_,quantityOrdered:u,quantityRefunded:l,quantityReturned:a,quantityShipped:s,quantityReturnRequested:T,requestQuantity:0,id:n==null?void 0:n.id,discounted:((R=(c=(p=(E=n==null?void 0:n.product)==null?void 0:E.price_range)==null?void 0:p.maximum_price)==null?void 0:c.regular_price)==null?void 0:R.value)*(n==null?void 0:n.quantity_ordered)!==((e=n==null?void 0:n.product_sale_price)==null?void 0:e.value)*(n==null?void 0:n.quantity_ordered),total:{value:((q=n==null?void 0:n.product_sale_price)==null?void 0:q.value)*(n==null?void 0:n.quantity_ordered)||0,currency:((F=n==null?void 0:n.product_sale_price)==null?void 0:F.currency)||""},totalInclTax:{value:((v=n==null?void 0:n.product_sale_price)==null?void 0:v.value)*(n==null?void 0:n.quantity_ordered)||0,currency:(k=n==null?void 0:n.product_sale_price)==null?void 0:k.currency},price:{value:((f=n==null?void 0:n.product_sale_price)==null?void 0:f.value)||0,currency:(N=n==null?void 0:n.product_sale_price)==null?void 0:N.currency},prices:w(n),itemPrices:w(n),priceInclTax:{value:((t=n==null?void 0:n.product_sale_price)==null?void 0:t.value)||0,currency:(b=n==null?void 0:n.product_sale_price)==null?void 0:b.currency},totalQuantity:r(n==null?void 0:n.quantity_ordered),regularPrice:{value:(M=(S=(h=(A=n==null?void 0:n.product)==null?void 0:A.price_range)==null?void 0:h.maximum_price)==null?void 0:S.regular_price)==null?void 0:M.value,currency:(y=(x=(g=(G=n==null?void 0:n.product)==null?void 0:G.price_range)==null?void 0:g.maximum_price)==null?void 0:x.regular_price)==null?void 0:y.currency},product:I(n==null?void 0:n.product),thumbnail:tn(n),giftCard:(n==null?void 0:n.__typename)==="GiftCardOrderItem"?cn(n):void 0,configurableOptions:d(n),bundleOptions:n.__typename==="BundleOrderItem"?nn(n.bundle_options):null,downloadableLinks:n.__typename==="DownloadableOrderItem"?_n(n==null?void 0:n.downloadable_links):null}},B=n=>n==null?void 0:n.filter(i=>i.__typename).map(i=>Z(i)),an=n=>({token:(n==null?void 0:n.token)??"",email:(n==null?void 0:n.email)??"",status:(n==null?void 0:n.status)??"",number:(n==null?void 0:n.number)??"",id:(n==null?void 0:n.id)??"",carrier:n.carrier??"",coupons:(n==null?void 0:n.applied_coupons)??[],orderDate:(n==null?void 0:n.order_date)??"",isVirtual:(n==null?void 0:n.is_virtual)??!1,availableActions:(n==null?void 0:n.available_actions)??[],orderStatusChangeDate:(n==null?void 0:n.order_status_change_date)??"",shippingMethod:(n==null?void 0:n.shipping_method)??""}),U=(n,i)=>{var t,b,A,h,S,M,G,g,x;const _=an(n),u=$(n==null?void 0:n.billing_address),l=$(n==null?void 0:n.shipping_address),a=(t=n.shipments)==null?void 0:t.map(y=>({...y,items:y.items.map(O=>({id:O.id,productName:O.product_name,productSku:O.product_sku,quantityShipped:O.quantity_shipped,orderItem:Z(O.order_item)}))})),s=B(n.items),T=((b=Rn(n==null?void 0:n.returns))==null?void 0:b.ordersReturn)??[],E=i?T.filter(y=>y.returnNumber===i):T,p=B(n.items_eligible_for_return),c=ln(n==null?void 0:n.total),R=(A=n==null?void 0:n.payment_methods)==null?void 0:A[0],e=n==null?void 0:n.shipping_method,q=s==null?void 0:s.reduce((y,O)=>y+(O==null?void 0:O.totalQuantity),0),F={amount:((h=c==null?void 0:c.totalShipping)==null?void 0:h.value)??0,currency:((S=c==null?void 0:c.totalShipping)==null?void 0:S.currency)||"",code:(_==null?void 0:_.shippingMethod)??""},v=[{code:(R==null?void 0:R.type)??"",name:(R==null?void 0:R.name)??""}],k=c==null?void 0:c.subtotalExclTax,f=c==null?void 0:c.subtotalInclTax,N={..._,...c,subtotalExclTax:k,subtotalInclTax:f,billingAddress:u,shippingAddress:l,shipments:a,items:s,returns:E,itemsEligibleForReturn:p,totalQuantity:q,shippingMethod:e,shipping:F,payments:v};return P(N,(x=(g=(G=(M=C==null?void 0:C.getConfig())==null?void 0:M.models)==null?void 0:G.OrderDataModel)==null?void 0:g.transformer)==null?void 0:x.call(g,n))},sn=(n,i,_)=>{var u,l,a,s,T,E,p;if((s=(a=(l=(u=i==null?void 0:i.data)==null?void 0:u.customer)==null?void 0:l.orders)==null?void 0:a.items)!=null&&s.length&&n==="orderData"){const c=(p=(E=(T=i==null?void 0:i.data)==null?void 0:T.customer)==null?void 0:E.orders)==null?void 0:p.items[0];return U(c,_)}return null},Rn=n=>{var a,s,T,E,p;if(!((a=n==null?void 0:n.items)!=null&&a.length))return null;const i=n==null?void 0:n.items,_=n==null?void 0:n.page_info,l={ordersReturn:[...i].sort((c,R)=>+R.number-+c.number).map(c=>{var f,N;const{order:R,status:e,number:q,created_at:F}=c,v=((N=(f=c==null?void 0:c.shipping)==null?void 0:f.tracking)==null?void 0:N.map(t=>{const{status:b,carrier:A,tracking_number:h}=t;return{status:b,carrier:A,trackingNumber:h}}))??[],k=c.items.map(t=>{var g;const b=t==null?void 0:t.quantity,A=t==null?void 0:t.status,h=t==null?void 0:t.request_quantity,S=t==null?void 0:t.uid,M=t==null?void 0:t.order_item,G=((g=B([M]))==null?void 0:g.reduce((x,y)=>y,{}))??{};return{uid:S,quantity:b,status:A,requestQuantity:h,...G}});return{createdReturnAt:F,returnStatus:e,token:R==null?void 0:R.token,orderNumber:R==null?void 0:R.number,returnNumber:q,items:k,tracking:v}}),..._?{pageInfo:{pageSize:_.page_size,totalPages:_.total_pages,currentPage:_.current_page}}:{}};return P(l,(p=(E=(T=(s=C==null?void 0:C.getConfig())==null?void 0:s.models)==null?void 0:T.CustomerOrdersReturnModel)==null?void 0:E.transformer)==null?void 0:p.call(E,{...i,..._}))},Mn=(n,i)=>{var u,l;if(!((u=n==null?void 0:n.data)!=null&&u.guestOrder))return null;const _=(l=n==null?void 0:n.data)==null?void 0:l.guestOrder;return U(_,i)},En=(n,i)=>{var u,l;if(!((u=n==null?void 0:n.data)!=null&&u.guestOrderByToken))return null;const _=(l=n==null?void 0:n.data)==null?void 0:l.guestOrderByToken;return U(_,i)},Tn=` query ORDER_BY_NUMBER($orderNumber: String!, $pageSize: Int) { customer { orders(filter: { number: { eq: $orderNumber } }) { @@ -104,15 +104,15 @@ import{merge as Q,Initializer as na}from"@dropins/tools/lib.js";import{events as } } } + ${Y} + ${Q} ${K} ${j} - ${H} - ${J} ${V} - ${W} ${X} - ${Z} -`,pa=async({orderId:a,returnRef:n,queryType:t,returnsPageSize:_=50})=>await m(ya,{method:"GET",cache:"force-cache",variables:{orderNumber:a,pageSize:_}}).then(i=>(console.log("response",i.data),Ra(t??"orderData",i,n))).catch(x),ra=` + ${H} + ${J} +`,pn=async({orderId:n,returnRef:i,queryType:_,returnsPageSize:u=50})=>await W(Tn,{method:"GET",cache:"force-cache",variables:{orderNumber:n,pageSize:u}}).then(l=>sn(_??"orderData",l,i)).catch(z),yn=` query ORDER_BY_TOKEN($token: String!) { guestOrderByToken(input: { token: $token }) { email @@ -201,12 +201,12 @@ import{merge as Q,Initializer as na}from"@dropins/tools/lib.js";import{events as } } } + ${Y} + ${Q} ${K} ${j} - ${H} - ${J} ${V} - ${W} ${X} - ${Z} -`,Aa=async(a,n)=>await m(ra,{method:"GET",cache:"no-cache",variables:{token:a}}).then(t=>{var _;return(_=t.errors)!=null&&_.length&&t.errors[0].message==="Please login to view the order."?_a(t.errors):Ta(t,n)}).catch(x),Da="orderData",Oa=async a=>{var l;const n=typeof(a==null?void 0:a.orderRef)=="string"?a==null?void 0:a.orderRef:"",t=typeof(a==null?void 0:a.returnRef)=="string"?a==null?void 0:a.returnRef:"",_=n&&typeof(a==null?void 0:a.orderRef)=="string"&&((l=a==null?void 0:a.orderRef)==null?void 0:l.length)>20,i=(a==null?void 0:a.orderData)??null;if(i){v.emit("order/data",{...i,returnNumber:t});return}if(!n)return;const s=_?await Aa(n,t):await pa({orderId:n,returnRef:t,queryType:Da});s?v.emit("order/data",{...s,returnNumber:t}):v.emit("order/error",{source:"order",type:"network",error:"The data was not received."})},aa=new na({init:async a=>{const n={};aa.config.setConfig({...n,...a}),Oa(a).catch(console.error)},listeners:()=>[]}),M=aa.config;export{C as a,Sa as b,Aa as c,M as d,pa as g,aa as i,Ea as t}; + ${H} + ${J} +`,gn=async(n,i)=>await W(yn,{method:"GET",cache:"no-cache",variables:{token:n}}).then(_=>{var u;return(u=_.errors)!=null&&u.length&&_.errors[0].message==="Please login to view the order."?o(_.errors):En(_,i)}).catch(z),bn="orderData",An=async n=>{var s;const i=typeof(n==null?void 0:n.orderRef)=="string"?n==null?void 0:n.orderRef:"",_=typeof(n==null?void 0:n.returnRef)=="string"?n==null?void 0:n.returnRef:"",u=i&&typeof(n==null?void 0:n.orderRef)=="string"&&((s=n==null?void 0:n.orderRef)==null?void 0:s.length)>20,l=(n==null?void 0:n.orderData)??null;if(l){L.emit("order/data",{...l,returnNumber:_});return}if(!i)return;const a=u?await gn(i,_):await pn({orderId:i,returnRef:_,queryType:bn});a?L.emit("order/data",{...a,returnNumber:_}):L.emit("order/error",{source:"order",type:"network",error:"The data was not received."})},D=new m({init:async n=>{const i={};D.config.setConfig({...i,...n}),An(n).catch(console.error)},listeners:()=>[]}),C=D.config;export{U as a,Mn as b,gn as c,C as d,pn as g,D as i,Rn as t}; diff --git a/scripts/__dropins__/storefront-order/chunks/network-error.js b/scripts/__dropins__/storefront-order/chunks/network-error.js index ba4dbbfadd..e0ff0e7147 100644 --- a/scripts/__dropins__/storefront-order/chunks/network-error.js +++ b/scripts/__dropins__/storefront-order/chunks/network-error.js @@ -1,3 +1,3 @@ /*! Copyright 2024 Adobe All Rights Reserved. */ -import{events as f}from"@dropins/tools/event-bus.js";const l=r=>r.replace(/_([a-z])/g,(s,e)=>e.toUpperCase()),i=r=>r.replace(/([A-Z])/g,s=>`_${s.toLowerCase()}`),u=(r,s,e)=>{const c=["string","boolean","number"],a=s==="camelCase"?l:i;return Array.isArray(r)?r.map(o=>c.includes(typeof o)||o===null?o:typeof o=="object"?u(o,s,e):o):r!==null&&typeof r=="object"?Object.entries(r).reduce((o,[t,n])=>{const p=e&&e[t]?e[t]:a(t);return o[p]=c.includes(typeof n)||n===null?n:u(n,s,e),o},{}):r},C=r=>{const s=r instanceof DOMException&&r.name==="AbortError",e=r.name==="PlaceOrderError";throw!s&&!e&&f.emit("order/error",{source:"auth",type:"network",error:r.message}),r};export{u as a,l as c,C as h}; +import{events as t}from"@dropins/tools/event-bus.js";const s=r=>{const e=r instanceof DOMException&&r.name==="AbortError",o=r.name==="PlaceOrderError";throw!e&&!o&&t.emit("order/error",{source:"auth",type:"network",error:r.message}),r};export{s as h}; diff --git a/scripts/__dropins__/storefront-order/chunks/requestGuestReturn.js b/scripts/__dropins__/storefront-order/chunks/requestGuestReturn.js index 4ace23884e..40053ed7cf 100644 --- a/scripts/__dropins__/storefront-order/chunks/requestGuestReturn.js +++ b/scripts/__dropins__/storefront-order/chunks/requestGuestReturn.js @@ -1,6 +1,6 @@ /*! Copyright 2024 Adobe All Rights Reserved. */ -import{h as i,a as _}from"./network-error.js";import{f as o,h as s}from"./fetch-graphql.js";import{t as d}from"./transform-attributes-form.js";import{REQUEST_RETURN_ORDER_FRAGMENT as m}from"../fragments.js";import{merge as l}from"@dropins/tools/lib.js";import{d as f}from"./initialize.js";const h=r=>{var a,n,E,c,R,T;if(!((n=(a=r==null?void 0:r.data)==null?void 0:a.requestReturn)!=null&&n.return))return{};const{created_at:e,...t}=r.data.requestReturn.return,u={...t,createdAt:e};return l(u,(T=(R=(c=(E=f.getConfig())==null?void 0:E.models)==null?void 0:c.RequestReturnModel)==null?void 0:R.transformer)==null?void 0:T.call(R,r.data.requestReturn.return))},U=` +import{h as i}from"./network-error.js";import{f as o,h as s}from"./fetch-graphql.js";import{t as d,a as _}from"./transform-attributes-form.js";import{REQUEST_RETURN_ORDER_FRAGMENT as m}from"../fragments.js";import{merge as l}from"@dropins/tools/lib.js";import{d as f}from"./initialize.js";const h=r=>{var a,n,E,c,R,T;if(!((n=(a=r==null?void 0:r.data)==null?void 0:a.requestReturn)!=null&&n.return))return{};const{created_at:e,...t}=r.data.requestReturn.return,u={...t,createdAt:e};return l(u,(T=(R=(c=(E=f.getConfig())==null?void 0:E.models)==null?void 0:c.RequestReturnModel)==null?void 0:R.transformer)==null?void 0:T.call(R,r.data.requestReturn.return))},U=` query GET_ATTRIBUTES_LIST($entityType: AttributeEntityTypeEnum!) { attributesList(entityType: $entityType) { items { diff --git a/scripts/__dropins__/storefront-order/chunks/transform-attributes-form.js b/scripts/__dropins__/storefront-order/chunks/transform-attributes-form.js index 19aed95cc1..a5294c1df4 100644 --- a/scripts/__dropins__/storefront-order/chunks/transform-attributes-form.js +++ b/scripts/__dropins__/storefront-order/chunks/transform-attributes-form.js @@ -1,3 +1,3 @@ /*! Copyright 2024 Adobe All Rights Reserved. */ -import{c as i,a as d}from"./network-error.js";const l=n=>{let s=[];for(const e of n)if(!(e.frontend_input!=="MULTILINE"||e.multiline_count<2))for(let o=2;o<=e.multiline_count;o++){const c={...e,name:`${e.code}_${o}`,code:`${e.code}_${o}`,id:`${e.code}_${o}`};s.push(c)}return s},f=(n=[])=>{var c;if(!(n!=null&&n.length))return[];const s=(c=n.filter(t=>{var r;return!((r=t.frontend_input)!=null&&r.includes("HIDDEN"))}))==null?void 0:c.map(({code:t,...r})=>{const u=t!=="country_id"?t:"country_code";return{...r,name:u,id:u,code:u}}),e=l(s);return[...s,...e].map(t=>{const r=i(t.code);return d({...t,customUpperCode:r},"camelCase",{frontend_input:"fieldType",frontend_class:"className",is_required:"required",sort_order:"orderNumber"})}).sort((t,r)=>t.orderNumber-r.orderNumber)};export{f as t}; +const l=r=>r.replace(/_([a-z])/g,(t,n)=>n.toUpperCase()),a=r=>r.replace(/([A-Z])/g,t=>`_${t.toLowerCase()}`),i=(r,t,n)=>{const s=["string","boolean","number"],c=t==="camelCase"?l:a;return Array.isArray(r)?r.map(e=>s.includes(typeof e)||e===null?e:typeof e=="object"?i(e,t,n):e):r!==null&&typeof r=="object"?Object.entries(r).reduce((e,[o,u])=>{const f=n&&n[o]?n[o]:c(o);return e[f]=s.includes(typeof u)||u===null?u:i(u,t,n),e},{}):r},d=r=>{let t=[];for(const n of r)if(!(n.frontend_input!=="MULTILINE"||n.multiline_count<2))for(let s=2;s<=n.multiline_count;s++){const c={...n,name:`${n.code}_${s}`,code:`${n.code}_${s}`,id:`${n.code}_${s}`};t.push(c)}return t},p=(r=[])=>{var c;if(!(r!=null&&r.length))return[];const t=(c=r.filter(e=>{var o;return!((o=e.frontend_input)!=null&&o.includes("HIDDEN"))}))==null?void 0:c.map(({code:e,...o})=>{const u=e!=="country_id"?e:"country_code";return{...o,name:u,id:u,code:u}}),n=d(t);return[...t,...n].map(e=>{const o=l(e.code);return i({...e,customUpperCode:o},"camelCase",{frontend_input:"fieldType",frontend_class:"className",is_required:"required",sort_order:"orderNumber"})}).sort((e,o)=>e.orderNumber-o.orderNumber)};export{i as a,l as c,p as t}; diff --git a/scripts/__dropins__/storefront-order/configs/mock.config.d.ts b/scripts/__dropins__/storefront-order/configs/mock.config.d.ts index 866bcf6d7e..83c2fe5909 100644 --- a/scripts/__dropins__/storefront-order/configs/mock.config.d.ts +++ b/scripts/__dropins__/storefront-order/configs/mock.config.d.ts @@ -163,6 +163,7 @@ export declare const transformMockOrderInput: { customer: { orders: { items: { + uid: string; available_actions: string[]; status: string; number: string; diff --git a/scripts/__dropins__/storefront-order/containers/CustomerDetails.js b/scripts/__dropins__/storefront-order/containers/CustomerDetails.js index 75f96d413f..5e920c862e 100644 --- a/scripts/__dropins__/storefront-order/containers/CustomerDetails.js +++ b/scripts/__dropins__/storefront-order/containers/CustomerDetails.js @@ -1,3 +1,3 @@ /*! Copyright 2024 Adobe All Rights Reserved. */ -import{jsx as r,jsxs as c,Fragment as L}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as T,classes as _}from"@dropins/tools/lib.js";import{useMemo as S,useState as k,useEffect as E,useCallback as B}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact.js";import{events as z}from"@dropins/tools/event-bus.js";import{c as F}from"../chunks/network-error.js";import{g as q}from"../chunks/getAttributesForm.js";import{Icon as K,Price as G,Card as J,Header as Q}from"@dropins/tools/components.js";import{f as U}from"../chunks/returnOrdersHelper.js";import{f as X}from"../chunks/formatDateToLocale.js";import"../chunks/ShippingStatusCard.js";import*as u from"@dropins/tools/preact-compat.js";import{D as Y}from"../chunks/OrderLoaders.js";import{Text as ee,useText as te}from"@dropins/tools/i18n.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/transform-attributes-form.js";import"../chunks/getFormValues.js";const re=i=>u.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),ne=i=>u.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.00718 5H22.1507C22.7047 5 23.1579 5.45323 23.1579 6.00718V7.51794C23.1579 7.51794 1.01007 7.58844 1 7.55823V6.00718C1 5.45323 1.45323 5 2.00718 5Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M23.1579 9.78409V18.3451C23.1579 18.899 22.7047 19.3523 22.1507 19.3523H2.00718C1.45323 19.3523 1 18.899 1 18.3451V9.78409H23.1579Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M3.01465 15.9682H8.40305",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.6192 17.5897C18.4535 17.5897 19.1299 16.9133 19.1299 16.0789C19.1299 15.2446 18.4535 14.5682 17.6192 14.5682C16.7848 14.5682 16.1084 15.2446 16.1084 16.0789C16.1084 16.9133 16.7848 17.5897 17.6192 17.5897Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8848 17.5897C20.7192 17.5897 21.3956 16.9133 21.3956 16.0789C21.3956 15.2446 20.7192 14.5682 19.8848 14.5682C19.0504 14.5682 18.374 15.2446 18.374 16.0789C18.374 16.9133 19.0504 17.5897 19.8848 17.5897Z",stroke:"currentColor",strokeWidth:1})),O=(i,e)=>{var d;const m=o=>{const s=Array.isArray(o.value)?o.value.join(" "):o==null?void 0:o.value;return o.label?`${o.label}: ${s}`:s};return(d=i[e])==null?void 0:d.map((o,s)=>r("p",{children:m(o)},`${o.value}${s}`))},oe=i=>{var s,t;const e=i&&i.length>0,m=e?(s=i[0])==null?void 0:s.name:"",d=e?(t=i[0])==null?void 0:t.code:"";return{selectedPaymentMethod:m,selectedPaymentMethodCode:d,hasToDisplayPaymentMethod:e&&m!==""}},ie=({loading:i,order:e,withHeader:m=!0,title:d,paymentIconsMap:o={},normalizeAddress:s,translations:t,slots:l})=>{var D,M,A,N;const g=!!(e!=null&&e.returnNumber),n=(D=e==null?void 0:e.returns)==null?void 0:D[0],h=S(()=>({checkmo:re,card:ne,...o}),[o]);if(!e||i)return r(Y,{});const a=(e==null?void 0:e.email)??"",p=(M=e==null?void 0:e.shipping)==null?void 0:M.code,f=(A=e==null?void 0:e.shipping)==null?void 0:A.amount,w=(N=e==null?void 0:e.shipping)==null?void 0:N.currency,x=e==null?void 0:e.payments,{selectedPaymentMethod:P,selectedPaymentMethodCode:y,hasToDisplayPaymentMethod:H}=oe(x),v=h[y],C=O(s,"shippingAddress")??[],b=O(s,"billingAddress")??[],I=c("div",{className:"order-customer-details-content__container-email",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.emailTitle}),r("p",{children:a})]}),V=g?c("div",{className:"order-customer-details-content__container-return-information","data-testid":"returnDetailsBlock",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.returnInformationTitle}),r("div",{className:"order-customer-details-content__container-description",children:r(T,{"data-testid":"OrderReturnInformation",name:"OrderReturnInformation",slot:l==null?void 0:l.OrderReturnInformation,context:n,children:c(L,{children:[c("p",{children:[t.createdReturnAt,r("span",{children:X(n==null?void 0:n.createdReturnAt)})]}),c("p",{children:[t.returnStatusLabel,r(ee,{id:`Order.CustomerDetails.returnStatus.${U(n==null?void 0:n.returnStatus)}`})]}),c("p",{children:[t.orderNumberLabel,r("span",{children:n==null?void 0:n.orderNumber})]})]})})})]}):null,W=C.length?c("div",{className:"order-customer-details-content__container-shipping_address",children:[r("div",{className:"order-customer-details-content__container-title",children:t.shippingAddressTitle}),r("div",{className:"order-customer-details-content__container-description",children:C})]}):null,j=b.length?c("div",{className:_(["order-customer-details-content__container-billing_address",["order-customer-details-content__container-billing_address--fullwidth",!C.length]]),children:[r("div",{className:"order-customer-details-content__container-title",children:t.billingAddressTitle}),r("div",{className:"order-customer-details-content__container-description",children:b})]}):null,R=H?c("div",{className:_(["order-customer-details-content__container-payment_methods",["order-customer-details-content__container-payment_methods--fullwidth",!p]]),children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.paymentMethodsTitle}),c("p",{"data-testid":"payment_methods_description",className:_([["order-customer-details-content__container-payment_methods--icon",!!v]]),children:[r(T,{"data-testid":"PaymentMethodIcon",name:"PaymentMethodIcon",slot:l==null?void 0:l.PaymentMethodIcon,context:{selectedPaymentMethodCode:y},children:v?r(K,{source:v}):null}),P]})]}):null,Z=p?c("div",{className:"order-customer-details-content__container-shipping_methods",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.shippingMethodsTitle}),f?c("p",{"data-testid":"shipping_methods_price",children:[r(G,{amount:f,currency:w})," ",p]}):r("p",{"data-testid":"shipping_methods_placeholder",children:t==null?void 0:t.freeShipping})]}):null,$=g?V:c(L,{children:[j,Z,R]});return c(J,{"data-testid":"order-details",variant:"secondary",className:_(["order-customer-details-content"]),children:[m?r(Q,{title:d??(t==null?void 0:t.headerText)}):null,c("div",{className:_(["order-customer-details-content__container",["order-customer-details-content__container--no-margin",C.length||b.length]]),children:[I,W,$]})]})},se=["firstname","lastname","city","company","country_code","region","region_code","region_id","telephone","id","vat_id","postcode","street","street_2","default_shipping","default_billing"],ce=({orderData:i})=>{const[e,m]=k(!0),[d,o]=k(i),[s,t]=k([]);E(()=>{const n=z.on("order/data",h=>{o(h)},{eager:!0});return()=>{n==null||n.off()}},[]),E(()=>{q("shortRequest").then(n=>{if(n){const h=n.map(({name:a,orderNumber:p,label:f})=>({name:F(a),orderNumber:p,label:se.includes(a)?null:f}));t(h)}}).finally(()=>{m(!1)})},[]);const l=B(n=>{if(!s.length||!d||!d[n])return[];const h=Object.fromEntries(Object.entries(d[n]).map(([a,p])=>[a.toLowerCase(),p]));return s.filter(({name:a})=>h[a.toLowerCase()]).map(a=>({name:a.name,orderNumber:a.orderNumber,value:h[a.name.toLowerCase()],label:a.label}))},[s,d]),g=S(()=>({billingAddress:l("billingAddress"),shippingAddress:l("shippingAddress")}),[l]);return{order:d,normalizeAddress:g,loading:e}},Ae=({paymentIconsMap:i,orderData:e,title:m,className:d,slots:o})=>{const s=te({emailTitle:"Order.CustomerDetails.email.title",shippingAddressTitle:"Order.CustomerDetails.shippingAddress.title",shippingMethodsTitle:"Order.CustomerDetails.shippingMethods.title",billingAddressTitle:"Order.CustomerDetails.billingAddress.title",paymentMethodsTitle:"Order.CustomerDetails.paymentMethods.title",returnInformationTitle:"Order.CustomerDetails.returnInformation.title",headerText:"Order.CustomerDetails.headerText",freeShipping:"Order.CustomerDetails.freeShipping",createdReturnAt:"Order.CustomerDetails.orderReturnLabels.createdReturnAt",orderNumberLabel:"Order.CustomerDetails.orderReturnLabels.orderNumberLabel",returnStatusLabel:"Order.CustomerDetails.orderReturnLabels.returnStatusLabel"}),{order:t,normalizeAddress:l,loading:g}=ce({orderData:e});return r("div",{className:_(["order-customer-details",d]),children:r(ie,{slots:o,loading:g,order:t,title:m,paymentIconsMap:i,normalizeAddress:l,translations:s})})};export{Ae as CustomerDetails,Ae as default}; +import{jsx as r,jsxs as c,Fragment as L}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as T,classes as _}from"@dropins/tools/lib.js";import{useMemo as S,useState as k,useEffect as E,useCallback as B}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/preact.js";import{events as z}from"@dropins/tools/event-bus.js";import{c as F}from"../chunks/transform-attributes-form.js";import{g as q}from"../chunks/getAttributesForm.js";import{Icon as K,Price as G,Card as J,Header as Q}from"@dropins/tools/components.js";import{f as U}from"../chunks/returnOrdersHelper.js";import{f as X}from"../chunks/formatDateToLocale.js";import"../chunks/ShippingStatusCard.js";import*as u from"@dropins/tools/preact-compat.js";import{D as Y}from"../chunks/OrderLoaders.js";import{Text as ee,useText as te}from"@dropins/tools/i18n.js";import"../chunks/network-error.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getFormValues.js";const re=i=>u.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.93 14.8V18.75H5.97C4.75 18.75 3.75 17.97 3.75 17V6.5M3.75 6.5C3.75 5.53 4.74 4.75 5.97 4.75H15.94V8.25H5.97C4.75 8.25 3.75 7.47 3.75 6.5Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.35 11.64H14.04V14.81H19.35V11.64Z",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.9304 11.64V8.25H15.1504",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})),ne=i=>u.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M2.00718 5H22.1507C22.7047 5 23.1579 5.45323 23.1579 6.00718V7.51794C23.1579 7.51794 1.01007 7.58844 1 7.55823V6.00718C1 5.45323 1.45323 5 2.00718 5Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M23.1579 9.78409V18.3451C23.1579 18.899 22.7047 19.3523 22.1507 19.3523H2.00718C1.45323 19.3523 1 18.899 1 18.3451V9.78409H23.1579Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M3.01465 15.9682H8.40305",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.6192 17.5897C18.4535 17.5897 19.1299 16.9133 19.1299 16.0789C19.1299 15.2446 18.4535 14.5682 17.6192 14.5682C16.7848 14.5682 16.1084 15.2446 16.1084 16.0789C16.1084 16.9133 16.7848 17.5897 17.6192 17.5897Z",stroke:"currentColor",strokeWidth:1}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M19.8848 17.5897C20.7192 17.5897 21.3956 16.9133 21.3956 16.0789C21.3956 15.2446 20.7192 14.5682 19.8848 14.5682C19.0504 14.5682 18.374 15.2446 18.374 16.0789C18.374 16.9133 19.0504 17.5897 19.8848 17.5897Z",stroke:"currentColor",strokeWidth:1})),O=(i,e)=>{var d;const m=o=>{const s=Array.isArray(o.value)?o.value.join(" "):o==null?void 0:o.value;return o.label?`${o.label}: ${s}`:s};return(d=i[e])==null?void 0:d.map((o,s)=>r("p",{children:m(o)},`${o.value}${s}`))},oe=i=>{var s,t;const e=i&&i.length>0,m=e?(s=i[0])==null?void 0:s.name:"",d=e?(t=i[0])==null?void 0:t.code:"";return{selectedPaymentMethod:m,selectedPaymentMethodCode:d,hasToDisplayPaymentMethod:e&&m!==""}},ie=({loading:i,order:e,withHeader:m=!0,title:d,paymentIconsMap:o={},normalizeAddress:s,translations:t,slots:l})=>{var D,M,A,N;const g=!!(e!=null&&e.returnNumber),n=(D=e==null?void 0:e.returns)==null?void 0:D[0],h=S(()=>({checkmo:re,card:ne,...o}),[o]);if(!e||i)return r(Y,{});const a=(e==null?void 0:e.email)??"",p=(M=e==null?void 0:e.shipping)==null?void 0:M.code,f=(A=e==null?void 0:e.shipping)==null?void 0:A.amount,w=(N=e==null?void 0:e.shipping)==null?void 0:N.currency,x=e==null?void 0:e.payments,{selectedPaymentMethod:P,selectedPaymentMethodCode:y,hasToDisplayPaymentMethod:H}=oe(x),v=h[y],C=O(s,"shippingAddress")??[],b=O(s,"billingAddress")??[],I=c("div",{className:"order-customer-details-content__container-email",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.emailTitle}),r("p",{children:a})]}),V=g?c("div",{className:"order-customer-details-content__container-return-information","data-testid":"returnDetailsBlock",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.returnInformationTitle}),r("div",{className:"order-customer-details-content__container-description",children:r(T,{"data-testid":"OrderReturnInformation",name:"OrderReturnInformation",slot:l==null?void 0:l.OrderReturnInformation,context:n,children:c(L,{children:[c("p",{children:[t.createdReturnAt,r("span",{children:X(n==null?void 0:n.createdReturnAt)})]}),c("p",{children:[t.returnStatusLabel,r(ee,{id:`Order.CustomerDetails.returnStatus.${U(n==null?void 0:n.returnStatus)}`})]}),c("p",{children:[t.orderNumberLabel,r("span",{children:n==null?void 0:n.orderNumber})]})]})})})]}):null,W=C.length?c("div",{className:"order-customer-details-content__container-shipping_address",children:[r("div",{className:"order-customer-details-content__container-title",children:t.shippingAddressTitle}),r("div",{className:"order-customer-details-content__container-description",children:C})]}):null,j=b.length?c("div",{className:_(["order-customer-details-content__container-billing_address",["order-customer-details-content__container-billing_address--fullwidth",!C.length]]),children:[r("div",{className:"order-customer-details-content__container-title",children:t.billingAddressTitle}),r("div",{className:"order-customer-details-content__container-description",children:b})]}):null,R=H?c("div",{className:_(["order-customer-details-content__container-payment_methods",["order-customer-details-content__container-payment_methods--fullwidth",!p]]),children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.paymentMethodsTitle}),c("p",{"data-testid":"payment_methods_description",className:_([["order-customer-details-content__container-payment_methods--icon",!!v]]),children:[r(T,{"data-testid":"PaymentMethodIcon",name:"PaymentMethodIcon",slot:l==null?void 0:l.PaymentMethodIcon,context:{selectedPaymentMethodCode:y},children:v?r(K,{source:v}):null}),P]})]}):null,Z=p?c("div",{className:"order-customer-details-content__container-shipping_methods",children:[r("div",{className:"order-customer-details-content__container-title",children:t==null?void 0:t.shippingMethodsTitle}),f?c("p",{"data-testid":"shipping_methods_price",children:[r(G,{amount:f,currency:w})," ",p]}):r("p",{"data-testid":"shipping_methods_placeholder",children:t==null?void 0:t.freeShipping})]}):null,$=g?V:c(L,{children:[j,Z,R]});return c(J,{"data-testid":"order-details",variant:"secondary",className:_(["order-customer-details-content"]),children:[m?r(Q,{title:d??(t==null?void 0:t.headerText)}):null,c("div",{className:_(["order-customer-details-content__container",["order-customer-details-content__container--no-margin",C.length||b.length]]),children:[I,W,$]})]})},se=["firstname","lastname","city","company","country_code","region","region_code","region_id","telephone","id","vat_id","postcode","street","street_2","default_shipping","default_billing"],ce=({orderData:i})=>{const[e,m]=k(!0),[d,o]=k(i),[s,t]=k([]);E(()=>{const n=z.on("order/data",h=>{o(h)},{eager:!0});return()=>{n==null||n.off()}},[]),E(()=>{q("shortRequest").then(n=>{if(n){const h=n.map(({name:a,orderNumber:p,label:f})=>({name:F(a),orderNumber:p,label:se.includes(a)?null:f}));t(h)}}).finally(()=>{m(!1)})},[]);const l=B(n=>{if(!s.length||!d||!d[n])return[];const h=Object.fromEntries(Object.entries(d[n]).map(([a,p])=>[a.toLowerCase(),p]));return s.filter(({name:a})=>h[a.toLowerCase()]).map(a=>({name:a.name,orderNumber:a.orderNumber,value:h[a.name.toLowerCase()],label:a.label}))},[s,d]),g=S(()=>({billingAddress:l("billingAddress"),shippingAddress:l("shippingAddress")}),[l]);return{order:d,normalizeAddress:g,loading:e}},Ae=({paymentIconsMap:i,orderData:e,title:m,className:d,slots:o})=>{const s=te({emailTitle:"Order.CustomerDetails.email.title",shippingAddressTitle:"Order.CustomerDetails.shippingAddress.title",shippingMethodsTitle:"Order.CustomerDetails.shippingMethods.title",billingAddressTitle:"Order.CustomerDetails.billingAddress.title",paymentMethodsTitle:"Order.CustomerDetails.paymentMethods.title",returnInformationTitle:"Order.CustomerDetails.returnInformation.title",headerText:"Order.CustomerDetails.headerText",freeShipping:"Order.CustomerDetails.freeShipping",createdReturnAt:"Order.CustomerDetails.orderReturnLabels.createdReturnAt",orderNumberLabel:"Order.CustomerDetails.orderReturnLabels.orderNumberLabel",returnStatusLabel:"Order.CustomerDetails.orderReturnLabels.returnStatusLabel"}),{order:t,normalizeAddress:l,loading:g}=ce({orderData:e});return r("div",{className:_(["order-customer-details",d]),children:r(ie,{slots:o,loading:g,order:t,title:m,paymentIconsMap:i,normalizeAddress:l,translations:s})})};export{Ae as CustomerDetails,Ae as default}; diff --git a/scripts/__dropins__/storefront-order/data/models/order-details.d.ts b/scripts/__dropins__/storefront-order/data/models/order-details.d.ts index d3805af02c..e97732ba30 100644 --- a/scripts/__dropins__/storefront-order/data/models/order-details.d.ts +++ b/scripts/__dropins__/storefront-order/data/models/order-details.d.ts @@ -19,6 +19,12 @@ export type OrderAddressModel = { }[]; } | null; export type OrderItemProductModel = { + onlyXLeftInStock?: number; + priceRange?: { + maximumPrice?: { + regularPrice?: MoneyProps; + }; + }; uid: string; __typename: string; stockStatus?: string; @@ -36,6 +42,8 @@ export type OrderItemProductModel = { }; }; export type OrderItemModel = { + productSalePrice: MoneyProps; + status?: string; currentReturnOrderQuantity?: number; eligibleForReturn: boolean; productSku?: string; @@ -59,6 +67,20 @@ export type OrderItemModel = { count: number; result: string; } | null; + prices: { + priceIncludingTax: MoneyProps; + originalPrice: MoneyProps; + originalPriceIncludingTax: MoneyProps; + price: MoneyProps; + discounts: [ + { + label: string; + amount: { + value: number; + }; + } + ]; + }; itemPrices: { priceIncludingTax: MoneyProps; originalPrice: MoneyProps; @@ -91,7 +113,7 @@ export type OrderItemModel = { quantityRefunded: number; quantityReturned: number; quantityShipped: number; - requestQuantity: number; + requestQuantity?: number; totalQuantity: number; returnableQuantity?: number; quantityReturnRequested: number; diff --git a/scripts/__dropins__/storefront-order/data/transforms/transform-order-details.d.ts b/scripts/__dropins__/storefront-order/data/transforms/transform-order-details.d.ts index 5421b44993..b98fdd20bc 100644 --- a/scripts/__dropins__/storefront-order/data/transforms/transform-order-details.d.ts +++ b/scripts/__dropins__/storefront-order/data/transforms/transform-order-details.d.ts @@ -12,6 +12,96 @@ export declare const transformLinks: (links: { result: string; } | null; export declare const transformOrderItems: (items: OrderItemProps[]) => OrderItemModel[]; -export declare const transformOrderData: (orderData: OrderProps, returnRef?: string) => any; +export declare const transformOrderData: (orderData: OrderProps, returnRef?: string) => { + subtotalExclTax: any; + subtotalInclTax: any; + billingAddress: { + city: any; + company: any; + countryCode: any; + fax: any; + firstName: any; + lastName: any; + middleName: any; + postCode: any; + prefix: any; + region: any; + regionId: any; + street: any; + suffix: any; + telephone: any; + vatId: any; + }; + shippingAddress: { + city: any; + company: any; + countryCode: any; + fax: any; + firstName: any; + lastName: any; + middleName: any; + postCode: any; + prefix: any; + region: any; + regionId: any; + street: any; + suffix: any; + telephone: any; + vatId: any; + }; + shipments: { + items: { + id: string; + productName: string; + productSku: string; + quantityShipped: number; + orderItem: OrderItemModel; + }[]; + id: string; + number: string; + tracking: { + carrier: string; + number: string; + title: string; + }[]; + comments: { + message: string; + timestamp: string; + }[]; + }[]; + items: OrderItemModel[]; + returns: import('../models').OrdersReturnPropsModel[]; + itemsEligibleForReturn: OrderItemModel[]; + totalQuantity: number; + shippingMethod: string; + shipping: { + amount: any; + currency: any; + code: string; + }; + payments: { + code: string; + name: string; + }[]; + grandTotal: any; + totalGiftcard: any; + taxes: any; + totalTax: any; + totalShipping: any; + discounts: any; + token: string; + email: string; + status: string; + number: string; + id: string; + carrier: string; + coupons: { + code: string; + }[]; + orderDate: string; + isVirtual: boolean; + availableActions: import('../../types').AvailableActionsProps[]; + orderStatusChangeDate: string; +}; export declare const transformOrderDetails: (queryType: QueryType, response: ResponseData, returnRef?: string) => TransformedData; //# sourceMappingURL=transform-order-details.d.ts.map \ No newline at end of file diff --git a/scripts/__dropins__/storefront-order/lib/categorizeProducts.d.ts b/scripts/__dropins__/storefront-order/lib/categorizeProducts.d.ts index b6953c0bed..b6a8a4df9c 100644 --- a/scripts/__dropins__/storefront-order/lib/categorizeProducts.d.ts +++ b/scripts/__dropins__/storefront-order/lib/categorizeProducts.d.ts @@ -3,6 +3,8 @@ import { OrderDataModel } from '../data/models'; export declare const categorizeProducts: (order: OrderDataModel) => { returnedList: { totalQuantity: number; + productSalePrice: import('../types/index').MoneyProps; + status?: string | undefined; currentReturnOrderQuantity?: number | undefined; eligibleForReturn: boolean; productSku?: string | undefined; @@ -26,6 +28,18 @@ export declare const categorizeProducts: (order: OrderDataModel) => { count: number; result: string; } | null; + prices: { + priceIncludingTax: import('../types/index').MoneyProps; + originalPrice: import('../types/index').MoneyProps; + originalPriceIncludingTax: import('../types/index').MoneyProps; + price: import('../types/index').MoneyProps; + discounts: [{ + label: string; + amount: { + value: number; + }; + }]; + }; itemPrices: { priceIncludingTax: import('../types/index').MoneyProps; originalPrice: import('../types/index').MoneyProps; @@ -56,7 +70,7 @@ export declare const categorizeProducts: (order: OrderDataModel) => { quantityRefunded: number; quantityReturned: number; quantityShipped: number; - requestQuantity: number; + requestQuantity?: number | undefined; returnableQuantity?: number | undefined; quantityReturnRequested: number; }[]; diff --git a/scripts/__dropins__/storefront-order/types/api/getOrderDetails.types.d.ts b/scripts/__dropins__/storefront-order/types/api/getOrderDetails.types.d.ts index e53a8b3893..50d39b2126 100644 --- a/scripts/__dropins__/storefront-order/types/api/getOrderDetails.types.d.ts +++ b/scripts/__dropins__/storefront-order/types/api/getOrderDetails.types.d.ts @@ -21,6 +21,8 @@ interface ThumbnailImageProps { label?: string; } export interface ProductProps { + only_x_left_in_stock?: number; + stock_status?: string; thumbnail?: ThumbnailImageProps; image: ThumbnailImageProps; canonical_url: string; @@ -176,7 +178,9 @@ export interface ShipmentsProps { id: string; product_sku: string; product_name: string; - }; + quantity_shipped: number; + order_item: OrderItemProps; + }[]; } export declare enum AvailableActionsProps { CANCEL = "CANCEL", @@ -213,6 +217,8 @@ export interface ReturnsItemsProps { }[]; } export interface OrderProps { + is_virtual?: boolean; + order_status_change_date?: string; available_actions: AvailableActionsProps[]; shipping_method: string; status: string;