@dropins/storefront-requisition-list 0.6.0-beta → 0.7.0-beta
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/addProductsToRequisitionList/addProductsToRequisitionList.d.ts +11 -2
- package/api/updateRequisitionList/index.d.ts +1 -1
- package/api/updateRequisitionList/updateRequisitionList.d.ts +1 -1
- package/api.js +1 -7
- package/api.js.map +1 -1
- package/chunks/PageSizePicker.js +1 -1
- package/chunks/PageSizePicker.js.map +1 -1
- package/chunks/RequisitionListActions.js +4 -0
- package/chunks/RequisitionListActions.js.map +1 -0
- package/chunks/RequisitionListForm.js +1 -37
- package/chunks/RequisitionListForm.js.map +1 -1
- package/chunks/RequisitionListForm2.js +21 -0
- package/chunks/RequisitionListForm2.js.map +1 -0
- package/chunks/RequisitionListHeader.js +4 -0
- package/chunks/RequisitionListHeader.js.map +1 -0
- package/chunks/RequisitionListModal.js +4 -0
- package/chunks/RequisitionListModal.js.map +1 -0
- package/chunks/RequisitionListView.js +4 -0
- package/chunks/RequisitionListView.js.map +1 -0
- package/chunks/addRequisitionListItemsToCart.js +14 -14
- package/chunks/addRequisitionListItemsToCart.js.map +1 -1
- package/chunks/deleteRequisitionList.js +1 -1
- package/chunks/deleteRequisitionList.js.map +1 -1
- package/chunks/getRequisitionLists.js +1 -1
- package/chunks/getRequisitionLists.js.map +1 -1
- package/chunks/isRequisitionListEnabled.js +10 -0
- package/chunks/isRequisitionListEnabled.js.map +1 -0
- package/chunks/state.js +4 -0
- package/chunks/state.js.map +1 -0
- package/chunks/updateRequisitionList.js +108 -0
- package/chunks/updateRequisitionList.js.map +1 -0
- package/components/NotFound/NotFound.d.ts +11 -0
- package/{containers/RequisitionListNames → components/NotFound}/index.d.ts +2 -2
- package/components/RequisitionListHeader/RequisitionListHeader.d.ts +20 -0
- package/components/RequisitionListHeader/index.d.ts +19 -0
- package/components/index.d.ts +2 -0
- package/containers/RequisitionListForm.js +1 -1
- package/containers/RequisitionListGrid/RequisitionListGrid.d.ts +0 -2
- package/containers/RequisitionListGrid.js +1 -1
- package/containers/RequisitionListGrid.js.map +1 -1
- package/containers/RequisitionListHeader/RequisitionListHeader.d.ts +10 -0
- package/containers/RequisitionListHeader/index.d.ts +19 -0
- package/containers/RequisitionListHeader.d.ts +1 -0
- package/containers/RequisitionListHeader.js +4 -0
- package/containers/RequisitionListHeader.js.map +1 -0
- package/containers/RequisitionListSelector/RequisitionListSelector.d.ts +12 -0
- package/containers/RequisitionListSelector/index.d.ts +19 -0
- package/containers/RequisitionListSelector.d.ts +3 -0
- package/containers/RequisitionListSelector.js +23 -0
- package/containers/RequisitionListSelector.js.map +1 -0
- package/containers/RequisitionListView/RequisitionListView.d.ts +12 -5
- package/containers/RequisitionListView.js +1 -1
- package/containers/RequisitionListView.js.map +1 -1
- package/containers/index.d.ts +2 -1
- package/hooks/index.d.ts +1 -0
- package/hooks/useRequisitionListGrid.d.ts +1 -2
- package/hooks/useRequisitionListSelectedItems.d.ts +3 -3
- package/hooks/useRequisitionLists.d.ts +7 -0
- package/i18n/en_US.json.d.ts +25 -10
- package/lib/constants.d.ts +21 -0
- package/lib/state.d.ts +10 -16
- package/lib/validate-uid.d.ts +25 -0
- package/package.json +1 -1
- package/render.js +4 -3
- package/render.js.map +1 -1
- package/chunks/PageSizePicker2.js +0 -4
- package/chunks/PageSizePicker2.js.map +0 -1
- package/chunks/RequisitionListItemsFragment.graphql.js +0 -75
- package/chunks/RequisitionListItemsFragment.graphql.js.map +0 -1
- package/chunks/transform-requisition-list.js +0 -12
- package/chunks/transform-requisition-list.js.map +0 -1
- package/containers/RequisitionListNames/RequisitionListNames.d.ts +0 -15
- package/containers/RequisitionListNames.d.ts +0 -3
- package/containers/RequisitionListNames.js +0 -23
- package/containers/RequisitionListNames.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageSizePicker2.js","sources":["/@dropins/storefront-requisition-list/src/hooks/useRequisitionListAlert.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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, useMemo, useState } from 'preact/compat';\nimport { RequisitionListActionPayload } from 'adobe-commerce/event-bus';\nimport { useText } from '@adobe-commerce/elsie/i18n';\n\nexport interface Alert {\n type: string;\n description: string;\n action?: string;\n sku?: string;\n}\n\nexport function useRequisitionListAlert(\n translationsOverride?: Record<string, string>\n) {\n const [alert, setAlert] = useState<Alert | null>(null);\n\n const defaultTranslations = useText({\n errorCreate: `RequisitionList.RequisitionListAlert.errorCreate`,\n successCreate: `RequisitionList.RequisitionListAlert.successCreate`,\n errorDeleteItem: `RequisitionList.RequisitionListAlert.errorDeleteItem`,\n successDeleteItem: `RequisitionList.RequisitionListAlert.successDeleteItem`,\n errorDeleteReqList: `RequisitionList.RequisitionListAlert.errorDeleteReqList`,\n successDeleteReqList: `RequisitionList.RequisitionListAlert.successDeleteReqList`,\n errorAddToCart: `RequisitionList.RequisitionListAlert.errorAddToCart`,\n successAddToCart: `RequisitionList.RequisitionListAlert.successAddToCart`,\n errorUpdateQuantity: `RequisitionList.RequisitionListAlert.errorUpdateQuantity`,\n successUpdateQuantity: `RequisitionList.RequisitionListAlert.successUpdateQuantity`,\n errorUpdate: `RequisitionList.RequisitionListAlert.errorUpdate`,\n successUpdate: `RequisitionList.RequisitionListAlert.successUpdate`,\n errorMove: `RequisitionList.RequisitionListAlert.errorMove`,\n successMove: `RequisitionList.RequisitionListAlert.successMove`,\n errorAddToRequisitionList: `RequisitionList.RequisitionListAlert.errorAddToRequisitionList`,\n successAddToRequisitionList: `RequisitionList.RequisitionListAlert.successAddToRequisitionList`,\n });\n\n const translations = useMemo(\n () => ({\n ...defaultTranslations,\n ...translationsOverride,\n }),\n [defaultTranslations, translationsOverride]\n );\n\n const messages = useMemo(\n () => ({\n create: {\n // adding context for consistency, although 'create' action only applies to requisition lists\n requisitionList: {\n success: translations.successCreate,\n error: translations.errorCreate,\n },\n },\n add: {\n product: {\n success: translations.successAddToRequisitionList,\n error: translations.errorAddToRequisitionList,\n },\n },\n update: {\n product: {\n success: translations.successUpdateQuantity,\n error: translations.errorUpdateQuantity,\n },\n requisitionList: {\n success: translations.successUpdate,\n error: translations.errorUpdate,\n },\n },\n delete: {\n product: {\n success: translations.successDeleteItem,\n error: translations.errorDeleteItem,\n },\n requisitionList: {\n success: translations.successDeleteReqList,\n error: translations.errorDeleteReqList,\n },\n },\n move: {\n // adding context for consistency, although 'move' action only applies to products\n product: {\n success: translations.successMove,\n error: translations.errorMove,\n },\n },\n }),\n [translations]\n );\n\n const handleRequisitionListAlert = useCallback(\n (payload: RequisitionListActionPayload) => {\n const { type, action, context, skus } = payload;\n setAlert({\n type,\n description: messages[action][context][type],\n sku: skus?.[0],\n });\n\n const timer = setTimeout(() => {\n setAlert(null);\n }, 5000);\n\n return () => clearTimeout(timer);\n },\n [messages]\n );\n\n return { alert, setAlert, handleRequisitionListAlert };\n}\n"],"names":["useRequisitionListAlert","translationsOverride","alert","setAlert","useState","defaultTranslations","useText","translations","useMemo","messages","handleRequisitionListAlert","useCallback","payload","type","action","context","skus","timer"],"mappings":"0IA4BO,SAASA,EACdC,EACA,CACA,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAuB,IAAI,EAE/CC,EAAsBC,EAAQ,CAClC,YAAa,mDACb,cAAe,qDACf,gBAAiB,uDACjB,kBAAmB,yDACnB,mBAAoB,0DACpB,qBAAsB,4DACtB,eAAgB,sDAChB,iBAAkB,wDAClB,oBAAqB,2DACrB,sBAAuB,6DACvB,YAAa,mDACb,cAAe,qDACf,UAAW,iDACX,YAAa,mDACb,0BAA2B,iEAC3B,4BAA6B,kEAAA,CAC9B,EAEKC,EAAeC,EACnB,KAAO,CACL,GAAGH,EACH,GAAGJ,CAAA,GAEL,CAACI,EAAqBJ,CAAoB,CAC5C,EAEMQ,EAAWD,EACf,KAAO,CACL,OAAQ,CAEN,gBAAiB,CACf,QAASD,EAAa,cACtB,MAAOA,EAAa,WAAA,CAExB,EACA,IAAK,CACH,QAAS,CACP,QAASA,EAAa,4BACtB,MAAOA,EAAa,yBAAA,CAExB,EACA,OAAQ,CACN,QAAS,CACP,QAASA,EAAa,sBACtB,MAAOA,EAAa,mBACtB,EACA,gBAAiB,CACf,QAASA,EAAa,cACtB,MAAOA,EAAa,WAAA,CAExB,EACA,OAAQ,CACN,QAAS,CACP,QAASA,EAAa,kBACtB,MAAOA,EAAa,eACtB,EACA,gBAAiB,CACf,QAASA,EAAa,qBACtB,MAAOA,EAAa,kBAAA,CAExB,EACA,KAAM,CAEJ,QAAS,CACP,QAASA,EAAa,YACtB,MAAOA,EAAa,SAAA,CACtB,CACF,GAEF,CAACA,CAAY,CACf,EAEMG,EAA6BC,EAChCC,GAA0C,CACzC,KAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,QAAAC,EAAS,KAAAC,CAAS,EAAAJ,EAC/BT,EAAA,CACP,KAAAU,EACA,YAAaJ,EAASK,CAAM,EAAEC,CAAO,EAAEF,CAAI,EAC3C,IAAKG,GAAA,YAAAA,EAAO,EAAC,CACd,EAEK,MAAAC,EAAQ,WAAW,IAAM,CAC7Bd,EAAS,IAAI,GACZ,GAAI,EAEA,MAAA,IAAM,aAAac,CAAK,CACjC,EACA,CAACR,CAAQ,CACX,EAEO,MAAA,CAAE,MAAAP,EAAO,SAAAC,EAAU,2BAAAO,CAA2B,CACvD"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/*! Copyright 2025 Adobe
|
|
2
|
-
All Rights Reserved. */
|
|
3
|
-
const e=`
|
|
4
|
-
fragment REQUISITION_LIST_ITEMS_FRAGMENT on RequistionListItems {
|
|
5
|
-
items {
|
|
6
|
-
uid
|
|
7
|
-
quantity
|
|
8
|
-
product {
|
|
9
|
-
sku
|
|
10
|
-
}
|
|
11
|
-
customizable_options {
|
|
12
|
-
customizable_option_uid
|
|
13
|
-
is_required
|
|
14
|
-
label
|
|
15
|
-
sort_order
|
|
16
|
-
type
|
|
17
|
-
values {
|
|
18
|
-
customizable_option_value_uid
|
|
19
|
-
label
|
|
20
|
-
value
|
|
21
|
-
price {
|
|
22
|
-
type
|
|
23
|
-
units
|
|
24
|
-
value
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
... on ConfigurableRequisitionListItem {
|
|
29
|
-
configurable_options {
|
|
30
|
-
configurable_product_option_uid
|
|
31
|
-
configurable_product_option_value_uid
|
|
32
|
-
option_label
|
|
33
|
-
value_label
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
... on DownloadableRequisitionListItem {
|
|
37
|
-
links {
|
|
38
|
-
price
|
|
39
|
-
sample_url
|
|
40
|
-
sort_order
|
|
41
|
-
title
|
|
42
|
-
uid
|
|
43
|
-
}
|
|
44
|
-
samples {
|
|
45
|
-
sample_url
|
|
46
|
-
sort_order
|
|
47
|
-
title
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
... on GiftCardRequisitionListItem {
|
|
51
|
-
gift_card_options {
|
|
52
|
-
amount {
|
|
53
|
-
currency
|
|
54
|
-
value
|
|
55
|
-
}
|
|
56
|
-
custom_giftcard_amount {
|
|
57
|
-
currency
|
|
58
|
-
value
|
|
59
|
-
}
|
|
60
|
-
message
|
|
61
|
-
recipient_email
|
|
62
|
-
recipient_name
|
|
63
|
-
sender_name
|
|
64
|
-
sender_email
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
page_info {
|
|
69
|
-
page_size
|
|
70
|
-
current_page
|
|
71
|
-
total_pages
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
`;export{e as R};
|
|
75
|
-
//# sourceMappingURL=RequisitionListItemsFragment.graphql.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequisitionListItemsFragment.graphql.js","sources":["/@dropins/storefront-requisition-list/src/api/fragments/RequisitionListItemsFragment.graphql.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 REQUISITION_LIST_ITEMS_FRAGMENT = `\nfragment REQUISITION_LIST_ITEMS_FRAGMENT on RequistionListItems {\n items {\n uid\n quantity\n product {\n sku\n }\n customizable_options {\n customizable_option_uid\n is_required\n label\n sort_order\n type\n values {\n customizable_option_value_uid\n label\n value\n price {\n type\n units\n value\n }\n }\n }\n ... on ConfigurableRequisitionListItem {\n configurable_options {\n configurable_product_option_uid\n configurable_product_option_value_uid\n option_label\n value_label\n }\n }\n ... on DownloadableRequisitionListItem {\n links {\n price\n sample_url\n sort_order\n title\n uid\n }\n samples {\n sample_url\n sort_order\n title\n }\n }\n ... on GiftCardRequisitionListItem {\n gift_card_options {\n amount {\n currency\n value\n }\n custom_giftcard_amount {\n currency\n value\n }\n message\n recipient_email\n recipient_name\n sender_name\n sender_email\n }\n }\n }\n page_info {\n page_size\n current_page\n total_pages\n }\n}\n`;\n"],"names":["REQUISITION_LIST_ITEMS_FRAGMENT"],"mappings":"AAiBO,MAAMA,EAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/*! Copyright 2025 Adobe
|
|
2
|
-
All Rights Reserved. */
|
|
3
|
-
import{FetchGraphQL as s}from"@dropins/tools/fetch-graphql.js";const{setEndpoint:u,setFetchGraphQlHeader:n,removeFetchGraphQlHeader:_,setFetchGraphQlHeaders:l,fetchGraphQl:p,getConfig:c}=new s().getMethods(),d=r=>{const o=r.map(e=>e.message).join(" ");throw Error(o)},b=`
|
|
4
|
-
fragment REQUISITION_LIST_FRAGMENT on RequisitionList {
|
|
5
|
-
uid
|
|
6
|
-
name
|
|
7
|
-
description
|
|
8
|
-
items_count
|
|
9
|
-
updated_at
|
|
10
|
-
}
|
|
11
|
-
`;function f(r){var o,e;return{uid:r.uid,name:r.name,description:r.description,updated_at:r.updated_at,items_count:r.items_count,items:a((o=r.items)==null?void 0:o.items),page_info:(e=r.items)==null?void 0:e.page_info}}function a(r){return r!=null&&r.length?r.map(o=>({uid:o.uid,sku:o.product.sku,quantity:o.quantity,customizable_options:o.customizable_options?o.customizable_options.map(e=>({uid:e.customizable_option_uid,is_required:e.is_required,label:e.label,sort_order:e.sort_order,type:e.type,values:e.values.map(t=>({uid:t.customizable_option_value_uid,label:t.label,price:t.price,value:t.value}))})):[],bundle_options:o.bundle_options||[],configurable_options:o.configurable_options?o.configurable_options.map(e=>({option_uid:e.configurable_product_option_uid,option_label:e.option_label,value_uid:e.configurable_product_option_value_uid,value_label:e.value_label})):[],samples:o.samples?o.samples.map(e=>({url:e.sample_url,sort_order:e.sort_order,title:e.title})):[],gift_card_options:o.gift_card_options||{}})):[]}export{b as R,n as a,l as b,p as f,c as g,d as h,_ as r,u as s,f as t};
|
|
12
|
-
//# sourceMappingURL=transform-requisition-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform-requisition-list.js","sources":["/@dropins/storefront-requisition-list/src/api/fetch-graphql/fetch-graphql.ts","/@dropins/storefront-requisition-list/src/lib/fetch-error.ts","/@dropins/storefront-requisition-list/src/api/fragments/RequisitionListFragment.graphql.ts","/@dropins/storefront-requisition-list/src/data/transforms/transform-requisition-list.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 REQUISITION_LIST_FRAGMENT = `\nfragment REQUISITION_LIST_FRAGMENT on RequisitionList {\n uid\n name\n description\n items_count\n updated_at\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 *******************************************************************/\nimport { RequisitionList } from '../models/requisitionList';\nimport { Item } from '@/requisitionList/data/models/item';\n\n// Interface for raw API response data for a requisition list\nexport interface RawRequisitionListData {\n name: string;\n description: string;\n uid: string;\n updated_at: string;\n items_count: number;\n items: {\n items: RawItemData[];\n page_info: {\n total_pages: number;\n current_page: number;\n page_size: number;\n };\n };\n}\n\nexport function transformRequisitionList(\n data: RawRequisitionListData\n): RequisitionList | null {\n return {\n uid: data.uid,\n name: data.name,\n description: data.description,\n updated_at: data.updated_at,\n items_count: data.items_count,\n items: transformItems(data.items?.items),\n page_info: data.items?.page_info,\n };\n}\n\n// Interface for raw item data\ninterface RawItemData {\n uid: string;\n product: {\n sku: string;\n };\n quantity: number;\n customizable_options?: {\n customizable_option_uid: string;\n is_required: boolean;\n label: string;\n sort_order: number;\n type: string;\n values: {\n customizable_option_value_uid: string;\n label: string;\n price: { type: string; units: string; value: number };\n value: string;\n }[];\n }[];\n bundle_options?: {\n uid: string;\n label: string;\n type: string;\n values: {\n uid: string;\n label: string;\n original_price: { value: number; currency: string };\n priceV2: { value: number; currency: string };\n quantity: number;\n }[];\n }[];\n configurable_options?: {\n configurable_product_option_uid: string;\n option_label: string;\n configurable_product_option_value_uid: string;\n value_label: string;\n }[];\n links?: {\n uid: string;\n price?: number;\n sample_url?: string;\n sort_order?: number;\n title?: string;\n }[];\n samples?: {\n sample_url?: string;\n sort_order?: number;\n title?: string;\n }[];\n gift_card_options?: {\n amount?: {\n value?: number;\n currency?: string;\n };\n custom_giftcard_amount?: {\n value?: number;\n currency?: string;\n };\n message?: string;\n recipient_email?: string;\n recipient_name?: string;\n sender_name?: string;\n sender_email?: string;\n };\n}\n\nfunction transformItems(items: RawItemData[]): Item[] {\n if (!items?.length) return [];\n\n return items.map((item: RawItemData) => {\n return {\n uid: item.uid,\n sku: item.product.sku,\n quantity: item.quantity,\n customizable_options: item.customizable_options\n ? item.customizable_options.map((option) => ({\n uid: option.customizable_option_uid,\n is_required: option.is_required,\n label: option.label,\n sort_order: option.sort_order,\n type: option.type,\n values: option.values.map((value) => ({\n uid: value.customizable_option_value_uid,\n label: value.label,\n price: value.price,\n value: value.value,\n })),\n }))\n : [],\n bundle_options: item.bundle_options || [],\n configurable_options: item.configurable_options\n ? item.configurable_options.map((option) => ({\n option_uid: option.configurable_product_option_uid,\n option_label: option.option_label,\n value_uid: option.configurable_product_option_value_uid,\n value_label: option.value_label,\n }))\n : [],\n samples: item.samples\n ? item.samples.map((sample) => ({\n url: sample.sample_url,\n sort_order: sample.sort_order,\n title: sample.title,\n }))\n : [],\n gift_card_options: item.gift_card_options || {},\n };\n });\n}\n"],"names":["setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL","handleFetchError","errors","errorMessage","REQUISITION_LIST_FRAGMENT","transformRequisitionList","data","transformItems","_a","_b","items","item","option","value","sample"],"mappings":"+DAmBa,KAAA,CACX,YAAAA,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAa,EAAE,WAAW,ECRrBC,EAAoBC,GAAuC,CAChE,MAAAC,EAAeD,EAAO,IAAK,GAAW,EAAE,OAAO,EAAE,KAAK,GAAG,EAE/D,MAAM,MAAMC,CAAY,CAC1B,ECLaC,EAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECmBlC,SAASC,EACdC,EACwB,SACjB,MAAA,CACL,IAAKA,EAAK,IACV,KAAMA,EAAK,KACX,YAAaA,EAAK,YAClB,WAAYA,EAAK,WACjB,YAAaA,EAAK,YAClB,MAAOC,GAAeC,EAAAF,EAAK,QAAL,YAAAE,EAAY,KAAK,EACvC,WAAWC,EAAAH,EAAK,QAAL,YAAAG,EAAY,SACzB,CACF,CAqEA,SAASF,EAAeG,EAA8B,CACpD,OAAKA,GAAA,MAAAA,EAAO,OAELA,EAAM,IAAKC,IACT,CACL,IAAKA,EAAK,IACV,IAAKA,EAAK,QAAQ,IAClB,SAAUA,EAAK,SACf,qBAAsBA,EAAK,qBACvBA,EAAK,qBAAqB,IAAKC,IAAY,CACzC,IAAKA,EAAO,wBACZ,YAAaA,EAAO,YACpB,MAAOA,EAAO,MACd,WAAYA,EAAO,WACnB,KAAMA,EAAO,KACb,OAAQA,EAAO,OAAO,IAAKC,IAAW,CACpC,IAAKA,EAAM,8BACX,MAAOA,EAAM,MACb,MAAOA,EAAM,MACb,MAAOA,EAAM,KAAA,EACb,CACJ,EAAE,EACF,CAAC,EACL,eAAgBF,EAAK,gBAAkB,CAAC,EACxC,qBAAsBA,EAAK,qBACvBA,EAAK,qBAAqB,IAAKC,IAAY,CACzC,WAAYA,EAAO,gCACnB,aAAcA,EAAO,aACrB,UAAWA,EAAO,sCAClB,YAAaA,EAAO,WACtB,EAAE,EACF,CAAC,EACL,QAASD,EAAK,QACVA,EAAK,QAAQ,IAAKG,IAAY,CAC5B,IAAKA,EAAO,WACZ,WAAYA,EAAO,WACnB,MAAOA,EAAO,KAChB,EAAE,EACF,CAAC,EACL,kBAAmBH,EAAK,mBAAqB,CAAA,CAC/C,EACD,EAxC0B,CAAC,CAyC9B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
-
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
-
import { RequisitionList } from '../../data/models/requisitionList.js';
|
|
4
|
-
|
|
5
|
-
export interface RequisitionListNamesProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
items?: RequisitionList[];
|
|
7
|
-
canCreate?: boolean;
|
|
8
|
-
sku: string;
|
|
9
|
-
selectedOptions?: string[];
|
|
10
|
-
quantity?: number;
|
|
11
|
-
variant?: 'neutral' | 'hover';
|
|
12
|
-
beforeAddProdToReqList?: () => Promise<void> | void;
|
|
13
|
-
}
|
|
14
|
-
export declare const RequisitionListNames: Container<RequisitionListNamesProps>;
|
|
15
|
-
//# sourceMappingURL=RequisitionListNames.d.ts.map
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*! Copyright 2025 Adobe
|
|
2
|
-
All Rights Reserved. */
|
|
3
|
-
import{jsxs as v,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import*as u from"@dropins/tools/preact-compat.js";import{useState as L,useEffect as R}from"@dropins/tools/preact-compat.js";import{InLineAlert as N,Picker as y,Icon as A,Card as U}from"@dropins/tools/components.js";import{R as O,f as x,h as M,t as $}from"../chunks/transform-requisition-list.js";import{events as o}from"@dropins/tools/event-bus.js";import{R as w}from"../chunks/RequisitionListItemsFragment.graphql.js";import{g as D}from"../chunks/getRequisitionLists.js";import{R as F}from"../chunks/RequisitionListForm.js";import"@dropins/tools/lib.js";import"@dropins/tools/preact-hooks.js";/* empty css */import{u as k}from"../chunks/PageSizePicker2.js";import"@dropins/tools/preact.js";import{useText as Q}from"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";const C=`
|
|
4
|
-
mutation ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION(
|
|
5
|
-
$requisitionListUid: ID!,
|
|
6
|
-
$requisitionListItems: [RequisitionListItemsInput!]!
|
|
7
|
-
) {
|
|
8
|
-
addProductsToRequisitionList(
|
|
9
|
-
requisitionListUid: $requisitionListUid
|
|
10
|
-
requisitionListItems: $requisitionListItems
|
|
11
|
-
) {
|
|
12
|
-
requisition_list {
|
|
13
|
-
...REQUISITION_LIST_FRAGMENT
|
|
14
|
-
items {
|
|
15
|
-
...REQUISITION_LIST_ITEMS_FRAGMENT
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
${w}
|
|
21
|
-
${O}
|
|
22
|
-
`,P=async(e,n)=>{const{errors:i,data:d}=await x(C,{variables:{requisitionListUid:e,requisitionListItems:n}});if(i)return M(i);const a=$(d.addProductsToRequisitionList.requisition_list);return o.emit("requisitionList/data",a),a},G=e=>u.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M3 12H21",stroke:"currentColor"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M3 6H21",stroke:"currentColor"}),u.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M3 18H21",stroke:"currentColor"})),st=({items:e=[],canCreate:n=!0,sku:i,selectedOptions:d,quantity:a=1,variant:h="neutral",beforeAddProdToReqList:p,...E})=>{const[m,_]=L(e),[q,c]=L(!1),I=Q({createTitle:"RequisitionList.RequisitionListForm.createTitle",addToReqList:"RequisitionList.RequisitionListForm.addToRequisitionList"});R(()=>{(!e||e.length===0)&&D().then(t=>{_((t==null?void 0:t.items)||[])}).catch(t=>{console.error("Error fetching requisition lists:",t),_([])})},[e]);const S=[...(m==null?void 0:m.map(t=>({value:t.uid,text:t.name})))??[],...n?[{value:"__create__",text:I.createTitle}]:[]],T=async t=>{if(p)try{await p()}catch{return}try{await P(t,[{sku:i,quantity:a,selected_options:d}])}catch(s){console.error("Error adding product to list:",s)}},{alert:l,setAlert:g,handleRequisitionListAlert:f}=k();return R(()=>{const t=o.on("requisitionList/alert",f);return()=>{t==null||t.off()}},[f]),v("div",{...E,className:`requisition-list-names ${h==="hover"?"requisition-list-names--modal-hover":""}`,children:[l&&i===l.sku&&r(N,{id:`requisition-list-names__alert__${i}`,className:"requisition-list-names__alert",heading:l.description,type:l.type,variant:"primary",onDismiss:()=>g(null)}),r(y,{id:`requisition-list-names__picker__${i}`,className:"requisition-list-names__picker",name:`requisition-list-names__picker__${i}`,icon:r(A,{source:G}),variant:"secondary",placeholder:I.addToReqList,disabled:q,size:"medium",options:S,handleSelect:t=>{const s=t.currentTarget.value;if(s==="__create__"){c(!0);return}s&&T(s).then(()=>{o.emit("requisitionList/alert",{action:"add",type:"success",context:"product",skus:[i]}),c(!1),t.target.value=""})}}),n&&q&&r(U,{variant:"secondary",children:r(F,{mode:"create",onSuccess:async t=>{T(t.uid).then(()=>{o.emit("requisitionList/alert",{action:"add",type:"success",context:"product",skus:[i]}),c(!1),_(s=>[...s,t])})},onError:()=>{o.emit("requisitionList/alert",{action:"add",type:"error",context:"product",skus:[i]})},onCancel:()=>c(!1)})})]})};export{st as RequisitionListNames,st as default};
|
|
23
|
-
//# sourceMappingURL=RequisitionListNames.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequisitionListNames.js","sources":["/@dropins/storefront-requisition-list/src/api/addProductsToRequisitionList/graphql/addProductsToRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/addProductsToRequisitionList/addProductsToRequisitionList.ts","../../node_modules/@adobe-commerce/elsie/src/icons/Burger.svg","/@dropins/storefront-requisition-list/src/containers/RequisitionListNames/RequisitionListNames.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\nimport { REQUISITION_LIST_ITEMS_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListItemsFragment.graphql';\n\nexport const ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION = `\n mutation ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION(\n $requisitionListUid: ID!, \n $requisitionListItems: [RequisitionListItemsInput!]!\n ) {\n addProductsToRequisitionList(\n requisitionListUid: $requisitionListUid\n requisitionListItems: $requisitionListItems\n ) {\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n items {\n ...REQUISITION_LIST_ITEMS_FRAGMENT\n }\n }\n }\n }\n${REQUISITION_LIST_ITEMS_FRAGMENT}\n${REQUISITION_LIST_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION } from '@/requisitionList/api/addProductsToRequisitionList/graphql/addProductsToRequisitionList';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { Product } from '@/requisitionList/data/models/item';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const addProductsToRequisitionList = async (\n requisitionListUid: string,\n requisitionListItems: Array<Product>\n): Promise<RequisitionList | null> => {\n const { errors, data } = await fetchGraphQl(\n ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION,\n {\n variables: {\n requisitionListUid,\n requisitionListItems,\n },\n }\n );\n if (errors) return handleFetchError(errors);\n\n const payload = transformRequisitionList(\n data.addProductsToRequisitionList.requisition_list\n );\n events.emit('requisitionList/data', payload);\n return payload;\n};\n","import * as React from \"react\";\nconst SvgBurger = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M3 12H21\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M3 6H21\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M3 18H21\", stroke: \"currentColor\" }));\nexport default SvgBurger;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 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 { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { RequisitionList } from '../../data/models/requisitionList.js';\nimport {\n Card,\n Icon,\n InLineAlert,\n Picker,\n} from '@adobe-commerce/elsie/components';\nimport { addProductsToRequisitionList } from '@/requisitionList/api/addProductsToRequisitionList/addProductsToRequisitionList';\nimport { getRequisitionLists } from '@/requisitionList/api';\nimport { RequisitionListForm } from '@/requisitionList/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Burger } from '@adobe-commerce/elsie/icons';\nimport { JSX } from 'preact';\nimport { events } from '@adobe-commerce/event-bus';\nimport '@/requisitionList/containers/RequisitionListNames/RequisitionListNames.css';\nimport { useRequisitionListAlert } from '@/requisitionList/hooks';\n\nexport interface RequisitionListNamesProps\n extends HTMLAttributes<HTMLDivElement> {\n items?: RequisitionList[];\n canCreate?: boolean;\n sku: string;\n selectedOptions?: string[];\n quantity?: number;\n variant?: 'neutral' | 'hover';\n beforeAddProdToReqList?: () => Promise<void> | void;\n}\n\nexport const RequisitionListNames: Container<RequisitionListNamesProps> = ({\n items = [],\n canCreate = true,\n sku,\n selectedOptions,\n quantity = 1,\n variant = 'neutral',\n beforeAddProdToReqList,\n ...props\n}: RequisitionListNamesProps) => {\n const [reqLists, setReqLists] = useState(items);\n const [isAdding, setIsAdding] = useState(false);\n\n const translations = useText({\n createTitle: `RequisitionList.RequisitionListForm.createTitle`,\n addToReqList: `RequisitionList.RequisitionListForm.addToRequisitionList`,\n });\n\n useEffect(() => {\n if (!items || items.length === 0) {\n getRequisitionLists()\n .then((res: { items: RequisitionList[] }) => {\n setReqLists(res?.items || []);\n })\n .catch((error: any) => {\n console.error('Error fetching requisition lists:', error);\n setReqLists([]);\n });\n }\n }, [items]);\n\n const reqListOptions = [\n ...(reqLists?.map((reqList: RequisitionList) => ({\n value: reqList.uid,\n text: reqList.name,\n })) ?? []),\n ...(canCreate\n ? [{ value: '__create__', text: translations.createTitle }]\n : []),\n ];\n\n const handleAddProdToReqList = async (requisitionListUid: string) => {\n // Execute beforeAddProdToReqList callback if provided\n if (beforeAddProdToReqList) {\n try {\n await beforeAddProdToReqList();\n } catch (error) {\n // If callback throws an error (e.g., redirect), stop execution\n return;\n }\n }\n\n try {\n await addProductsToRequisitionList(requisitionListUid, [\n { sku, quantity, selected_options: selectedOptions },\n ]);\n } catch (error) {\n console.error('Error adding product to list:', error);\n }\n };\n\n const { alert, setAlert, handleRequisitionListAlert } =\n useRequisitionListAlert();\n\n useEffect(() => {\n const updateEvent = events.on(\n 'requisitionList/alert',\n handleRequisitionListAlert\n );\n return () => {\n updateEvent?.off();\n };\n }, [handleRequisitionListAlert]);\n\n return (\n <div\n {...props}\n className={`requisition-list-names ${\n variant === 'hover' ? 'requisition-list-names--modal-hover' : ''\n }`}\n >\n {alert && sku === alert.sku && (\n <InLineAlert\n id={`requisition-list-names__alert__${sku}`}\n className=\"requisition-list-names__alert\"\n heading={alert.description}\n type={alert.type}\n variant=\"primary\"\n onDismiss={() => setAlert(null)}\n />\n )}\n <Picker\n id={`requisition-list-names__picker__${sku}`}\n className=\"requisition-list-names__picker\"\n name={`requisition-list-names__picker__${sku}`}\n icon={<Icon source={Burger} />}\n variant={'secondary'}\n placeholder={translations.addToReqList}\n disabled={isAdding}\n size=\"medium\"\n options={reqListOptions}\n handleSelect={(event: JSX.TargetedEvent<HTMLSelectElement, Event>) => {\n const selectedUid = event.currentTarget.value;\n if (selectedUid === '__create__') {\n setIsAdding(true);\n return;\n }\n if (selectedUid) {\n handleAddProdToReqList(selectedUid).then(() => {\n events.emit('requisitionList/alert', {\n action: 'add',\n type: 'success',\n context: 'product',\n skus: [sku],\n });\n setIsAdding(false);\n event.target.value = ''; // Reset the Picker to Select the Placeholder again when completed\n });\n }\n }}\n />\n {canCreate && isAdding && (\n <Card variant=\"secondary\">\n <RequisitionListForm\n mode=\"create\"\n onSuccess={async (newList: RequisitionList) => {\n handleAddProdToReqList(newList.uid).then(() => {\n events.emit('requisitionList/alert', {\n action: 'add',\n type: 'success',\n context: 'product',\n skus: [sku],\n });\n setIsAdding(false);\n setReqLists((prevLists: RequisitionList[]) => [\n ...prevLists,\n newList,\n ]);\n });\n }}\n onError={() => {\n events.emit('requisitionList/alert', {\n action: 'add',\n type: 'error',\n context: 'product',\n skus: [sku],\n });\n }}\n onCancel={() => setIsAdding(false)}\n />\n </Card>\n )}\n </div>\n );\n};\n"],"names":["ADD_PRODUCTS_TO_REQUISITION_LIST_MUTATION","REQUISITION_LIST_ITEMS_FRAGMENT","REQUISITION_LIST_FRAGMENT","addProductsToRequisitionList","requisitionListUid","requisitionListItems","errors","data","fetchGraphQl","handleFetchError","payload","transformRequisitionList","events","SvgBurger","props","React","RequisitionListNames","items","canCreate","sku","selectedOptions","quantity","variant","beforeAddProdToReqList","reqLists","setReqLists","useState","isAdding","setIsAdding","translations","useText","useEffect","getRequisitionLists","res","error","reqListOptions","reqList","handleAddProdToReqList","alert","setAlert","handleRequisitionListAlert","useRequisitionListAlert","updateEvent","jsxs","jsx","InLineAlert","Picker","Icon","Burger","event","selectedUid","Card","RequisitionListForm","newList","prevLists"],"mappings":"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","x_google_ignoreList":[2]}
|