@dropins/storefront-order 1.5.0-alpha1 → 3.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.js.map +1 -1
- package/chunks/CartSummaryItem.js +1 -1
- package/chunks/CartSummaryItem.js.map +1 -1
- package/chunks/OrderCancelForm.js.map +1 -1
- package/chunks/OrderLoaders.js +1 -1
- package/chunks/OrderLoaders.js.map +1 -1
- package/chunks/ReturnsListContent.js.map +1 -1
- package/chunks/ShippingStatusCard.js.map +1 -1
- package/chunks/capitalizeFirst.js.map +1 -1
- package/chunks/confirmCancelOrder.js.map +1 -1
- package/chunks/fetch-graphql.js.map +1 -1
- package/chunks/formatDateToLocale.js.map +1 -1
- package/chunks/getAttributesForm.js.map +1 -1
- package/chunks/getCustomerOrdersReturn.js.map +1 -1
- package/chunks/getFormValues.js.map +1 -1
- package/chunks/getGuestOrder.js.map +1 -1
- package/chunks/getQueryParam.js.map +1 -1
- package/chunks/getStoreConfig.js.map +1 -1
- package/chunks/initialize.js.map +1 -1
- package/chunks/network-error.js.map +1 -1
- package/chunks/redirectTo.js.map +1 -1
- package/chunks/requestGuestOrderCancel.js.map +1 -1
- package/chunks/requestGuestReturn.js.map +1 -1
- package/chunks/returnOrdersHelper.js.map +1 -1
- package/chunks/setTaxStatus.js.map +1 -1
- package/chunks/transform-attributes-form.js.map +1 -1
- package/chunks/useGetStoreConfig.js.map +1 -1
- package/chunks/useIsMobile.js.map +1 -1
- package/containers/CreateReturn.js +1 -1
- package/containers/CreateReturn.js.map +1 -1
- package/containers/CustomerDetails.js +1 -1
- package/containers/CustomerDetails.js.map +1 -1
- package/containers/OrderCostSummary.js +1 -1
- package/containers/OrderCostSummary.js.map +1 -1
- package/containers/OrderHeader.js +1 -1
- package/containers/OrderHeader.js.map +1 -1
- package/containers/OrderProductList.js.map +1 -1
- package/containers/OrderReturns.js.map +1 -1
- package/containers/OrderSearch.js.map +1 -1
- package/containers/OrderStatus.js.map +1 -1
- package/containers/ReturnsList.js.map +1 -1
- package/containers/ShippingStatus.js +1 -1
- package/containers/ShippingStatus.js.map +1 -1
- package/fragments.js.map +1 -1
- package/package.json +1 -1
- package/render.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderSearch.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg","/@dropins/storefront-order/src/hooks/containers/useOrderSearch.tsx","/@dropins/storefront-order/src/containers/OrderSearch/OrderSearch.tsx","/@dropins/storefront-order/src/components/OrderSearchForm/OrderSearchForm.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks';\nimport {\n FieldEnumList,\n inLineAlertProps,\n useOrderSearchProps,\n} from '@/order/types';\nimport { getFormValues } from '@/order/lib/getFormValues';\nimport { getCustomer, getGuestOrder } from '@/order/api';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useOrderSearch = ({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n}: useOrderSearchProps) => {\n const [inLineAlert, setInLineAlert] = useState<inLineAlertProps>({\n text: '',\n type: 'success',\n });\n const [loading, setLoading] = useState(false);\n\n const translations = useText({\n invalidSearch: 'Order.Errors.invalidSearch',\n email: 'Order.OrderSearchForm.email',\n lastname: 'Order.OrderSearchForm.lastname',\n number: 'Order.OrderSearchForm.orderNumber',\n });\n\n const orderSearchRedirect = useCallback(\n async (order: OrderDataModel) => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20;\n const dataIsEmpty =\n (!order && !orderRef) || (!order?.number && !order?.token && !orderRef);\n\n if (dataIsEmpty) return null;\n\n if (isAuth) {\n const customer = await getCustomer();\n\n if (customer?.email === order.email) {\n redirectTo(routeCustomerOrder, {\n orderRef: order?.number,\n });\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order.token! });\n }\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order?.token! });\n }\n },\n [isAuth, routeCustomerOrder, routeGuestOrder]\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n orderSearchRedirect(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, [orderSearchRedirect]);\n\n useEffect(() => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20 ? orderRef : null;\n\n if (!orderRef) return;\n\n if (isToken) {\n redirectTo(routeGuestOrder, { orderRef });\n } else if (isAuth) {\n redirectTo(routeCustomerOrder, { orderRef });\n } else {\n renderSignIn?.({ render: true, formValues: { number: orderRef } });\n }\n }, [isAuth, routeCustomerOrder, routeGuestOrder, renderSignIn]);\n\n const normalizeFieldsConfig = useMemo(() => {\n return [\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.email,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 1,\n name: 'email',\n id: 'email',\n code: 'email',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.lastname,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 2,\n name: 'lastname',\n id: 'lastname',\n code: 'lastname',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.number,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 3,\n name: 'number',\n id: 'number',\n code: 'number',\n isUnique: false,\n },\n ];\n }, [translations]);\n\n const onSubmit = useCallback(\n async (event: Event, valid: boolean) => {\n if (!valid) return null;\n\n setLoading(true);\n\n const formValues = getFormValues(event.target as HTMLFormElement);\n\n await getGuestOrder(formValues)\n .then((guestOrder) => {\n if (!guestOrder) {\n setInLineAlert({\n text: translations.invalidSearch,\n type: 'warning',\n });\n }\n\n events.emit('order/data', guestOrder as OrderDataModel);\n })\n .catch(async (error) => {\n let showErrorMessage: boolean | undefined = true;\n\n onError?.({\n error: error.message,\n });\n\n const customer = isAuth ? await getCustomer() : { email: '' };\n\n const isOrderBelongsToCustomer =\n customer?.email === formValues?.email;\n\n if (isOrderBelongsToCustomer) {\n redirectTo(routeCustomerOrder, { orderRef: formValues.number });\n\n return;\n }\n\n showErrorMessage = renderSignIn?.({\n render:\n customer === null ||\n error?.message?.includes('Please login to view the order.'),\n formValues,\n });\n\n if (showErrorMessage) {\n setInLineAlert({\n text: error.message,\n type: 'warning',\n });\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [\n isAuth,\n onError,\n renderSignIn,\n routeCustomerOrder,\n translations.invalidSearch,\n ]\n );\n\n return { onSubmit, inLineAlert, loading, normalizeFieldsConfig };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrderSearchForm } from '@/order/components';\nimport { useOrderSearch } from '@/order/hooks';\nimport { FieldsProps, OrderSearchProps } from '@/order/types';\n\nexport const OrderSearch: Container<OrderSearchProps> = ({\n className,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n onError,\n}) => {\n const { onSubmit, loading, inLineAlert, normalizeFieldsConfig } =\n useOrderSearch({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n });\n\n return (\n <div className={classes(['order-order-search', className])}>\n <OrderSearchForm\n onSubmit={onSubmit}\n loading={loading}\n inLineAlert={inLineAlert}\n fieldsConfig={normalizeFieldsConfig as FieldsProps[]}\n />\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Card, Icon, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { WarningFilled } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\nimport { OrderSearchFormProps } from '@/order/types';\nimport { Form } from '@/order/components';\nimport '@/order/components/OrderSearchForm/OrderSearchForm.css';\n\nexport const OrderSearchForm: FunctionComponent<OrderSearchFormProps> = ({\n onSubmit,\n loading,\n inLineAlert,\n fieldsConfig,\n}) => {\n return (\n <Card variant={'secondary'} className={'order-order-search-form'}>\n <h2 className={'order-order-search-form__title'}>\n <Text id={'Order.OrderSearchForm.title'} />\n </h2>\n\n <p>\n <Text id={'Order.OrderSearchForm.description'} />\n </p>\n {inLineAlert.text ? (\n <InLineAlert\n data-testid=\"orderAlert\"\n className={'order-order-search-form__alert'}\n type={inLineAlert.type}\n variant=\"secondary\"\n heading={inLineAlert.text}\n icon={<Icon source={WarningFilled} />}\n />\n ) : null}\n\n <Form\n className={'order-order-search-form__wrapper'}\n name=\"orderSearchForm\"\n loading={loading}\n fieldsConfig={fieldsConfig}\n onSubmit={onSubmit}\n >\n <div className=\"order-order-search-form__button-container\">\n <Button\n className={'order-order-search-form__button'}\n size={'medium'}\n variant={'primary'}\n key={'logIn'}\n type={'submit'}\n disabled={loading}\n >\n <Text id={'Order.OrderSearchForm.button'} />\n </Button>\n </div>\n </Form>\n </Card>\n );\n};\n"],"names":["SvgWarningFilled","props","React","useOrderSearch","onError","isAuth","renderSignIn","routeCustomerOrder","routeGuestOrder","inLineAlert","setInLineAlert","useState","loading","setLoading","translations","useText","orderSearchRedirect","useCallback","order","orderRef","getQueryParam","isToken","customer","getCustomer","redirectTo","useEffect","event","events","normalizeFieldsConfig","useMemo","FieldEnumList","valid","formValues","getFormValues","getGuestOrder","guestOrder","error","showErrorMessage","_a","OrderSearch","className","onSubmit","jsx","classes","OrderSearchForm","fieldsConfig","jsxs","Card","Text","InLineAlert","Icon","WarningFilled","Form","Button"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"OrderSearch.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg","/@dropins/storefront-order/src/hooks/containers/useOrderSearch.tsx","/@dropins/storefront-order/src/containers/OrderSearch/OrderSearch.tsx","/@dropins/storefront-order/src/components/OrderSearchForm/OrderSearchForm.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks';\nimport {\n FieldEnumList,\n inLineAlertProps,\n useOrderSearchProps,\n} from '@/order/types';\nimport { getFormValues } from '@/order/lib/getFormValues';\nimport { getCustomer, getGuestOrder } from '@/order/api';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { OrderDataModel } from '@/order/data/models';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { getQueryParam } from '@/order/lib/getQueryParam';\n\nexport const useOrderSearch = ({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n}: useOrderSearchProps) => {\n const [inLineAlert, setInLineAlert] = useState<inLineAlertProps>({\n text: '',\n type: 'success',\n });\n const [loading, setLoading] = useState(false);\n\n const translations = useText({\n invalidSearch: 'Order.Errors.invalidSearch',\n email: 'Order.OrderSearchForm.email',\n lastname: 'Order.OrderSearchForm.lastname',\n number: 'Order.OrderSearchForm.orderNumber',\n });\n\n const orderSearchRedirect = useCallback(\n async (order: OrderDataModel) => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20;\n const dataIsEmpty =\n (!order && !orderRef) || (!order?.number && !order?.token && !orderRef);\n\n if (dataIsEmpty) return null;\n\n if (isAuth) {\n const customer = await getCustomer();\n\n if (customer?.email === order.email) {\n redirectTo(routeCustomerOrder, {\n orderRef: order?.number,\n });\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order.token! });\n }\n } else if (!isToken) {\n redirectTo(routeGuestOrder, { orderRef: order?.token! });\n }\n },\n [isAuth, routeCustomerOrder, routeGuestOrder]\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n orderSearchRedirect(order);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, [orderSearchRedirect]);\n\n useEffect(() => {\n const orderRef = getQueryParam('orderRef');\n const isToken = orderRef && orderRef.length > 20 ? orderRef : null;\n\n if (!orderRef) return;\n\n if (isToken) {\n redirectTo(routeGuestOrder, { orderRef });\n } else if (isAuth) {\n redirectTo(routeCustomerOrder, { orderRef });\n } else {\n renderSignIn?.({ render: true, formValues: { number: orderRef } });\n }\n }, [isAuth, routeCustomerOrder, routeGuestOrder, renderSignIn]);\n\n const normalizeFieldsConfig = useMemo(() => {\n return [\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.email,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 1,\n name: 'email',\n id: 'email',\n code: 'email',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.lastname,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 2,\n name: 'lastname',\n id: 'lastname',\n code: 'lastname',\n isUnique: false,\n },\n {\n entityType: 'CUSTOMER_ADDRESS',\n is_unique: false,\n label: translations.number,\n options: [],\n defaultValue: '',\n fieldType: FieldEnumList.TEXT,\n className: '',\n required: true,\n orderNumber: 3,\n name: 'number',\n id: 'number',\n code: 'number',\n isUnique: false,\n },\n ];\n }, [translations]);\n\n const onSubmit = useCallback(\n async (event: Event, valid: boolean) => {\n if (!valid) return null;\n\n setLoading(true);\n\n const formValues = getFormValues(event.target as HTMLFormElement);\n\n await getGuestOrder(formValues)\n .then((guestOrder) => {\n if (!guestOrder) {\n setInLineAlert({\n text: translations.invalidSearch,\n type: 'warning',\n });\n }\n\n events.emit('order/data', guestOrder as OrderDataModel);\n })\n .catch(async (error) => {\n let showErrorMessage: boolean | undefined = true;\n\n onError?.({\n error: error.message,\n });\n\n const customer = isAuth ? await getCustomer() : { email: '' };\n\n const isOrderBelongsToCustomer =\n customer?.email === formValues?.email;\n\n if (isOrderBelongsToCustomer) {\n redirectTo(routeCustomerOrder, { orderRef: formValues.number });\n\n return;\n }\n\n showErrorMessage = renderSignIn?.({\n render:\n customer === null ||\n error?.message?.includes('Please login to view the order.'),\n formValues,\n });\n\n if (showErrorMessage) {\n setInLineAlert({\n text: error.message,\n type: 'warning',\n });\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [\n isAuth,\n onError,\n renderSignIn,\n routeCustomerOrder,\n translations.invalidSearch,\n ]\n );\n\n return { onSubmit, inLineAlert, loading, normalizeFieldsConfig };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { OrderSearchForm } from '@/order/components';\nimport { useOrderSearch } from '@/order/hooks';\nimport { FieldsProps, OrderSearchProps } from '@/order/types';\n\nexport const OrderSearch: Container<OrderSearchProps> = ({\n className,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n onError,\n}) => {\n const { onSubmit, loading, inLineAlert, normalizeFieldsConfig } =\n useOrderSearch({\n onError,\n isAuth,\n renderSignIn,\n routeCustomerOrder,\n routeGuestOrder,\n });\n\n return (\n <div className={classes(['order-order-search', className])}>\n <OrderSearchForm\n onSubmit={onSubmit}\n loading={loading}\n inLineAlert={inLineAlert}\n fieldsConfig={normalizeFieldsConfig as FieldsProps[]}\n />\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Card, Icon, InLineAlert } from '@adobe-commerce/elsie/components';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { WarningFilled } from '@adobe-commerce/elsie/icons';\nimport { FunctionComponent } from 'preact';\nimport { OrderSearchFormProps } from '@/order/types';\nimport { Form } from '@/order/components';\nimport '@/order/components/OrderSearchForm/OrderSearchForm.css';\n\nexport const OrderSearchForm: FunctionComponent<OrderSearchFormProps> = ({\n onSubmit,\n loading,\n inLineAlert,\n fieldsConfig,\n}) => {\n return (\n <Card variant={'secondary'} className={'order-order-search-form'}>\n <h2 className={'order-order-search-form__title'}>\n <Text id={'Order.OrderSearchForm.title'} />\n </h2>\n\n <p>\n <Text id={'Order.OrderSearchForm.description'} />\n </p>\n {inLineAlert.text ? (\n <InLineAlert\n data-testid=\"orderAlert\"\n className={'order-order-search-form__alert'}\n type={inLineAlert.type}\n variant=\"secondary\"\n heading={inLineAlert.text}\n icon={<Icon source={WarningFilled} />}\n />\n ) : null}\n\n <Form\n className={'order-order-search-form__wrapper'}\n name=\"orderSearchForm\"\n loading={loading}\n fieldsConfig={fieldsConfig}\n onSubmit={onSubmit}\n >\n <div className=\"order-order-search-form__button-container\">\n <Button\n className={'order-order-search-form__button'}\n size={'medium'}\n variant={'primary'}\n key={'logIn'}\n type={'submit'}\n disabled={loading}\n >\n <Text id={'Order.OrderSearchForm.button'} />\n </Button>\n </div>\n </Form>\n </Card>\n );\n};\n"],"names":["SvgWarningFilled","props","React","useOrderSearch","onError","isAuth","renderSignIn","routeCustomerOrder","routeGuestOrder","inLineAlert","setInLineAlert","useState","loading","setLoading","translations","useText","orderSearchRedirect","useCallback","order","orderRef","getQueryParam","isToken","customer","getCustomer","redirectTo","useEffect","event","events","normalizeFieldsConfig","useMemo","FieldEnumList","valid","formValues","getFormValues","getGuestOrder","guestOrder","error","showErrorMessage","_a","OrderSearch","className","onSubmit","jsx","classes","OrderSearchForm","fieldsConfig","jsxs","Card","Text","InLineAlert","Icon","WarningFilled","Form","Button"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderStatus.js","sources":["/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport type QueryType = 'orderData';\n\nexport interface UserAddressesProps {\n city?: string;\n company?: string;\n country_code?: string;\n fax?: string;\n firstname?: string;\n lastname?: string;\n middlename?: string;\n postcode?: string;\n prefix?: string;\n region?: string;\n region_id?: number;\n street?: string[];\n suffix?: string;\n telephone?: string;\n vat_id?: string;\n}\n\ninterface ThumbnailImageProps {\n url?: string;\n label?: string;\n}\n\nexport interface ProductProps {\n only_x_left_in_stock?: number;\n stock_status?: string;\n thumbnail?: ThumbnailImageProps;\n image: ThumbnailImageProps;\n canonical_url: string;\n url_key: string;\n id: string;\n uid: string;\n name: string;\n __typename: string;\n sku: string;\n price_range: {\n maximum_price: {\n regular_price: MoneyProps;\n };\n };\n}\n\nexport interface MoneyProps {\n value: number;\n currency: string;\n}\n\ninterface GrandTotalProps extends MoneyProps {}\ninterface GrandTotalExclTaxProps extends MoneyProps {}\ninterface SubtotalProps extends MoneyProps {}\ninterface TotalTaxProps extends MoneyProps {}\ninterface TaxAmountProps extends MoneyProps {}\ninterface TotalShippingProps extends MoneyProps {}\n\ninterface TaxDetailProps {\n amount?: TaxAmountProps;\n rate?: number;\n title?: string;\n}\n\nexport interface DiscountProps {\n amount: MoneyProps;\n label: string;\n}\n\nexport interface TotalGiftOptionsProps {\n gift_wrapping_for_items: MoneyProps;\n gift_wrapping_for_items_incl_tax: MoneyProps;\n gift_wrapping_for_order_incl_tax: MoneyProps;\n gift_wrapping_for_order: MoneyProps;\n printed_card: MoneyProps;\n printed_card_incl_tax: MoneyProps;\n}\n\nexport interface TotalProps {\n total_giftcard?: MoneyProps;\n grand_total?: GrandTotalProps;\n grand_total_excl_tax?: GrandTotalExclTaxProps;\n subtotal?: SubtotalProps;\n taxes?: TaxDetailProps[];\n total_tax?: TotalTaxProps;\n total_shipping?: TotalShippingProps;\n discounts?: DiscountProps[];\n gift_options: TotalGiftOptionsProps;\n}\n\ninterface InvoiceItemInterface {}\n\ninterface InvoiceProps {\n id?: string;\n number?: string;\n total?: TotalProps;\n items?: InvoiceItemInterface[];\n comments?: { message: string; timestamp: string }[];\n}\n\nexport interface GiftMessageProps {\n form: string;\n message: string;\n to: string;\n}\nexport interface GiftWrappingProps {\n design: string;\n price: MoneyProps;\n uid: string;\n image: { url: string; label: string };\n}\n\nexport interface giftCardProps {\n sender_name: string;\n sender_email: string;\n recipient_email: string;\n recipient_name: string;\n message: string;\n}\n\nexport interface OrderItemProps {\n __typename: string;\n discounts: DiscountProps[];\n eligible_for_return: boolean;\n entered_options: { label: string; value: string }[];\n gift_message: GiftMessageProps;\n gift_wrapping: GiftWrappingProps;\n id: string;\n product: ProductProps;\n product_name: string;\n product_sale_price: MoneyProps;\n product_sku: string;\n product_type: string;\n product_url_key: string;\n quantity_canceled: number;\n quantity_invoiced: number;\n quantity_ordered: number;\n quantity_refunded: number;\n quantity_returned: number;\n quantity_shipped: number;\n quantity_return_requested: number;\n selected_options: { label: string; value: string }[];\n bundle_options: any;\n status: string;\n gift_card?: giftCardProps;\n downloadable_links: { title: string }[];\n prices: {\n price_including_tax: MoneyProps;\n original_price: MoneyProps;\n original_price_including_tax: MoneyProps;\n price: MoneyProps;\n discounts: [\n {\n label: string;\n amount: {\n value: number;\n };\n }\n ];\n };\n}\n\nexport interface PaymentMethodsProps {\n name: string;\n type: string;\n additional_data: {\n name: string;\n value: string;\n }[];\n}\n\nexport interface ShipmentsProps {\n id: string;\n number: string;\n tracking: { carrier: string; number: string; title: string }[];\n comments: { message: string; timestamp: string }[];\n items: {\n id: string;\n product_sku: string;\n product_name: string;\n quantity_shipped: number;\n order_item: OrderItemProps;\n }[];\n}\n\nexport enum AvailableActionsProps {\n CANCEL = 'CANCEL',\n RETURN = 'RETURN',\n REORDER = 'REORDER',\n}\n\nexport interface ReturnsItemsProps {\n number: string;\n status: string;\n created_at: string;\n order: {\n number: string;\n token: string;\n };\n shipping: {\n tracking: {\n status: {\n text: string;\n type: string;\n };\n carrier: {\n uid: string;\n label: string;\n };\n tracking_number: string;\n }[];\n };\n items: {\n quantity: number;\n status: string;\n uid: string;\n request_quantity: number;\n order_item: OrderItemProps;\n }[];\n}\nexport interface OrderProps {\n is_virtual?: boolean;\n order_status_change_date?: string;\n available_actions: AvailableActionsProps[];\n shipping_method: string;\n status: string;\n token: string;\n carrier: string;\n email: string;\n gift_receipt_included: boolean;\n id: string;\n number: string;\n order_date: string;\n printed_card_included: boolean;\n applied_coupons: { code: string }[];\n returns: {\n __typename: string;\n items: ReturnsItemsProps[];\n };\n shipments: ShipmentsProps[];\n items_eligible_for_return: OrderItemProps[];\n items: OrderItemProps[];\n gift_wrapping: GiftWrappingProps;\n gift_message: GiftMessageProps;\n payment_methods: PaymentMethodsProps[];\n invoices: InvoiceProps[];\n shipping_address: UserAddressesProps;\n billing_address: UserAddressesProps;\n total?: TotalProps;\n applied_gift_cards: {\n code: string;\n applied_balance: MoneyProps;\n }[];\n}\n\nexport interface ErrorProps {\n errors?: {\n message?: string;\n }[];\n}\n\ntype GetOrderDetailsByParams<T extends QueryType> = {\n orderId?: string;\n returnRef?: string;\n queryType: T;\n returnsPageSize?: number;\n};\n\nexport interface GetOrderDetailsByIdProps\n extends GetOrderDetailsByParams<QueryType> {}\n\nexport interface OrdersResponse extends ErrorProps {\n data?: {\n customer?: {\n orders?: {\n items?: OrderProps[];\n };\n };\n };\n}\n\nexport interface OrderByNumberResponse extends OrdersResponse {}\n\nexport type ResponseData<T extends QueryType> = T extends\n | 'orderData'\n | 'orderSummary'\n | 'orderStatus'\n ? OrderByNumberResponse\n : never;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { useMemo } from 'preact/compat';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { AvailableActionsProps, OrderActionsProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport '@/order/components/OrderActions/OrderActions.css';\nimport { OrderCancel, Reorder } from '@/order/components';\n\nexport const OrderActions: FunctionComponent<OrderActionsProps> = ({\n className,\n orderData,\n slots,\n routeCreateReturn,\n routeOnSuccess,\n onError,\n}) => {\n const translationActions = useText({\n cancel: 'Order.OrderStatusContent.actions.cancel',\n createReturn: 'Order.OrderStatusContent.actions.createReturn',\n createAnotherReturn: 'Order.OrderStatusContent.actions.createAnotherReturn',\n reorder: 'Order.OrderStatusContent.actions.reorder',\n });\n\n const renderAvailableActions = useMemo(() => {\n const availableActionsList = orderData?.availableActions;\n const isEmpty = !!availableActionsList?.length;\n const isReturnPage = !!orderData?.returnNumber;\n\n const redirectToCreateReturn = () => {\n redirectTo(routeCreateReturn, {}, orderData);\n };\n\n return (\n <>\n {slots?.OrderActions ? (\n <Slot\n data-testid=\"OrderActionsSlot\"\n name=\"OrderCanceledActions\"\n slot={slots?.OrderActions}\n context={orderData}\n />\n ) : (\n <div\n data-testid=\"availableActionsList\"\n className={classes([\n 'order-order-actions__wrapper',\n ['order-order-actions__wrapper--empty', !isEmpty],\n ])}\n >\n {(availableActionsList as AvailableActionsProps[])?.map(\n (action: string) => {\n switch (action) {\n case AvailableActionsProps.CANCEL:\n // Cancel action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <OrderCancel\n orderRef={orderData?.token! || orderData?.id!}\n />\n ) : null}\n </>\n );\n case AvailableActionsProps.RETURN:\n return (\n <Button\n variant=\"secondary\"\n onClick={redirectToCreateReturn}\n >\n {isReturnPage\n ? translationActions.createAnotherReturn\n : translationActions.createReturn}\n </Button>\n );\n case AvailableActionsProps.REORDER:\n // Reorder action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <Reorder\n orderData={orderData}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n >\n {translationActions.reorder}\n </Reorder>\n ) : null}\n </>\n );\n }\n }\n )}\n </div>\n )}\n </>\n );\n }, [\n onError,\n orderData,\n routeOnSuccess,\n routeCreateReturn,\n slots,\n translationActions,\n ]);\n\n return (\n <div className={classes(['order-order-actions', className])}>\n {renderAvailableActions}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { StatusEnumProps, UseOrderStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderStatus = ({ orderData }: UseOrderStatusProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderStatus, setOrderStatus] = useState<StatusEnumProps>(\n orderData?.status as StatusEnumProps\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderStatus(order.status as StatusEnumProps);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { orderStatus, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const removeQueryParams = (params: string[]) => {\n const url = new URL(window.location.href);\n\n params.forEach((param) => {\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n }\n });\n\n window.history.replaceState({}, document.title, url.toString());\n};\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { UseOrderActionsProps } from '@/order/types';\nimport { confirmGuestReturn, confirmCancelOrder } from '@/order/api';\nimport { removeQueryParams } from '@/order/lib/removeQueryParams';\n\nexport const useOrderActions = ({\n enableOrderCancellation,\n}: UseOrderActionsProps) => {\n const translations = useText({\n cancelOrderHeading: 'Order.OrderStatusContent.actions.cancel',\n confirmGuestReturnHeading:\n 'Order.OrderStatusContent.actions.confirmGuestReturn',\n orderCancelled: 'Order.OrderStatusContent.orderCanceled.message',\n guestRequestReturnMessage:\n 'Order.OrderStatusContent.actions.confirmGuestReturnMessage',\n });\n const [isDismissed, setIsDismissed] = useState<boolean>(false);\n const [isExecuted, setIsExecuted] = useState<boolean>(false);\n const [orderActionStatus, setOrderActionStatus] = useState<{\n heading: string;\n text: string;\n status: 'success' | 'error' | 'warning' | undefined;\n }>({\n heading: '',\n text: '',\n status: undefined,\n });\n\n const onDismiss = useCallback(() => {\n setIsDismissed(true);\n removeQueryParams(['order_id', 'confirmation_key', 'action']);\n }, []);\n\n const triggerAlertOnDismiss = useCallback(\n (\n heading: string,\n text: string,\n status: 'success' | 'error' | 'warning' | undefined\n ) => {\n setOrderActionStatus({\n heading,\n text,\n status,\n });\n\n removeQueryParams(['action']);\n },\n []\n );\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const orderId = params.get('order_id') ?? '';\n const confirmationKey = params.get('confirmation_key') ?? '';\n const actionType = params.get('action') ?? '';\n\n if (isExecuted || !orderId || !confirmationKey || !actionType) return;\n\n if (enableOrderCancellation && actionType === 'cancel') {\n setIsExecuted(true);\n confirmCancelOrder(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: translations.orderCancelled,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n\n if (actionType === 'return') {\n setIsExecuted(true);\n confirmGuestReturn(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: translations.guestRequestReturnMessage,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n }, [\n enableOrderCancellation,\n translations,\n triggerAlertOnDismiss,\n isExecuted,\n ]);\n\n return {\n orderActionStatus,\n isDismissed,\n onDismiss,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CardLoader, OrderStatusContent } from '@/order/components';\nimport { OrderStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n useOrderActions,\n useGetStoreConfig,\n useOrderStatus,\n} from '@/order/hooks';\nimport { InLineAlert } from '@adobe-commerce/elsie/components';\n\nexport const OrderStatus: Container<OrderStatusProps> = ({\n slots,\n orderData,\n className,\n statusTitle,\n status,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const { orderStatus, order } = useOrderStatus({ orderData });\n\n const storeConfig = useGetStoreConfig();\n\n const { orderActionStatus, isDismissed, onDismiss } = useOrderActions({\n enableOrderCancellation: storeConfig?.orderCancellationEnabled,\n });\n\n return (\n <div className={classes(['order-order-status', className])}>\n {!isDismissed && orderActionStatus?.status !== undefined ? (\n <InLineAlert\n style={{ marginBottom: '1rem' }}\n heading={orderActionStatus.heading}\n onDismiss={onDismiss}\n description={orderActionStatus.text}\n type={orderActionStatus.status}\n />\n ) : null}\n {order ? (\n <OrderStatusContent\n title={statusTitle}\n status={status || orderStatus}\n slots={slots}\n orderData={order}\n routeCreateReturn={routeCreateReturn}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Modal, PickerOption } from '@adobe-commerce/elsie/components';\nimport { OrderCancelProps } from '@/order/types';\nimport { useGetStoreConfig } from '@/order/hooks/api/useGetStoreConfig';\nimport { OrderCancellationReason } from '@/order/data/models';\nimport { OrderCancelForm } from '@/order/containers';\nimport { useState } from 'preact/hooks';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/order/components/OrderCancel/OrderCancel.css';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderCancel: FunctionComponent<OrderCancelProps> = ({\n orderRef,\n}) => {\n const [isCancelReasonsModalVisible, setIsCancelReasonsModalVisible] =\n useState(false);\n\n const handleOpen = () => {\n setIsCancelReasonsModalVisible(true);\n };\n const handleClose = () => {\n setIsCancelReasonsModalVisible(false);\n };\n\n const storeConfig = useGetStoreConfig();\n const orderCancellationReasons = storeConfig?.orderCancellationReasons ?? [];\n\n const transformCancelReasons = (\n reasons: OrderCancellationReason[]\n ): PickerOption[] => {\n return reasons.map((reason, index) => {\n return {\n text: reason?.description,\n value: index.toString(),\n };\n });\n };\n\n events.on('order/data', (orderData) => {\n const status = String(orderData.status).toLocaleLowerCase();\n if (\n status === 'guest order cancellation requested' ||\n status === 'canceled'\n ) {\n handleClose();\n }\n });\n\n return (\n <>\n <Button\n variant=\"secondary\"\n onClick={handleOpen}\n data-testid=\"cancel-button\"\n >\n <Text id={'Order.OrderStatusContent.actions.cancel'} />\n </Button>\n {isCancelReasonsModalVisible && (\n <Modal\n centered={true}\n size=\"medium\"\n onClose={handleClose}\n className={'order-order-cancel__modal'}\n title={\n <h2 className={'order-order-cancel__title'}>\n <Text id={'Order.OrderCancelForm.title'} />\n </h2>\n }\n data-testid=\"order-cancellation-reasons-modal\"\n >\n <OrderCancelForm\n orderRef={orderRef}\n cancelReasons={transformCancelReasons(orderCancellationReasons)}\n />\n </Modal>\n )}\n </>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { OrderStatusContentProps, StatusEnumProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderActions } from '@/order/components';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/OrderStatusContent/OrderStatusContent.css';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst statusTransform: Record<string, string> = {\n pending: 'orderPending',\n shiping: 'orderShipped',\n complete: 'orderComplete',\n processing: 'orderProcessing',\n 'on hold': 'orderOnHold',\n canceled: 'orderCanceled',\n 'suspected fraud': 'orderSuspectedFraud',\n 'payment Review': 'orderPaymentReview',\n 'order received': 'orderReceived',\n 'guest order cancellation requested': 'guestOrderCancellationRequested',\n 'pending payment': 'orderPendingPayment',\n rejected: 'orderRejected',\n authorized: 'orderAuthorized',\n 'paypal canceled reversal': 'orderPaypalCanceledReversal',\n 'pending paypal': 'orderPendingPaypal',\n 'paypal reversed': 'orderPaypalReversed',\n closed: 'orderClosed',\n};\n\nexport const OrderStatusContent: FunctionComponent<OrderStatusContentProps> = ({\n slots,\n title,\n status,\n orderData,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const orderStatus = String(status).toLocaleLowerCase();\n const orderReturn = orderData?.returns?.[0];\n const orderReturnStatus = orderReturn?.returnStatus ?? '';\n const createdReturnAt = orderReturn?.createdReturnAt ?? '';\n\n const translationsPlaceholder = useText({\n message: 'Order.OrderStatusContent.orderPlaceholder.message',\n messageWithoutDate:\n 'Order.OrderStatusContent.orderPlaceholder.messageWithoutDate',\n });\n\n const translationsHeader = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.title`\n );\n\n const translationsMessage = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.message`\n );\n\n const translationsMessageWithoutDate = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.messageWithoutDate`\n );\n\n const translationsReturn = useText({\n title: `Order.OrderStatusContent.returnStatus.${formatReturnStatus(\n orderReturnStatus\n )}`,\n returnMessage: 'Order.OrderStatusContent.returnMessage',\n });\n\n if (!status) return <div />;\n\n const translationsHeaderTitle = translationsHeader?.title\n ? translationsHeader\n : { title: capitalizeFirst(orderStatus) };\n const translationsText = translationsMessage?.message\n ? translationsMessage\n : translationsPlaceholder;\n const translationsTextWithoutDate =\n translationsMessageWithoutDate?.messageWithoutDate\n ? translationsMessageWithoutDate\n : translationsPlaceholder;\n\n const orderMessage = orderData?.orderStatusChangeDate\n ? translationsText?.message.replace(\n '{DATE}',\n formatDateToLocale(orderData?.orderStatusChangeDate)\n )\n : translationsTextWithoutDate.messageWithoutDate;\n\n const returnMessage =\n translationsReturn?.returnMessage\n ?.replace(\n '{ORDER_CREATE_DATE}',\n formatDateToLocale(orderData?.orderDate!)\n )\n ?.replace('{RETURN_CREATE_DATE}', formatDateToLocale(createdReturnAt)) ??\n '';\n\n const headerTitle = isReturnPage\n ? title ?? (translationsReturn.title || capitalizeFirst(orderReturnStatus))\n : title ?? translationsHeaderTitle.title;\n\n return (\n <Card className=\"order-order-status-content\" variant=\"secondary\">\n <Header title={headerTitle} />\n <div className=\"order-order-status-content__wrapper\">\n <div\n className={classes([\n 'order-order-status-content__wrapper-description',\n [\n 'order-order-status-content__wrapper-description--actions-slot',\n !!slots?.OrderActions,\n ],\n ])}\n >\n <p>{isReturnPage ? returnMessage : orderMessage}</p>\n </div>\n <OrderActions\n orderData={orderData}\n slots={slots}\n routeCreateReturn={routeCreateReturn}\n routeOnSuccess={routeOnSuccess}\n onError={onError}\n />\n </div>\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { reorderItems } from '@/order/api';\nimport { useCallback, useState } from 'preact/hooks';\nimport { ReorderProps } from '@/order/types';\n\nexport const Reorder: FunctionComponent<ReorderProps> = ({\n onError,\n routeOnSuccess,\n orderData,\n children,\n}) => {\n const [loading, setLoading] = useState(false);\n\n const mutationReorderItems = useCallback(() => {\n setLoading(true);\n const orderNumber = orderData?.number!;\n\n reorderItems(orderNumber)\n .then(({ success, userInputErrors }) => {\n if (success) {\n redirectTo(routeOnSuccess, {});\n }\n\n if (userInputErrors.length) {\n onError?.(userInputErrors);\n }\n })\n .catch((error) => {\n onError?.(error.message as string);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [orderData, routeOnSuccess, onError]);\n\n return (\n <Button\n type=\"button\"\n disabled={loading}\n variant=\"secondary\"\n className={'order-reorder'}\n onClick={mutationReorderItems}\n >\n {children}\n </Button>\n );\n};\n"],"names":["AvailableActionsProps","OrderActions","className","orderData","slots","routeCreateReturn","routeOnSuccess","onError","translationActions","useText","renderAvailableActions","useMemo","availableActionsList","isEmpty","isReturnPage","redirectToCreateReturn","redirectTo","jsx","Fragment","Slot","classes","action","OrderCancel","Button","Reorder","useOrderStatus","order","setOrder","useState","orderStatus","setOrderStatus","useEffect","event","events","removeQueryParams","params","url","param","useOrderActions","enableOrderCancellation","translations","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","useCallback","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","error","confirmGuestReturn","OrderStatus","statusTitle","storeConfig","useGetStoreConfig","jsxs","InLineAlert","OrderStatusContent","CardLoader","orderRef","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","index","Text","Modal","OrderCancelForm","statusTransform","title","orderReturn","_a","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","formatReturnStatus","translationsHeaderTitle","capitalizeFirst","translationsText","translationsTextWithoutDate","orderMessage","formatDateToLocale","returnMessage","_c","_b","headerTitle","Card","Header","children","loading","setLoading","mutationReorderItems","orderNumber","reorderItems","success","userInputErrors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrderStatus.js","sources":["/@dropins/storefront-order/src/types/api/getOrderDetails.types.ts","/@dropins/storefront-order/src/components/OrderActions/OrderActions.tsx","/@dropins/storefront-order/src/hooks/containers/useOrderStatus.tsx","/@dropins/storefront-order/src/lib/removeQueryParams.ts","/@dropins/storefront-order/src/hooks/containers/useOrderActions.tsx","/@dropins/storefront-order/src/containers/OrderStatus/OrderStatus.tsx","/@dropins/storefront-order/src/components/OrderCancel/OrderCancel.tsx","/@dropins/storefront-order/src/components/OrderStatusContent/OrderStatusContent.tsx","/@dropins/storefront-order/src/components/Reorder/Reorder.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport type QueryType = 'orderData';\n\nexport interface UserAddressesProps {\n city?: string;\n company?: string;\n country_code?: string;\n fax?: string;\n firstname?: string;\n lastname?: string;\n middlename?: string;\n postcode?: string;\n prefix?: string;\n region?: string;\n region_id?: number;\n street?: string[];\n suffix?: string;\n telephone?: string;\n vat_id?: string;\n}\n\ninterface ThumbnailImageProps {\n url?: string;\n label?: string;\n}\n\nexport interface ProductProps {\n only_x_left_in_stock?: number;\n stock_status?: string;\n thumbnail?: ThumbnailImageProps;\n image: ThumbnailImageProps;\n canonical_url: string;\n url_key: string;\n id: string;\n uid: string;\n name: string;\n __typename: string;\n sku: string;\n price_range: {\n maximum_price: {\n regular_price: MoneyProps;\n };\n };\n}\n\nexport interface MoneyProps {\n value: number;\n currency: string;\n}\n\ninterface GrandTotalProps extends MoneyProps {}\ninterface GrandTotalExclTaxProps extends MoneyProps {}\ninterface SubtotalProps extends MoneyProps {}\ninterface TotalTaxProps extends MoneyProps {}\ninterface TaxAmountProps extends MoneyProps {}\ninterface TotalShippingProps extends MoneyProps {}\n\ninterface TaxDetailProps {\n amount?: TaxAmountProps;\n rate?: number;\n title?: string;\n}\n\nexport interface DiscountProps {\n amount: MoneyProps;\n label: string;\n}\n\nexport interface TotalGiftOptionsProps {\n gift_wrapping_for_items: MoneyProps;\n gift_wrapping_for_items_incl_tax: MoneyProps;\n gift_wrapping_for_order_incl_tax: MoneyProps;\n gift_wrapping_for_order: MoneyProps;\n printed_card: MoneyProps;\n printed_card_incl_tax: MoneyProps;\n}\n\nexport interface TotalProps {\n total_giftcard?: MoneyProps;\n grand_total?: GrandTotalProps;\n grand_total_excl_tax?: GrandTotalExclTaxProps;\n subtotal?: SubtotalProps;\n taxes?: TaxDetailProps[];\n total_tax?: TotalTaxProps;\n total_shipping?: TotalShippingProps;\n discounts?: DiscountProps[];\n gift_options: TotalGiftOptionsProps;\n}\n\ninterface InvoiceItemInterface {}\n\ninterface InvoiceProps {\n id?: string;\n number?: string;\n total?: TotalProps;\n items?: InvoiceItemInterface[];\n comments?: { message: string; timestamp: string }[];\n}\n\nexport interface GiftMessageProps {\n form: string;\n message: string;\n to: string;\n}\nexport interface GiftWrappingProps {\n design: string;\n price: MoneyProps;\n uid: string;\n image: { url: string; label: string };\n}\n\nexport interface giftCardProps {\n sender_name: string;\n sender_email: string;\n recipient_email: string;\n recipient_name: string;\n message: string;\n}\n\nexport interface OrderItemProps {\n __typename: string;\n discounts: DiscountProps[];\n eligible_for_return: boolean;\n entered_options: { label: string; value: string }[];\n gift_message: GiftMessageProps;\n gift_wrapping: GiftWrappingProps;\n id: string;\n product: ProductProps;\n product_name: string;\n product_sale_price: MoneyProps;\n product_sku: string;\n product_type: string;\n product_url_key: string;\n quantity_canceled: number;\n quantity_invoiced: number;\n quantity_ordered: number;\n quantity_refunded: number;\n quantity_returned: number;\n quantity_shipped: number;\n quantity_return_requested: number;\n selected_options: { label: string; value: string }[];\n bundle_options: any;\n status: string;\n gift_card?: giftCardProps;\n downloadable_links: { title: string }[];\n prices: {\n price_including_tax: MoneyProps;\n original_price: MoneyProps;\n original_price_including_tax: MoneyProps;\n price: MoneyProps;\n discounts: [\n {\n label: string;\n amount: {\n value: number;\n };\n }\n ];\n };\n}\n\nexport interface PaymentMethodsProps {\n name: string;\n type: string;\n additional_data: {\n name: string;\n value: string;\n }[];\n}\n\nexport interface ShipmentsProps {\n id: string;\n number: string;\n tracking: { carrier: string; number: string; title: string }[];\n comments: { message: string; timestamp: string }[];\n items: {\n id: string;\n product_sku: string;\n product_name: string;\n quantity_shipped: number;\n order_item: OrderItemProps;\n }[];\n}\n\nexport enum AvailableActionsProps {\n CANCEL = 'CANCEL',\n RETURN = 'RETURN',\n REORDER = 'REORDER',\n}\n\nexport interface ReturnsItemsProps {\n number: string;\n status: string;\n created_at: string;\n order: {\n number: string;\n token: string;\n };\n shipping: {\n tracking: {\n status: {\n text: string;\n type: string;\n };\n carrier: {\n uid: string;\n label: string;\n };\n tracking_number: string;\n }[];\n };\n items: {\n quantity: number;\n status: string;\n uid: string;\n request_quantity: number;\n order_item: OrderItemProps;\n }[];\n}\nexport interface OrderProps {\n is_virtual?: boolean;\n order_status_change_date?: string;\n available_actions: AvailableActionsProps[];\n shipping_method: string;\n status: string;\n token: string;\n carrier: string;\n email: string;\n gift_receipt_included: boolean;\n id: string;\n number: string;\n order_date: string;\n printed_card_included: boolean;\n applied_coupons: { code: string }[];\n returns: {\n __typename: string;\n items: ReturnsItemsProps[];\n };\n shipments: ShipmentsProps[];\n items_eligible_for_return: OrderItemProps[];\n items: OrderItemProps[];\n gift_wrapping: GiftWrappingProps;\n gift_message: GiftMessageProps;\n payment_methods: PaymentMethodsProps[];\n invoices: InvoiceProps[];\n shipping_address: UserAddressesProps;\n billing_address: UserAddressesProps;\n total?: TotalProps;\n applied_gift_cards: {\n code: string;\n applied_balance: MoneyProps;\n }[];\n}\n\nexport interface ErrorProps {\n errors?: {\n message?: string;\n }[];\n}\n\ntype GetOrderDetailsByParams<T extends QueryType> = {\n orderId?: string;\n returnRef?: string;\n queryType: T;\n returnsPageSize?: number;\n};\n\nexport interface GetOrderDetailsByIdProps\n extends GetOrderDetailsByParams<QueryType> {}\n\nexport interface OrdersResponse extends ErrorProps {\n data?: {\n customer?: {\n orders?: {\n items?: OrderProps[];\n };\n };\n };\n}\n\nexport interface OrderByNumberResponse extends OrdersResponse {}\n\nexport type ResponseData<T extends QueryType> = T extends\n | 'orderData'\n | 'orderSummary'\n | 'orderStatus'\n ? OrderByNumberResponse\n : never;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { useMemo } from 'preact/compat';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport { AvailableActionsProps, OrderActionsProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport '@/order/components/OrderActions/OrderActions.css';\nimport { OrderCancel, Reorder } from '@/order/components';\n\nexport const OrderActions: FunctionComponent<OrderActionsProps> = ({\n className,\n orderData,\n slots,\n routeCreateReturn,\n routeOnSuccess,\n onError,\n}) => {\n const translationActions = useText({\n cancel: 'Order.OrderStatusContent.actions.cancel',\n createReturn: 'Order.OrderStatusContent.actions.createReturn',\n createAnotherReturn: 'Order.OrderStatusContent.actions.createAnotherReturn',\n reorder: 'Order.OrderStatusContent.actions.reorder',\n });\n\n const renderAvailableActions = useMemo(() => {\n const availableActionsList = orderData?.availableActions;\n const isEmpty = !!availableActionsList?.length;\n const isReturnPage = !!orderData?.returnNumber;\n\n const redirectToCreateReturn = () => {\n redirectTo(routeCreateReturn, {}, orderData);\n };\n\n return (\n <>\n {slots?.OrderActions ? (\n <Slot\n data-testid=\"OrderActionsSlot\"\n name=\"OrderCanceledActions\"\n slot={slots?.OrderActions}\n context={orderData}\n />\n ) : (\n <div\n data-testid=\"availableActionsList\"\n className={classes([\n 'order-order-actions__wrapper',\n ['order-order-actions__wrapper--empty', !isEmpty],\n ])}\n >\n {(availableActionsList as AvailableActionsProps[])?.map(\n (action: string) => {\n switch (action) {\n case AvailableActionsProps.CANCEL:\n // Cancel action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <OrderCancel\n orderRef={orderData?.token! || orderData?.id!}\n />\n ) : null}\n </>\n );\n case AvailableActionsProps.RETURN:\n return (\n <Button\n variant=\"secondary\"\n onClick={redirectToCreateReturn}\n >\n {isReturnPage\n ? translationActions.createAnotherReturn\n : translationActions.createReturn}\n </Button>\n );\n case AvailableActionsProps.REORDER:\n // Reorder action should not be available on return details page\n return (\n <>\n {!isReturnPage ? (\n <Reorder\n orderData={orderData}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n >\n {translationActions.reorder}\n </Reorder>\n ) : null}\n </>\n );\n }\n }\n )}\n </div>\n )}\n </>\n );\n }, [\n onError,\n orderData,\n routeOnSuccess,\n routeCreateReturn,\n slots,\n translationActions,\n ]);\n\n return (\n <div className={classes(['order-order-actions', className])}>\n {renderAvailableActions}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { OrderDataModel } from '@/order/data/models';\nimport { StatusEnumProps, UseOrderStatusProps } from '@/order/types';\nimport { events } from '@adobe-commerce/event-bus';\nimport { useEffect, useState } from 'preact/hooks';\n\nexport const useOrderStatus = ({ orderData }: UseOrderStatusProps) => {\n const [order, setOrder] = useState(orderData);\n const [orderStatus, setOrderStatus] = useState<StatusEnumProps>(\n orderData?.status as StatusEnumProps\n );\n\n useEffect(() => {\n const event = events.on(\n 'order/data',\n (order: OrderDataModel) => {\n setOrder(order);\n setOrderStatus(order.status as StatusEnumProps);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\n }, []);\n\n return { orderStatus, order };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const removeQueryParams = (params: string[]) => {\n const url = new URL(window.location.href);\n\n params.forEach((param) => {\n if (url.searchParams.has(param)) {\n url.searchParams.delete(param);\n }\n });\n\n window.history.replaceState({}, document.title, url.toString());\n};\n","/********************************************************************\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useCallback, useEffect, useState } from 'preact/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { UseOrderActionsProps } from '@/order/types';\nimport { confirmGuestReturn, confirmCancelOrder } from '@/order/api';\nimport { removeQueryParams } from '@/order/lib/removeQueryParams';\n\nexport const useOrderActions = ({\n enableOrderCancellation,\n}: UseOrderActionsProps) => {\n const translations = useText({\n cancelOrderHeading: 'Order.OrderStatusContent.actions.cancel',\n confirmGuestReturnHeading:\n 'Order.OrderStatusContent.actions.confirmGuestReturn',\n orderCancelled: 'Order.OrderStatusContent.orderCanceled.message',\n guestRequestReturnMessage:\n 'Order.OrderStatusContent.actions.confirmGuestReturnMessage',\n });\n const [isDismissed, setIsDismissed] = useState<boolean>(false);\n const [isExecuted, setIsExecuted] = useState<boolean>(false);\n const [orderActionStatus, setOrderActionStatus] = useState<{\n heading: string;\n text: string;\n status: 'success' | 'error' | 'warning' | undefined;\n }>({\n heading: '',\n text: '',\n status: undefined,\n });\n\n const onDismiss = useCallback(() => {\n setIsDismissed(true);\n removeQueryParams(['order_id', 'confirmation_key', 'action']);\n }, []);\n\n const triggerAlertOnDismiss = useCallback(\n (\n heading: string,\n text: string,\n status: 'success' | 'error' | 'warning' | undefined\n ) => {\n setOrderActionStatus({\n heading,\n text,\n status,\n });\n\n removeQueryParams(['action']);\n },\n []\n );\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const orderId = params.get('order_id') ?? '';\n const confirmationKey = params.get('confirmation_key') ?? '';\n const actionType = params.get('action') ?? '';\n\n if (isExecuted || !orderId || !confirmationKey || !actionType) return;\n\n if (enableOrderCancellation && actionType === 'cancel') {\n setIsExecuted(true);\n confirmCancelOrder(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: translations.orderCancelled,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.cancelOrderHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n\n if (actionType === 'return') {\n setIsExecuted(true);\n confirmGuestReturn(orderId, confirmationKey)\n .then(() => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: translations.guestRequestReturnMessage,\n status: 'success',\n });\n })\n .catch((error) => {\n setOrderActionStatus({\n heading: translations.confirmGuestReturnHeading,\n text: error.message,\n status: 'warning',\n });\n });\n }\n }, [\n enableOrderCancellation,\n translations,\n triggerAlertOnDismiss,\n isExecuted,\n ]);\n\n return {\n orderActionStatus,\n isDismissed,\n onDismiss,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { CardLoader, OrderStatusContent } from '@/order/components';\nimport { OrderStatusProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n useOrderActions,\n useGetStoreConfig,\n useOrderStatus,\n} from '@/order/hooks';\nimport { InLineAlert } from '@adobe-commerce/elsie/components';\n\nexport const OrderStatus: Container<OrderStatusProps> = ({\n slots,\n orderData,\n className,\n statusTitle,\n status,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const { orderStatus, order } = useOrderStatus({ orderData });\n\n const storeConfig = useGetStoreConfig();\n\n const { orderActionStatus, isDismissed, onDismiss } = useOrderActions({\n enableOrderCancellation: storeConfig?.orderCancellationEnabled,\n });\n\n return (\n <div className={classes(['order-order-status', className])}>\n {!isDismissed && orderActionStatus?.status !== undefined ? (\n <InLineAlert\n style={{ marginBottom: '1rem' }}\n heading={orderActionStatus.heading}\n onDismiss={onDismiss}\n description={orderActionStatus.text}\n type={orderActionStatus.status}\n />\n ) : null}\n {order ? (\n <OrderStatusContent\n title={statusTitle}\n status={status || orderStatus}\n slots={slots}\n orderData={order}\n routeCreateReturn={routeCreateReturn}\n onError={onError}\n routeOnSuccess={routeOnSuccess}\n />\n ) : (\n <CardLoader withCard={false} />\n )}\n </div>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { Button, Modal, PickerOption } from '@adobe-commerce/elsie/components';\nimport { OrderCancelProps } from '@/order/types';\nimport { useGetStoreConfig } from '@/order/hooks/api/useGetStoreConfig';\nimport { OrderCancellationReason } from '@/order/data/models';\nimport { OrderCancelForm } from '@/order/containers';\nimport { useState } from 'preact/hooks';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/order/components/OrderCancel/OrderCancel.css';\nimport { FunctionComponent } from 'preact';\n\nexport const OrderCancel: FunctionComponent<OrderCancelProps> = ({\n orderRef,\n}) => {\n const [isCancelReasonsModalVisible, setIsCancelReasonsModalVisible] =\n useState(false);\n\n const handleOpen = () => {\n setIsCancelReasonsModalVisible(true);\n };\n const handleClose = () => {\n setIsCancelReasonsModalVisible(false);\n };\n\n const storeConfig = useGetStoreConfig();\n const orderCancellationReasons = storeConfig?.orderCancellationReasons ?? [];\n\n const transformCancelReasons = (\n reasons: OrderCancellationReason[]\n ): PickerOption[] => {\n return reasons.map((reason, index) => {\n return {\n text: reason?.description,\n value: index.toString(),\n };\n });\n };\n\n events.on('order/data', (orderData) => {\n const status = String(orderData.status).toLocaleLowerCase();\n if (\n status === 'guest order cancellation requested' ||\n status === 'canceled'\n ) {\n handleClose();\n }\n });\n\n return (\n <>\n <Button\n variant=\"secondary\"\n onClick={handleOpen}\n data-testid=\"cancel-button\"\n >\n <Text id={'Order.OrderStatusContent.actions.cancel'} />\n </Button>\n {isCancelReasonsModalVisible && (\n <Modal\n centered={true}\n size=\"medium\"\n onClose={handleClose}\n className={'order-order-cancel__modal'}\n title={\n <h2 className={'order-order-cancel__title'}>\n <Text id={'Order.OrderCancelForm.title'} />\n </h2>\n }\n data-testid=\"order-cancellation-reasons-modal\"\n >\n <OrderCancelForm\n orderRef={orderRef}\n cancelReasons={transformCancelReasons(orderCancellationReasons)}\n />\n </Modal>\n )}\n </>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Card, Header } from '@adobe-commerce/elsie/components';\nimport { OrderStatusContentProps, StatusEnumProps } from '@/order/types';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { OrderActions } from '@/order/components';\nimport { formatReturnStatus } from '@/order/lib/returnOrdersHelper';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { formatDateToLocale } from '@/order/lib/formatDateToLocale';\nimport '@/order/components/OrderStatusContent/OrderStatusContent.css';\nimport { capitalizeFirst } from '@/order/lib/capitalizeFirst';\n\nconst statusTransform: Record<string, string> = {\n pending: 'orderPending',\n shiping: 'orderShipped',\n complete: 'orderComplete',\n processing: 'orderProcessing',\n 'on hold': 'orderOnHold',\n canceled: 'orderCanceled',\n 'suspected fraud': 'orderSuspectedFraud',\n 'payment Review': 'orderPaymentReview',\n 'order received': 'orderReceived',\n 'guest order cancellation requested': 'guestOrderCancellationRequested',\n 'pending payment': 'orderPendingPayment',\n rejected: 'orderRejected',\n authorized: 'orderAuthorized',\n 'paypal canceled reversal': 'orderPaypalCanceledReversal',\n 'pending paypal': 'orderPendingPaypal',\n 'paypal reversed': 'orderPaypalReversed',\n closed: 'orderClosed',\n};\n\nexport const OrderStatusContent: FunctionComponent<OrderStatusContentProps> = ({\n slots,\n title,\n status,\n orderData,\n routeCreateReturn,\n onError,\n routeOnSuccess,\n}) => {\n const isReturnPage = !!orderData?.returnNumber;\n const orderStatus = String(status).toLocaleLowerCase();\n const orderReturn = orderData?.returns?.[0];\n const orderReturnStatus = orderReturn?.returnStatus ?? '';\n const createdReturnAt = orderReturn?.createdReturnAt ?? '';\n\n const translationsPlaceholder = useText({\n message: 'Order.OrderStatusContent.orderPlaceholder.message',\n messageWithoutDate:\n 'Order.OrderStatusContent.orderPlaceholder.messageWithoutDate',\n });\n\n const translationsHeader = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.title`\n );\n\n const translationsMessage = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.message`\n );\n\n const translationsMessageWithoutDate = useText(\n `Order.OrderStatusContent.${\n statusTransform[orderStatus as StatusEnumProps]\n }.messageWithoutDate`\n );\n\n const translationsReturn = useText({\n title: `Order.OrderStatusContent.returnStatus.${formatReturnStatus(\n orderReturnStatus\n )}`,\n returnMessage: 'Order.OrderStatusContent.returnMessage',\n });\n\n if (!status) return <div />;\n\n const translationsHeaderTitle = translationsHeader?.title\n ? translationsHeader\n : { title: capitalizeFirst(orderStatus) };\n const translationsText = translationsMessage?.message\n ? translationsMessage\n : translationsPlaceholder;\n const translationsTextWithoutDate =\n translationsMessageWithoutDate?.messageWithoutDate\n ? translationsMessageWithoutDate\n : translationsPlaceholder;\n\n const orderMessage = orderData?.orderStatusChangeDate\n ? translationsText?.message.replace(\n '{DATE}',\n formatDateToLocale(orderData?.orderStatusChangeDate)\n )\n : translationsTextWithoutDate.messageWithoutDate;\n\n const returnMessage =\n translationsReturn?.returnMessage\n ?.replace(\n '{ORDER_CREATE_DATE}',\n formatDateToLocale(orderData?.orderDate!)\n )\n ?.replace('{RETURN_CREATE_DATE}', formatDateToLocale(createdReturnAt)) ??\n '';\n\n const headerTitle = isReturnPage\n ? title ?? (translationsReturn.title || capitalizeFirst(orderReturnStatus))\n : title ?? translationsHeaderTitle.title;\n\n return (\n <Card className=\"order-order-status-content\" variant=\"secondary\">\n <Header title={headerTitle} />\n <div className=\"order-order-status-content__wrapper\">\n <div\n className={classes([\n 'order-order-status-content__wrapper-description',\n [\n 'order-order-status-content__wrapper-description--actions-slot',\n !!slots?.OrderActions,\n ],\n ])}\n >\n <p>{isReturnPage ? returnMessage : orderMessage}</p>\n </div>\n <OrderActions\n orderData={orderData}\n slots={slots}\n routeCreateReturn={routeCreateReturn}\n routeOnSuccess={routeOnSuccess}\n onError={onError}\n />\n </div>\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { redirectTo } from '@/order/lib/redirectTo';\nimport { reorderItems } from '@/order/api';\nimport { useCallback, useState } from 'preact/hooks';\nimport { ReorderProps } from '@/order/types';\n\nexport const Reorder: FunctionComponent<ReorderProps> = ({\n onError,\n routeOnSuccess,\n orderData,\n children,\n}) => {\n const [loading, setLoading] = useState(false);\n\n const mutationReorderItems = useCallback(() => {\n setLoading(true);\n const orderNumber = orderData?.number!;\n\n reorderItems(orderNumber)\n .then(({ success, userInputErrors }) => {\n if (success) {\n redirectTo(routeOnSuccess, {});\n }\n\n if (userInputErrors.length) {\n onError?.(userInputErrors);\n }\n })\n .catch((error) => {\n onError?.(error.message as string);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [orderData, routeOnSuccess, onError]);\n\n return (\n <Button\n type=\"button\"\n disabled={loading}\n variant=\"secondary\"\n className={'order-reorder'}\n onClick={mutationReorderItems}\n >\n {children}\n </Button>\n );\n};\n"],"names":["AvailableActionsProps","OrderActions","className","orderData","slots","routeCreateReturn","routeOnSuccess","onError","translationActions","useText","renderAvailableActions","useMemo","availableActionsList","isEmpty","isReturnPage","redirectToCreateReturn","redirectTo","jsx","Fragment","Slot","classes","action","OrderCancel","Button","Reorder","useOrderStatus","order","setOrder","useState","orderStatus","setOrderStatus","useEffect","event","events","removeQueryParams","params","url","param","useOrderActions","enableOrderCancellation","translations","isDismissed","setIsDismissed","isExecuted","setIsExecuted","orderActionStatus","setOrderActionStatus","onDismiss","useCallback","triggerAlertOnDismiss","heading","text","status","orderId","confirmationKey","actionType","confirmCancelOrder","error","confirmGuestReturn","OrderStatus","statusTitle","storeConfig","useGetStoreConfig","jsxs","InLineAlert","OrderStatusContent","CardLoader","orderRef","isCancelReasonsModalVisible","setIsCancelReasonsModalVisible","handleOpen","handleClose","orderCancellationReasons","transformCancelReasons","reasons","reason","index","Text","Modal","OrderCancelForm","statusTransform","title","orderReturn","_a","orderReturnStatus","createdReturnAt","translationsPlaceholder","translationsHeader","translationsMessage","translationsMessageWithoutDate","translationsReturn","formatReturnStatus","translationsHeaderTitle","capitalizeFirst","translationsText","translationsTextWithoutDate","orderMessage","formatDateToLocale","returnMessage","_c","_b","headerTitle","Card","Header","children","loading","setLoading","mutationReorderItems","orderNumber","reorderItems","success","userInputErrors"],"mappings":"uvCAuMO,IAAKA,GAAAA,IACVA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,QAAU,UAHAA,IAAAA,GAAA,CAAA,CAAA,EC7KL,MAAMC,GAAqD,CAAC,CACjE,UAAAC,EACA,UAAAC,EACA,MAAAC,EACA,kBAAAC,EACA,eAAAC,EACA,QAAAC,CACF,IAAM,CACJ,MAAMC,EAAqBC,EAAQ,CACjC,OAAQ,0CACR,aAAc,gDACd,oBAAqB,uDACrB,QAAS,0CAAA,CACV,EAEKC,EAAyBC,EAAQ,IAAM,CAC3C,MAAMC,EAAuBT,GAAA,YAAAA,EAAW,iBAClCU,EAAU,CAAC,EAACD,GAAA,MAAAA,EAAsB,QAClCE,EAAe,CAAC,EAACX,GAAA,MAAAA,EAAW,cAE5BY,EAAyB,IAAM,CACnCC,EAAWX,EAAmB,CAAA,EAAIF,CAAS,CAC7C,EAEA,OACEc,EAAAC,EAAA,CACG,oBAAO,aACND,EAACE,EAAA,CACC,cAAY,mBACZ,KAAK,uBACL,KAAMf,GAAA,YAAAA,EAAO,aACb,QAASD,CAAA,CAAA,EAGXc,EAAC,MAAA,CACC,cAAY,uBACZ,UAAWG,EAAQ,CACjB,+BACA,CAAC,sCAAuC,CAACP,CAAO,CAAA,CACjD,EAEC,SAAAD,GAAA,YAAAA,EAAkD,IACjDS,GAAmB,CAClB,OAAQA,EAAA,CACN,KAAKrB,EAAsB,OAEzB,OACEiB,EAAAC,EAAA,CACG,SAACJ,EAIE,KAHFG,EAACK,GAAA,CACC,UAAUnB,GAAA,YAAAA,EAAW,SAAUA,GAAA,YAAAA,EAAW,GAAA,CAAA,CAE1C,CACN,EAEJ,KAAKH,EAAsB,OACzB,OACEiB,EAACM,EAAA,CACC,QAAQ,YACR,QAASR,EAER,SAAAD,EACGN,EAAmB,oBACnBA,EAAmB,YAAA,CAAA,EAG7B,KAAKR,EAAsB,QAEzB,OACEiB,EAAAC,EAAA,CACG,SAACJ,EAQE,KAPFG,EAACO,GAAA,CACC,UAAArB,EACA,QAAAI,EACA,eAAAD,EAEC,SAAAE,EAAmB,OAAA,CAAA,CAEpB,CACN,CAAA,CAGR,EACF,CAAA,EAGN,CAEJ,EAAG,CACDD,EACAJ,EACAG,EACAD,EACAD,EACAI,CAAA,CACD,EAED,OACES,EAAC,OAAI,UAAWG,EAAQ,CAAC,sBAAuBlB,CAAS,CAAC,EACvD,SAAAQ,CAAA,CACH,CAEJ,EC3Gae,GAAiB,CAAC,CAAE,UAAAtB,KAAqC,CACpE,KAAM,CAACuB,EAAOC,CAAQ,EAAIC,EAASzB,CAAS,EACtC,CAAC0B,EAAaC,CAAc,EAAIF,EACpCzB,GAAA,YAAAA,EAAW,MAAA,EAGb,OAAA4B,EAAU,IAAM,CACd,MAAMC,EAAQC,EAAO,GACnB,aACCP,GAA0B,CACzBC,EAASD,CAAK,EACdI,EAAeJ,EAAM,MAAyB,CAChD,EACA,CAAE,MAAO,EAAA,CAAK,EAGhB,MAAO,IAAM,CACXM,GAAA,MAAAA,EAAO,KACT,CACF,EAAG,CAAA,CAAE,EAEE,CAAE,YAAAH,EAAa,MAAAH,CAAA,CACxB,EC3BaQ,EAAqBC,GAAqB,CACrD,MAAMC,EAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EAExCD,EAAO,QAASE,GAAU,CACpBD,EAAI,aAAa,IAAIC,CAAK,GAC5BD,EAAI,aAAa,OAAOC,CAAK,CAEjC,CAAC,EAED,OAAO,QAAQ,aAAa,CAAA,EAAI,SAAS,MAAOD,EAAI,UAAU,CAChE,ECLaE,GAAkB,CAAC,CAC9B,wBAAAC,CACF,IAA4B,CAC1B,MAAMC,EAAe/B,EAAQ,CAC3B,mBAAoB,0CACpB,0BACE,sDACF,eAAgB,iDAChB,0BACE,4DAAA,CACH,EACK,CAACgC,EAAaC,CAAc,EAAId,EAAkB,EAAK,EACvD,CAACe,EAAYC,CAAa,EAAIhB,EAAkB,EAAK,EACrD,CAACiB,EAAmBC,CAAoB,EAAIlB,EAI/C,CACD,QAAS,GACT,KAAM,GACN,OAAQ,MAAA,CACT,EAEKmB,EAAYC,EAAY,IAAM,CAClCN,EAAe,EAAI,EACnBR,EAAkB,CAAC,WAAY,mBAAoB,QAAQ,CAAC,CAC9D,EAAG,CAAA,CAAE,EAECe,EAAwBD,EAC5B,CACEE,EACAC,EACAC,IACG,CACHN,EAAqB,CACnB,QAAAI,EACA,KAAAC,EACA,OAAAC,CAAA,CACD,EAEDlB,EAAkB,CAAC,QAAQ,CAAC,CAC9B,EACA,CAAA,CAAC,EAGH,OAAAH,EAAU,IAAM,CACd,MAAMI,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACnDkB,EAAUlB,EAAO,IAAI,UAAU,GAAK,GACpCmB,EAAkBnB,EAAO,IAAI,kBAAkB,GAAK,GACpDoB,EAAapB,EAAO,IAAI,QAAQ,GAAK,GAEvCQ,GAAc,CAACU,GAAW,CAACC,GAAmB,CAACC,IAE/ChB,GAA2BgB,IAAe,WAC5CX,EAAc,EAAI,EAClBY,EAAmBH,EAASC,CAAe,EACxC,KAAK,IAAM,CACVR,EAAqB,CACnB,QAASN,EAAa,mBACtB,KAAMA,EAAa,eACnB,OAAQ,SAAA,CACT,CACH,CAAC,EACA,MAAOiB,GAAU,CAChBX,EAAqB,CACnB,QAASN,EAAa,mBACtB,KAAMiB,EAAM,QACZ,OAAQ,SAAA,CACT,CACH,CAAC,GAGDF,IAAe,WACjBX,EAAc,EAAI,EAClBc,EAAmBL,EAASC,CAAe,EACxC,KAAK,IAAM,CACVR,EAAqB,CACnB,QAASN,EAAa,0BACtB,KAAMA,EAAa,0BACnB,OAAQ,SAAA,CACT,CACH,CAAC,EACA,MAAOiB,GAAU,CAChBX,EAAqB,CACnB,QAASN,EAAa,0BACtB,KAAMiB,EAAM,QACZ,OAAQ,SAAA,CACT,CACH,CAAC,GAEP,EAAG,CACDlB,EACAC,EACAS,EACAN,CAAA,CACD,EAEM,CACL,kBAAAE,EACA,YAAAJ,EACA,UAAAM,CAAA,CAEJ,ECjGaY,GAA2C,CAAC,CACvD,MAAAvD,EACA,UAAAD,EACA,UAAAD,EACA,YAAA0D,EACA,OAAAR,EACA,kBAAA/C,EACA,QAAAE,EACA,eAAAD,CACF,IAAM,CACJ,KAAM,CAAE,YAAAuB,EAAa,MAAAH,CAAA,EAAUD,GAAe,CAAE,UAAAtB,EAAW,EAErD0D,EAAcC,EAAA,EAEd,CAAE,kBAAAjB,EAAmB,YAAAJ,EAAa,UAAAM,CAAA,EAAcT,GAAgB,CACpE,wBAAyBuB,GAAA,YAAAA,EAAa,wBAAA,CACvC,EAED,OACEE,EAAC,OAAI,UAAW3C,EAAQ,CAAC,qBAAsBlB,CAAS,CAAC,EACtD,SAAA,CAAA,CAACuC,IAAeI,GAAA,YAAAA,EAAmB,UAAW,OAC7C5B,EAAC+C,EAAA,CACC,MAAO,CAAE,aAAc,MAAA,EACvB,QAASnB,EAAkB,QAC3B,UAAAE,EACA,YAAaF,EAAkB,KAC/B,KAAMA,EAAkB,MAAA,CAAA,EAExB,KACHnB,EACCT,EAACgD,GAAA,CACC,MAAOL,EACP,OAAQR,GAAUvB,EAClB,MAAAzB,EACA,UAAWsB,EACX,kBAAArB,EACA,QAAAE,EACA,eAAAD,CAAA,CAAA,EAGFW,EAACiD,EAAA,CAAW,SAAU,EAAA,CAAO,CAAA,EAEjC,CAEJ,EC3Ca5C,GAAmD,CAAC,CAC/D,SAAA6C,CACF,IAAM,CACJ,KAAM,CAACC,EAA6BC,CAA8B,EAChEzC,EAAS,EAAK,EAEV0C,EAAa,IAAM,CACvBD,EAA+B,EAAI,CACrC,EACME,EAAc,IAAM,CACxBF,EAA+B,EAAK,CACtC,EAEMR,EAAcC,EAAA,EACdU,GAA2BX,GAAA,YAAAA,EAAa,2BAA4B,CAAA,EAEpEY,EACJC,GAEOA,EAAQ,IAAI,CAACC,EAAQC,KACnB,CACL,KAAMD,GAAA,YAAAA,EAAQ,YACd,MAAOC,EAAM,SAAA,CAAS,EAEzB,EAGH,OAAA3C,EAAO,GAAG,aAAe9B,GAAc,CACrC,MAAMiD,EAAS,OAAOjD,EAAU,MAAM,EAAE,kBAAA,GAEtCiD,IAAW,sCACXA,IAAW,aAEXmB,EAAA,CAEJ,CAAC,EAGCR,EAAA7C,EAAA,CACE,SAAA,CAAAD,EAACM,EAAA,CACC,QAAQ,YACR,QAAS+C,EACT,cAAY,gBAEZ,SAAArD,EAAC4D,EAAA,CAAK,GAAI,yCAAA,CAA2C,CAAA,CAAA,EAEtDT,GACCnD,EAAC6D,EAAA,CACC,SAAU,GACV,KAAK,SACL,QAASP,EACT,UAAW,4BACX,QACG,KAAA,CAAG,UAAW,4BACb,SAAAtD,EAAC4D,EAAA,CAAK,GAAI,6BAAA,CAA+B,CAAA,CAC3C,EAEF,cAAY,mCAEZ,SAAA5D,EAAC8D,GAAA,CACC,SAAAZ,EACA,cAAeM,EAAuBD,CAAwB,CAAA,CAAA,CAChE,CAAA,CACF,EAEJ,CAEJ,ECnEMQ,EAA0C,CAC9C,QAAS,eACT,QAAS,eACT,SAAU,gBACV,WAAY,kBACZ,UAAW,cACX,SAAU,gBACV,kBAAmB,sBACnB,iBAAkB,qBAClB,iBAAkB,gBAClB,qCAAsC,kCACtC,kBAAmB,sBACnB,SAAU,gBACV,WAAY,kBACZ,2BAA4B,8BAC5B,iBAAkB,qBAClB,kBAAmB,sBACnB,OAAQ,aACV,EAEaf,GAAiE,CAAC,CAC7E,MAAA7D,EACA,MAAA6E,EACA,OAAA7B,EACA,UAAAjD,EACA,kBAAAE,EACA,QAAAE,EACA,eAAAD,CACF,IAAM,WACJ,MAAMQ,EAAe,CAAC,EAACX,GAAA,MAAAA,EAAW,cAC5B0B,EAAc,OAAOuB,CAAM,EAAE,kBAAA,EAC7B8B,GAAcC,EAAAhF,GAAA,YAAAA,EAAW,UAAX,YAAAgF,EAAqB,GACnCC,GAAoBF,GAAA,YAAAA,EAAa,eAAgB,GACjDG,GAAkBH,GAAA,YAAAA,EAAa,kBAAmB,GAElDI,EAA0B7E,EAAQ,CACtC,QAAS,oDACT,mBACE,8DAAA,CACH,EAEK8E,EAAqB9E,EACzB,4BACEuE,EAAgBnD,CAA8B,CAChD,QAAA,EAGI2D,EAAsB/E,EAC1B,4BACEuE,EAAgBnD,CAA8B,CAChD,UAAA,EAGI4D,EAAiChF,EACrC,4BACEuE,EAAgBnD,CAA8B,CAChD,qBAAA,EAGI6D,EAAqBjF,EAAQ,CACjC,MAAO,yCAAyCkF,GAC9CP,CAAA,CACD,GACD,cAAe,wCAAA,CAChB,EAED,GAAI,CAAChC,EAAQ,OAAOnC,EAAC,MAAA,CAAA,CAAI,EAEzB,MAAM2E,EAA0BL,GAAA,MAAAA,EAAoB,MAChDA,EACA,CAAE,MAAOM,EAAgBhE,CAAW,CAAA,EAClCiE,EAAmBN,GAAA,MAAAA,EAAqB,QAC1CA,EACAF,EACES,EACJN,GAAA,MAAAA,EAAgC,mBAC5BA,EACAH,EAEAU,EAAe7F,GAAA,MAAAA,EAAW,sBAC5B2F,GAAA,YAAAA,EAAkB,QAAQ,QACxB,SACAG,EAAmB9F,GAAA,YAAAA,EAAW,qBAAqB,GAErD4F,EAA4B,mBAE1BG,IACJC,GAAAC,EAAAV,GAAA,YAAAA,EAAoB,gBAApB,YAAAU,EACI,QACA,sBACAH,EAAmB9F,GAAA,YAAAA,EAAW,SAAU,KAH5C,YAAAgG,EAKI,QAAQ,uBAAwBF,EAAmBZ,CAAe,KACtE,GAEIgB,EAAcvF,EAChBmE,IAAUS,EAAmB,OAASG,EAAgBT,CAAiB,GACvEH,GAASW,EAAwB,MAErC,OACE7B,EAACuC,EAAA,CAAK,UAAU,6BAA6B,QAAQ,YACnD,SAAA,CAAArF,EAACsF,EAAA,CAAO,MAAOF,CAAA,CAAa,EAC5BtC,EAAC,MAAA,CAAI,UAAU,sCACb,SAAA,CAAA9C,EAAC,MAAA,CACC,UAAWG,EAAQ,CACjB,kDACA,CACE,gEACA,CAAC,EAAChB,GAAA,MAAAA,EAAO,aAAA,CACX,CACD,EAED,SAAAa,EAAC,IAAA,CAAG,SAAAH,EAAeoF,EAAgBF,CAAA,CAAa,CAAA,CAAA,EAElD/E,EAAChB,GAAA,CACC,UAAAE,EACA,MAAAC,EACA,kBAAAC,EACA,eAAAC,EACA,QAAAC,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ,EChIaiB,GAA2C,CAAC,CACvD,QAAAjB,EACA,eAAAD,EACA,UAAAH,EACA,SAAAqG,CACF,IAAM,CACJ,KAAM,CAACC,EAASC,CAAU,EAAI9E,EAAS,EAAK,EAEtC+E,EAAuB3D,EAAY,IAAM,CAC7C0D,EAAW,EAAI,EACf,MAAME,EAAczG,GAAA,YAAAA,EAAW,OAE/B0G,EAAaD,CAAW,EACrB,KAAK,CAAC,CAAE,QAAAE,EAAS,gBAAAC,KAAsB,CAClCD,GACF9F,EAAWV,EAAgB,EAAE,EAG3ByG,EAAgB,SAClBxG,GAAA,MAAAA,EAAUwG,GAEd,CAAC,EACA,MAAOtD,GAAU,CAChBlD,GAAA,MAAAA,EAAUkD,EAAM,QAClB,CAAC,EACA,QAAQ,IAAM,CACbiD,EAAW,EAAK,CAClB,CAAC,CACL,EAAG,CAACvG,EAAWG,EAAgBC,CAAO,CAAC,EAEvC,OACEU,EAACM,EAAA,CACC,KAAK,SACL,SAAUkF,EACV,QAAQ,YACR,UAAW,gBACX,QAASE,EAER,SAAAH,CAAA,CAAA,CAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReturnsList.js","sources":["/@dropins/storefront-order/src/hooks/containers/useReturnsList.tsx","/@dropins/storefront-order/src/containers/ReturnsList/ReturnsList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { getCustomerOrdersReturn } from '@/order/api';\nimport { OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseReturnsListProps } from '@/order/types';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\n\nconst DEFAULT_PAGE_INFO = { totalPages: 1, currentPage: 1, pageSize: 1 };\n\nexport const useReturnsList = ({ returnPageSize }: UseReturnsListProps) => {\n const [loading, setLoading] = useState(true);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>(DEFAULT_PAGE_INFO);\n\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n getCustomerOrdersReturn(returnPageSize, selectedPage)\n .then((response) => {\n setOrderReturns(response?.ordersReturn ?? []);\n setPageInfo(response?.pageInfo ?? DEFAULT_PAGE_INFO);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [returnPageSize, selectedPage]);\n\n useEffect(() => {\n const currentScrollY = window?.scrollY ?? 0;\n\n if (currentScrollY > 0) {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }\n }, [selectedPage]);\n\n const handleSetSelectPage = useCallback((value: number) => {\n setSelectedPage(value);\n }, []);\n\n return {\n pageInfo,\n selectedPage,\n loading,\n orderReturns,\n handleSetSelectPage,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { ReturnsListContent } from '@/order/components';\nimport { useGetStoreConfig, useIsMobile, useReturnsList } from '@/order/hooks';\nimport { ReturnsListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ReturnsList: Container<ReturnsListProps> = ({\n slots,\n withReturnsListButton,\n className,\n minifiedView,\n withHeader,\n withThumbnails,\n returnPageSize,\n returnsInMinifiedView,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { pageInfo, selectedPage, handleSetSelectPage, loading, orderReturns } =\n useReturnsList({ returnPageSize });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Order.Returns.${minifiedViewKey}.returnsList.viewAllOrdersButton`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-returns-list', className])}>\n <ReturnsListContent\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n minifiedViewKey={minifiedViewKey}\n withOrderNumber={true}\n withReturnNumber={true}\n slots={slots}\n selectedPage={selectedPage}\n handleSetSelectPage={handleSetSelectPage}\n pageInfo={pageInfo}\n withReturnsListButton={withReturnsListButton}\n isMobile={isMobile}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n returnsInMinifiedView={returnsInMinifiedView}\n withThumbnails={withThumbnails}\n minifiedView={minifiedView}\n routeReturnDetails={routeReturnDetails}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n routeReturnsList={routeReturnsList}\n routeProductDetails={routeProductDetails}\n loading={loading}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_PAGE_INFO","useReturnsList","returnPageSize","loading","setLoading","useState","orderReturns","setOrderReturns","pageInfo","setPageInfo","selectedPage","setSelectedPage","useEffect","getCustomerOrdersReturn","response","handleSetSelectPage","useCallback","value","ReturnsList","slots","withReturnsListButton","className","minifiedView","withHeader","withThumbnails","returnsInMinifiedView","routeReturnDetails","routeOrderDetails","routeTracking","routeReturnsList","routeProductDetails","storeConfig","useGetStoreConfig","isMobile","useIsMobile","minifiedViewKey","translations","useText","jsx","classes","ReturnsListContent"],"mappings":"y9BAqBA,MAAMA,EAAoB,CAAE,WAAY,EAAG,YAAa,EAAG,SAAU,
|
|
1
|
+
{"version":3,"file":"ReturnsList.js","sources":["/@dropins/storefront-order/src/hooks/containers/useReturnsList.tsx","/@dropins/storefront-order/src/containers/ReturnsList/ReturnsList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { getCustomerOrdersReturn } from '@/order/api';\nimport { OrdersReturnPropsModel } from '@/order/data/models';\nimport { UseReturnsListProps } from '@/order/types';\nimport { useCallback, useEffect, useState } from 'preact/hooks';\n\nconst DEFAULT_PAGE_INFO = { totalPages: 1, currentPage: 1, pageSize: 1 };\n\nexport const useReturnsList = ({ returnPageSize }: UseReturnsListProps) => {\n const [loading, setLoading] = useState(true);\n const [orderReturns, setOrderReturns] = useState<\n OrdersReturnPropsModel[] | []\n >([]);\n\n const [pageInfo, setPageInfo] = useState<{\n totalPages: number;\n currentPage: number;\n pageSize: number;\n }>(DEFAULT_PAGE_INFO);\n\n const [selectedPage, setSelectedPage] = useState<number>(1);\n\n useEffect(() => {\n getCustomerOrdersReturn(returnPageSize, selectedPage)\n .then((response) => {\n setOrderReturns(response?.ordersReturn ?? []);\n setPageInfo(response?.pageInfo ?? DEFAULT_PAGE_INFO);\n })\n .finally(() => {\n setLoading(false);\n });\n }, [returnPageSize, selectedPage]);\n\n useEffect(() => {\n const currentScrollY = window?.scrollY ?? 0;\n\n if (currentScrollY > 0) {\n window?.scrollTo({\n top: 100,\n behavior: 'smooth',\n });\n }\n }, [selectedPage]);\n\n const handleSetSelectPage = useCallback((value: number) => {\n setSelectedPage(value);\n }, []);\n\n return {\n pageInfo,\n selectedPage,\n loading,\n orderReturns,\n handleSetSelectPage,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n *\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { ReturnsListContent } from '@/order/components';\nimport { useGetStoreConfig, useIsMobile, useReturnsList } from '@/order/hooks';\nimport { ReturnsListProps } from '@/order/types';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport const ReturnsList: Container<ReturnsListProps> = ({\n slots,\n withReturnsListButton,\n className,\n minifiedView,\n withHeader,\n withThumbnails,\n returnPageSize,\n returnsInMinifiedView,\n routeReturnDetails,\n routeOrderDetails,\n routeTracking,\n routeReturnsList,\n routeProductDetails,\n}) => {\n const storeConfig = useGetStoreConfig();\n const { pageInfo, selectedPage, handleSetSelectPage, loading, orderReturns } =\n useReturnsList({ returnPageSize });\n const isMobile = useIsMobile();\n\n const minifiedViewKey = minifiedView ? 'minifiedView' : 'fullSizeView';\n\n const translations = useText({\n viewAllOrdersButton: `Order.Returns.${minifiedViewKey}.returnsList.viewAllOrdersButton`,\n ariaLabelLink: `Order.Returns.${minifiedViewKey}.returnsList.ariaLabelLink`,\n emptyOrdersListMessage: `Order.Returns.${minifiedViewKey}.returnsList.emptyOrdersListMessage`,\n minifiedViewTitle: `Order.Returns.${minifiedViewKey}.returnsList.minifiedViewTitle`,\n orderNumber: `Order.Returns.${minifiedViewKey}.returnsList.orderNumber`,\n returnNumber: `Order.Returns.${minifiedViewKey}.returnsList.returnNumber`,\n carrier: `Order.Returns.${minifiedViewKey}.returnsList.carrier`,\n });\n\n return (\n <div className={classes(['order-returns-list', className])}>\n <ReturnsListContent\n placeholderImage={storeConfig?.baseMediaUrl ?? ''}\n minifiedViewKey={minifiedViewKey}\n withOrderNumber={true}\n withReturnNumber={true}\n slots={slots}\n selectedPage={selectedPage}\n handleSetSelectPage={handleSetSelectPage}\n pageInfo={pageInfo}\n withReturnsListButton={withReturnsListButton}\n isMobile={isMobile}\n orderReturns={orderReturns}\n translations={translations}\n withHeader={withHeader}\n returnsInMinifiedView={returnsInMinifiedView}\n withThumbnails={withThumbnails}\n minifiedView={minifiedView}\n routeReturnDetails={routeReturnDetails}\n routeOrderDetails={routeOrderDetails}\n routeTracking={routeTracking}\n routeReturnsList={routeReturnsList}\n routeProductDetails={routeProductDetails}\n loading={loading}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_PAGE_INFO","useReturnsList","returnPageSize","loading","setLoading","useState","orderReturns","setOrderReturns","pageInfo","setPageInfo","selectedPage","setSelectedPage","useEffect","getCustomerOrdersReturn","response","handleSetSelectPage","useCallback","value","ReturnsList","slots","withReturnsListButton","className","minifiedView","withHeader","withThumbnails","returnsInMinifiedView","routeReturnDetails","routeOrderDetails","routeTracking","routeReturnsList","routeProductDetails","storeConfig","useGetStoreConfig","isMobile","useIsMobile","minifiedViewKey","translations","useText","jsx","classes","ReturnsListContent"],"mappings":"y9BAqBA,MAAMA,EAAoB,CAAE,WAAY,EAAG,YAAa,EAAG,SAAU,CAAA,EAExDC,EAAiB,CAAC,CAAE,eAAAC,KAA0C,CACzE,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAS,EAAI,EACrC,CAACC,EAAcC,CAAe,EAAIF,EAEtC,CAAA,CAAE,EAEE,CAACG,EAAUC,CAAW,EAAIJ,EAI7BL,CAAiB,EAEd,CAACU,EAAcC,CAAe,EAAIN,EAAiB,CAAC,EAE1DO,EAAU,IAAM,CACdC,EAAwBX,EAAgBQ,CAAY,EACjD,KAAMI,GAAa,CAClBP,GAAgBO,GAAA,YAAAA,EAAU,eAAgB,EAAE,EAC5CL,GAAYK,GAAA,YAAAA,EAAU,WAAYd,CAAiB,CACrD,CAAC,EACA,QAAQ,IAAM,CACbI,EAAW,EAAK,CAClB,CAAC,CACL,EAAG,CAACF,EAAgBQ,CAAY,CAAC,EAEjCE,EAAU,IAAM,GACS,2BAAQ,UAAW,GAErB,IACnB,qBAAQ,SAAS,CACf,IAAK,IACL,SAAU,QAAA,GAGhB,EAAG,CAACF,CAAY,CAAC,EAEjB,MAAMK,EAAsBC,EAAaC,GAAkB,CACzDN,EAAgBM,CAAK,CACvB,EAAG,CAAA,CAAE,EAEL,MAAO,CACL,SAAAT,EACA,aAAAE,EACA,QAAAP,EACA,aAAAG,EACA,oBAAAS,CAAA,CAEJ,EChDaG,GAA2C,CAAC,CACvD,MAAAC,EACA,sBAAAC,EACA,UAAAC,EACA,aAAAC,EACA,WAAAC,EACA,eAAAC,EACA,eAAAtB,EACA,sBAAAuB,EACA,mBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,oBAAAC,CACF,IAAM,CACJ,MAAMC,EAAcC,EAAA,EACd,CAAE,SAAAxB,EAAU,aAAAE,EAAc,oBAAAK,EAAqB,QAAAZ,EAAS,aAAAG,GAC5DL,EAAe,CAAE,eAAAC,EAAgB,EAC7B+B,EAAWC,EAAA,EAEXC,EAAkBb,EAAe,eAAiB,eAElDc,EAAeC,EAAQ,CAC3B,oBAAqB,iBAAiBF,CAAe,mCACrD,cAAe,iBAAiBA,CAAe,6BAC/C,uBAAwB,iBAAiBA,CAAe,sCACxD,kBAAmB,iBAAiBA,CAAe,iCACnD,YAAa,iBAAiBA,CAAe,2BAC7C,aAAc,iBAAiBA,CAAe,4BAC9C,QAAS,iBAAiBA,CAAe,sBAAA,CAC1C,EAED,OACEG,EAAC,OAAI,UAAWC,EAAQ,CAAC,qBAAsBlB,CAAS,CAAC,EACvD,SAAAiB,EAACE,EAAA,CACC,kBAAkBT,GAAA,YAAAA,EAAa,eAAgB,GAC/C,gBAAAI,EACA,gBAAiB,GACjB,iBAAkB,GAClB,MAAAhB,EACA,aAAAT,EACA,oBAAAK,EACA,SAAAP,EACA,sBAAAY,EACA,SAAAa,EACA,aAAA3B,EACA,aAAA8B,EACA,WAAAb,EACA,sBAAAE,EACA,eAAAD,EACA,aAAAF,EACA,mBAAAI,EACA,kBAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,oBAAAC,EACA,QAAA3B,CAAA,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{
|
|
3
|
+
import{jsxs as S,jsx as i,Fragment as A}from"@dropins/tools/preact-jsx-runtime.js";import{classes as L,VComponent as q,Slot as N}from"@dropins/tools/lib.js";import{Card as R,Header as E,Accordion as V,AccordionSection as B,ContentGrid as M,Image as U}from"@dropins/tools/components.js";import{useState as G,useEffect as D}from"@dropins/tools/preact-hooks.js";import"../chunks/ShippingStatusCard.js";import"@dropins/tools/preact-compat.js";import{u as nn}from"../chunks/useGetStoreConfig.js";import"@dropins/tools/preact.js";import{events as en}from"@dropins/tools/event-bus.js";import{C as pn}from"../chunks/OrderLoaders.js";import{u as tn}from"../chunks/useIsMobile.js";import{Text as H,useText as rn}from"@dropins/tools/i18n.js";import"../chunks/getStoreConfig.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";var Y=(l=>(l.PENDING="pending",l.SHIPPING="shipping",l.COMPLETE="complete",l.PROCESSING="processing",l.HOLD="on hold",l.CANCELED="Canceled",l.SUSPECTED_FRAUD="suspected fraud",l.PAYMENT_REVIEW="payment review",l))(Y||{});const ln=({orderData:l})=>{const[r,p]=G(!0),[n,c]=G(l),[s,g]=G(!1);return D(()=>{const h=en.on("order/data",a=>{c(a),g(a==null?void 0:a.isVirtual),p(!1)},{eager:!0});return l!=null&&l.id&&p(!1),()=>{h==null||h.off()}},[l]),{loading:r,order:n,isVirtualProduct:s}},k=({value:l,variant:r="primary",size:p="medium",icon:n,className:c,children:s,disabled:g=!1,active:h=!1,activeChildren:a,activeIcon:C,href:e,...f})=>{let u="dropin-button";(n&&!s||n&&h&&!a||!n&&h&&C)&&(u="dropin-iconButton"),h&&a&&(u="dropin-button"),c=L([u,`${u}--${p}`,`${u}--${r}`,[`${u}--${r}--disabled`,g],s&&n&&`${u}--with-icon`,!s&&a&&n&&`${u}--with-icon`,h&&C&&`${u}--with-icon`,c]);const b=L(["dropin-button-icon",`dropin-button-icon--${r}`,[`dropin-button-icon--${r}--disabled`,g],n==null?void 0:n.props.className]),m=e?{node:i("a",{}),role:"link",href:e,...f,disabled:g,active:h,onKeyDown:I=>{g&&I.preventDefault()},tabIndex:g?-1:0}:{node:i("button",{}),role:"button",...f,value:l,disabled:g,active:h};return S(q,{...m,className:c,children:[n&&!h&&i(q,{node:n,className:b}),C&&h&&i(q,{node:C,className:b}),s&&!h&&(typeof s=="string"?i("span",{children:s}):s),h&&a&&(typeof a=="string"?i("span",{children:a}):a)]})},sn=({placeholderImage:l,slots:r,collapseThreshold:p,translations:n,returnData:c,routeTracking:s,routeProductDetails:g})=>{var C;const h=tn(),a=g?"a":"span";return S(R,{variant:"secondary",className:L(["order-shipping-status-card","order-shipping-status-card--return-order"]),children:[i(E,{title:n.returnOrderCardTitle}),S("div",{children:[(C=c==null?void 0:c.tracking)==null?void 0:C.map((e,f)=>{var I,O;const u={title:"",number:(e==null?void 0:e.trackingNumber)??"",carrier:((I=e==null?void 0:e.carrier)==null?void 0:I.label)??""},b=s==null?void 0:s(u),m=b?()=>{window.open(b,"_blank","noreferrer")}:null;return S("div",{className:"order-shipping-status-card__header",children:[S("div",{children:[`${n.carrier} `,`${(O=u.carrier)==null?void 0:O.toLocaleUpperCase()} | `,u.number]}),m?i(k,{onClick:m,children:n.trackButton}):null]},`${u.number}_${f}`)}),r!=null&&r.ReturnItemsDetails?i(N,{"data-testid":"returnItemsDetails",name:"ReturnItemsDetails",slot:r==null?void 0:r.ReturnItemsDetails,context:{items:c.items}}):null,i(V,{actionIconPosition:"right","data-testid":"dropinAccordion",children:i(B,{defaultOpen:p>=c.items.length,title:i(H,{id:"Order.ShippingStatusCard.itemText",plural:c.items.reduce((e,f)=>e+f.requestQuantity,0),fields:{count:c.items.reduce((e,f)=>e+f.requestQuantity,0)}}),children:i(M,{maxColumns:h?3:9,emptyGridContent:i(A,{}),className:L(["order-shipping-status-card__images",["order-shipping-status-card__images-3",h]]),children:c.items.map((e,f)=>{var b,m,I;const u={title:((b=e.thumbnail)==null?void 0:b.label)??"",src:((m=e.thumbnail)==null?void 0:m.url)??l,alt:((I=e.thumbnail)==null?void 0:I.label)??"",width:85,height:114,loading:"lazy"};return i(a,{href:(g==null?void 0:g(e))??"#","data-testid":`${f}${e.uid}`,children:i(N,{slotTag:"span",contentTag:"span",name:"ShippingStatusCardImage",slot:r==null?void 0:r.ShippingStatusReturnCardImage,context:{data:e,defaultImageProps:u},children:i(U,{...u})})},`${f}${e.uid}`)})})})})]})]})},dn=({placeholderImage:l,translations:r,slots:p,orderData:n,collapseThreshold:c=10,routeProductDetails:s,routeTracking:g})=>{var O,j,z,F,Q,K,W;const h=!!(n!=null&&n.returnNumber),a=n==null?void 0:n.returnNumber,C=s?"a":"span",e=(O=n==null?void 0:n.status)==null?void 0:O.toLocaleLowerCase(),u=((j=n==null?void 0:n.shipments)==null?void 0:j.length)===1&&(e==null?void 0:e.includes(Y.COMPLETE)),b=(z=n==null?void 0:n.shipments)==null?void 0:z.every(t=>t.tracking.length===0),m=(F=n==null?void 0:n.items)==null?void 0:F.filter(t=>(t==null?void 0:t.quantityShipped)===0||(t==null?void 0:t.quantityShipped)<(t==null?void 0:t.quantityOrdered)),I=(Q=n==null?void 0:n.items)==null?void 0:Q.reduce((t,o)=>{const T=o.quantityOrdered-o.quantityShipped;return t+(T>0?T:0)},0);if(h&&(n!=null&&n.returns.length)){const t=n.returns.find(o=>o.returnNumber===a);return!t||t.tracking.length===0?null:i(sn,{placeholderImage:l,slots:p,collapseThreshold:c,translations:r,returnData:t,routeTracking:g,routeProductDetails:s})}return!n||e!=null&&e.includes(Y.CANCELED)?null:(K=n==null?void 0:n.shipments)!=null&&K.length?b&&!(m!=null&&m.length)&&u?null:S(A,{children:[(W=n==null?void 0:n.shipments)==null?void 0:W.map(({tracking:t,items:o,id:T},w)=>{const _=o.reduce((d,y)=>d+((y==null?void 0:y.quantityShipped)??y.orderItem.quantityShipped??0),0);return S(R,{variant:"secondary",className:"order-shipping-status-card",children:[i(E,{title:r.shippingCardTitle}),t==null?void 0:t.map(d=>{var x;const y=g==null?void 0:g(d),$=y?()=>{window.open(y,"_blank","noreferrer")}:null;return S("div",{className:"order-shipping-status-card__header",role:"status",children:[S("div",{className:"order-shipping-status-card__header--content",children:[S("p",{children:[r.carrier," ",(x=d==null?void 0:d.carrier)==null?void 0:x.toLocaleUpperCase()," | ",d==null?void 0:d.number]}),i("p",{children:d==null?void 0:d.title})]}),p!=null&&p.DeliveryTrackActions?i(N,{"data-testid":"deliverySlotActions",name:"DeliveryTrackActions",slot:p==null?void 0:p.DeliveryTrackActions,context:{trackInformation:d}}):$?i(k,{onClick:$,children:r.trackButton}):null]},d.number)}),u?null:i(V,{actionIconPosition:"right","data-testid":"dropinAccordion",children:i(B,{"data-position":w+1,defaultOpen:c>=(o==null?void 0:o.length),title:i(H,{id:"Order.ShippingStatusCard.notYetShippedImagesTitle",plural:_,fields:{count:_}}),children:i(M,{maxColumns:6,emptyGridContent:i(A,{}),className:"order-shipping-status-card__images",children:o==null?void 0:o.map(d=>{var x,J,X,Z,v,P;const y=((X=(J=(x=d==null?void 0:d.orderItem)==null?void 0:x.product)==null?void 0:J.thumbnail)==null?void 0:X.label)??"",$={title:y,src:((P=(v=(Z=d==null?void 0:d.orderItem)==null?void 0:Z.product)==null?void 0:v.thumbnail)==null?void 0:P.url)??l,alt:y,width:85,height:114,loading:"eager"};return i(C,{href:(s==null?void 0:s(d))??"#",children:i(N,{slotTag:"span",contentTag:"span",name:"ShippingStatusCardImage",slot:p==null?void 0:p.ShippingStatusCardImage,context:{data:d,defaultImageProps:$},children:i(U,{...$})})},d.id)})})})}),p!=null&&p.DeliveryTimeLine?i(N,{"data-testid":"deliverySlotTimeLine",name:"DeliveryTimeLine",slot:p==null?void 0:p.DeliveryTimeLine,context:{}}):null]},T)}),m!=null&&m.length?S(R,{variant:"secondary",className:"order-shipping-status-card","data-testid":"dropinAccordionNotYetShipped2",children:[i(E,{title:r.notYetShippedTitle}),i(V,{actionIconPosition:"right",children:i(B,{defaultOpen:c>=(m==null?void 0:m.length),title:i(H,{id:"Order.ShippingStatusCard.notYetShippedImagesTitle",plural:I,fields:{count:I}}),children:i(M,{maxColumns:6,emptyGridContent:i(A,{}),className:"order-shipping-status-card__images",children:m==null?void 0:m.map(t=>{var T,w,_;const o={title:((T=t.thumbnail)==null?void 0:T.label)??"",src:((w=t.thumbnail)==null?void 0:w.url)??"",alt:((_=t.thumbnail)==null?void 0:_.label)??"",width:85,height:114,loading:"lazy"};return i(C,{href:(s==null?void 0:s(t))??"#",children:i(N,{slotTag:"span",contentTag:"span",name:"NotYetShippedProductImage",slot:p==null?void 0:p.NotYetShippedProductImage,context:{data:t,defaultImageProps:o},children:i(U,{...o})})},t.id)})})})})]}):null]}):S(R,{variant:"secondary",className:"order-shipping-status-card",children:[i(E,{title:r.shippingInfoTitle}),i("div",{className:"order-shipping-status-card__header",children:S("div",{className:"order-shipping-status-card__header--content",children:[n!=null&&n.carrier?i("p",{children:n==null?void 0:n.carrier}):null,i("p",{children:r.noInfoTitle})]})})]})},On=({slots:l,className:r,collapseThreshold:p,orderData:n,routeOrderDetails:c,routeTracking:s,routeProductDetails:g})=>{const{loading:h,order:a,isVirtualProduct:C}=ln({orderData:n}),e=nn(),f=rn({carrier:"Order.ShippingStatusCard.carrier",prepositionOf:"Order.ShippingStatusCard.prepositionOf",returnOrderCardTitle:"Order.ShippingStatusCard.returnOrderCardTitle",shippingCardTitle:"Order.ShippingStatusCard.shippingCardTitle",shippingInfoTitle:"Order.ShippingStatusCard.shippingInfoTitle",notYetShippedTitle:"Order.ShippingStatusCard.notYetShippedTitle",noInfoTitle:"Order.ShippingStatusCard.noInfoTitle",returnNumber:"Order.ShippingStatusCard.returnNumber",orderNumber:"Order.ShippingStatusCard.orderNumber",trackButton:"Order.ShippingStatusCard.trackButton"});if(!h&&C)return null;const u=(e==null?void 0:e.baseMediaUrl)??"";return i("div",{className:L(["order-shipping-status",r]),children:!h&&a?i(dn,{placeholderImage:u,translations:f,routeOrderDetails:c,routeTracking:s,slots:l,orderData:a,collapseThreshold:p,routeProductDetails:g}):i(pn,{withCard:!1})})};export{On as ShippingStatus,On as default};
|
|
4
4
|
//# sourceMappingURL=ShippingStatus.js.map
|