@dropins/storefront-account 3.1.0-beta2 → 3.1.1-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{t as H,f as Y,a as j}from"./removeCustomerAddress.js";import{c as J}from"./initialize.js";import"@dropins/tools/event-bus.js";import{merge as K}from"@dropins/tools/lib.js";import{ADDRESS_FRAGMENT as Q,ORDER_SUMMARY_FRAGMENT as B}from"../fragments.js";const V=(a,t="en-US",s={})=>{const d={...{day:"2-digit",month:"2-digit",year:"numeric"},...s},u=new Date(a);return isNaN(u.getTime())?"Invalid Date":new Intl.DateTimeFormat(t,d).format(u)},c={value:0,currency:"USD"},W=a=>{var t,s,_,d,u,g,l,f,p,n;return{subtotal:((t=a==null?void 0:a.total)==null?void 0:t.subtotal)??c,grandTotal:((s=a==null?void 0:a.total)==null?void 0:s.grand_total)??c,grandTotalExclTax:((_=a==null?void 0:a.total)==null?void 0:_.grand_total_excl_tax)??c,totalGiftcard:((d=a==null?void 0:a.total)==null?void 0:d.total_giftcard)??c,subtotalExclTax:((u=a==null?void 0:a.total)==null?void 0:u.subtotal_excl_tax)??c,subtotalInclTax:((g=a==null?void 0:a.total)==null?void 0:g.subtotal_incl_tax)??c,taxes:((l=a==null?void 0:a.total)==null?void 0:l.taxes)??[],totalTax:((f=a==null?void 0:a.total)==null?void 0:f.total_tax)??c,totalShipping:((p=a==null?void 0:a.total)==null?void 0:p.total_shipping)??c,discounts:((n=a==null?void 0:a.total)==null?void 0:n.discounts)??[]}},X=a=>{var d,u,g,l,f,p,n,h,S,y,T,E,R,O,D,b,A,x,M,I,k,N,q,G,$,C,v,F,i,z;if(!((u=(d=a.data)==null?void 0:d.customer)!=null&&u.orders))return null;const t=((l=(g=a==null?void 0:a.data)==null?void 0:g.customer)==null?void 0:l.returns)??[],_={items:(((n=(p=(f=a==null?void 0:a.data)==null?void 0:f.customer)==null?void 0:p.orders)==null?void 0:n.items)??[]).map(r=>{var L;return{items:r==null?void 0:r.items.map(o=>{var P,U,w;return{status:(o==null?void 0:o.status)??"",productName:(o==null?void 0:o.product_name)??"",id:o==null?void 0:o.id,quantityOrdered:(o==null?void 0:o.quantity_ordered)??0,quantityShipped:(o==null?void 0:o.quantity_shipped)??0,quantityInvoiced:(o==null?void 0:o.quantity_invoiced)??0,sku:(o==null?void 0:o.product_sku)??"",urlKey:(o==null?void 0:o.product_url_key)??"",topLevelSku:((P=o==null?void 0:o.product)==null?void 0:P.sku)??"",product:{smallImage:{url:((w=(U=o==null?void 0:o.product)==null?void 0:U.small_image)==null?void 0:w.url)??""}}}}),token:r==null?void 0:r.token,email:r==null?void 0:r.email,shippingMethod:r==null?void 0:r.shipping_method,paymentMethods:(r==null?void 0:r.payment_methods)??[],shipments:(r==null?void 0:r.shipments)??[],id:r==null?void 0:r.id,carrier:r==null?void 0:r.carrier,status:r==null?void 0:r.status,number:r==null?void 0:r.number,returns:(L=t==null?void 0:t.items)==null?void 0:L.filter(o=>o.order.id===r.id),orderDate:V(r.order_date),shippingAddress:H(r.shipping_address),billingAddress:H(r.billing_address),total:W(r)}}),pageInfo:{pageSize:((T=(y=(S=(h=a==null?void 0:a.data)==null?void 0:h.customer)==null?void 0:S.orders)==null?void 0:y.page_info)==null?void 0:T.page_size)??10,totalPages:((D=(O=(R=(E=a==null?void 0:a.data)==null?void 0:E.customer)==null?void 0:R.orders)==null?void 0:O.page_info)==null?void 0:D.total_pages)??1,currentPage:((M=(x=(A=(b=a==null?void 0:a.data)==null?void 0:b.customer)==null?void 0:A.orders)==null?void 0:x.page_info)==null?void 0:M.current_page)??1},totalCount:((N=(k=(I=a==null?void 0:a.data)==null?void 0:I.customer)==null?void 0:k.orders)==null?void 0:N.total_count)??0,dateOfFirstOrder:(($=(G=(q=a==null?void 0:a.data)==null?void 0:q.customer)==null?void 0:G.orders)==null?void 0:$.date_of_first_order)??""};return K(_,(z=(i=(F=(v=(C=J)==null?void 0:C.getConfig())==null?void 0:v.models)==null?void 0:F.OrderHistoryModel)==null?void 0:i.transformer)==null?void 0:z.call(i,a.data))},Z=`
3
+ import{t as H,f as j,a as Y}from"./removeCustomerAddress.js";import{c as J}from"./initialize.js";import"@dropins/tools/event-bus.js";import{merge as K}from"@dropins/tools/lib.js";import{ADDRESS_FRAGMENT as Q,ORDER_SUMMARY_FRAGMENT as B}from"../fragments.js";const V=(a,o="en-US",s={})=>{const d={...{day:"2-digit",month:"2-digit",year:"numeric"},...s},u=new Date(a);return isNaN(u.getTime())?"Invalid Date":new Intl.DateTimeFormat(o,d).format(u)},W=(a,o="en-US",s={})=>{const d={...{hour:"2-digit",minute:"2-digit"},...s},u=new Date(a);return isNaN(u.getTime())?"Invalid Time":new Intl.DateTimeFormat(o,d).format(u)},_={value:0,currency:"USD"},X=a=>{var o,s,c,d,u,g,n,i,f,l;return{subtotal:((o=a==null?void 0:a.total)==null?void 0:o.subtotal)??_,grandTotal:((s=a==null?void 0:a.total)==null?void 0:s.grand_total)??_,grandTotalExclTax:((c=a==null?void 0:a.total)==null?void 0:c.grand_total_excl_tax)??_,totalGiftcard:((d=a==null?void 0:a.total)==null?void 0:d.total_giftcard)??_,subtotalExclTax:((u=a==null?void 0:a.total)==null?void 0:u.subtotal_excl_tax)??_,subtotalInclTax:((g=a==null?void 0:a.total)==null?void 0:g.subtotal_incl_tax)??_,taxes:((n=a==null?void 0:a.total)==null?void 0:n.taxes)??[],totalTax:((i=a==null?void 0:a.total)==null?void 0:i.total_tax)??_,totalShipping:((f=a==null?void 0:a.total)==null?void 0:f.total_shipping)??_,discounts:((l=a==null?void 0:a.total)==null?void 0:l.discounts)??[]}},Z=a=>{var d,u,g,n,i,f,l,T,h,S,y,O,E,R,D,b,A,I,x,M,k,N,q,G,$,v,C,F,p,w;if(!((u=(d=a.data)==null?void 0:d.customer)!=null&&u.orders))return null;const o=((n=(g=a==null?void 0:a.data)==null?void 0:g.customer)==null?void 0:n.returns)??[],c={items:(((l=(f=(i=a==null?void 0:a.data)==null?void 0:i.customer)==null?void 0:f.orders)==null?void 0:l.items)??[]).map(r=>{var L;return{items:r==null?void 0:r.items.map(t=>{var U,z,P;return{status:(t==null?void 0:t.status)??"",productName:(t==null?void 0:t.product_name)??"",id:t==null?void 0:t.id,quantityOrdered:(t==null?void 0:t.quantity_ordered)??0,quantityShipped:(t==null?void 0:t.quantity_shipped)??0,quantityInvoiced:(t==null?void 0:t.quantity_invoiced)??0,sku:(t==null?void 0:t.product_sku)??"",urlKey:(t==null?void 0:t.product_url_key)??"",topLevelSku:((U=t==null?void 0:t.product)==null?void 0:U.sku)??"",product:{smallImage:{url:((P=(z=t==null?void 0:t.product)==null?void 0:z.small_image)==null?void 0:P.url)??""}}}}),token:r==null?void 0:r.token,email:r==null?void 0:r.email,shippingMethod:r==null?void 0:r.shipping_method,paymentMethods:(r==null?void 0:r.payment_methods)??[],shipments:(r==null?void 0:r.shipments)??[],id:r==null?void 0:r.id,carrier:r==null?void 0:r.carrier,status:r==null?void 0:r.status,number:r==null?void 0:r.number,returns:(L=o==null?void 0:o.items)==null?void 0:L.filter(t=>t.order.id===r.id),orderDate:V(r.order_date),orderTime:W(r.order_date),shippingAddress:H(r.shipping_address),billingAddress:H(r.billing_address),total:X(r)}}),pageInfo:{pageSize:((y=(S=(h=(T=a==null?void 0:a.data)==null?void 0:T.customer)==null?void 0:h.orders)==null?void 0:S.page_info)==null?void 0:y.page_size)??10,totalPages:((D=(R=(E=(O=a==null?void 0:a.data)==null?void 0:O.customer)==null?void 0:E.orders)==null?void 0:R.page_info)==null?void 0:D.total_pages)??1,currentPage:((x=(I=(A=(b=a==null?void 0:a.data)==null?void 0:b.customer)==null?void 0:A.orders)==null?void 0:I.page_info)==null?void 0:x.current_page)??1},totalCount:((N=(k=(M=a==null?void 0:a.data)==null?void 0:M.customer)==null?void 0:k.orders)==null?void 0:N.total_count)??0,dateOfFirstOrder:(($=(G=(q=a==null?void 0:a.data)==null?void 0:q.customer)==null?void 0:G.orders)==null?void 0:$.date_of_first_order)??""};return K(c,(w=(p=(F=(C=(v=J)==null?void 0:v.getConfig())==null?void 0:C.models)==null?void 0:F.OrderHistoryModel)==null?void 0:p.transformer)==null?void 0:w.call(p,a.data))},m=`
4
4
  query GET_CUSTOMER_ORDERS_LIST(
5
5
  $currentPage: Int
6
6
  $pageSize: Int
@@ -83,5 +83,5 @@ import{t as H,f as Y,a as j}from"./removeCustomerAddress.js";import{c as J}from"
83
83
  }
84
84
  ${Q}
85
85
  ${B}
86
- `,m={sort_direction:"DESC",sort_field:"CREATED_AT"},da=async(a,t,s)=>{const _=t.includes("viewAll")?{}:{order_date:JSON.parse(t)};return await Y(Z,{method:"GET",cache:"no-cache",variables:{pageSize:a,currentPage:s,filter:_,sort:m}}).then(d=>X(d)).catch(j)};export{da as g};
86
+ `,e={sort_direction:"DESC",sort_field:"CREATED_AT"},ua=async(a,o,s)=>{const c=o.includes("viewAll")?{}:{order_date:JSON.parse(o)};return await j(m,{method:"GET",cache:"no-cache",variables:{pageSize:a,currentPage:s,filter:c,sort:e}}).then(d=>Z(d)).catch(Y)};export{ua as g};
87
87
  //# sourceMappingURL=getOrderHistoryList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOrderHistoryList.js","sources":["/@dropins/storefront-account/src/lib/formatDateToLocale.ts","/@dropins/storefront-account/src/data/transforms/transform-order-history-list.ts","/@dropins/storefront-account/src/api/getOrderHistoryList/graphql/getOrderHistoryList.graphql.ts","/@dropins/storefront-account/src/api/getOrderHistoryList/getOrderHistoryList.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\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\n/**\n * Formats a date string according to a specified locale and options.\n * Returns \"Invalid Date\" if the input date string is invalid.\n *\n * @param {string} date - The date string to be formatted.\n * @param {string} [locale='en-US'] - The locale to use for formatting. Defaults to 'en-US'.\n * @param {Intl.DateTimeFormatOptions} [options={}] - Optional formatting options to customize the output.\n * @returns {string} The formatted date string, or \"Invalid Date\" if the input is invalid.\n *\n * @example\n * // Default formatting (en-US locale, MM/DD/YYYY)\n * console.log(formatDateToLocale('2023-08-29'));\n * // Output: \"08/29/2023\"\n *\n * @example\n * // Formatting with a specified locale (e.g., en-GB for DD/MM/YYYY)\n * console.log(formatDateToLocale('2023-08-29', 'en-GB'));\n * // Output: \"29/08/2023\"\n *\n * @example\n * // Formatting with a specified locale and custom options (e.g., de-DE with long month format)\n * console.log(formatDateToLocale('2023-08-29', 'de-DE', { month: 'long', year: 'numeric' }));\n * // Output: \"29. August 2023\"\n *\n * @example\n * // Handling an invalid date string\n * console.log(formatDateToLocale('invalid-date'));\n * // Output: \"Invalid Date\"\n */\nexport const formatDateToLocale = (\n date: string,\n locale: string = 'en-US',\n options: Intl.DateTimeFormatOptions = {}\n): string => {\n const defaultOptions: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n };\n const formatOptions: Intl.DateTimeFormatOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const dateObj = new Date(date);\n\n if (isNaN(dateObj.getTime())) {\n return 'Invalid Date';\n }\n\n const formatter = new Intl.DateTimeFormat(locale, formatOptions);\n return formatter.format(dateObj);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 {\n OrderHistoryListResponse, OrderItemProps,\n OrderProps,\n ReturnProps,\n} from '@/account/types';\nimport { OrderHistoryModel } from '@/account/data/models';\nimport { transformSingleAddress } from '@/account/data/transforms/transform-customer-address';\nimport { formatDateToLocale } from '@/account/lib/formatDateToLocale';\nimport { config } from '@/account/api';\nimport { merge } from '@adobe-commerce/elsie/lib';\n\nconst initialMoneyProps = {\n value: 0,\n currency: 'USD',\n};\n\nconst transformOrderHistoryTotal = (item: any) => {\n return {\n subtotal: item?.total?.subtotal ?? initialMoneyProps,\n grandTotal: item?.total?.grand_total ?? initialMoneyProps,\n grandTotalExclTax: item?.total?.grand_total_excl_tax ?? initialMoneyProps,\n totalGiftcard: item?.total?.total_giftcard ?? initialMoneyProps,\n subtotalExclTax: item?.total?.subtotal_excl_tax ?? initialMoneyProps,\n subtotalInclTax: item?.total?.subtotal_incl_tax ?? initialMoneyProps,\n taxes: item?.total?.taxes ?? [],\n totalTax: item?.total?.total_tax ?? initialMoneyProps,\n totalShipping: item?.total?.total_shipping ?? initialMoneyProps,\n discounts: item?.total?.discounts ?? [],\n };\n};\n\nexport const transformOrderHistoryList = (\n response: OrderHistoryListResponse\n): OrderHistoryModel | null => {\n if (!response.data?.customer?.orders) return null;\n\n const returns = response?.data?.customer?.returns ?? [];\n const items = response?.data?.customer?.orders?.items ?? [];\n\n const model = {\n items: items.map((item: OrderProps) => {\n return {\n items: item?.items.map((element: OrderItemProps) => ({\n status: element?.status ?? '',\n productName: element?.product_name ?? '',\n id: element?.id,\n quantityOrdered: element?.quantity_ordered ?? 0,\n quantityShipped: element?.quantity_shipped ?? 0,\n quantityInvoiced: element?.quantity_invoiced ?? 0,\n sku: element?.product_sku ?? '',\n urlKey: element?.product_url_key ?? '',\n topLevelSku: element?.product?.sku ?? '',\n product: {\n smallImage: {\n url: element?.product?.small_image?.url ?? '',\n },\n },\n })),\n token: item?.token,\n email: item?.email,\n shippingMethod: item?.shipping_method,\n paymentMethods: item?.payment_methods ?? [],\n shipments: item?.shipments ?? [],\n id: item?.id,\n carrier: item?.carrier,\n status: item?.status,\n number: item?.number,\n returns: returns?.items?.filter(\n (returnItem: ReturnProps) => returnItem.order.id === item.id\n ),\n orderDate: formatDateToLocale(item.order_date),\n shippingAddress: transformSingleAddress(item.shipping_address),\n billingAddress: transformSingleAddress(item.billing_address),\n total: transformOrderHistoryTotal(item),\n };\n }),\n pageInfo: {\n pageSize: response?.data?.customer?.orders?.page_info?.page_size ?? 10,\n totalPages: response?.data?.customer?.orders?.page_info?.total_pages ?? 1,\n currentPage:\n response?.data?.customer?.orders?.page_info?.current_page ?? 1,\n },\n totalCount: response?.data?.customer?.orders?.total_count ?? 0,\n dateOfFirstOrder:\n response?.data?.customer?.orders?.date_of_first_order ?? '',\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.OrderHistoryModel?.transformer?.(response.data) // custom transformer\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 {\n ADDRESS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n} from '@/account/api/fragments';\n\nexport const GET_CUSTOMER_ORDERS_LIST = /* GraphQL */ `\n query GET_CUSTOMER_ORDERS_LIST(\n $currentPage: Int\n $pageSize: Int\n $filter: CustomerOrdersFilterInput\n $sort: CustomerOrderSortInput\n ) {\n customer {\n returns {\n items {\n uid\n number\n order {\n id\n }\n }\n }\n orders(\n currentPage: $currentPage\n pageSize: $pageSize\n filter: $filter\n sort: $sort\n ) {\n page_info {\n page_size\n total_pages\n current_page\n }\n date_of_first_order\n total_count\n items {\n token\n email\n shipping_method\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n }\n number\n id\n order_date\n carrier\n status\n items {\n status\n product_name\n id\n quantity_ordered\n quantity_shipped\n quantity_invoiced\n product_sku\n product_url_key\n product {\n sku\n small_image {\n url\n }\n }\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n }\n }\n }\n ${ADDRESS_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { fetchGraphQl } from '@/account/api';\nimport { handleNetworkError } from '@/account/lib/network-error';\nimport { GET_CUSTOMER_ORDERS_LIST } from './graphql/getOrderHistoryList.graphql';\nimport { OrderHistoryListResponse } from '@/account/types';\nimport { transformOrderHistoryList } from '@/account/data/transforms';\nimport { OrderHistoryModel } from '@/account/data/models';\n\nconst SORT_DIRECTION = { sort_direction: 'DESC', sort_field: 'CREATED_AT' };\n\nexport const getOrderHistoryList = async (\n pageSize: number,\n selectOrdersDate: string,\n currentPage: number\n): Promise<OrderHistoryModel | null> => {\n const filterOrderDate = !selectOrdersDate.includes('viewAll')\n ? {\n order_date: JSON.parse(selectOrdersDate),\n }\n : {};\n\n return await fetchGraphQl(GET_CUSTOMER_ORDERS_LIST, {\n method: 'GET',\n cache: 'no-cache',\n variables: {\n pageSize,\n currentPage,\n filter: filterOrderDate,\n sort: SORT_DIRECTION,\n },\n })\n .then((response: OrderHistoryListResponse) => {\n return transformOrderHistoryList(response);\n })\n .catch(handleNetworkError);\n};\n"],"names":["formatDateToLocale","date","locale","options","formatOptions","dateObj","initialMoneyProps","transformOrderHistoryTotal","item","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","transformOrderHistoryList","response","returns","model","element","returnItem","transformSingleAddress","_k","_o","_n","_m","_l","_s","_r","_q","_p","_v","_u","_t","_y","_x","_w","merge","_D","_C","_B","_A","_z","config","GET_CUSTOMER_ORDERS_LIST","ADDRESS_FRAGMENT","ORDER_SUMMARY_FRAGMENT","SORT_DIRECTION","getOrderHistoryList","pageSize","selectOrdersDate","currentPage","filterOrderDate","fetchGraphQl","handleNetworkError"],"mappings":"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"}
1
+ {"version":3,"file":"getOrderHistoryList.js","sources":["/@dropins/storefront-account/src/lib/formatDateToLocale.ts","/@dropins/storefront-account/src/lib/formatTimeToLocale.ts","/@dropins/storefront-account/src/data/transforms/transform-order-history-list.ts","/@dropins/storefront-account/src/api/getOrderHistoryList/graphql/getOrderHistoryList.graphql.ts","/@dropins/storefront-account/src/api/getOrderHistoryList/getOrderHistoryList.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\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\n/**\n * Formats a date string according to a specified locale and options.\n * Returns \"Invalid Date\" if the input date string is invalid.\n *\n * @param {string} date - The date string to be formatted.\n * @param {string} [locale='en-US'] - The locale to use for formatting. Defaults to 'en-US'.\n * @param {Intl.DateTimeFormatOptions} [options={}] - Optional formatting options to customize the output.\n * @returns {string} The formatted date string, or \"Invalid Date\" if the input is invalid.\n *\n * @example\n * // Default formatting (en-US locale, MM/DD/YYYY)\n * console.log(formatDateToLocale('2023-08-29'));\n * // Output: \"08/29/2023\"\n *\n * @example\n * // Formatting with a specified locale (e.g., en-GB for DD/MM/YYYY)\n * console.log(formatDateToLocale('2023-08-29', 'en-GB'));\n * // Output: \"29/08/2023\"\n *\n * @example\n * // Formatting with a specified locale and custom options (e.g., de-DE with long month format)\n * console.log(formatDateToLocale('2023-08-29', 'de-DE', { month: 'long', year: 'numeric' }));\n * // Output: \"29. August 2023\"\n *\n * @example\n * // Handling an invalid date string\n * console.log(formatDateToLocale('invalid-date'));\n * // Output: \"Invalid Date\"\n */\nexport const formatDateToLocale = (\n date: string,\n locale: string = 'en-US',\n options: Intl.DateTimeFormatOptions = {}\n): string => {\n const defaultOptions: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n };\n const formatOptions: Intl.DateTimeFormatOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const dateObj = new Date(date);\n\n if (isNaN(dateObj.getTime())) {\n return 'Invalid Date';\n }\n\n const formatter = new Intl.DateTimeFormat(locale, formatOptions);\n return formatter.format(dateObj);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/**\n * Formats a time string according to a specified locale and options.\n * Returns \"Invalid Time\" if the input date string is invalid.\n *\n * @param {string} date - The date string to be formatted.\n * @param {string} [locale='en-US'] - The locale to use for formatting. Defaults to 'en-US'.\n * @param {Intl.DateTimeFormatOptions} [options={}] - Optional formatting options to customize the output.\n * @returns {string} The formatted time string, or \"Invalid Time\" if the input is invalid.\n *\n * @example\n * // Default formatting (en-US locale)\n * console.log(formatTimeToLocale('2023-08-29 12:34'));\n * // Output: \"12:34 AM\"\n */\nexport const formatTimeToLocale = (\n date: string,\n locale: string = 'en-US',\n options: Intl.DateTimeFormatOptions = {}\n): string => {\n const defaultOptions: Intl.DateTimeFormatOptions = {\n hour: '2-digit',\n minute: '2-digit',\n };\n const formatOptions: Intl.DateTimeFormatOptions = {\n ...defaultOptions,\n ...options,\n };\n\n const dateObj = new Date(date);\n\n if (isNaN(dateObj.getTime())) {\n return 'Invalid Time';\n }\n\n const formatter = new Intl.DateTimeFormat(locale, formatOptions);\n return formatter.format(dateObj);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 {\n OrderHistoryListResponse, OrderItemProps,\n OrderProps,\n ReturnProps,\n} from '@/account/types';\nimport { OrderHistoryModel } from '@/account/data/models';\nimport { transformSingleAddress } from '@/account/data/transforms/transform-customer-address';\nimport { formatDateToLocale } from '@/account/lib/formatDateToLocale';\nimport { formatTimeToLocale } from '@/account/lib/formatTimeToLocale';\nimport { config } from '@/account/api';\nimport { merge } from '@adobe-commerce/elsie/lib';\n\nconst initialMoneyProps = {\n value: 0,\n currency: 'USD',\n};\n\nconst transformOrderHistoryTotal = (item: any) => {\n return {\n subtotal: item?.total?.subtotal ?? initialMoneyProps,\n grandTotal: item?.total?.grand_total ?? initialMoneyProps,\n grandTotalExclTax: item?.total?.grand_total_excl_tax ?? initialMoneyProps,\n totalGiftcard: item?.total?.total_giftcard ?? initialMoneyProps,\n subtotalExclTax: item?.total?.subtotal_excl_tax ?? initialMoneyProps,\n subtotalInclTax: item?.total?.subtotal_incl_tax ?? initialMoneyProps,\n taxes: item?.total?.taxes ?? [],\n totalTax: item?.total?.total_tax ?? initialMoneyProps,\n totalShipping: item?.total?.total_shipping ?? initialMoneyProps,\n discounts: item?.total?.discounts ?? [],\n };\n};\n\nexport const transformOrderHistoryList = (\n response: OrderHistoryListResponse\n): OrderHistoryModel | null => {\n if (!response.data?.customer?.orders) return null;\n\n const returns = response?.data?.customer?.returns ?? [];\n const items = response?.data?.customer?.orders?.items ?? [];\n\n const model = {\n items: items.map((item: OrderProps) => {\n return {\n items: item?.items.map((element: OrderItemProps) => ({\n status: element?.status ?? '',\n productName: element?.product_name ?? '',\n id: element?.id,\n quantityOrdered: element?.quantity_ordered ?? 0,\n quantityShipped: element?.quantity_shipped ?? 0,\n quantityInvoiced: element?.quantity_invoiced ?? 0,\n sku: element?.product_sku ?? '',\n urlKey: element?.product_url_key ?? '',\n topLevelSku: element?.product?.sku ?? '',\n product: {\n smallImage: {\n url: element?.product?.small_image?.url ?? '',\n },\n },\n })),\n token: item?.token,\n email: item?.email,\n shippingMethod: item?.shipping_method,\n paymentMethods: item?.payment_methods ?? [],\n shipments: item?.shipments ?? [],\n id: item?.id,\n carrier: item?.carrier,\n status: item?.status,\n number: item?.number,\n returns: returns?.items?.filter(\n (returnItem: ReturnProps) => returnItem.order.id === item.id\n ),\n orderDate: formatDateToLocale(item.order_date),\n orderTime: formatTimeToLocale(item.order_date),\n shippingAddress: transformSingleAddress(item.shipping_address),\n billingAddress: transformSingleAddress(item.billing_address),\n total: transformOrderHistoryTotal(item),\n };\n }),\n pageInfo: {\n pageSize: response?.data?.customer?.orders?.page_info?.page_size ?? 10,\n totalPages: response?.data?.customer?.orders?.page_info?.total_pages ?? 1,\n currentPage:\n response?.data?.customer?.orders?.page_info?.current_page ?? 1,\n },\n totalCount: response?.data?.customer?.orders?.total_count ?? 0,\n dateOfFirstOrder:\n response?.data?.customer?.orders?.date_of_first_order ?? '',\n };\n\n return merge(\n model, // default transformer\n config?.getConfig()?.models?.OrderHistoryModel?.transformer?.(response.data) // custom transformer\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 {\n ADDRESS_FRAGMENT,\n ORDER_SUMMARY_FRAGMENT,\n} from '@/account/api/fragments';\n\nexport const GET_CUSTOMER_ORDERS_LIST = /* GraphQL */ `\n query GET_CUSTOMER_ORDERS_LIST(\n $currentPage: Int\n $pageSize: Int\n $filter: CustomerOrdersFilterInput\n $sort: CustomerOrderSortInput\n ) {\n customer {\n returns {\n items {\n uid\n number\n order {\n id\n }\n }\n }\n orders(\n currentPage: $currentPage\n pageSize: $pageSize\n filter: $filter\n sort: $sort\n ) {\n page_info {\n page_size\n total_pages\n current_page\n }\n date_of_first_order\n total_count\n items {\n token\n email\n shipping_method\n payment_methods {\n name\n type\n }\n shipping_address {\n ...ADDRESS_FRAGMENT\n }\n billing_address {\n ...ADDRESS_FRAGMENT\n }\n shipments {\n id\n number\n tracking {\n title\n number\n carrier\n }\n }\n number\n id\n order_date\n carrier\n status\n items {\n status\n product_name\n id\n quantity_ordered\n quantity_shipped\n quantity_invoiced\n product_sku\n product_url_key\n product {\n sku\n small_image {\n url\n }\n }\n }\n total {\n ...ORDER_SUMMARY_FRAGMENT\n }\n }\n }\n }\n }\n ${ADDRESS_FRAGMENT}\n ${ORDER_SUMMARY_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { fetchGraphQl } from '@/account/api';\nimport { handleNetworkError } from '@/account/lib/network-error';\nimport { GET_CUSTOMER_ORDERS_LIST } from './graphql/getOrderHistoryList.graphql';\nimport { OrderHistoryListResponse } from '@/account/types';\nimport { transformOrderHistoryList } from '@/account/data/transforms';\nimport { OrderHistoryModel } from '@/account/data/models';\n\nconst SORT_DIRECTION = { sort_direction: 'DESC', sort_field: 'CREATED_AT' };\n\nexport const getOrderHistoryList = async (\n pageSize: number,\n selectOrdersDate: string,\n currentPage: number\n): Promise<OrderHistoryModel | null> => {\n const filterOrderDate = !selectOrdersDate.includes('viewAll')\n ? {\n order_date: JSON.parse(selectOrdersDate),\n }\n : {};\n\n return await fetchGraphQl(GET_CUSTOMER_ORDERS_LIST, {\n method: 'GET',\n cache: 'no-cache',\n variables: {\n pageSize,\n currentPage,\n filter: filterOrderDate,\n sort: SORT_DIRECTION,\n },\n })\n .then((response: OrderHistoryListResponse) => {\n return transformOrderHistoryList(response);\n })\n .catch(handleNetworkError);\n};\n"],"names":["formatDateToLocale","date","locale","options","formatOptions","dateObj","formatTimeToLocale","initialMoneyProps","transformOrderHistoryTotal","item","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","transformOrderHistoryList","response","returns","model","element","returnItem","transformSingleAddress","_k","_o","_n","_m","_l","_s","_r","_q","_p","_v","_u","_t","_y","_x","_w","merge","_D","_C","_B","_A","_z","config","GET_CUSTOMER_ORDERS_LIST","ADDRESS_FRAGMENT","ORDER_SUMMARY_FRAGMENT","SORT_DIRECTION","getOrderHistoryList","pageSize","selectOrdersDate","currentPage","filterOrderDate","fetchGraphQl","handleNetworkError"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as t,jsxs as u,Fragment as M}from"@dropins/tools/preact-jsx-runtime.js";import{classes as T,Slot as I}from"@dropins/tools/lib.js";import{S as B,c as j,E as R,C as Q}from"../chunks/AddressValidation.js";import"@dropins/tools/preact-compat.js";import{Card as G,Icon as F,Image as J,Price as X,ContentGrid as Z,Header as rr,Picker as tr,Pagination as er}from"@dropins/tools/components.js";import{useText as E}from"@dropins/tools/i18n.js";import{useState as y,useEffect as P,useMemo as U,useCallback as K}from"@dropins/tools/preact-hooks.js";import{events as sr}from"@dropins/tools/event-bus.js";import{g as ar}from"../chunks/getOrderHistoryList.js";import{g as nr}from"../chunks/getStoreConfig.js";import"../chunks/removeCustomerAddress.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"../chunks/initialize.js";import"../fragments.js";const V={size:"32",stroke:"2"},W=({minifiedView:n,orderNumber:c,orderToken:r,routeOrdersList:s,routeOrderDetails:h})=>{const a=n?"minifiedView":"fullSizeView",l=E({viewAllOrdersButton:`Account.${a}.OrdersList.viewAllOrdersButton`,ariaLabelLink:`Account.${a}.OrdersList.ariaLabelLink`});return s?t("a",{className:T(["account-orders-list-action",["account-orders-list-action--minifiedView",n]]),"data-testid":"ordersListActionButtonMinifiedView",href:s(),children:t(G,{"data-testid":"ordersListActionMinifiedView",variant:"secondary",children:u("div",{className:"account-orders-list-action__card-wrapper",children:[t("p",{children:l.viewAllOrdersButton}),t(F,{source:B,...V})]})})}):t("a",{"aria-label":`${l.ariaLabelLink} ${c??r}`,href:j(h)?h(c,r):"#",className:"account-orders-list-action","data-testid":"ordersListActionButton",children:t(F,{source:B,...V})})},cr=()=>{const[n,c]=y(window.innerWidth<768);return P(()=>{const r=()=>{c(window.innerWidth<768)};return window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),n},or=({placeholderImage:n,minifiedView:c,item:r,withThumbnails:s,children:h,slots:a,routeTracking:l,routeOrderProduct:L,routeReturnDetails:O,...b})=>{var w,i,N,$,z,Y,f,D,C,m,v,x;const o=c?"minifiedView":"fullSizeView",g=E({orderNumber:`Account.${o}.OrdersList.OrdersListCard.orderNumber`,itemsAmount:`Account.${o}.OrdersList.OrdersListCard.itemsAmount`,carrier:`Account.${o}.OrdersList.OrdersListCard.carrier`,returnsText:`Account.${o}.OrdersList.OrdersListCard.returns`,deliveryDateText:`Account.${o}.OrdersList.OrdersListCard.orderDate`}),d=cr(),S=j(L),_=U(()=>((r==null?void 0:r.items)??[]).map((e,p)=>{var k,q;const A={title:(e==null?void 0:e.productName)??"",src:((q=(k=e==null?void 0:e.product)==null?void 0:k.smallImage)==null?void 0:q.url)||n,alt:(e==null?void 0:e.productName)??"",width:65,height:65,loading:"eager"};return t(I,{name:"OrderItemImage",slot:a==null?void 0:a.OrderItemImage,context:{data:e,defaultImageProps:A},children:S?t("a",{href:(L==null?void 0:L(e))??"",target:"_blank",rel:"noreferrer",children:t(J,{...A})}):t(J,{...A})},`${p}_${e.id}`)}),[S,r.items,n,L,a==null?void 0:a.OrderItemImage]);return u(G,{variant:"secondary",...b,className:T(["account-orders-list-card",["account-orders-list-card--full",((w=r==null?void 0:r.items)==null?void 0:w.length)>6]]),children:[t("div",{className:"account-orders-list-card__content",children:a!=null&&a.OrdersListCard?t(I,{"data-testid":`ordersListCard${r.id}`,name:"OrdersListCard",slot:a==null?void 0:a.OrdersListCard,context:{orderHistoryListItem:r}}):u(M,{children:[t("div",{children:r==null?void 0:r.status}),u("p",{children:[g.deliveryDateText," ",r==null?void 0:r.orderDate]}),u("p",{children:[g.orderNumber," ",r.number]}),(i=r==null?void 0:r.shipments)==null?void 0:i.map(e=>{var p;return(p=e==null?void 0:e.tracking)==null?void 0:p.map(A=>{const k=l==null?void 0:l(A);return u("p",{"data-testid":A.number,children:[t("span",{children:`${g.carrier} ${A.carrier.toLocaleUpperCase()} `}),k?t("a",{href:k,target:"_blank",className:"account-orders-list-card__content--track_number",rel:"noreferrer",children:A.number}):t("span",{className:"account-orders-list-card__content--track_number",children:A.number})]},e.id)})}),r!=null&&r.returns&&((N=r.returns)!=null&&N.length)?u("p",{"data-testid":r.number,children:[u("span",{children:[g.returnsText," "]}),($=r==null?void 0:r.returns)==null?void 0:$.map(e=>t("span",{"data-testid":e.number,children:u("a",{href:(O==null?void 0:O({orderNumber:r.number,orderToken:r.token,returnNumber:e.number}))??"#",className:"account-orders-list-card__content--return_number",children:[e.number," "]})},e.uid))]},r.id):null,t("p",{children:t(X,{amount:((Y=(z=r==null?void 0:r.total)==null?void 0:z.grandTotal)==null?void 0:Y.value)??0,currency:(D=(f=r==null?void 0:r.total)==null?void 0:f.grandTotal)==null?void 0:D.currency,weight:"normal",size:"medium"})}),u("p",{"data-testid":"itemsAmount",children:[(C=r==null?void 0:r.items)!=null&&C.length?(m=r==null?void 0:r.items)==null?void 0:m.reduce((e,p)=>{const A=(p==null?void 0:p.quantityOrdered)||0;return e+A},0):0," ",g.itemsAmount]}),(v=r==null?void 0:r.items)==null?void 0:v.map((e,p)=>{if(p>=0&&p<10)return u("p",{className:"account-orders-list-card__content--product-name",children:[u("span",{className:"account-orders-list-card__content--quantity",children:[(e==null?void 0:e.quantityOrdered)>1?e==null?void 0:e.quantityOrdered:null," "]}),e==null?void 0:e.productName.replaceAll("-"," ")]},`${p}_${e.id}`);if(p===11)return t("p",{children:"..."},"ellipsis")})]})}),s&&((x=r==null?void 0:r.items)!=null&&x.length)?t(Z,{maxColumns:d?3:9,emptyGridContent:t(M,{}),className:T(["account-orders-list-card__images",["account-orders-list-card__images-3",d]]),"data-testid":"ordersListCardImages",children:_}):null,t("div",{className:"account-orders-list-card__actions",children:h})]})},dr=({ordersInMinifiedView:n,minifiedView:c,pageSize:r,selectedDate:s,selectedPage:h,handleSetFirstOrderDate:a})=>{const[l,L]=y([]),[O,b]=y({totalPages:1,currentPage:1,pageSize:1}),[o,g]=y(!1),[d,S]=y(""),[_,w]=y(0);return P(()=>{nr().then(i=>{S(i.baseMediaUrl)})},[]),P(()=>{const i=sr.on("companyContext/changed",()=>{w(N=>N+1)});return()=>{i==null||i.off()}},[]),P(()=>{g(!0),ar(c?n:r,s,h).then(i=>{!i||!i.items||(b(i.pageInfo),L(i.items),a==null||a(i.dateOfFirstOrder))}).finally(()=>{g(!1)})},[a,c,n,r,s,h,_]),{loading:o,orderHistoryListItems:l,pageInfo:O,placeholderImage:d}},H=(n,c=1)=>{const r=new Date,s=new Date(r);switch(n){case"sixMonthsAgo":{s.setMonth(s.getMonth()-c);break}case"oneYearAgo":{s.setFullYear(s.getFullYear()-c);break}default:return""}return{from:s==null?void 0:s.toISOString().split("T")[0],to:`${r==null?void 0:r.toISOString().split("T")[0]} 23:59:59`}},ir=n=>{const c=[],r=new Date().getFullYear();for(let s=n;s<=r-1;s++)c.push({value:`{"from":"${s}-01-01","to":"${s+1}-01-01 23:59:59"}`,text:s.toString()});return c},lr=()=>{const n=E({pastSixMonths:"Account.fullSizeView.OrdersList.OrdersListSelectDate.pastSixMonths",currentYear:"Account.fullSizeView.OrdersList.OrdersListSelectDate.currentYear",viewAll:"Account.fullSizeView.OrdersList.OrdersListSelectDate.viewAll"}),[c,r]=y(),[s,h]=y(JSON.stringify(H("sixMonthsAgo",6))),[a,l]=y(1);P(()=>{window==null||window.scrollTo({top:100,behavior:"smooth"})},[a]);const L=U(()=>{const o=[{value:JSON.stringify(H("sixMonthsAgo",6)),text:n.pastSixMonths},{value:JSON.stringify(H("oneYearAgo",1)),text:n.currentYear},{value:"viewAll",text:n.viewAll}];if(c){const d=new Date(c).getFullYear();o==null||o.splice(2,0,...ir(d))}return o},[n,c]),O=K(o=>{r(o)},[]),b=K(o=>{const d=o.target.value;h(d),l(1)},[]);return{selectableDateList:L,selectedDate:s,selectedPage:a,handleSelectDate:b,setSelectedPage:l,handleSetFirstOrderDate:O}},ur=({className:n,withHeader:c=!0,minifiedView:r=!1,withThumbnails:s=!0,withFilter:h=!0,ordersInMinifiedView:a=1,pageSize:l=10,routeOrdersList:L,routeOrderDetails:O,routeReturnDetails:b,routeTracking:o,routeOrderProduct:g,slots:d})=>{const S=r?"minifiedView":"fullSizeView",_=E({containerTitle:`Account.${S}.OrdersList.containerTitle`,dateOrderPlaced:`Account.${S}.OrdersList.dateOrderPlaced`}),{selectableDateList:w,selectedDate:i,handleSelectDate:N,selectedPage:$,setSelectedPage:z,handleSetFirstOrderDate:Y}=lr(),{pageInfo:f,loading:D,orderHistoryListItems:C,placeholderImage:m}=dr({minifiedView:r,pageSize:l,ordersInMinifiedView:a,selectedDate:i,selectedPage:$,handleSetFirstOrderDate:Y});return u("div",{children:[c?t(rr,{"aria-label":_.containerTitle,role:"region",title:_.containerTitle,divider:!r,className:r?"account-orders-list-header":""}):null,u("div",{className:T(["account-orders-list",n]),children:[!r&&h?u("div",{className:"account-orders-list__date-select",children:[t("span",{children:_.dateOrderPlaced}),t(tr,{value:i,name:"orderDatePicker",options:w,handleSelect:N})]}):null,D?t(M,{children:Array.from(Array(f==null?void 0:f.pageSize).keys()).map(v=>t(Q,{testId:"orderSkeletonLoader",withCard:!1},v))}):t(M,{children:C.length?t(M,{children:C.map((v,x)=>t(or,{placeholderImage:m,routeTracking:o,routeOrderProduct:g,routeReturnDetails:b,minifiedView:r,item:v,withThumbnails:s,slots:d,children:d!=null&&d.OrdersListAction?t(I,{"data-testid":`ordersListActionSlot_${x}`,name:"OrdersListAction",slot:d==null?void 0:d.OrdersListAction,context:{orderHistoryListItem:v}}):t(W,{minifiedView:r,orderNumber:v.number,orderToken:v.token,routeOrderDetails:O})},x))}):t(R,{isEmpty:!C.length,typeList:"orders",minifiedView:r})}),!r&&(f==null?void 0:f.totalPages)>1?t(er,{totalPages:f==null?void 0:f.totalPages,currentPage:$,onChange:z}):null,r?t(W,{minifiedView:r,routeOrdersList:L}):null]})]})},$r=({className:n,withHeader:c,minifiedView:r,withThumbnails:s,withFilter:h,ordersInMinifiedView:a,pageSize:l,routeOrdersList:L,routeOrderDetails:O,routeReturnDetails:b,routeTracking:o,routeOrderProduct:g,slots:d})=>t("div",{className:T(["account-orders-list",n]),"data-testid":"ordersListId",children:t(ur,{className:n,withHeader:c,minifiedView:r,withThumbnails:s,withFilter:h,ordersInMinifiedView:a,pageSize:l,routeOrdersList:L,routeOrderDetails:O,routeReturnDetails:b,routeTracking:o,routeOrderProduct:g,slots:d})});export{$r as OrdersList,$r as default};
3
+ import{jsx as e,jsxs as h,Fragment as k}from"@dropins/tools/preact-jsx-runtime.js";import{classes as P,Slot as H}from"@dropins/tools/lib.js";import{S as F,c as j,E as R,C as Q}from"../chunks/AddressValidation.js";import"@dropins/tools/preact-compat.js";import{Card as G,Icon as m,Image as J,Price as X,ContentGrid as Z,Header as rr,Picker as er,Pagination as tr}from"@dropins/tools/components.js";import{useText as I}from"@dropins/tools/i18n.js";import{useState as y,useEffect as M,useMemo as U,useCallback as K}from"@dropins/tools/preact-hooks.js";import{events as ar}from"@dropins/tools/event-bus.js";import{g as sr}from"../chunks/getOrderHistoryList.js";import{g as nr}from"../chunks/getStoreConfig.js";import"../chunks/removeCustomerAddress.js";import"@dropins/tools/fetch-graphql.js";import"@dropins/tools/preact.js";import"../chunks/initialize.js";import"../fragments.js";const V={size:"32",stroke:"2"},W=({minifiedView:n,orderNumber:c,orderToken:r,routeOrdersList:s,routeOrderDetails:g})=>{const a=n?"minifiedView":"fullSizeView",l=I({viewAllOrdersButton:`Account.${a}.OrdersList.viewAllOrdersButton`,ariaLabelLink:`Account.${a}.OrdersList.ariaLabelLink`});return s?e("a",{className:P(["account-orders-list-action",["account-orders-list-action--minifiedView",n]]),"data-testid":"ordersListActionButtonMinifiedView",href:s(),children:e(G,{"data-testid":"ordersListActionMinifiedView",variant:"secondary",children:h("div",{className:"account-orders-list-action__card-wrapper",children:[e("p",{children:l.viewAllOrdersButton}),e(m,{source:F,...V})]})})}):e("a",{"aria-label":`${l.ariaLabelLink} ${c??r}`,href:j(g)?g(c,r):"#",className:"account-orders-list-action","data-testid":"ordersListActionButton",children:e(m,{source:F,...V})})},cr=()=>{const[n,c]=y(window.innerWidth<768);return M(()=>{const r=()=>{c(window.innerWidth<768)};return window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),n},dr=({placeholderImage:n,minifiedView:c,item:r,withThumbnails:s,children:g,slots:a,routeTracking:l,routeOrderProduct:L,routeReturnDetails:f,...b})=>{var w,i,N,$,z,D,O,Y,C,E,v,T;const d=c?"minifiedView":"fullSizeView",u=I({orderNumber:`Account.${d}.OrdersList.OrdersListCard.orderNumber`,itemsAmount:`Account.${d}.OrdersList.OrdersListCard.itemsAmount`,carrier:`Account.${d}.OrdersList.OrdersListCard.carrier`,returnsText:`Account.${d}.OrdersList.OrdersListCard.returns`,deliveryDateText:`Account.${d}.OrdersList.OrdersListCard.orderDate`}),o=cr(),S=j(L),_=U(()=>((r==null?void 0:r.items)??[]).map((t,p)=>{var x,B;const A={title:(t==null?void 0:t.productName)??"",src:((B=(x=t==null?void 0:t.product)==null?void 0:x.smallImage)==null?void 0:B.url)||n,alt:(t==null?void 0:t.productName)??"",width:65,height:65,loading:"eager"};return e(H,{name:"OrderItemImage",slot:a==null?void 0:a.OrderItemImage,context:{data:t,defaultImageProps:A},children:S?e("a",{href:(L==null?void 0:L(t))??"",target:"_blank",rel:"noreferrer",children:e(J,{...A})}):e(J,{...A})},`${p}_${t.id}`)}),[S,r.items,n,L,a==null?void 0:a.OrderItemImage]);return h(G,{variant:"secondary",...b,className:P(["account-orders-list-card",["account-orders-list-card--full",((w=r==null?void 0:r.items)==null?void 0:w.length)>6]]),children:[e("div",{className:"account-orders-list-card__content",children:a!=null&&a.OrdersListCard?e(H,{"data-testid":`ordersListCard${r.id}`,name:"OrdersListCard",slot:a==null?void 0:a.OrdersListCard,context:{orderHistoryListItem:r}}):h(k,{children:[e("div",{children:r==null?void 0:r.status}),a!=null&&a.OrdersListOrderTime?e(H,{"data-testid":`ordersListOrderTime${r.id}`,name:"OrdersListOrderTime",slot:a==null?void 0:a.OrdersListOrderTime,context:{deliveryDateText:u.deliveryDateText,orderDate:r==null?void 0:r.orderDate,orderTime:r==null?void 0:r.orderTime}}):h("p",{children:[u.deliveryDateText," ",r==null?void 0:r.orderDate]}),h("p",{children:[u.orderNumber," ",r.number]}),(i=r==null?void 0:r.shipments)==null?void 0:i.map(t=>{var p;return(p=t==null?void 0:t.tracking)==null?void 0:p.map(A=>{const x=l==null?void 0:l(A);return h("p",{"data-testid":A.number,children:[e("span",{children:`${u.carrier} ${A.carrier.toLocaleUpperCase()} `}),x?e("a",{href:x,target:"_blank",className:"account-orders-list-card__content--track_number",rel:"noreferrer",children:A.number}):e("span",{className:"account-orders-list-card__content--track_number",children:A.number})]},t.id)})}),r!=null&&r.returns&&((N=r.returns)!=null&&N.length)?h("p",{"data-testid":r.number,children:[h("span",{children:[u.returnsText," "]}),($=r==null?void 0:r.returns)==null?void 0:$.map(t=>e("span",{"data-testid":t.number,children:h("a",{href:(f==null?void 0:f({orderNumber:r.number,orderToken:r.token,returnNumber:t.number}))??"#",className:"account-orders-list-card__content--return_number",children:[t.number," "]})},t.uid))]},r.id):null,e("p",{children:e(X,{amount:((D=(z=r==null?void 0:r.total)==null?void 0:z.grandTotal)==null?void 0:D.value)??0,currency:(Y=(O=r==null?void 0:r.total)==null?void 0:O.grandTotal)==null?void 0:Y.currency,weight:"normal",size:"medium"})}),h("p",{"data-testid":"itemsAmount",children:[(C=r==null?void 0:r.items)!=null&&C.length?(E=r==null?void 0:r.items)==null?void 0:E.reduce((t,p)=>{const A=(p==null?void 0:p.quantityOrdered)||0;return t+A},0):0," ",u.itemsAmount]}),(v=r==null?void 0:r.items)==null?void 0:v.map((t,p)=>{if(p>=0&&p<10)return h("p",{className:"account-orders-list-card__content--product-name",children:[h("span",{className:"account-orders-list-card__content--quantity",children:[(t==null?void 0:t.quantityOrdered)>1?t==null?void 0:t.quantityOrdered:null," "]}),t==null?void 0:t.productName.replaceAll("-"," ")]},`${p}_${t.id}`);if(p===11)return e("p",{children:"..."},"ellipsis")})]})}),s&&((T=r==null?void 0:r.items)!=null&&T.length)?e(Z,{maxColumns:o?3:9,emptyGridContent:e(k,{}),className:P(["account-orders-list-card__images",["account-orders-list-card__images-3",o]]),"data-testid":"ordersListCardImages",children:_}):null,e("div",{className:"account-orders-list-card__actions",children:g})]})},or=({ordersInMinifiedView:n,minifiedView:c,pageSize:r,selectedDate:s,selectedPage:g,handleSetFirstOrderDate:a})=>{const[l,L]=y([]),[f,b]=y({totalPages:1,currentPage:1,pageSize:1}),[d,u]=y(!1),[o,S]=y(""),[_,w]=y(0);return M(()=>{nr().then(i=>{S(i.baseMediaUrl)})},[]),M(()=>{const i=ar.on("companyContext/changed",()=>{w(N=>N+1)});return()=>{i==null||i.off()}},[]),M(()=>{u(!0),sr(c?n:r,s,g).then(i=>{!i||!i.items||(b(i.pageInfo),L(i.items),a==null||a(i.dateOfFirstOrder))}).finally(()=>{u(!1)})},[a,c,n,r,s,g,_]),{loading:d,orderHistoryListItems:l,pageInfo:f,placeholderImage:o}},q=(n,c=1)=>{const r=new Date,s=new Date(r);switch(n){case"sixMonthsAgo":{s.setMonth(s.getMonth()-c);break}case"oneYearAgo":{s.setFullYear(s.getFullYear()-c);break}default:return""}return{from:s==null?void 0:s.toISOString().split("T")[0],to:`${r==null?void 0:r.toISOString().split("T")[0]} 23:59:59`}},ir=n=>{const c=[],r=new Date().getFullYear();for(let s=n;s<=r-1;s++)c.push({value:`{"from":"${s}-01-01","to":"${s+1}-01-01 23:59:59"}`,text:s.toString()});return c},lr=()=>{const n=I({pastSixMonths:"Account.fullSizeView.OrdersList.OrdersListSelectDate.pastSixMonths",currentYear:"Account.fullSizeView.OrdersList.OrdersListSelectDate.currentYear",viewAll:"Account.fullSizeView.OrdersList.OrdersListSelectDate.viewAll"}),[c,r]=y(),[s,g]=y(JSON.stringify(q("sixMonthsAgo",6))),[a,l]=y(1);M(()=>{window==null||window.scrollTo({top:100,behavior:"smooth"})},[a]);const L=U(()=>{const d=[{value:JSON.stringify(q("sixMonthsAgo",6)),text:n.pastSixMonths},{value:JSON.stringify(q("oneYearAgo",1)),text:n.currentYear},{value:"viewAll",text:n.viewAll}];if(c){const o=new Date(c).getFullYear();d==null||d.splice(2,0,...ir(o))}return d},[n,c]),f=K(d=>{r(d)},[]),b=K(d=>{const o=d.target.value;g(o),l(1)},[]);return{selectableDateList:L,selectedDate:s,selectedPage:a,handleSelectDate:b,setSelectedPage:l,handleSetFirstOrderDate:f}},ur=({className:n,withHeader:c=!0,minifiedView:r=!1,withThumbnails:s=!0,withFilter:g=!0,ordersInMinifiedView:a=1,pageSize:l=10,routeOrdersList:L,routeOrderDetails:f,routeReturnDetails:b,routeTracking:d,routeOrderProduct:u,slots:o})=>{const S=r?"minifiedView":"fullSizeView",_=I({containerTitle:`Account.${S}.OrdersList.containerTitle`,dateOrderPlaced:`Account.${S}.OrdersList.dateOrderPlaced`}),{selectableDateList:w,selectedDate:i,handleSelectDate:N,selectedPage:$,setSelectedPage:z,handleSetFirstOrderDate:D}=lr(),{pageInfo:O,loading:Y,orderHistoryListItems:C,placeholderImage:E}=or({minifiedView:r,pageSize:l,ordersInMinifiedView:a,selectedDate:i,selectedPage:$,handleSetFirstOrderDate:D});return h("div",{children:[c?e(rr,{"aria-label":_.containerTitle,role:"region",title:_.containerTitle,divider:!r,className:r?"account-orders-list-header":""}):null,h("div",{className:P(["account-orders-list",n]),children:[!r&&g?h("div",{className:"account-orders-list__date-select",children:[e("span",{children:_.dateOrderPlaced}),e(er,{value:i,name:"orderDatePicker",options:w,handleSelect:N})]}):null,Y?e(k,{children:Array.from(Array(O==null?void 0:O.pageSize).keys()).map(v=>e(Q,{testId:"orderSkeletonLoader",withCard:!1},v))}):e(k,{children:C.length?e(k,{children:C.map((v,T)=>e(dr,{placeholderImage:E,routeTracking:d,routeOrderProduct:u,routeReturnDetails:b,minifiedView:r,item:v,withThumbnails:s,slots:o,children:o!=null&&o.OrdersListAction?e(H,{"data-testid":`ordersListActionSlot_${T}`,name:"OrdersListAction",slot:o==null?void 0:o.OrdersListAction,context:{orderHistoryListItem:v}}):e(W,{minifiedView:r,orderNumber:v.number,orderToken:v.token,routeOrderDetails:f})},T))}):e(R,{isEmpty:!C.length,typeList:"orders",minifiedView:r})}),!r&&(O==null?void 0:O.totalPages)>1?e(tr,{totalPages:O==null?void 0:O.totalPages,currentPage:$,onChange:z}):null,r?e(W,{minifiedView:r,routeOrdersList:L}):null]})]})},$r=({className:n,withHeader:c,minifiedView:r,withThumbnails:s,withFilter:g,ordersInMinifiedView:a,pageSize:l,routeOrdersList:L,routeOrderDetails:f,routeReturnDetails:b,routeTracking:d,routeOrderProduct:u,slots:o})=>e("div",{className:P(["account-orders-list",n]),"data-testid":"ordersListId",children:e(ur,{className:n,withHeader:c,minifiedView:r,withThumbnails:s,withFilter:g,ordersInMinifiedView:a,pageSize:l,routeOrdersList:L,routeOrderDetails:f,routeReturnDetails:b,routeTracking:d,routeOrderProduct:u,slots:o})});export{$r as OrdersList,$r as default};
4
4
  //# sourceMappingURL=OrdersList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrdersList.js","sources":["/@dropins/storefront-account/src/components/OrdersListAction/OrdersListAction.tsx","/@dropins/storefront-account/src/hooks/useIsMobile.tsx","/@dropins/storefront-account/src/components/OrdersListCard/OrdersListCard.tsx","/@dropins/storefront-account/src/hooks/containers/useOrdersList.tsx","/@dropins/storefront-account/src/lib/getDateRange.ts","/@dropins/storefront-account/src/hooks/containers/useOrderSelectList.tsx","/@dropins/storefront-account/src/components/OrdersListWrapper/OrdersListWrapper.tsx","/@dropins/storefront-account/src/containers/OrdersList/OrdersList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\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 { FunctionComponent } from 'preact';\nimport { OrdersListActionProps } from '@/account/types';\nimport { Icon, Card } from '@adobe-commerce/elsie/components';\nimport { ChevronRight } from '@adobe-commerce/elsie/icons';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { checkIsFunction } from '@/account/lib/checkIsFunction';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListAction/OrdersListAction.css';\n\ninterface IconConfig {\n size: '12' | '16' | '24' | '32' | '64' | '80' | undefined;\n stroke: '4' | '1' | '2' | '3' | undefined;\n}\n\nconst iconConfig: IconConfig = { size: '32', stroke: '2' };\n\nexport const OrdersListAction: FunctionComponent<OrdersListActionProps> = ({\n minifiedView,\n orderNumber,\n orderToken,\n routeOrdersList,\n routeOrderDetails,\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Account.${minifiedViewKey}.OrdersList.viewAllOrdersButton`,\n ariaLabelLink: `Account.${minifiedViewKey}.OrdersList.ariaLabelLink`,\n });\n\n if (routeOrdersList) {\n return (\n <a\n className={classes([\n 'account-orders-list-action',\n ['account-orders-list-action--minifiedView', minifiedView],\n ])}\n data-testid=\"ordersListActionButtonMinifiedView\"\n href={routeOrdersList()}\n >\n <Card data-testid=\"ordersListActionMinifiedView\" variant=\"secondary\">\n <div className=\"account-orders-list-action__card-wrapper\">\n <p>{translations.viewAllOrdersButton}</p>\n\n <Icon source={ChevronRight} {...iconConfig} />\n </div>\n </Card>\n </a>\n );\n }\n\n return (\n <a\n aria-label={`${translations.ariaLabelLink} ${orderNumber ?? orderToken}`}\n href={\n checkIsFunction(routeOrderDetails)\n ? routeOrderDetails(orderNumber, orderToken)\n : '#'\n }\n className=\"account-orders-list-action\"\n data-testid=\"ordersListActionButton\"\n >\n <Icon source={ChevronRight} {...iconConfig} />\n </a>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { useState, useEffect } from 'preact/hooks';\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(window.innerWidth < 768);\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isMobile;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { FunctionComponent } from 'preact';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { OrdersListCardProps } from '@/account/types';\nimport { Card, Image, ContentGrid, Price } from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListCard/OrdersListCard.css';\nimport { OrderItem } from '@/account/data/models';\nimport { useIsMobile } from '@/account/hooks/useIsMobile';\nimport { checkIsFunction } from '@/account/lib/checkIsFunction';\nimport { useMemo } from 'preact/hooks';\n\nexport const OrdersListCard: FunctionComponent<OrdersListCardProps> = ({\n placeholderImage,\n minifiedView,\n item,\n withThumbnails,\n children,\n slots,\n routeTracking,\n routeOrderProduct,\n routeReturnDetails,\n ...props\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n orderNumber: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.orderNumber`,\n itemsAmount: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.itemsAmount`,\n carrier: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.carrier`,\n returnsText: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.returns`,\n deliveryDateText: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.orderDate`,\n });\n\n const isMobile = useIsMobile();\n const hasProductRoute = checkIsFunction(routeOrderProduct);\n\n const orderItemsImages = useMemo(() => {\n return (item?.items ?? []).map((orderItem: OrderItem, index) => {\n const defaultImageProps = {\n title: orderItem?.productName ?? '',\n src: orderItem?.product?.smallImage?.url || placeholderImage,\n alt: orderItem?.productName ?? '',\n width: 65,\n height: 65,\n loading: 'eager',\n } as const;\n\n return (\n <Slot\n key={`${index}_${orderItem.id}`}\n name=\"OrderItemImage\"\n slot={slots?.OrderItemImage}\n context={{\n data: orderItem,\n defaultImageProps,\n }}\n >\n {hasProductRoute ? (\n <a\n href={routeOrderProduct?.(orderItem) ?? ''}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <Image {...defaultImageProps} />\n </a>\n ) : (\n <Image {...defaultImageProps} />\n )}\n </Slot>\n );\n });\n }, [\n hasProductRoute,\n item.items,\n placeholderImage,\n routeOrderProduct,\n slots?.OrderItemImage,\n ]);\n\n return (\n <Card\n variant=\"secondary\"\n {...props}\n className={classes([\n 'account-orders-list-card',\n ['account-orders-list-card--full', item?.items?.length > 6],\n ])}\n >\n <div className=\"account-orders-list-card__content\">\n {slots?.OrdersListCard ? (\n <Slot\n data-testid={`ordersListCard${item.id}`}\n name=\"OrdersListCard\"\n slot={slots?.OrdersListCard}\n context={{ orderHistoryListItem: item }}\n />\n ) : (\n <>\n <div>{item?.status}</div>\n <p>\n {translations.deliveryDateText} {item?.orderDate}\n </p>\n <p>\n {translations.orderNumber} {item.number}\n </p>\n {item?.shipments?.map((element) => {\n return element?.tracking?.map((item) => {\n const trackingRoute = routeTracking?.(item);\n\n return (\n <p key={element.id} data-testid={item.number}>\n <span>{`${\n translations.carrier\n } ${item.carrier.toLocaleUpperCase()} `}</span>\n {trackingRoute ? (\n <a\n href={trackingRoute}\n target={'_blank'}\n className=\"account-orders-list-card__content--track_number\"\n rel=\"noreferrer\"\n >\n {item.number}\n </a>\n ) : (\n <span className=\"account-orders-list-card__content--track_number\">\n {item.number}\n </span>\n )}\n </p>\n );\n });\n })}\n {item?.returns && item.returns?.length ? (\n <p key={item.id} data-testid={item.number}>\n <span>{translations.returnsText} </span>\n {item?.returns?.map((returnData) => (\n <span key={returnData.uid} data-testid={returnData.number}>\n <a\n href={\n routeReturnDetails?.({\n orderNumber: item.number,\n orderToken: item.token,\n returnNumber: returnData.number,\n }) ?? '#'\n }\n className=\"account-orders-list-card__content--return_number\"\n >\n {returnData.number}{' '}\n </a>\n </span>\n ))}\n </p>\n ) : null}\n <p>\n <Price\n amount={item?.total?.grandTotal?.value ?? 0}\n currency={item?.total?.grandTotal?.currency}\n weight=\"normal\"\n size=\"medium\"\n />\n </p>\n <p data-testid={'itemsAmount'}>\n {item?.items?.length\n ? item?.items?.reduce((sum, element) => {\n const quantityOrdered = element?.quantityOrdered || 0;\n return sum + quantityOrdered;\n }, 0)\n : 0}{' '}\n {translations.itemsAmount}\n </p>\n {item?.items?.map((element, index) => {\n if (index >= 0 && index < 10) {\n return (\n <p\n key={`${index}_${element.id}`}\n className={\n 'account-orders-list-card__content--product-name'\n }\n >\n <span className=\"account-orders-list-card__content--quantity\">\n {element?.quantityOrdered! > 1\n ? element?.quantityOrdered\n : null}{' '}\n </span>\n {element?.productName.replaceAll('-', ' ')}\n </p>\n );\n }\n\n if (index === 11) return <p key={'ellipsis'}>...</p>;\n })}\n </>\n )}\n </div>\n {withThumbnails && item?.items?.length ? (\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'account-orders-list-card__images',\n ['account-orders-list-card__images-3', isMobile],\n ])}\n data-testid=\"ordersListCardImages\"\n >\n {orderItemsImages}\n </ContentGrid>\n ) : null}\n\n <div className=\"account-orders-list-card__actions\">{children}</div>\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { getOrderHistoryList, getStoreConfig } from '@/account/api';\nimport { OrderDetails } from '@/account/data/models';\nimport { UseOrdersListProps } from '@/account/types';\nimport { useEffect, useState } from 'preact/hooks';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const useOrdersList = ({\n ordersInMinifiedView,\n minifiedView,\n pageSize,\n selectedDate,\n selectedPage,\n handleSetFirstOrderDate,\n}: UseOrdersListProps) => {\n const [orderHistoryListItems, setOrderHistoryListItems] = useState<\n OrderDetails[]\n >([]);\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>({ totalPages: 1, currentPage: 1, pageSize: 1 });\n const [loading, setLoading] = useState(false);\n const [placeholderImage, setPlaceholderImage] = useState('');\n const [refetchTrigger, setRefetchTrigger] = useState(0);\n\n useEffect(() => {\n getStoreConfig().then((response) => {\n setPlaceholderImage(response.baseMediaUrl);\n });\n }, []);\n\n // Listen for company context changes to refetch orders\n useEffect(() => {\n const companyContextEvent = events.on('companyContext/changed', () => {\n setRefetchTrigger(prev => prev + 1);\n });\n\n return () => {\n companyContextEvent?.off();\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getOrderHistoryList(\n minifiedView ? ordersInMinifiedView : pageSize,\n selectedDate,\n selectedPage\n )\n .then((response) => {\n if (!response || !response.items) return;\n\n setPageInfo(response.pageInfo);\n setOrderHistoryListItems(response.items);\n handleSetFirstOrderDate?.(response.dateOfFirstOrder);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [\n handleSetFirstOrderDate,\n minifiedView,\n ordersInMinifiedView,\n pageSize,\n selectedDate,\n selectedPage,\n refetchTrigger,\n ]);\n\n return {\n loading,\n orderHistoryListItems,\n pageInfo,\n placeholderImage,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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\nexport interface FilterDateProps {\n from: string;\n to: string;\n}\n\nexport const getDateRange = (\n key: 'sixMonthsAgo' | 'oneYearAgo' | '',\n numberRange = 1\n): FilterDateProps | '' => {\n const currentDate = new Date();\n const pastDate = new Date(currentDate);\n\n switch (key) {\n case 'sixMonthsAgo': {\n pastDate.setMonth(pastDate.getMonth() - numberRange);\n break;\n }\n case 'oneYearAgo': {\n pastDate.setFullYear(pastDate.getFullYear() - numberRange);\n break;\n }\n default:\n return '';\n }\n\n const result = {\n from: pastDate?.toISOString().split('T')[0],\n to: `${currentDate?.toISOString().split('T')[0]} 23:59:59`,\n };\n\n return result;\n};\n\nexport const addYearsToList = (\n startYear: number\n): { value: string; text: string }[] => {\n const result = [];\n const currentYear = new Date().getFullYear();\n\n for (let year = startYear; year <= currentYear - 1; year++) {\n result.push({\n value: `{\"from\":\"${year}-01-01\",\"to\":\"${year + 1}-01-01 23:59:59\"}`,\n text: year.toString(),\n });\n }\n\n return result;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { addYearsToList, getDateRange } from '@/account/lib/getDateRange';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { useCallback, useMemo, useState, useEffect } from 'preact/hooks';\n\nexport const useOrderSelectList = () => {\n const translations = useText({\n pastSixMonths:\n 'Account.fullSizeView.OrdersList.OrdersListSelectDate.pastSixMonths',\n currentYear:\n 'Account.fullSizeView.OrdersList.OrdersListSelectDate.currentYear',\n viewAll: 'Account.fullSizeView.OrdersList.OrdersListSelectDate.viewAll',\n });\n\n const [firstOrderDate, setFirstOrderDate] = useState<string>();\n const [selectedDate, setSelectedDate] = useState<string>(\n JSON.stringify(getDateRange('sixMonthsAgo', 6))\n );\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }, [selectedPage]);\n\n const selectableDateList = useMemo(() => {\n const result = [\n {\n value: JSON.stringify(getDateRange('sixMonthsAgo', 6)),\n text: translations.pastSixMonths,\n },\n {\n value: JSON.stringify(getDateRange('oneYearAgo', 1)),\n text: translations.currentYear,\n },\n {\n value: 'viewAll',\n text: translations.viewAll,\n },\n ];\n\n if (firstOrderDate) {\n const date = new Date(firstOrderDate);\n const year = date.getFullYear();\n\n result?.splice(2, 0, ...addYearsToList(year));\n }\n\n return result;\n }, [translations, firstOrderDate]);\n\n const handleSetFirstOrderDate = useCallback((date: string) => {\n setFirstOrderDate(date);\n }, []);\n\n const handleSelectDate = useCallback((event: Event) => {\n const selectElement = event.target as HTMLSelectElement;\n\n const selectedValue = selectElement.value;\n\n setSelectedDate(selectedValue);\n setSelectedPage(1);\n }, []);\n\n return {\n selectableDateList,\n selectedDate,\n selectedPage,\n handleSelectDate,\n setSelectedPage,\n handleSetFirstOrderDate,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { classes, Container, Slot } from '@adobe-commerce/elsie/lib';\nimport {\n CardLoader,\n EmptyList,\n OrdersListAction,\n OrdersListCard,\n} from '@/account/components';\nimport { Header, Pagination, Picker } from '@adobe-commerce/elsie/components';\nimport { useOrdersList } from '@/account/hooks/containers/useOrdersList';\nimport { OrdersListWrapperProps } from '@/account/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListWrapper/OrdersListWrapper.css';\nimport { useOrderSelectList } from '@/account/hooks/containers/useOrderSelectList';\n\nexport const OrdersListWrapper: Container<OrdersListWrapperProps> = ({\n className,\n withHeader = true,\n minifiedView = false,\n withThumbnails = true,\n withFilter = true,\n ordersInMinifiedView = 1,\n pageSize = 10,\n routeOrdersList,\n routeOrderDetails,\n routeReturnDetails,\n routeTracking,\n routeOrderProduct,\n slots,\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n containerTitle: `Account.${minifiedViewKey}.OrdersList.containerTitle`,\n dateOrderPlaced: `Account.${minifiedViewKey}.OrdersList.dateOrderPlaced`,\n });\n\n const {\n selectableDateList,\n selectedDate,\n handleSelectDate,\n selectedPage,\n setSelectedPage,\n handleSetFirstOrderDate,\n } = useOrderSelectList();\n\n const { pageInfo, loading, orderHistoryListItems, placeholderImage } =\n useOrdersList({\n minifiedView,\n pageSize,\n ordersInMinifiedView,\n selectedDate,\n selectedPage,\n handleSetFirstOrderDate,\n });\n\n return (\n <div>\n {withHeader ? (\n <Header\n aria-label={translations.containerTitle}\n role=\"region\"\n title={translations.containerTitle}\n divider={!minifiedView}\n className={minifiedView ? 'account-orders-list-header' : ''}\n />\n ) : null}\n\n <div className={classes(['account-orders-list', className])}>\n {!minifiedView && withFilter ? (\n <div className={'account-orders-list__date-select'}>\n <span>{translations.dateOrderPlaced}</span>\n <Picker\n value={selectedDate}\n name=\"orderDatePicker\"\n options={selectableDateList}\n handleSelect={handleSelectDate}\n />\n </div>\n ) : null}\n\n {!loading ? (\n <>\n {orderHistoryListItems.length ? (\n <>\n {orderHistoryListItems.map((el, index) => {\n return (\n <OrdersListCard\n placeholderImage={placeholderImage}\n routeTracking={routeTracking}\n routeOrderProduct={routeOrderProduct}\n routeReturnDetails={routeReturnDetails}\n minifiedView={minifiedView}\n item={el}\n withThumbnails={withThumbnails}\n key={index}\n slots={slots}\n >\n {slots?.OrdersListAction ? (\n <Slot\n data-testid={`ordersListActionSlot_${index}`}\n name=\"OrdersListAction\"\n slot={slots?.OrdersListAction}\n context={{ orderHistoryListItem: el }}\n />\n ) : (\n <OrdersListAction\n minifiedView={minifiedView}\n orderNumber={el.number}\n orderToken={el.token}\n routeOrderDetails={routeOrderDetails}\n />\n )}\n </OrdersListCard>\n );\n })}\n </>\n ) : (\n <EmptyList\n isEmpty={!orderHistoryListItems.length}\n typeList=\"orders\"\n minifiedView={minifiedView}\n />\n )}\n </>\n ) : (\n <>\n {Array.from(Array(pageInfo?.pageSize).keys()).map((i) => (\n <CardLoader\n testId={'orderSkeletonLoader'}\n withCard={false}\n key={i}\n />\n ))}\n </>\n )}\n {!minifiedView && pageInfo?.totalPages > 1 ? (\n <Pagination\n totalPages={pageInfo?.totalPages}\n currentPage={selectedPage}\n onChange={setSelectedPage}\n />\n ) : null}\n\n {minifiedView ? (\n <OrdersListAction\n minifiedView={minifiedView}\n routeOrdersList={routeOrdersList}\n />\n ) : null}\n </div>\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrdersListProps } from '@/account/types';\nimport { OrdersListWrapper } from '@/account/components/OrdersListWrapper';\n\nexport const OrdersList: Container<OrdersListProps> = ({\n className,\n withHeader,\n minifiedView,\n withThumbnails,\n withFilter,\n ordersInMinifiedView,\n pageSize,\n routeOrdersList,\n routeOrderDetails,\n routeReturnDetails,\n routeTracking,\n routeOrderProduct,\n slots,\n}) => {\n return (\n <div\n className={classes(['account-orders-list', className])}\n data-testid=\"ordersListId\"\n >\n <OrdersListWrapper\n className={className}\n withHeader={withHeader}\n minifiedView={minifiedView}\n withThumbnails={withThumbnails}\n withFilter={withFilter}\n ordersInMinifiedView={ordersInMinifiedView}\n pageSize={pageSize}\n routeOrdersList={routeOrdersList}\n routeOrderDetails={routeOrderDetails}\n routeReturnDetails={routeReturnDetails}\n routeTracking={routeTracking}\n routeOrderProduct={routeOrderProduct}\n slots={slots}\n />\n </div>\n );\n};\n"],"names":["iconConfig","OrdersListAction","minifiedView","orderNumber","orderToken","routeOrdersList","routeOrderDetails","minifiedViewKey","translations","useText","jsx","classes","Card","jsxs","Icon","ChevronRight","checkIsFunction","useIsMobile","isMobile","setIsMobile","useState","useEffect","handleResize","OrdersListCard","placeholderImage","item","withThumbnails","children","slots","routeTracking","routeOrderProduct","routeReturnDetails","props","hasProductRoute","orderItemsImages","useMemo","orderItem","index","defaultImageProps","_b","_a","Slot","Image","Fragment","element","trackingRoute","_c","_d","returnData","Price","_f","_e","_h","_g","_i","_j","sum","quantityOrdered","_k","_l","ContentGrid","useOrdersList","ordersInMinifiedView","pageSize","selectedDate","selectedPage","handleSetFirstOrderDate","orderHistoryListItems","setOrderHistoryListItems","pageInfo","setPageInfo","loading","setLoading","setPlaceholderImage","refetchTrigger","setRefetchTrigger","getStoreConfig","response","companyContextEvent","events","prev","getOrderHistoryList","getDateRange","key","numberRange","currentDate","pastDate","addYearsToList","startYear","result","currentYear","year","useOrderSelectList","firstOrderDate","setFirstOrderDate","setSelectedDate","setSelectedPage","selectableDateList","useCallback","date","handleSelectDate","event","selectedValue","OrdersListWrapper","className","withHeader","withFilter","Header","Picker","i","CardLoader","el","EmptyList","Pagination","OrdersList"],"mappings":"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"}
1
+ {"version":3,"file":"OrdersList.js","sources":["/@dropins/storefront-account/src/components/OrdersListAction/OrdersListAction.tsx","/@dropins/storefront-account/src/hooks/useIsMobile.tsx","/@dropins/storefront-account/src/components/OrdersListCard/OrdersListCard.tsx","/@dropins/storefront-account/src/hooks/containers/useOrdersList.tsx","/@dropins/storefront-account/src/lib/getDateRange.ts","/@dropins/storefront-account/src/hooks/containers/useOrderSelectList.tsx","/@dropins/storefront-account/src/components/OrdersListWrapper/OrdersListWrapper.tsx","/@dropins/storefront-account/src/containers/OrdersList/OrdersList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\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 { FunctionComponent } from 'preact';\nimport { OrdersListActionProps } from '@/account/types';\nimport { Icon, Card } from '@adobe-commerce/elsie/components';\nimport { ChevronRight } from '@adobe-commerce/elsie/icons';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { checkIsFunction } from '@/account/lib/checkIsFunction';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListAction/OrdersListAction.css';\n\ninterface IconConfig {\n size: '12' | '16' | '24' | '32' | '64' | '80' | undefined;\n stroke: '4' | '1' | '2' | '3' | undefined;\n}\n\nconst iconConfig: IconConfig = { size: '32', stroke: '2' };\n\nexport const OrdersListAction: FunctionComponent<OrdersListActionProps> = ({\n minifiedView,\n orderNumber,\n orderToken,\n routeOrdersList,\n routeOrderDetails,\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Account.${minifiedViewKey}.OrdersList.viewAllOrdersButton`,\n ariaLabelLink: `Account.${minifiedViewKey}.OrdersList.ariaLabelLink`,\n });\n\n if (routeOrdersList) {\n return (\n <a\n className={classes([\n 'account-orders-list-action',\n ['account-orders-list-action--minifiedView', minifiedView],\n ])}\n data-testid=\"ordersListActionButtonMinifiedView\"\n href={routeOrdersList()}\n >\n <Card data-testid=\"ordersListActionMinifiedView\" variant=\"secondary\">\n <div className=\"account-orders-list-action__card-wrapper\">\n <p>{translations.viewAllOrdersButton}</p>\n\n <Icon source={ChevronRight} {...iconConfig} />\n </div>\n </Card>\n </a>\n );\n }\n\n return (\n <a\n aria-label={`${translations.ariaLabelLink} ${orderNumber ?? orderToken}`}\n href={\n checkIsFunction(routeOrderDetails)\n ? routeOrderDetails(orderNumber, orderToken)\n : '#'\n }\n className=\"account-orders-list-action\"\n data-testid=\"ordersListActionButton\"\n >\n <Icon source={ChevronRight} {...iconConfig} />\n </a>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { useState, useEffect } from 'preact/hooks';\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(window.innerWidth < 768);\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isMobile;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { FunctionComponent } from 'preact';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { OrdersListCardProps } from '@/account/types';\nimport { Card, Image, ContentGrid, Price } from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListCard/OrdersListCard.css';\nimport { OrderItem } from '@/account/data/models';\nimport { useIsMobile } from '@/account/hooks/useIsMobile';\nimport { checkIsFunction } from '@/account/lib/checkIsFunction';\nimport { useMemo } from 'preact/hooks';\n\nexport const OrdersListCard: FunctionComponent<OrdersListCardProps> = ({\n placeholderImage,\n minifiedView,\n item,\n withThumbnails,\n children,\n slots,\n routeTracking,\n routeOrderProduct,\n routeReturnDetails,\n ...props\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n orderNumber: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.orderNumber`,\n itemsAmount: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.itemsAmount`,\n carrier: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.carrier`,\n returnsText: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.returns`,\n deliveryDateText: `Account.${minifiedViewKey}.OrdersList.OrdersListCard.orderDate`,\n });\n\n const isMobile = useIsMobile();\n const hasProductRoute = checkIsFunction(routeOrderProduct);\n\n const orderItemsImages = useMemo(() => {\n return (item?.items ?? []).map((orderItem: OrderItem, index) => {\n const defaultImageProps = {\n title: orderItem?.productName ?? '',\n src: orderItem?.product?.smallImage?.url || placeholderImage,\n alt: orderItem?.productName ?? '',\n width: 65,\n height: 65,\n loading: 'eager',\n } as const;\n\n return (\n <Slot\n key={`${index}_${orderItem.id}`}\n name=\"OrderItemImage\"\n slot={slots?.OrderItemImage}\n context={{\n data: orderItem,\n defaultImageProps,\n }}\n >\n {hasProductRoute ? (\n <a\n href={routeOrderProduct?.(orderItem) ?? ''}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <Image {...defaultImageProps} />\n </a>\n ) : (\n <Image {...defaultImageProps} />\n )}\n </Slot>\n );\n });\n }, [\n hasProductRoute,\n item.items,\n placeholderImage,\n routeOrderProduct,\n slots?.OrderItemImage,\n ]);\n\n return (\n <Card\n variant=\"secondary\"\n {...props}\n className={classes([\n 'account-orders-list-card',\n ['account-orders-list-card--full', item?.items?.length > 6],\n ])}\n >\n <div className=\"account-orders-list-card__content\">\n {slots?.OrdersListCard ? (\n <Slot\n data-testid={`ordersListCard${item.id}`}\n name=\"OrdersListCard\"\n slot={slots?.OrdersListCard}\n context={{ orderHistoryListItem: item }}\n />\n ) : (\n <>\n <div>{item?.status}</div>\n {slots?.OrdersListOrderTime ? (\n <Slot\n data-testid={`ordersListOrderTime${item.id}`}\n name=\"OrdersListOrderTime\"\n slot={slots?.OrdersListOrderTime}\n context={{\n deliveryDateText: translations.deliveryDateText,\n orderDate: item?.orderDate,\n orderTime: item?.orderTime,\n }}\n />\n ) : (\n <p>\n {translations.deliveryDateText} {item?.orderDate}\n </p>\n )}\n\n <p>\n {translations.orderNumber} {item.number}\n </p>\n {item?.shipments?.map((element) => {\n return element?.tracking?.map((item) => {\n const trackingRoute = routeTracking?.(item);\n\n return (\n <p key={element.id} data-testid={item.number}>\n <span>{`${\n translations.carrier\n } ${item.carrier.toLocaleUpperCase()} `}</span>\n {trackingRoute ? (\n <a\n href={trackingRoute}\n target={'_blank'}\n className=\"account-orders-list-card__content--track_number\"\n rel=\"noreferrer\"\n >\n {item.number}\n </a>\n ) : (\n <span className=\"account-orders-list-card__content--track_number\">\n {item.number}\n </span>\n )}\n </p>\n );\n });\n })}\n {item?.returns && item.returns?.length ? (\n <p key={item.id} data-testid={item.number}>\n <span>{translations.returnsText} </span>\n {item?.returns?.map((returnData) => (\n <span key={returnData.uid} data-testid={returnData.number}>\n <a\n href={\n routeReturnDetails?.({\n orderNumber: item.number,\n orderToken: item.token,\n returnNumber: returnData.number,\n }) ?? '#'\n }\n className=\"account-orders-list-card__content--return_number\"\n >\n {returnData.number}{' '}\n </a>\n </span>\n ))}\n </p>\n ) : null}\n <p>\n <Price\n amount={item?.total?.grandTotal?.value ?? 0}\n currency={item?.total?.grandTotal?.currency}\n weight=\"normal\"\n size=\"medium\"\n />\n </p>\n <p data-testid={'itemsAmount'}>\n {item?.items?.length\n ? item?.items?.reduce((sum, element) => {\n const quantityOrdered = element?.quantityOrdered || 0;\n return sum + quantityOrdered;\n }, 0)\n : 0}{' '}\n {translations.itemsAmount}\n </p>\n {item?.items?.map((element, index) => {\n if (index >= 0 && index < 10) {\n return (\n <p\n key={`${index}_${element.id}`}\n className={\n 'account-orders-list-card__content--product-name'\n }\n >\n <span className=\"account-orders-list-card__content--quantity\">\n {element?.quantityOrdered! > 1\n ? element?.quantityOrdered\n : null}{' '}\n </span>\n {element?.productName.replaceAll('-', ' ')}\n </p>\n );\n }\n\n if (index === 11) return <p key={'ellipsis'}>...</p>;\n })}\n </>\n )}\n </div>\n {withThumbnails && item?.items?.length ? (\n <ContentGrid\n maxColumns={isMobile ? 3 : 9}\n emptyGridContent={<></>}\n className={classes([\n 'account-orders-list-card__images',\n ['account-orders-list-card__images-3', isMobile],\n ])}\n data-testid=\"ordersListCardImages\"\n >\n {orderItemsImages}\n </ContentGrid>\n ) : null}\n\n <div className=\"account-orders-list-card__actions\">{children}</div>\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { getOrderHistoryList, getStoreConfig } from '@/account/api';\nimport { OrderDetails } from '@/account/data/models';\nimport { UseOrdersListProps } from '@/account/types';\nimport { useEffect, useState } from 'preact/hooks';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const useOrdersList = ({\n ordersInMinifiedView,\n minifiedView,\n pageSize,\n selectedDate,\n selectedPage,\n handleSetFirstOrderDate,\n}: UseOrdersListProps) => {\n const [orderHistoryListItems, setOrderHistoryListItems] = useState<\n OrderDetails[]\n >([]);\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>({ totalPages: 1, currentPage: 1, pageSize: 1 });\n const [loading, setLoading] = useState(false);\n const [placeholderImage, setPlaceholderImage] = useState('');\n const [refetchTrigger, setRefetchTrigger] = useState(0);\n\n useEffect(() => {\n getStoreConfig().then((response) => {\n setPlaceholderImage(response.baseMediaUrl);\n });\n }, []);\n\n // Listen for company context changes to refetch orders\n useEffect(() => {\n const companyContextEvent = events.on('companyContext/changed', () => {\n setRefetchTrigger(prev => prev + 1);\n });\n\n return () => {\n companyContextEvent?.off();\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getOrderHistoryList(\n minifiedView ? ordersInMinifiedView : pageSize,\n selectedDate,\n selectedPage\n )\n .then((response) => {\n if (!response || !response.items) return;\n\n setPageInfo(response.pageInfo);\n setOrderHistoryListItems(response.items);\n handleSetFirstOrderDate?.(response.dateOfFirstOrder);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [\n handleSetFirstOrderDate,\n minifiedView,\n ordersInMinifiedView,\n pageSize,\n selectedDate,\n selectedPage,\n refetchTrigger,\n ]);\n\n return {\n loading,\n orderHistoryListItems,\n pageInfo,\n placeholderImage,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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\nexport interface FilterDateProps {\n from: string;\n to: string;\n}\n\nexport const getDateRange = (\n key: 'sixMonthsAgo' | 'oneYearAgo' | '',\n numberRange = 1\n): FilterDateProps | '' => {\n const currentDate = new Date();\n const pastDate = new Date(currentDate);\n\n switch (key) {\n case 'sixMonthsAgo': {\n pastDate.setMonth(pastDate.getMonth() - numberRange);\n break;\n }\n case 'oneYearAgo': {\n pastDate.setFullYear(pastDate.getFullYear() - numberRange);\n break;\n }\n default:\n return '';\n }\n\n const result = {\n from: pastDate?.toISOString().split('T')[0],\n to: `${currentDate?.toISOString().split('T')[0]} 23:59:59`,\n };\n\n return result;\n};\n\nexport const addYearsToList = (\n startYear: number\n): { value: string; text: string }[] => {\n const result = [];\n const currentYear = new Date().getFullYear();\n\n for (let year = startYear; year <= currentYear - 1; year++) {\n result.push({\n value: `{\"from\":\"${year}-01-01\",\"to\":\"${year + 1}-01-01 23:59:59\"}`,\n text: year.toString(),\n });\n }\n\n return result;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { addYearsToList, getDateRange } from '@/account/lib/getDateRange';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { useCallback, useMemo, useState, useEffect } from 'preact/hooks';\n\nexport const useOrderSelectList = () => {\n const translations = useText({\n pastSixMonths:\n 'Account.fullSizeView.OrdersList.OrdersListSelectDate.pastSixMonths',\n currentYear:\n 'Account.fullSizeView.OrdersList.OrdersListSelectDate.currentYear',\n viewAll: 'Account.fullSizeView.OrdersList.OrdersListSelectDate.viewAll',\n });\n\n const [firstOrderDate, setFirstOrderDate] = useState<string>();\n const [selectedDate, setSelectedDate] = useState<string>(\n JSON.stringify(getDateRange('sixMonthsAgo', 6))\n );\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }, [selectedPage]);\n\n const selectableDateList = useMemo(() => {\n const result = [\n {\n value: JSON.stringify(getDateRange('sixMonthsAgo', 6)),\n text: translations.pastSixMonths,\n },\n {\n value: JSON.stringify(getDateRange('oneYearAgo', 1)),\n text: translations.currentYear,\n },\n {\n value: 'viewAll',\n text: translations.viewAll,\n },\n ];\n\n if (firstOrderDate) {\n const date = new Date(firstOrderDate);\n const year = date.getFullYear();\n\n result?.splice(2, 0, ...addYearsToList(year));\n }\n\n return result;\n }, [translations, firstOrderDate]);\n\n const handleSetFirstOrderDate = useCallback((date: string) => {\n setFirstOrderDate(date);\n }, []);\n\n const handleSelectDate = useCallback((event: Event) => {\n const selectElement = event.target as HTMLSelectElement;\n\n const selectedValue = selectElement.value;\n\n setSelectedDate(selectedValue);\n setSelectedPage(1);\n }, []);\n\n return {\n selectableDateList,\n selectedDate,\n selectedPage,\n handleSelectDate,\n setSelectedPage,\n handleSetFirstOrderDate,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { classes, Container, Slot } from '@adobe-commerce/elsie/lib';\nimport {\n CardLoader,\n EmptyList,\n OrdersListAction,\n OrdersListCard,\n} from '@/account/components';\nimport { Header, Pagination, Picker } from '@adobe-commerce/elsie/components';\nimport { useOrdersList } from '@/account/hooks/containers/useOrdersList';\nimport { OrdersListWrapperProps } from '@/account/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/account/components/OrdersListWrapper/OrdersListWrapper.css';\nimport { useOrderSelectList } from '@/account/hooks/containers/useOrderSelectList';\n\nexport const OrdersListWrapper: Container<OrdersListWrapperProps> = ({\n className,\n withHeader = true,\n minifiedView = false,\n withThumbnails = true,\n withFilter = true,\n ordersInMinifiedView = 1,\n pageSize = 10,\n routeOrdersList,\n routeOrderDetails,\n routeReturnDetails,\n routeTracking,\n routeOrderProduct,\n slots,\n}) => {\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n containerTitle: `Account.${minifiedViewKey}.OrdersList.containerTitle`,\n dateOrderPlaced: `Account.${minifiedViewKey}.OrdersList.dateOrderPlaced`,\n });\n\n const {\n selectableDateList,\n selectedDate,\n handleSelectDate,\n selectedPage,\n setSelectedPage,\n handleSetFirstOrderDate,\n } = useOrderSelectList();\n\n const { pageInfo, loading, orderHistoryListItems, placeholderImage } =\n useOrdersList({\n minifiedView,\n pageSize,\n ordersInMinifiedView,\n selectedDate,\n selectedPage,\n handleSetFirstOrderDate,\n });\n\n return (\n <div>\n {withHeader ? (\n <Header\n aria-label={translations.containerTitle}\n role=\"region\"\n title={translations.containerTitle}\n divider={!minifiedView}\n className={minifiedView ? 'account-orders-list-header' : ''}\n />\n ) : null}\n\n <div className={classes(['account-orders-list', className])}>\n {!minifiedView && withFilter ? (\n <div className={'account-orders-list__date-select'}>\n <span>{translations.dateOrderPlaced}</span>\n <Picker\n value={selectedDate}\n name=\"orderDatePicker\"\n options={selectableDateList}\n handleSelect={handleSelectDate}\n />\n </div>\n ) : null}\n\n {!loading ? (\n <>\n {orderHistoryListItems.length ? (\n <>\n {orderHistoryListItems.map((el, index) => {\n return (\n <OrdersListCard\n placeholderImage={placeholderImage}\n routeTracking={routeTracking}\n routeOrderProduct={routeOrderProduct}\n routeReturnDetails={routeReturnDetails}\n minifiedView={minifiedView}\n item={el}\n withThumbnails={withThumbnails}\n key={index}\n slots={slots}\n >\n {slots?.OrdersListAction ? (\n <Slot\n data-testid={`ordersListActionSlot_${index}`}\n name=\"OrdersListAction\"\n slot={slots?.OrdersListAction}\n context={{ orderHistoryListItem: el }}\n />\n ) : (\n <OrdersListAction\n minifiedView={minifiedView}\n orderNumber={el.number}\n orderToken={el.token}\n routeOrderDetails={routeOrderDetails}\n />\n )}\n </OrdersListCard>\n );\n })}\n </>\n ) : (\n <EmptyList\n isEmpty={!orderHistoryListItems.length}\n typeList=\"orders\"\n minifiedView={minifiedView}\n />\n )}\n </>\n ) : (\n <>\n {Array.from(Array(pageInfo?.pageSize).keys()).map((i) => (\n <CardLoader\n testId={'orderSkeletonLoader'}\n withCard={false}\n key={i}\n />\n ))}\n </>\n )}\n {!minifiedView && pageInfo?.totalPages > 1 ? (\n <Pagination\n totalPages={pageInfo?.totalPages}\n currentPage={selectedPage}\n onChange={setSelectedPage}\n />\n ) : null}\n\n {minifiedView ? (\n <OrdersListAction\n minifiedView={minifiedView}\n routeOrdersList={routeOrdersList}\n />\n ) : null}\n </div>\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrdersListProps } from '@/account/types';\nimport { OrdersListWrapper } from '@/account/components/OrdersListWrapper';\n\nexport const OrdersList: Container<OrdersListProps> = ({\n className,\n withHeader,\n minifiedView,\n withThumbnails,\n withFilter,\n ordersInMinifiedView,\n pageSize,\n routeOrdersList,\n routeOrderDetails,\n routeReturnDetails,\n routeTracking,\n routeOrderProduct,\n slots,\n}) => {\n return (\n <div\n className={classes(['account-orders-list', className])}\n data-testid=\"ordersListId\"\n >\n <OrdersListWrapper\n className={className}\n withHeader={withHeader}\n minifiedView={minifiedView}\n withThumbnails={withThumbnails}\n withFilter={withFilter}\n ordersInMinifiedView={ordersInMinifiedView}\n pageSize={pageSize}\n routeOrdersList={routeOrdersList}\n routeOrderDetails={routeOrderDetails}\n routeReturnDetails={routeReturnDetails}\n routeTracking={routeTracking}\n routeOrderProduct={routeOrderProduct}\n slots={slots}\n />\n </div>\n );\n};\n"],"names":["iconConfig","OrdersListAction","minifiedView","orderNumber","orderToken","routeOrdersList","routeOrderDetails","minifiedViewKey","translations","useText","jsx","classes","Card","jsxs","Icon","ChevronRight","checkIsFunction","useIsMobile","isMobile","setIsMobile","useState","useEffect","handleResize","OrdersListCard","placeholderImage","item","withThumbnails","children","slots","routeTracking","routeOrderProduct","routeReturnDetails","props","hasProductRoute","orderItemsImages","useMemo","orderItem","index","defaultImageProps","_b","_a","Slot","Image","Fragment","element","trackingRoute","_c","_d","returnData","Price","_f","_e","_h","_g","_i","_j","sum","quantityOrdered","_k","_l","ContentGrid","useOrdersList","ordersInMinifiedView","pageSize","selectedDate","selectedPage","handleSetFirstOrderDate","orderHistoryListItems","setOrderHistoryListItems","pageInfo","setPageInfo","loading","setLoading","setPlaceholderImage","refetchTrigger","setRefetchTrigger","getStoreConfig","response","companyContextEvent","events","prev","getOrderHistoryList","getDateRange","key","numberRange","currentDate","pastDate","addYearsToList","startYear","result","currentYear","year","useOrderSelectList","firstOrderDate","setFirstOrderDate","setSelectedDate","setSelectedPage","selectableDateList","useCallback","date","handleSelectDate","event","selectedValue","OrdersListWrapper","className","withHeader","withFilter","Header","Picker","i","CardLoader","el","EmptyList","Pagination","OrdersList"],"mappings":"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"}
@@ -58,6 +58,7 @@ export type OrderDetails = {
58
58
  id: string;
59
59
  number: string;
60
60
  orderDate: string;
61
+ orderTime: string;
61
62
  items: OrderItem[];
62
63
  returns: ReturnProps[];
63
64
  shipments: ShipmentsModel[];
@@ -0,0 +1,32 @@
1
+ /********************************************************************
2
+ * ADOBE CONFIDENTIAL
3
+ * __________________
4
+ *
5
+ * Copyright 2026 Adobe
6
+ * All Rights Reserved.
7
+ *
8
+ * NOTICE: All information contained herein is, and remains
9
+ * the property of Adobe and its suppliers, if any. The intellectual
10
+ * and technical concepts contained herein are proprietary to Adobe
11
+ * and its suppliers and are protected by all applicable intellectual
12
+ * property laws, including trade secret and copyright laws.
13
+ * Dissemination of this information or reproduction of this material
14
+ * is strictly forbidden unless prior written permission is obtained
15
+ * from Adobe.
16
+ *******************************************************************/
17
+ /**
18
+ * Formats a time string according to a specified locale and options.
19
+ * Returns "Invalid Time" if the input date string is invalid.
20
+ *
21
+ * @param {string} date - The date string to be formatted.
22
+ * @param {string} [locale='en-US'] - The locale to use for formatting. Defaults to 'en-US'.
23
+ * @param {Intl.DateTimeFormatOptions} [options={}] - Optional formatting options to customize the output.
24
+ * @returns {string} The formatted time string, or "Invalid Time" if the input is invalid.
25
+ *
26
+ * @example
27
+ * // Default formatting (en-US locale)
28
+ * console.log(formatTimeToLocale('2023-08-29 12:34'));
29
+ * // Output: "12:34 AM"
30
+ */
31
+ export declare const formatTimeToLocale: (date: string, locale?: string, options?: Intl.DateTimeFormatOptions) => string;
32
+ //# sourceMappingURL=formatTimeToLocale.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-account", "version": "3.1.0-beta2", "@dropins/tools": "~1.7.0-beta3", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-account", "version": "3.1.1-alpha1", "@dropins/tools": "~1.7.0", "license": "SEE LICENSE IN LICENSE.md"}
@@ -9,6 +9,11 @@ export interface OrdersListActionContext {
9
9
  export interface OrdersListCardContext {
10
10
  orderHistoryListItem: OrderDetails;
11
11
  }
12
+ export interface OrdersListOrderTimeContext {
13
+ deliveryDateText?: string;
14
+ orderDate?: string;
15
+ orderTime?: string;
16
+ }
12
17
  export interface OrdersListProps extends HTMLAttributes<HTMLDivElement> {
13
18
  minifiedView?: boolean;
14
19
  withHeader?: boolean;
@@ -43,6 +48,7 @@ export interface OrdersListCardProps extends HTMLAttributes<HTMLDivElement> {
43
48
  withThumbnails: boolean;
44
49
  slots?: {
45
50
  OrdersListCard?: SlotProps<OrdersListCardContext>;
51
+ OrdersListOrderTime?: SlotProps<OrdersListOrderTimeContext>;
46
52
  OrderItemImage?: SlotProps<{
47
53
  data: OrderItem;
48
54
  defaultImageProps: ImageProps;