@dropins/storefront-requisition-list 0.3.0-beta → 0.5.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/addRequisitionListItemsToCart/graphql/addRequisitionListItemsToCart.d.ts +1 -1
- package/api/addRequisitionListItemsToCart/index.d.ts +1 -1
- package/api/deleteRequisitionList/deleteRequisitionList.d.ts +5 -1
- package/api/deleteRequisitionListItems/index.d.ts +1 -1
- package/api/fragments/ProductFragment.graphql.d.ts +18 -0
- package/api/fragments/RequisitionListItemsFragment.graphql.d.ts +1 -1
- package/api/fragments.d.ts +17 -0
- package/api/getProductData/getProductData.d.ts +4 -0
- package/api/getProductData/graphql/getProductData.d.ts +18 -0
- package/api/getProductData/index.d.ts +18 -0
- package/api/getRequisitionList/index.d.ts +1 -1
- package/api/index.d.ts +1 -0
- package/api/updateRequisitionListItems/index.d.ts +1 -1
- package/api/updateRequisitionListItems/updateRequisitionListItems.d.ts +11 -2
- package/api.js +2 -2
- package/api.js.map +1 -1
- package/chunks/PageSizePicker2.js +4 -0
- package/chunks/PageSizePicker2.js.map +1 -0
- package/chunks/RequisitionListForm.js +3 -3
- package/chunks/RequisitionListForm.js.map +1 -1
- package/chunks/RequisitionListItemsFragment.graphql.js +75 -0
- package/chunks/RequisitionListItemsFragment.graphql.js.map +1 -0
- package/chunks/addRequisitionListItemsToCart.js +237 -0
- package/chunks/addRequisitionListItemsToCart.js.map +1 -0
- package/chunks/deleteRequisitionList.js +3 -3
- package/chunks/deleteRequisitionList.js.map +1 -1
- package/chunks/getRequisitionLists.js +3 -3
- package/chunks/getRequisitionLists.js.map +1 -1
- package/chunks/transform-requisition-list.js +2 -2
- package/chunks/transform-requisition-list.js.map +1 -1
- package/components/BatchActions/BatchActions.d.ts +16 -0
- package/components/BatchActions/index.d.ts +19 -0
- package/components/EmptyList/EmptyList.d.ts +8 -0
- package/components/{RequisitionListItem → EmptyList}/index.d.ts +1 -1
- package/components/PageSizePicker/PageSizePicker.d.ts +10 -0
- package/components/ProductListTable/ProductListTable.d.ts +18 -0
- package/components/ProductListTable/__fixtures__/RequisitionListModel.d.ts +50 -0
- package/components/ProductListTable/index.d.ts +19 -0
- package/components/RequisitionListGridWrapper/RequisitionListGridWrapper.d.ts +14 -3
- package/components/index.d.ts +4 -1
- package/containers/RequisitionListForm.js +1 -1
- package/containers/RequisitionListGrid/RequisitionListGrid.d.ts +3 -2
- package/containers/RequisitionListGrid.js +1 -1
- package/containers/RequisitionListGrid.js.map +1 -1
- package/containers/RequisitionListNames/RequisitionListNames.d.ts +2 -0
- package/containers/RequisitionListNames.js +4 -92
- package/containers/RequisitionListNames.js.map +1 -1
- package/containers/RequisitionListView/RequisitionListView.d.ts +22 -0
- package/containers/RequisitionListView/index.d.ts +19 -0
- package/containers/RequisitionListView.d.ts +3 -0
- package/containers/RequisitionListView.js +4 -0
- package/containers/RequisitionListView.js.map +1 -0
- package/containers/index.d.ts +1 -0
- package/data/models/item.d.ts +16 -5
- package/data/models/requisitionList.d.ts +6 -0
- package/data/transforms/__fixtures__/requisitionListViewData.d.ts +5 -0
- package/data/transforms/index.d.ts +1 -0
- package/data/transforms/transform-product.d.ts +118 -0
- package/data/transforms/transform-requisition-list.d.ts +3 -0
- package/hooks/index.d.ts +21 -0
- package/hooks/useRequisitionListAlert.d.ts +27 -0
- package/hooks/useRequisitionListForm.d.ts +6 -4
- package/hooks/useRequisitionListGrid.d.ts +25 -0
- package/hooks/useRequisitionListSelectedItems.d.ts +14 -0
- package/i18n/en_US.json.d.ts +58 -9
- package/package.json +1 -1
- package/render.js +3 -3
- package/render.js.map +1 -1
- package/components/RequisitionListItem/RequisitionListItem.d.ts +0 -16
- package/data/transforms/__fixtures__/requisitionListItemData.d.ts +0 -5
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export declare const ADD_REQUISITION_LIST_ITEMS_TO_CART_MUTATION = "\n mutation ADD_REQUISITION_LIST_ITEMS_TO_CART_MUTATION(\n $requisitionListUid: ID!, \n $requisitionListItemUids: [ID!]!\n ) {\n addRequisitionListItemsToCart(\n requisitionListUid: $requisitionListUid\n requisitionListItemUids: $requisitionListItemUids\n ) {\n status\n add_requisition_list_items_to_cart_user_errors {\n message\n type\n }\n }\n }\n";
|
|
17
|
+
export declare const ADD_REQUISITION_LIST_ITEMS_TO_CART_MUTATION = "\n mutation ADD_REQUISITION_LIST_ITEMS_TO_CART_MUTATION(\n $requisitionListUid: ID!, \n $requisitionListItemUids: [ID!]!\n ) {\n addRequisitionListItemsToCart(\n requisitionListUid: $requisitionListUid\n requisitionListItemUids: $requisitionListItemUids\n ) {\n status\n add_requisition_list_items_to_cart_user_errors {\n message\n type\n }\n cart {\n id\n itemsV2 {\n items {\n uid\n quantity\n is_available\n }\n total_count\n }\n email\n total_quantity\n is_virtual\n }\n }\n }\n";
|
|
18
18
|
//# sourceMappingURL=addRequisitionListItemsToCart.d.ts.map
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export * from '
|
|
17
|
+
export * from './addRequisitionListItemsToCart';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { RequisitionList } from '../../data/models/requisitionList';
|
|
2
2
|
|
|
3
|
-
export declare const deleteRequisitionList: (requisitionListUid: string) => Promise<
|
|
3
|
+
export declare const deleteRequisitionList: (requisitionListUid: string) => Promise<{
|
|
4
|
+
items: RequisitionList[];
|
|
5
|
+
page_info: any;
|
|
6
|
+
status: any;
|
|
7
|
+
} | null>;
|
|
4
8
|
//# sourceMappingURL=deleteRequisitionList.d.ts.map
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export * from '
|
|
17
|
+
export * from './deleteRequisitionListItems';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export declare const PRODUCT_FRAGMENT = "\nfragment PRODUCT_FRAGMENT on ProductView {\n __typename\n id\n sku\n name\n shortDescription\n metaDescription\n metaKeyword\n metaTitle\n description\n inStock\n addToCartAllowed\n url\n urlKey\n externalId\n images(roles: []) {\n url\n label\n roles\n }\n attributes(roles: []) {\n name\n label\n value\n roles\n }\n ... on SimpleProductView {\n price {\n roles\n regular {\n amount {\n value\n currency\n }\n }\n final {\n amount {\n value\n currency\n }\n }\n }\n }\n ... on ComplexProductView {\n options {\n ...PRODUCT_OPTION_FRAGMENT\n }\n ...PRICE_RANGE_FRAGMENT\n }\n}\nfragment PRODUCT_OPTION_FRAGMENT on ProductViewOption {\n id\n title\n required\n multi\n values {\n id\n title\n inStock\n __typename\n ... on ProductViewOptionValueProduct {\n title\n quantity\n isDefault\n __typename\n product {\n sku\n shortDescription\n metaDescription\n metaKeyword\n metaTitle\n name\n price {\n final {\n amount {\n value\n currency\n }\n }\n regular {\n amount {\n value\n currency\n }\n }\n roles\n }\n }\n }\n ... on ProductViewOptionValueSwatch {\n id\n title\n type\n value\n inStock\n }\n }\n}\nfragment PRICE_RANGE_FRAGMENT on ComplexProductView {\n priceRange {\n maximum {\n final {\n amount {\n value\n currency\n }\n }\n regular {\n amount {\n value\n currency\n }\n }\n roles\n }\n minimum {\n final {\n amount {\n value\n currency\n }\n }\n regular {\n amount {\n value\n currency\n }\n }\n roles\n }\n }\n}\n";
|
|
18
|
+
//# sourceMappingURL=ProductFragment.graphql.d.ts.map
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export declare const REQUISITION_LIST_ITEMS_FRAGMENT = "\nfragment REQUISITION_LIST_ITEMS_FRAGMENT on RequistionListItems {\n items {\n uid\n quantity\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
|
|
17
|
+
export declare 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";
|
|
18
18
|
//# sourceMappingURL=RequisitionListItemsFragment.graphql.d.ts.map
|
package/api/fragments.d.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
1
17
|
export { REQUISITION_LIST_ITEMS_FRAGMENT } from './fragments/RequisitionListItemsFragment.graphql';
|
|
2
18
|
export { REQUISITION_LIST_FRAGMENT } from './fragments/RequisitionListFragment.graphql';
|
|
19
|
+
export { PRODUCT_FRAGMENT } from './fragments/ProductFragment.graphql';
|
|
3
20
|
//# sourceMappingURL=fragments.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export declare const GET_PRODUCT_DATA_QUERY: string;
|
|
18
|
+
//# sourceMappingURL=getProductData.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './getProductData';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
package/api/index.d.ts
CHANGED
|
@@ -26,4 +26,5 @@ export * from './updateRequisitionListItems';
|
|
|
26
26
|
export * from './deleteRequisitionListItems';
|
|
27
27
|
export * from './addProductsToRequisitionList';
|
|
28
28
|
export * from './addRequisitionListItemsToCart';
|
|
29
|
+
export * from './getProductData';
|
|
29
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* is strictly forbidden unless prior written permission is obtained
|
|
15
15
|
* from Adobe.
|
|
16
16
|
*******************************************************************/
|
|
17
|
-
export * from '
|
|
17
|
+
export * from './updateRequisitionListItems';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { RequisitionList } from '../../data/models/requisitionList';
|
|
2
|
-
import { Item } from '../../data/models/item';
|
|
3
2
|
|
|
4
|
-
export declare const updateRequisitionListItems: (requisitionListUid: string,
|
|
3
|
+
export declare const updateRequisitionListItems: (requisitionListUid: string, requisitionListItems: Array<UpdateRequisitionListItemsInput>) => Promise<RequisitionList | null>;
|
|
4
|
+
type UpdateRequisitionListItemsInput = {
|
|
5
|
+
item_id: string;
|
|
6
|
+
quantity?: number;
|
|
7
|
+
entered_options?: Array<{
|
|
8
|
+
uid: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}>;
|
|
11
|
+
selected_options?: Array<string>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
5
14
|
//# sourceMappingURL=updateRequisitionListItems.d.ts.map
|
package/api.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{f as
|
|
3
|
+
import{f as r,h as a}from"./chunks/transform-requisition-list.js";import{g as F,r as G,s as L,a as x,b as y}from"./chunks/transform-requisition-list.js";import{events as n}from"@dropins/tools/event-bus.js";import{g as Q}from"./chunks/getRequisitionLists.js";import{a as O,d as T,b,g as w,u as H}from"./chunks/addRequisitionListItemsToCart.js";import{d as N}from"./chunks/deleteRequisitionList.js";import{Initializer as c}from"@dropins/tools/lib.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/RequisitionListItemsFragment.graphql.js";const f={authenticated:!1},u=new Proxy(f,{set(e,t,i){return Reflect.set(e,t,i)},get(e,t){return e[t]}}),o=new c({init:async e=>{const t={};o.config.setConfig({...t,...e})},listeners:()=>[n.on("authenticated",e=>{u.authenticated=e})]}),q=o.config,l=`
|
|
4
4
|
query STORE_CONFIG_QUERY {
|
|
5
5
|
storeConfig {
|
|
6
6
|
is_requisition_list_active
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
`,
|
|
9
|
+
`,R=async()=>{var e;try{const{errors:t,data:i}=await r(l,{method:"GET",cache:"force-cache"});return t?t.some(s=>s.message&&s.message.includes('Cannot query field "is_requisition_list_active"'))?!1:a(t):((e=i==null?void 0:i.storeConfig)==null?void 0:e.is_requisition_list_active)==="1"||!1}catch{return!1}};export{O as addRequisitionListItemsToCart,q as config,N as deleteRequisitionList,T as deleteRequisitionListItems,r as fetchGraphQl,F as getConfig,b as getProductData,w as getRequisitionList,Q as getRequisitionLists,o as initialize,R as isRequisitionListEnabled,G as removeFetchGraphQlHeader,L as setEndpoint,x as setFetchGraphQlHeader,y as setFetchGraphQlHeaders,H as updateRequisitionListItems};
|
|
10
10
|
//# sourceMappingURL=api.js.map
|
package/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["/@dropins/storefront-requisition-list/src/api/initialize/initialize.ts","/@dropins/storefront-requisition-list/src/api/getStoreConfig/graphql/storeConfigQuery.ts","/@dropins/storefront-requisition-list/src/api/getStoreConfig/isRequisitionListEnabled.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 { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\
|
|
1
|
+
{"version":3,"file":"api.js","sources":["/@dropins/storefront-requisition-list/src/lib/state.ts","/@dropins/storefront-requisition-list/src/api/initialize/initialize.ts","/@dropins/storefront-requisition-list/src/api/getStoreConfig/graphql/storeConfigQuery.ts","/@dropins/storefront-requisition-list/src/api/getStoreConfig/isRequisitionListEnabled.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\ntype State = {\n authenticated: boolean;\n};\n\nconst _state: State = (() => {\n return {\n authenticated: false,\n };\n})();\n\n// Proxy state to allow reactivity\nexport const state = new Proxy(_state, {\n set(target, key, value) {\n return Reflect.set(target, key, value);\n },\n get(target, key) {\n return target[key as keyof State];\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 *******************************************************************/\n\nimport { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\nimport { state } from '@/requisitionList/lib/state';\n\ntype ConfigProps = {\n langDefinitions?: Lang;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n },\n\n listeners: () => [\n events.on('authenticated', (authenticated) => {\n state.authenticated = authenticated;\n }),\n ],\n});\n\nexport const config = initialize.config;\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 STORE_CONFIG_QUERY = `\nquery STORE_CONFIG_QUERY {\n storeConfig {\n is_requisition_list_active\n }\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 *******************************************************************/\n\nimport { fetchGraphQl } from '@/requisitionList/api';\n\nimport { STORE_CONFIG_QUERY } from './graphql/storeConfigQuery';\nimport { handleFetchError } from '../../lib/fetch-error';\n\nexport const isRequisitionListEnabled = async (): Promise<boolean> => {\n try {\n const { errors, data } = await fetchGraphQl(STORE_CONFIG_QUERY, {\n method: 'GET',\n cache: 'force-cache',\n });\n\n if (errors) {\n const missingField = errors.some(\n (error) =>\n error.message &&\n error.message.includes(\n 'Cannot query field \"is_requisition_list_active\"'\n )\n );\n if (missingField) {\n return false;\n }\n return handleFetchError(errors);\n }\n\n return data?.storeConfig?.is_requisition_list_active === '1' || false;\n } catch {\n return false;\n }\n};\n"],"names":["_state","state","target","key","value","initialize","Initializer","config","defaultConfig","events","authenticated","STORE_CONFIG_QUERY","isRequisitionListEnabled","errors","data","fetchGraphQl","error","handleFetchError","_a"],"mappings":"kiBAqBA,MAAMA,EACG,CACL,cAAe,EACjB,EAIWC,EAAQ,IAAI,MAAMD,EAAQ,CACrC,IAAIE,EAAQC,EAAKC,EAAO,CACtB,OAAO,QAAQ,IAAIF,EAAQC,EAAKC,CAAK,CACvC,EACA,IAAIF,EAAQC,EAAK,CACf,OAAOD,EAAOC,CAAkB,CAAA,CAEpC,CAAC,ECTYE,EAAa,IAAIC,EAAyB,CACrD,KAAM,MAAOC,GAAW,CACtB,MAAMC,EAAgB,CAAC,EAEvBH,EAAW,OAAO,UAAU,CAAE,GAAGG,EAAe,GAAGD,EAAQ,CAC7D,EAEA,UAAW,IAAM,CACfE,EAAO,GAAG,gBAAkBC,GAAkB,CAC5CT,EAAM,cAAgBS,CACvB,CAAA,CAAA,CAEL,CAAC,EAEYH,EAASF,EAAW,OCvBpBM,EAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECKrBC,EAA2B,SAA8B,OAChE,GAAA,CACF,KAAM,CAAE,OAAAC,EAAQ,KAAAC,CAAS,EAAA,MAAMC,EAAaJ,EAAoB,CAC9D,OAAQ,MACR,MAAO,aAAA,CACR,EAED,OAAIE,EACmBA,EAAO,KACzBG,GACCA,EAAM,SACNA,EAAM,QAAQ,SACZ,iDAAA,CAEN,EAES,GAEFC,EAAiBJ,CAAM,IAGzBK,EAAAJ,GAAA,YAAAA,EAAM,cAAN,YAAAI,EAAmB,8BAA+B,KAAO,EAAA,MAC1D,CACC,MAAA,EAAA,CAEX"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import*as M from"@dropins/tools/preact-compat.js";import{useState as m,useMemo as d,useCallback as q}from"@dropins/tools/preact-compat.js";import{useText as p}from"@dropins/tools/i18n.js";import{jsxs as n,jsx as l}from"@dropins/tools/preact-jsx-runtime.js";import{Icon as R,Picker as g}from"@dropins/tools/components.js";import{classes as A}from"@dropins/tools/lib.js";/* empty css */function f(t){const[i,s]=m(null),L=p({errorCreate:"RequisitionList.RequisitionListAlert.errorCreate",successCreate:"RequisitionList.RequisitionListAlert.successCreate",errorDeleteItem:"RequisitionList.RequisitionListAlert.errorDeleteItem",successDeleteItem:"RequisitionList.RequisitionListAlert.successDeleteItem",errorDeleteReqList:"RequisitionList.RequisitionListAlert.errorDeleteReqList",successDeleteReqList:"RequisitionList.RequisitionListAlert.successDeleteReqList",errorAddToCart:"RequisitionList.RequisitionListAlert.errorAddToCart",successAddToCart:"RequisitionList.RequisitionListAlert.successAddToCart",errorUpdateQuantity:"RequisitionList.RequisitionListAlert.errorUpdateQuantity",successUpdateQuantity:"RequisitionList.RequisitionListAlert.successUpdateQuantity",errorUpdate:"RequisitionList.RequisitionListAlert.errorUpdate",successUpdate:"RequisitionList.RequisitionListAlert.successUpdate",errorMove:"RequisitionList.RequisitionListAlert.errorMove",successMove:"RequisitionList.RequisitionListAlert.successMove"}),e=d(()=>({...L,...t}),[L,t]),o=d(()=>({create:{requisitionList:{success:e.successCreate,error:e.errorCreate}},add:{product:{success:e.successAddToRequisitionList,error:e.errorAddToRequisitionList}},update:{product:{success:e.successUpdateQuantity,error:e.errorUpdateQuantity},requisitionList:{success:e.successUpdate,error:e.errorUpdate}},delete:{product:{success:e.successDeleteItem,error:e.errorDeleteItem},requisitionList:{success:e.successDeleteReqList,error:e.errorDeleteReqList}},move:{product:{success:e.successMove,error:e.errorMove}}}),[e]),a=q(r=>{const{type:c,action:u,context:C}=r;s({type:c,description:o[u][C][c]});const Z=setTimeout(()=>{s(null)},5e3);return()=>clearTimeout(Z)},[o]);return{alert:i,setAlert:s,handleRequisitionListAlert:a}}const H=t=>M.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},M.createElement("path",{d:"M12.002 21L11.8275 21.4686C11.981 21.5257 12.1528 21.5041 12.2873 21.4106C12.4218 21.3172 12.502 21.1638 12.502 21H12.002ZM3.89502 17.9823H3.39502C3.39502 18.1912 3.52485 18.378 3.72059 18.4509L3.89502 17.9823ZM3.89502 8.06421L4.07193 7.59655C3.91831 7.53844 3.74595 7.55948 3.61082 7.65284C3.47568 7.74619 3.39502 7.89997 3.39502 8.06421H3.89502ZM12.0007 21H11.5007C11.5007 21.1638 11.5809 21.3172 11.7154 21.4106C11.8499 21.5041 12.0216 21.5257 12.1751 21.4686L12.0007 21ZM20.1076 17.9823L20.282 18.4509C20.4778 18.378 20.6076 18.1912 20.6076 17.9823H20.1076ZM20.1076 8.06421H20.6076C20.6076 7.89997 20.527 7.74619 20.3918 7.65284C20.2567 7.55948 20.0843 7.53844 19.9307 7.59655L20.1076 8.06421ZM12.0007 11.1311L11.8238 10.6634C11.6293 10.737 11.5007 10.9232 11.5007 11.1311H12.0007ZM20.2858 8.53191C20.5441 8.43421 20.6743 8.14562 20.5766 7.88734C20.4789 7.62906 20.1903 7.49889 19.932 7.5966L20.2858 8.53191ZM12.002 4.94826L12.1775 4.48008C12.0605 4.43623 11.9314 4.43775 11.8154 4.48436L12.002 4.94826ZM5.87955 6.87106C5.62334 6.97407 5.49915 7.26528 5.60217 7.52149C5.70518 7.77769 5.99639 7.90188 6.2526 7.79887L5.87955 6.87106ZM18.1932 7.80315C18.4518 7.90008 18.74 7.76904 18.8369 7.51047C18.9338 7.2519 18.8028 6.96371 18.5442 6.86678L18.1932 7.80315ZM12 4.94827L11.5879 5.23148C11.6812 5.36719 11.8353 5.44827 12 5.44827C12.1647 5.44827 12.3188 5.36719 12.4121 5.23148L12 4.94827ZM14.0263 2L14.2028 1.53218C13.9875 1.45097 13.7446 1.52717 13.6143 1.71679L14.0263 2ZM21.8421 4.94827L22.2673 5.2113C22.3459 5.08422 22.3636 4.92863 22.3154 4.78717C22.2673 4.64571 22.1584 4.53319 22.0186 4.48045L21.8421 4.94827ZM9.97368 2L10.3857 1.71679C10.2554 1.52717 10.0125 1.45097 9.79721 1.53218L9.97368 2ZM2.15789 4.94827L1.98142 4.48045C1.84161 4.53319 1.73271 4.64571 1.68456 4.78717C1.63641 4.92863 1.65406 5.08422 1.73267 5.2113L2.15789 4.94827ZM12 11.1256L11.6702 11.5014C11.8589 11.667 12.1411 11.667 12.3298 11.5014L12 11.1256ZM15.0395 8.45812L14.8732 7.98659C14.8131 8.00779 14.7576 8.04028 14.7097 8.08232L15.0395 8.45812ZM23 5.65024L23.3288 6.0269C23.5095 5.86916 23.5527 5.60532 23.4318 5.39817C23.3109 5.19102 23.0599 5.09893 22.8337 5.17871L23 5.65024ZM8.96053 8.45812L9.29034 8.08232C9.24244 8.04028 9.18695 8.00779 9.12685 7.98659L8.96053 8.45812ZM1 5.65024L1.16632 5.17871C0.940115 5.09893 0.689119 5.19102 0.568192 5.39817C0.447264 5.60532 0.49048 5.86916 0.671176 6.0269L1 5.65024ZM12.1764 20.5314L4.06945 17.5137L3.72059 18.4509L11.8275 21.4686L12.1764 20.5314ZM4.39502 17.9823V8.06421H3.39502V17.9823H4.39502ZM3.71811 8.53187L11.8251 11.5987L12.1789 10.6634L4.07193 7.59655L3.71811 8.53187ZM11.502 11.1311V21H12.502V11.1311H11.502ZM12.1751 21.4686L20.282 18.4509L19.9332 17.5137L11.8262 20.5314L12.1751 21.4686ZM20.6076 17.9823V8.06421H19.6076V17.9823H20.6076ZM19.9307 7.59655L11.8238 10.6634L12.1776 11.5987L20.2845 8.53187L19.9307 7.59655ZM11.5007 11.1311V21H12.5007V11.1311H11.5007ZM19.932 7.5966L11.8251 10.6634L12.1789 11.5987L20.2858 8.53191L19.932 7.5966ZM11.8154 4.48436L5.87955 6.87106L6.2526 7.79887L12.1885 5.41217L11.8154 4.48436ZM11.8265 5.41645L18.1932 7.80315L18.5442 6.86678L12.1775 4.48008L11.8265 5.41645ZM11.502 4.94826V11.1311H12.502V4.94826H11.502ZM12.4121 5.23148L14.4384 2.28321L13.6143 1.71679L11.5879 4.66507L12.4121 5.23148ZM13.8498 2.46782L21.6656 5.4161L22.0186 4.48045L14.2028 1.53218L13.8498 2.46782ZM21.4169 4.68525L20.5485 6.08919L21.3989 6.61524L22.2673 5.2113L21.4169 4.68525ZM12.4121 4.66507L10.3857 1.71679L9.56162 2.28321L11.5879 5.23148L12.4121 4.66507ZM9.79721 1.53218L1.98142 4.48045L2.33437 5.4161L10.1502 2.46782L9.79721 1.53218ZM1.73267 5.2113L2.60109 6.61524L3.45154 6.08919L2.58312 4.68525L1.73267 5.2113ZM12.3298 11.5014L15.3693 8.83392L14.7097 8.08232L11.6702 10.7498L12.3298 11.5014ZM15.2058 8.92965L23.1663 6.12177L22.8337 5.17871L14.8732 7.98659L15.2058 8.92965ZM22.6712 5.27358L19.7764 7.80067L20.4341 8.554L23.3288 6.0269L22.6712 5.27358ZM12.3298 10.7498L9.29034 8.08232L8.63072 8.83392L11.6702 11.5014L12.3298 10.7498ZM9.12685 7.98659L1.16632 5.17871L0.83368 6.12177L8.79421 8.92965L9.12685 7.98659ZM0.671176 6.0269L3.56591 8.554L4.22356 7.80067L1.32882 5.27358L0.671176 6.0269Z",fill:"currentColor"})),z=({className:t,textContent:i,...s})=>n("div",{className:A(["empty-list",t]),"data-testid":"empty-list",...s,children:[l(R,{source:H,size:"64",stroke:"2"}),i&&l("h4",{children:i})]}),S=({currentPageSize:t,onPageSizeChange:i,disabled:s=!1,pageSizeOptions:L=[10,25,50,100]})=>{const e=p({itemsPerPage:"RequisitionList.PageSizePicker.itemsPerPage"}),o=r=>{const c=r.target,u=parseInt(c.value,10);i(u)},a=L.map(r=>({value:r.toString(),text:r.toString()}));return n("div",{className:"page-size-picker",children:[n("label",{htmlFor:"page-size-select",className:"page-size-picker__label",children:[e.itemsPerPage,":"]}),l(g,{id:"page-size-select",value:t.toString(),handleSelect:o,disabled:s,className:"page-size-picker__select","data-testid":"page-size-picker-select",options:a,placeholder:"",variant:"secondary",size:"small"})]})};export{z as E,S as P,f as u};
|
|
4
|
+
//# sourceMappingURL=PageSizePicker2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageSizePicker2.js","sources":["/@dropins/storefront-requisition-list/src/hooks/useRequisitionListAlert.tsx","../../node_modules/@adobe-commerce/elsie/src/icons/EmptyBox.svg","/@dropins/storefront-requisition-list/src/components/EmptyList/EmptyList.tsx","/@dropins/storefront-requisition-list/src/components/PageSizePicker/PageSizePicker.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}\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 });\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 } = payload;\n setAlert({ type, description: messages[action][context][type] });\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","import * as React from \"react\";\nconst SvgEmptyBox = (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\", { d: \"M12.002 21L11.8275 21.4686C11.981 21.5257 12.1528 21.5041 12.2873 21.4106C12.4218 21.3172 12.502 21.1638 12.502 21H12.002ZM3.89502 17.9823H3.39502C3.39502 18.1912 3.52485 18.378 3.72059 18.4509L3.89502 17.9823ZM3.89502 8.06421L4.07193 7.59655C3.91831 7.53844 3.74595 7.55948 3.61082 7.65284C3.47568 7.74619 3.39502 7.89997 3.39502 8.06421H3.89502ZM12.0007 21H11.5007C11.5007 21.1638 11.5809 21.3172 11.7154 21.4106C11.8499 21.5041 12.0216 21.5257 12.1751 21.4686L12.0007 21ZM20.1076 17.9823L20.282 18.4509C20.4778 18.378 20.6076 18.1912 20.6076 17.9823H20.1076ZM20.1076 8.06421H20.6076C20.6076 7.89997 20.527 7.74619 20.3918 7.65284C20.2567 7.55948 20.0843 7.53844 19.9307 7.59655L20.1076 8.06421ZM12.0007 11.1311L11.8238 10.6634C11.6293 10.737 11.5007 10.9232 11.5007 11.1311H12.0007ZM20.2858 8.53191C20.5441 8.43421 20.6743 8.14562 20.5766 7.88734C20.4789 7.62906 20.1903 7.49889 19.932 7.5966L20.2858 8.53191ZM12.002 4.94826L12.1775 4.48008C12.0605 4.43623 11.9314 4.43775 11.8154 4.48436L12.002 4.94826ZM5.87955 6.87106C5.62334 6.97407 5.49915 7.26528 5.60217 7.52149C5.70518 7.77769 5.99639 7.90188 6.2526 7.79887L5.87955 6.87106ZM18.1932 7.80315C18.4518 7.90008 18.74 7.76904 18.8369 7.51047C18.9338 7.2519 18.8028 6.96371 18.5442 6.86678L18.1932 7.80315ZM12 4.94827L11.5879 5.23148C11.6812 5.36719 11.8353 5.44827 12 5.44827C12.1647 5.44827 12.3188 5.36719 12.4121 5.23148L12 4.94827ZM14.0263 2L14.2028 1.53218C13.9875 1.45097 13.7446 1.52717 13.6143 1.71679L14.0263 2ZM21.8421 4.94827L22.2673 5.2113C22.3459 5.08422 22.3636 4.92863 22.3154 4.78717C22.2673 4.64571 22.1584 4.53319 22.0186 4.48045L21.8421 4.94827ZM9.97368 2L10.3857 1.71679C10.2554 1.52717 10.0125 1.45097 9.79721 1.53218L9.97368 2ZM2.15789 4.94827L1.98142 4.48045C1.84161 4.53319 1.73271 4.64571 1.68456 4.78717C1.63641 4.92863 1.65406 5.08422 1.73267 5.2113L2.15789 4.94827ZM12 11.1256L11.6702 11.5014C11.8589 11.667 12.1411 11.667 12.3298 11.5014L12 11.1256ZM15.0395 8.45812L14.8732 7.98659C14.8131 8.00779 14.7576 8.04028 14.7097 8.08232L15.0395 8.45812ZM23 5.65024L23.3288 6.0269C23.5095 5.86916 23.5527 5.60532 23.4318 5.39817C23.3109 5.19102 23.0599 5.09893 22.8337 5.17871L23 5.65024ZM8.96053 8.45812L9.29034 8.08232C9.24244 8.04028 9.18695 8.00779 9.12685 7.98659L8.96053 8.45812ZM1 5.65024L1.16632 5.17871C0.940115 5.09893 0.689119 5.19102 0.568192 5.39817C0.447264 5.60532 0.49048 5.86916 0.671176 6.0269L1 5.65024ZM12.1764 20.5314L4.06945 17.5137L3.72059 18.4509L11.8275 21.4686L12.1764 20.5314ZM4.39502 17.9823V8.06421H3.39502V17.9823H4.39502ZM3.71811 8.53187L11.8251 11.5987L12.1789 10.6634L4.07193 7.59655L3.71811 8.53187ZM11.502 11.1311V21H12.502V11.1311H11.502ZM12.1751 21.4686L20.282 18.4509L19.9332 17.5137L11.8262 20.5314L12.1751 21.4686ZM20.6076 17.9823V8.06421H19.6076V17.9823H20.6076ZM19.9307 7.59655L11.8238 10.6634L12.1776 11.5987L20.2845 8.53187L19.9307 7.59655ZM11.5007 11.1311V21H12.5007V11.1311H11.5007ZM19.932 7.5966L11.8251 10.6634L12.1789 11.5987L20.2858 8.53191L19.932 7.5966ZM11.8154 4.48436L5.87955 6.87106L6.2526 7.79887L12.1885 5.41217L11.8154 4.48436ZM11.8265 5.41645L18.1932 7.80315L18.5442 6.86678L12.1775 4.48008L11.8265 5.41645ZM11.502 4.94826V11.1311H12.502V4.94826H11.502ZM12.4121 5.23148L14.4384 2.28321L13.6143 1.71679L11.5879 4.66507L12.4121 5.23148ZM13.8498 2.46782L21.6656 5.4161L22.0186 4.48045L14.2028 1.53218L13.8498 2.46782ZM21.4169 4.68525L20.5485 6.08919L21.3989 6.61524L22.2673 5.2113L21.4169 4.68525ZM12.4121 4.66507L10.3857 1.71679L9.56162 2.28321L11.5879 5.23148L12.4121 4.66507ZM9.79721 1.53218L1.98142 4.48045L2.33437 5.4161L10.1502 2.46782L9.79721 1.53218ZM1.73267 5.2113L2.60109 6.61524L3.45154 6.08919L2.58312 4.68525L1.73267 5.2113ZM12.3298 11.5014L15.3693 8.83392L14.7097 8.08232L11.6702 10.7498L12.3298 11.5014ZM15.2058 8.92965L23.1663 6.12177L22.8337 5.17871L14.8732 7.98659L15.2058 8.92965ZM22.6712 5.27358L19.7764 7.80067L20.4341 8.554L23.3288 6.0269L22.6712 5.27358ZM12.3298 10.7498L9.29034 8.08232L8.63072 8.83392L11.6702 11.5014L12.3298 10.7498ZM9.12685 7.98659L1.16632 5.17871L0.83368 6.12177L8.79421 8.92965L9.12685 7.98659ZM0.671176 6.0269L3.56591 8.554L4.22356 7.80067L1.32882 5.27358L0.671176 6.0269Z\", fill: \"currentColor\" }));\nexport default SvgEmptyBox;\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 { FunctionComponent } from 'preact';\nimport { Icon } from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { EmptyBox } from '@adobe-commerce/elsie/icons';\nimport '@/requisitionList/components/EmptyList/EmptyList.css';\n\nexport interface EmptyListProps {\n className?: string;\n textContent?: string | null;\n}\n\nexport const EmptyList: FunctionComponent<EmptyListProps> = ({\n className,\n textContent,\n ...props\n}) => {\n return (\n <div\n className={classes(['empty-list', className])}\n data-testid=\"empty-list\"\n {...props}\n >\n <Icon source={EmptyBox} size={'64'} stroke={'2'} />\n {textContent && <h4>{textContent}</h4>}\n </div>\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 { HTMLAttributes } from 'preact/compat';\nimport { Picker } from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/requisitionList/components/PageSizePicker/PageSizePicker.css';\n\nexport interface PageSizePickerProps extends HTMLAttributes<HTMLDivElement> {\n currentPageSize: number;\n onPageSizeChange: (pageSize: number) => void;\n disabled?: boolean;\n pageSizeOptions?: number[];\n}\n\nexport const PageSizePicker = ({\n currentPageSize,\n onPageSizeChange,\n disabled = false,\n pageSizeOptions = [10, 25, 50, 100],\n}: PageSizePickerProps) => {\n const translations = useText({\n itemsPerPage: `RequisitionList.PageSizePicker.itemsPerPage`,\n });\n\n const handlePageSizeChange = (event: Event) => {\n const target = event.target as HTMLSelectElement;\n const newPageSize = parseInt(target.value, 10);\n onPageSizeChange(newPageSize);\n };\n\n const options = pageSizeOptions.map((size) => ({\n value: size.toString(),\n text: size.toString(),\n }));\n\n return (\n <div className=\"page-size-picker\">\n <label htmlFor=\"page-size-select\" className=\"page-size-picker__label\">\n {translations.itemsPerPage}:\n </label>\n <Picker\n id=\"page-size-select\"\n value={currentPageSize.toString()}\n handleSelect={handlePageSizeChange}\n disabled={disabled}\n className=\"page-size-picker__select\"\n data-testid=\"page-size-picker-select\"\n options={options}\n placeholder=\"\"\n variant=\"secondary\"\n size=\"small\"\n />\n </div>\n );\n};\n"],"names":["useRequisitionListAlert","translationsOverride","alert","setAlert","useState","defaultTranslations","useText","translations","useMemo","messages","handleRequisitionListAlert","useCallback","payload","type","action","context","timer","SvgEmptyBox","props","React","EmptyList","className","textContent","jsxs","classes","jsx","Icon","EmptyBox","PageSizePicker","currentPageSize","onPageSizeChange","disabled","pageSizeOptions","handlePageSizeChange","event","target","newPageSize","options","size","Picker"],"mappings":"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","x_google_ignoreList":[1]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as
|
|
3
|
+
import{jsxs as q,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useState as L}from"@dropins/tools/preact-hooks.js";import{ProgressSpinner as C,InLineAlert as M,Field as h,Input as Q,TextArea as x,Button as _}from"@dropins/tools/components.js";import{classes as f}from"@dropins/tools/lib.js";/* empty css */import{useText as D}from"@dropins/tools/i18n.js";import{R as b,f as S,h as N,t as g}from"./transform-requisition-list.js";import{events as F}from"@dropins/tools/event-bus.js";const B=({className:t,mode:r,defaultValues:e={name:"",description:""},error:i=null,onSubmit:s,onCancel:l,...m})=>{const[n,u]=L(e),[o,v]=L(!1),[d,T]=L(!1),c=D({actionCancel:"RequisitionList.RequisitionListForm.actionCancel",actionSave:"RequisitionList.RequisitionListForm.actionSave",requiredField:"RequisitionList.RequisitionListForm.requiredField",floatingLabel:"RequisitionList.RequisitionListForm.floatingLabel",placeholder:"RequisitionList.RequisitionListForm.placeholder",label:"RequisitionList.RequisitionListForm.label",updateTitle:"RequisitionList.RequisitionListForm.updateTitle",createTitle:"RequisitionList.RequisitionListForm.createTitle"}),I=R=>p=>{const $=p.target;u(O=>({...O,[R]:$.value}))},U=async R=>{var p;if(R.preventDefault(),!(!n.name||d)){T(!0);try{await s({name:n.name.trim(),description:((p=n.description)==null?void 0:p.trim())||void 0})}catch{T(!1)}}},y=()=>v(!0),E=o&&!n.name.trim()?c.requiredField:"",A=r==="update"?c.updateTitle:c.createTitle;return q("div",{...m,className:f(["requisition-list-form",t]),children:[q("div",{className:"requisition-list-form__title",children:[A,d?a("div",{className:f(["requisition-list-form_progress-spinner",t]),"data-testid":"requisition-list-form-progress-spinner",children:a(C,{stroke:"4",size:"small"})}):null]}),i?a(M,{type:"error",className:"requisition-list-form__notification",variant:"secondary",heading:i,"data-testid":"requisition-list-alert"}):null,q("form",{className:f(["requisition-list-form__form",t]),onSubmit:U,children:[a(h,{error:E,disabled:d,children:a(Q,{id:"requisition-list-form-name",name:"name",type:"text",floatingLabel:c.floatingLabel,placeholder:c.placeholder,required:!0,value:n.name,onChange:I("name"),onBlur:y})}),a(h,{disabled:d,children:a(x,{id:"requisition-list-form-description",name:"description",label:c.label,placeholder:c.label,value:n.description,onChange:I("description")})}),q("div",{className:"requisition-list-form__actions",children:[a(_,{type:"button",variant:"secondary",onClick:l,disabled:d,"data-testid":"requisition-list-form-cancel",children:c.actionCancel}),a(_,{type:"submit",disabled:d,"data-testid":"requisition-list-form-save",children:c.actionSave})]})]})]})},w=`
|
|
4
4
|
mutation CREATE_REQUISITION_LIST_MUTATION(
|
|
5
5
|
$requisitionListName: String!,
|
|
6
6
|
$requisitionListDescription: String,
|
|
@@ -17,7 +17,7 @@ import{jsxs as R,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useS
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
${b}
|
|
20
|
-
`,
|
|
20
|
+
`,G=async(t,r)=>S(w,{variables:{requisitionListName:t,requisitionListDescription:r}}).then(({errors:e,data:i})=>{if(e)return N(e);const s=g(i.createRequisitionList.requisition_list);return F.emit("requisitionList/data",s),s}),P=`
|
|
21
21
|
mutation UPDATE_REQUISITION_LIST_MUTATION(
|
|
22
22
|
$requisitionListUid: ID!,
|
|
23
23
|
$name: String!,
|
|
@@ -36,5 +36,5 @@ ${b}
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
${b}
|
|
39
|
-
`,
|
|
39
|
+
`,j=async(t,r,e)=>S(P,{variables:{requisitionListUid:t,name:r,description:e}}).then(({errors:i,data:s})=>{var m;if(i)return N(i);const l=g((m=s==null?void 0:s.updateRequisitionList)==null?void 0:m.requisition_list);return F.emit("requisitionList/data",l),l});function k(t,r,e,i){const[s,l]=L(null);return{error:s,submit:async n=>{l(null);try{const u=n.description??"",o=t==="update"&&r?await j(r,n.name,u):await G(n.name,u);return o&&(e==null||e(o)),o}catch(u){const o=(u==null?void 0:u.message)||"Unexpected error";return l(o),i==null||i(o),null}}}}const Z=({mode:t,requisitionListUid:r,defaultValues:e={name:"",description:""},onSuccess:i,onError:s,onCancel:l})=>{const{error:m,submit:n}=k(t,r,i,s);return a(B,{mode:t,defaultValues:e,error:m,onSubmit:async o=>{await n(o)},onCancel:l})};export{Z as R};
|
|
40
40
|
//# sourceMappingURL=RequisitionListForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequisitionListForm.js","sources":["/@dropins/storefront-requisition-list/src/components/RequisitionListForm/RequisitionListForm.tsx","/@dropins/storefront-requisition-list/src/api/createRequisitionList/graphql/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/createRequisitionList/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/updateRequisitionList/graphql/updateRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/updateRequisitionList/updateRequisitionList.ts","/@dropins/storefront-requisition-list/src/hooks/useRequisitionListForm.ts","/@dropins/storefront-requisition-list/src/containers/RequisitionListForm/RequisitionListForm.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 { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { useState } from 'preact/hooks';\nimport {\n Field,\n Input,\n TextArea,\n Button,\n InLineAlert,\n} from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport {\n RequisitionListFormMode,\n RequisitionListFormValues,\n} from '@/requisitionList/hooks/useRequisitionListForm';\n\nimport '@/requisitionList/components/RequisitionListForm/RequisitionListForm.css';\n\nexport interface RequisitionListFormProps\n extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n mode: RequisitionListFormMode;\n defaultValues?: RequisitionListFormValues;\n error?: string | null;\n onSubmit: (values: RequisitionListFormValues) => Promise<void> | void;\n onCancel: () => void;\n}\n\nexport const RequisitionListForm: FunctionComponent<\n RequisitionListFormProps\n> = ({\n className,\n mode,\n defaultValues = { name: '', description: '' },\n error = null,\n onSubmit,\n onCancel,\n ...props\n}) => {\n const [values, setValues] =\n useState<RequisitionListFormValues>(defaultValues);\n const [nameBlurred, setNameBlurred] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const translations = useText({\n actionCancel: `RequisitionList.RequisitionListForm.actionCancel`,\n actionSave: `RequisitionList.RequisitionListForm.actionSave`,\n requiredField: `RequisitionList.RequisitionListForm.requiredField`,\n floatingLabel: `RequisitionList.RequisitionListForm.floatingLabel`,\n placeholder: `RequisitionList.RequisitionListForm.placeholder`,\n label: `RequisitionList.RequisitionListForm.label`,\n editTitle: `RequisitionList.RequisitionListForm.editTitle`,\n createTitle: `RequisitionList.RequisitionListForm.createTitle`,\n });\n\n const handleChange =\n (field: keyof RequisitionListFormValues) => (e: Event) => {\n const target = e.target as HTMLInputElement | HTMLTextAreaElement;\n setValues((prevValues) => ({\n ...prevValues,\n [field]: target.value,\n }));\n };\n\n const handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (!values.name || isSubmitting) return;\n setIsSubmitting(true);\n try {\n await onSubmit({\n name: values.name.trim(),\n description: values.description?.trim() || undefined,\n });\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleNameBlur = () => setNameBlurred(true);\n\n const errorMessage =\n nameBlurred && !values.name.trim() ? translations.requiredField : '';\n\n const title =\n mode === 'edit' ? translations.editTitle : translations.createTitle;\n\n return (\n <div {...props} className={classes(['requisition-list-form', className])}>\n <div className=\"requisition-list-form__title\">{title}</div>\n\n {error ? (\n <InLineAlert\n type=\"error\"\n className=\"requisition-list-form__notification\"\n variant=\"secondary\"\n heading={error}\n data-testid=\"requisition-list-alert\"\n />\n ) : null}\n\n <form\n className={classes(['requisition-list-form__form', className])}\n onSubmit={handleSubmit}\n >\n <Field error={errorMessage} disabled={isSubmitting}>\n <Input\n id=\"requisition-list-form-name\"\n name=\"name\"\n type=\"text\"\n floatingLabel={translations.floatingLabel}\n placeholder={translations.placeholder}\n required\n value={values.name}\n onChange={handleChange('name')}\n onBlur={handleNameBlur}\n />\n </Field>\n\n <Field disabled={isSubmitting}>\n <TextArea\n id=\"requisition-list-form-description\"\n name=\"description\"\n label={translations.label}\n placeholder={translations.label}\n value={values.description}\n onChange={handleChange('description')}\n />\n </Field>\n\n <div className=\"requisition-list-form__actions\">\n <Button\n type=\"button\"\n variant=\"secondary\"\n onClick={onCancel}\n disabled={isSubmitting}\n data-testid=\"requisition-list-form-cancel\"\n >\n {translations.actionCancel}\n </Button>\n <Button\n type=\"submit\"\n disabled={isSubmitting}\n data-testid=\"requisition-list-form-save\"\n >\n {translations.actionSave}\n </Button>\n </div>\n </form>\n </div>\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 *******************************************************************/\n\nimport { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\n\nexport const CREATE_REQUISITION_LIST_MUTATION = `\n mutation CREATE_REQUISITION_LIST_MUTATION(\n $requisitionListName: String!,\n $requisitionListDescription: String,\n ) {\n createRequisitionList(\n input: {\n name: $requisitionListName\n description: $requisitionListDescription\n }\n ) {\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n }\n }\n }\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 { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { CREATE_REQUISITION_LIST_MUTATION } from '@/requisitionList/api/createRequisitionList/graphql/createRequisitionList';\n\nexport const createRequisitionList = async (\n name: string,\n description?: string\n): Promise<RequisitionList | null> => {\n return fetchGraphQl(CREATE_REQUISITION_LIST_MUTATION, {\n variables: {\n requisitionListName: name,\n requisitionListDescription: description,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformRequisitionList(\n data.createRequisitionList.requisition_list\n );\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 { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\n\nexport const UPDATE_REQUISITION_LIST_MUTATION = `\n mutation UPDATE_REQUISITION_LIST_MUTATION(\n $requisitionListUid: ID!,\n $name: String!, \n $description: String,\n ) {\n updateRequisitionList(\n requisitionListUid: $requisitionListUid\n input: {\n name: $name\n description: $description\n }\n ) {\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n }\n }\n }\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 { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { UPDATE_REQUISITION_LIST_MUTATION } from '@/requisitionList/api/updateRequisitionList/graphql/updateRequisitionList';\n\nexport const updateRequisitionList = async (\n requisitionListUid: string,\n name: string,\n description?: string\n): Promise<RequisitionList | null> => {\n return fetchGraphQl(UPDATE_REQUISITION_LIST_MUTATION, {\n variables: {\n requisitionListUid,\n name,\n description,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n return transformRequisitionList(\n data.updateRequisitionList.requisition_list\n );\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 *******************************************************************/\n\nimport { useState } from 'preact/hooks';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { createRequisitionList } from '@/requisitionList/api/createRequisitionList/createRequisitionList';\nimport { updateRequisitionList } from '@/requisitionList/api/updateRequisitionList/updateRequisitionList';\n\nexport type RequisitionListFormMode = 'create' | 'edit';\nexport type RequisitionListFormValues = { name: string; description?: string };\n\nexport function useRequisitionListForm(\n mode: RequisitionListFormMode,\n requisitionListUid?: string,\n onSuccess?: (rl: RequisitionList) => void,\n onError?: (msg: string) => void\n) {\n const [error, setError] = useState<string | null>(null);\n\n const submit = async (values: RequisitionListFormValues) => {\n setError(null);\n try {\n const result =\n mode === 'edit' && requisitionListUid\n ? await updateRequisitionList(\n requisitionListUid,\n values.name,\n values.description\n )\n : await createRequisitionList(values.name, values.description);\n if (result) onSuccess?.(result);\n return result;\n } catch (e: any) {\n const msg = e?.message || 'Unexpected error';\n setError(msg);\n onError?.(msg);\n return null;\n }\n };\n\n return { error, submit } as const;\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 { Container } from '@adobe-commerce/elsie/lib';\nimport { RequisitionListForm as RequisitionListFormComponent } from '@/requisitionList/components/RequisitionListForm/RequisitionListForm';\nimport {\n useRequisitionListForm,\n RequisitionListFormMode,\n RequisitionListFormValues,\n} from '@/requisitionList/hooks/useRequisitionListForm';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\n\nexport interface RequisitionListFormProps {\n mode: RequisitionListFormMode;\n requisitionListUid?: string;\n defaultValues?: RequisitionListFormValues;\n onSuccess?: (newList: RequisitionList) => void;\n onError?: (message: string) => void;\n onCancel: () => void;\n}\n\nexport const RequisitionListForm: Container<RequisitionListFormProps> = ({\n mode,\n requisitionListUid,\n defaultValues = { name: '', description: '' },\n onSuccess,\n onError,\n onCancel,\n}) => {\n const { error, submit } = useRequisitionListForm(\n mode,\n requisitionListUid,\n onSuccess,\n onError\n );\n\n const handleSubmit = async (values: RequisitionListFormValues) => {\n await submit(values);\n };\n\n return (\n <RequisitionListFormComponent\n mode={mode}\n defaultValues={defaultValues}\n error={error}\n onSubmit={handleSubmit}\n onCancel={onCancel}\n />\n );\n};\n"],"names":["RequisitionListForm","className","mode","defaultValues","error","onSubmit","onCancel","props","values","setValues","useState","nameBlurred","setNameBlurred","isSubmitting","setIsSubmitting","translations","useText","handleChange","field","e","target","prevValues","handleSubmit","_a","handleNameBlur","errorMessage","title","jsxs","classes","jsx","InLineAlert","Field","Input","TextArea","Button","CREATE_REQUISITION_LIST_MUTATION","REQUISITION_LIST_FRAGMENT","createRequisitionList","name","description","fetchGraphQl","errors","data","handleFetchError","transformRequisitionList","UPDATE_REQUISITION_LIST_MUTATION","updateRequisitionList","requisitionListUid","useRequisitionListForm","onSuccess","onError","setError","result","msg","submit","RequisitionListFormComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RequisitionListForm.js","sources":["/@dropins/storefront-requisition-list/src/components/RequisitionListForm/RequisitionListForm.tsx","/@dropins/storefront-requisition-list/src/api/createRequisitionList/graphql/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/createRequisitionList/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/updateRequisitionList/graphql/updateRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/updateRequisitionList/updateRequisitionList.ts","/@dropins/storefront-requisition-list/src/hooks/useRequisitionListForm.ts","/@dropins/storefront-requisition-list/src/containers/RequisitionListForm/RequisitionListForm.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 { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { useState } from 'preact/hooks';\nimport {\n Field,\n Input,\n TextArea,\n Button,\n InLineAlert,\n ProgressSpinner,\n} from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport {\n RequisitionListFormMode,\n RequisitionListFormValues,\n} from '@/requisitionList/hooks/useRequisitionListForm';\n\nimport '@/requisitionList/components/RequisitionListForm/RequisitionListForm.css';\n\nexport interface RequisitionListFormProps\n extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n mode: RequisitionListFormMode;\n defaultValues?: RequisitionListFormValues;\n error?: string | null;\n onSubmit: (values: RequisitionListFormValues) => Promise<void> | void;\n onCancel: () => void;\n}\n\nexport const RequisitionListForm: FunctionComponent<\n RequisitionListFormProps\n> = ({\n className,\n mode,\n defaultValues = { name: '', description: '' },\n error = null,\n onSubmit,\n onCancel,\n ...props\n}) => {\n const [values, setValues] =\n useState<RequisitionListFormValues>(defaultValues);\n const [nameBlurred, setNameBlurred] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const translations = useText({\n actionCancel: `RequisitionList.RequisitionListForm.actionCancel`,\n actionSave: `RequisitionList.RequisitionListForm.actionSave`,\n requiredField: `RequisitionList.RequisitionListForm.requiredField`,\n floatingLabel: `RequisitionList.RequisitionListForm.floatingLabel`,\n placeholder: `RequisitionList.RequisitionListForm.placeholder`,\n label: `RequisitionList.RequisitionListForm.label`,\n updateTitle: `RequisitionList.RequisitionListForm.updateTitle`,\n createTitle: `RequisitionList.RequisitionListForm.createTitle`,\n });\n\n const handleChange =\n (field: keyof RequisitionListFormValues) => (e: Event) => {\n const target = e.target as HTMLInputElement | HTMLTextAreaElement;\n setValues((prevValues) => ({\n ...prevValues,\n [field]: target.value,\n }));\n };\n\n const handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (!values.name || isSubmitting) return;\n setIsSubmitting(true);\n try {\n await onSubmit({\n name: values.name.trim(),\n description: values.description?.trim() || undefined,\n });\n } catch {\n setIsSubmitting(false);\n }\n };\n\n const handleNameBlur = () => setNameBlurred(true);\n\n const errorMessage =\n nameBlurred && !values.name.trim() ? translations.requiredField : '';\n\n const title =\n mode === 'update' ? translations.updateTitle : translations.createTitle;\n\n return (\n <div {...props} className={classes(['requisition-list-form', className])}>\n <div className=\"requisition-list-form__title\">\n {title}\n {isSubmitting ? (\n <div\n className={classes([\n 'requisition-list-form_progress-spinner',\n className,\n ])}\n data-testid=\"requisition-list-form-progress-spinner\"\n >\n <ProgressSpinner stroke={'4'} size={'small'} />\n </div>\n ) : null}\n </div>\n\n {error ? (\n <InLineAlert\n type=\"error\"\n className=\"requisition-list-form__notification\"\n variant=\"secondary\"\n heading={error}\n data-testid=\"requisition-list-alert\"\n />\n ) : null}\n\n <form\n className={classes(['requisition-list-form__form', className])}\n onSubmit={handleSubmit}\n >\n <Field error={errorMessage} disabled={isSubmitting}>\n <Input\n id=\"requisition-list-form-name\"\n name=\"name\"\n type=\"text\"\n floatingLabel={translations.floatingLabel}\n placeholder={translations.placeholder}\n required\n value={values.name}\n onChange={handleChange('name')}\n onBlur={handleNameBlur}\n />\n </Field>\n\n <Field disabled={isSubmitting}>\n <TextArea\n id=\"requisition-list-form-description\"\n name=\"description\"\n label={translations.label}\n placeholder={translations.label}\n value={values.description}\n onChange={handleChange('description')}\n />\n </Field>\n\n <div className=\"requisition-list-form__actions\">\n <Button\n type=\"button\"\n variant=\"secondary\"\n onClick={onCancel}\n disabled={isSubmitting}\n data-testid=\"requisition-list-form-cancel\"\n >\n {translations.actionCancel}\n </Button>\n <Button\n type=\"submit\"\n disabled={isSubmitting}\n data-testid=\"requisition-list-form-save\"\n >\n {translations.actionSave}\n </Button>\n </div>\n </form>\n </div>\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 *******************************************************************/\n\nimport { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\n\nexport const CREATE_REQUISITION_LIST_MUTATION = `\n mutation CREATE_REQUISITION_LIST_MUTATION(\n $requisitionListName: String!,\n $requisitionListDescription: String,\n ) {\n createRequisitionList(\n input: {\n name: $requisitionListName\n description: $requisitionListDescription\n }\n ) {\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n }\n }\n }\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 { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { CREATE_REQUISITION_LIST_MUTATION } from '@/requisitionList/api/createRequisitionList/graphql/createRequisitionList';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const createRequisitionList = async (\n name: string,\n description?: string\n): Promise<RequisitionList | null> => {\n return fetchGraphQl(CREATE_REQUISITION_LIST_MUTATION, {\n variables: {\n requisitionListName: name,\n requisitionListDescription: description,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const payload = transformRequisitionList(\n data.createRequisitionList.requisition_list\n );\n events.emit('requisitionList/data', payload);\n return payload;\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 { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\n\nexport const UPDATE_REQUISITION_LIST_MUTATION = `\n mutation UPDATE_REQUISITION_LIST_MUTATION(\n $requisitionListUid: ID!,\n $name: String!, \n $description: String,\n ) {\n updateRequisitionList(\n requisitionListUid: $requisitionListUid\n input: {\n name: $name\n description: $description\n }\n ) {\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n }\n }\n }\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 { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { UPDATE_REQUISITION_LIST_MUTATION } from '@/requisitionList/api/updateRequisitionList/graphql/updateRequisitionList';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const updateRequisitionList = async (\n requisitionListUid: string,\n name: string,\n description?: string\n): Promise<RequisitionList | null> => {\n return fetchGraphQl(UPDATE_REQUISITION_LIST_MUTATION, {\n variables: {\n requisitionListUid,\n name,\n description,\n },\n }).then(({ errors, data }) => {\n if (errors) return handleFetchError(errors);\n\n const payload = transformRequisitionList(\n data?.updateRequisitionList?.requisition_list\n );\n\n events.emit('requisitionList/data', payload);\n\n return payload;\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 *******************************************************************/\n\nimport { useState } from 'preact/hooks';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { createRequisitionList } from '@/requisitionList/api/createRequisitionList/createRequisitionList';\nimport { updateRequisitionList } from '@/requisitionList/api/updateRequisitionList/updateRequisitionList';\n\nexport type RequisitionListFormMode = 'create' | 'update';\nexport type RequisitionListFormValues = { name: string; description?: string };\n\ntype UseRequisitionListFormReturn = {\n error: string | null;\n submit: (\n values: RequisitionListFormValues\n ) => Promise<RequisitionList | null>;\n};\n\nexport function useRequisitionListForm(\n mode: RequisitionListFormMode,\n requisitionListUid?: string,\n onSuccess?: (rl: RequisitionList) => void,\n onError?: (msg: string) => void\n): UseRequisitionListFormReturn {\n const [error, setError] = useState<string | null>(null);\n\n const submit = async (\n values: RequisitionListFormValues\n ): Promise<RequisitionList | null> => {\n setError(null);\n try {\n const description = values.description ?? '';\n const result =\n mode === 'update' && requisitionListUid\n ? await updateRequisitionList(\n requisitionListUid,\n values.name,\n description\n )\n : await createRequisitionList(values.name, description);\n if (result) onSuccess?.(result);\n return result;\n } catch (e: any) {\n const msg = e?.message || 'Unexpected error';\n setError(msg);\n onError?.(msg);\n return null;\n }\n };\n\n return { error, submit };\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 { Container } from '@adobe-commerce/elsie/lib';\nimport { RequisitionListForm as RequisitionListFormComponent } from '@/requisitionList/components/RequisitionListForm/RequisitionListForm';\nimport {\n useRequisitionListForm,\n RequisitionListFormMode,\n RequisitionListFormValues,\n} from '@/requisitionList/hooks/useRequisitionListForm';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\n\nexport interface RequisitionListFormProps {\n mode: RequisitionListFormMode;\n requisitionListUid?: string;\n defaultValues?: RequisitionListFormValues;\n onSuccess?: (newList: RequisitionList) => void;\n onError?: (message: string) => void;\n onCancel: () => void;\n}\n\nexport const RequisitionListForm: Container<RequisitionListFormProps> = ({\n mode,\n requisitionListUid,\n defaultValues = { name: '', description: '' },\n onSuccess,\n onError,\n onCancel,\n}) => {\n const { error, submit } = useRequisitionListForm(\n mode,\n requisitionListUid,\n onSuccess,\n onError\n );\n\n const handleSubmit = async (values: RequisitionListFormValues) => {\n await submit(values);\n };\n\n return (\n <RequisitionListFormComponent\n mode={mode}\n defaultValues={defaultValues}\n error={error}\n onSubmit={handleSubmit}\n onCancel={onCancel}\n />\n );\n};\n"],"names":["RequisitionListForm","className","mode","defaultValues","error","onSubmit","onCancel","props","values","setValues","useState","nameBlurred","setNameBlurred","isSubmitting","setIsSubmitting","translations","useText","handleChange","field","e","target","prevValues","handleSubmit","_a","handleNameBlur","errorMessage","title","jsxs","classes","jsx","ProgressSpinner","InLineAlert","Field","Input","TextArea","Button","CREATE_REQUISITION_LIST_MUTATION","REQUISITION_LIST_FRAGMENT","createRequisitionList","name","description","fetchGraphQl","errors","data","handleFetchError","payload","transformRequisitionList","events","UPDATE_REQUISITION_LIST_MUTATION","updateRequisitionList","requisitionListUid","useRequisitionListForm","onSuccess","onError","setError","result","msg","submit","RequisitionListFormComponent"],"mappings":"ggBA+CO,MAAMA,EAET,CAAC,CACH,UAAAC,EACA,KAAAC,EACA,cAAAC,EAAgB,CAAE,KAAM,GAAI,YAAa,EAAG,EAC5C,MAAAC,EAAQ,KACR,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,KAAM,CAACC,EAAQC,CAAS,EACtBC,EAAoCP,CAAa,EAC7C,CAACQ,EAAaC,CAAc,EAAIF,EAAS,EAAK,EAC9C,CAACG,EAAcC,CAAe,EAAIJ,EAAS,EAAK,EAEhDK,EAAeC,EAAQ,CAC3B,aAAc,mDACd,WAAY,iDACZ,cAAe,oDACf,cAAe,oDACf,YAAa,kDACb,MAAO,4CACP,YAAa,kDACb,YAAa,iDAAA,CACd,EAEKC,EACHC,GAA4CC,GAAa,CACxD,MAAMC,EAASD,EAAE,OACjBV,EAAWY,IAAgB,CACzB,GAAGA,EACH,CAACH,CAAK,EAAGE,EAAO,KAAA,EAChB,CACJ,EAEIE,EAAe,MAAOH,GAAa,OAEnC,GADJA,EAAE,eAAe,EACb,GAACX,EAAO,MAAQK,GACpB,CAAAC,EAAgB,EAAI,EAChB,GAAA,CACF,MAAMT,EAAS,CACb,KAAMG,EAAO,KAAK,KAAK,EACvB,cAAae,EAAAf,EAAO,cAAP,YAAAe,EAAoB,SAAU,MAAA,CAC5C,CAAA,MACK,CACNT,EAAgB,EAAK,CAAA,EAEzB,EAEMU,EAAiB,IAAMZ,EAAe,EAAI,EAE1Ca,EACJd,GAAe,CAACH,EAAO,KAAK,KAAK,EAAIO,EAAa,cAAgB,GAE9DW,EACJxB,IAAS,SAAWa,EAAa,YAAcA,EAAa,YAG5D,OAAAY,EAAC,MAAK,CAAA,GAAGpB,EAAO,UAAWqB,EAAQ,CAAC,wBAAyB3B,CAAS,CAAC,EACrE,SAAA,CAAC0B,EAAA,MAAA,CAAI,UAAU,+BACZ,SAAA,CAAAD,EACAb,EACCgB,EAAC,MAAA,CACC,UAAWD,EAAQ,CACjB,yCACA3B,CAAA,CACD,EACD,cAAY,yCAEZ,SAAC4B,EAAAC,EAAA,CAAgB,OAAQ,IAAK,KAAM,OAAS,CAAA,CAAA,CAAA,EAE7C,IAAA,EACN,EAEC1B,EACCyB,EAACE,EAAA,CACC,KAAK,QACL,UAAU,sCACV,QAAQ,YACR,QAAS3B,EACT,cAAY,wBAAA,CAAA,EAEZ,KAEJuB,EAAC,OAAA,CACC,UAAWC,EAAQ,CAAC,8BAA+B3B,CAAS,CAAC,EAC7D,SAAUqB,EAEV,SAAA,CAAAO,EAACG,EAAM,CAAA,MAAOP,EAAc,SAAUZ,EACpC,SAAAgB,EAACI,EAAA,CACC,GAAG,6BACH,KAAK,OACL,KAAK,OACL,cAAelB,EAAa,cAC5B,YAAaA,EAAa,YAC1B,SAAQ,GACR,MAAOP,EAAO,KACd,SAAUS,EAAa,MAAM,EAC7B,OAAQO,CAAA,CAAA,EAEZ,EAEAK,EAACG,EAAM,CAAA,SAAUnB,EACf,SAAAgB,EAACK,EAAA,CACC,GAAG,oCACH,KAAK,cACL,MAAOnB,EAAa,MACpB,YAAaA,EAAa,MAC1B,MAAOP,EAAO,YACd,SAAUS,EAAa,aAAa,CAAA,CAAA,EAExC,EAEAU,EAAC,MAAI,CAAA,UAAU,iCACb,SAAA,CAAAE,EAACM,EAAA,CACC,KAAK,SACL,QAAQ,YACR,QAAS7B,EACT,SAAUO,EACV,cAAY,+BAEX,SAAaE,EAAA,YAAA,CAChB,EACAc,EAACM,EAAA,CACC,KAAK,SACL,SAAUtB,EACV,cAAY,6BAEX,SAAaE,EAAA,UAAA,CAAA,CAChB,CACF,CAAA,CAAA,CAAA,CAAA,CACF,EACF,CAEJ,ECnKaqB,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB9CC,CAAyB;AAAA,ECXdC,EAAwB,MACnCC,EACAC,IAEOC,EAAaL,EAAkC,CACpD,UAAW,CACT,oBAAqBG,EACrB,2BAA4BC,CAAA,CAE/B,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAE,EAAQ,KAAAC,KAAW,CACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAE1C,MAAMG,EAAUC,EACdH,EAAK,sBAAsB,gBAC7B,EACO,OAAAI,EAAA,KAAK,uBAAwBF,CAAO,EACpCA,CAAA,CACR,ECvBUG,EAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB9CX,CAAyB;AAAA,ECZdY,EAAwB,MACnCC,EACAX,EACAC,IAEOC,EAAaO,EAAkC,CACpD,UAAW,CACT,mBAAAE,EACA,KAAAX,EACA,YAAAC,CAAA,CAEH,CAAA,EAAE,KAAK,CAAC,CAAE,OAAAE,EAAQ,KAAAC,KAAW,OACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAE1C,MAAMG,EAAUC,GACdvB,EAAAoB,GAAA,YAAAA,EAAM,wBAAN,YAAApB,EAA6B,gBAC/B,EAEO,OAAAwB,EAAA,KAAK,uBAAwBF,CAAO,EAEpCA,CAAA,CACR,ECbI,SAASM,EACdjD,EACAgD,EACAE,EACAC,EAC8B,CAC9B,KAAM,CAACjD,EAAOkD,CAAQ,EAAI5C,EAAwB,IAAI,EA0B/C,MAAA,CAAE,MAAAN,EAAO,OAxBD,MACbI,GACoC,CACpC8C,EAAS,IAAI,EACT,GAAA,CACI,MAAAd,EAAchC,EAAO,aAAe,GACpC+C,EACJrD,IAAS,UAAYgD,EACjB,MAAMD,EACJC,EACA1C,EAAO,KACPgC,CAEF,EAAA,MAAMF,EAAsB9B,EAAO,KAAMgC,CAAW,EACtD,OAAAe,eAAoBA,IACjBA,QACApC,EAAQ,CACT,MAAAqC,GAAMrC,GAAA,YAAAA,EAAG,UAAW,mBAC1B,OAAAmC,EAASE,CAAG,EACZH,GAAA,MAAAA,EAAUG,GACH,IAAA,CAEX,CAEuB,CACzB,CC9BO,MAAMxD,EAA2D,CAAC,CACvE,KAAAE,EACA,mBAAAgD,EACA,cAAA/C,EAAgB,CAAE,KAAM,GAAI,YAAa,EAAG,EAC5C,UAAAiD,EACA,QAAAC,EACA,SAAA/C,CACF,IAAM,CACE,KAAA,CAAE,MAAAF,EAAO,OAAAqD,CAAA,EAAWN,EACxBjD,EACAgD,EACAE,EACAC,CACF,EAOE,OAAAxB,EAAC6B,EAAA,CACC,KAAAxD,EACA,cAAAC,EACA,MAAAC,EACA,SATiB,MAAOI,GAAsC,CAChE,MAAMiD,EAAOjD,CAAM,CACrB,EAQI,SAAAF,CAAA,CACF,CAEJ"}
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|