@dropins/storefront-requisition-list 1.3.0-alpha-20260423142017 → 1.3.0

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +16 -10
  2. package/api/getStoreConfig/graphql/storeConfigQuery.d.ts +1 -1
  3. package/api/index.d.ts +0 -5
  4. package/api.js +1 -19
  5. package/api.js.map +1 -1
  6. package/chunks/RequisitionListForm2.js +2 -2
  7. package/chunks/RequisitionListForm2.js.map +1 -1
  8. package/chunks/RequisitionListHeader.js +1 -1
  9. package/chunks/RequisitionListHeader.js.map +1 -1
  10. package/chunks/RequisitionListView.js +1 -1
  11. package/chunks/RequisitionListView.js.map +1 -1
  12. package/chunks/copyItemsBetweenRequisitionLists.js +6 -6
  13. package/chunks/copyItemsBetweenRequisitionLists.js.map +1 -1
  14. package/chunks/deleteRequisitionList.js +2 -2
  15. package/chunks/deleteRequisitionList.js.map +1 -1
  16. package/chunks/fetch-graphql.js +1 -1
  17. package/chunks/fetch-graphql.js.map +1 -1
  18. package/chunks/getRequisitionLists.js +4 -4
  19. package/chunks/getRequisitionLists.js.map +1 -1
  20. package/chunks/initialize.js +2 -5
  21. package/chunks/initialize.js.map +1 -1
  22. package/chunks/state.js.map +1 -1
  23. package/chunks/updateRequisitionList.js +13 -5
  24. package/chunks/updateRequisitionList.js.map +1 -1
  25. package/components/RequisitionListHeader/RequisitionListHeader.d.ts +0 -4
  26. package/components/index.d.ts +0 -1
  27. package/containers/RequisitionListForm.js +1 -1
  28. package/containers/RequisitionListGrid.js +1 -1
  29. package/containers/RequisitionListGrid.js.map +1 -1
  30. package/containers/RequisitionListHeader/RequisitionListHeader.d.ts +0 -2
  31. package/containers/RequisitionListHeader.js +1 -1
  32. package/containers/RequisitionListSelector.js +3 -3
  33. package/containers/RequisitionListSelector.js.map +1 -1
  34. package/containers/RequisitionListView/RequisitionListView.d.ts +0 -2
  35. package/containers/RequisitionListView.js +1 -1
  36. package/containers/RequisitionListView.js.map +1 -1
  37. package/containers/index.d.ts +0 -2
  38. package/i18n/en_US.json.d.ts +1 -23
  39. package/lib/state.d.ts +0 -3
  40. package/package.json +1 -1
  41. package/render.js +2 -4
  42. package/render.js.map +1 -1
  43. package/api/getCompanyUsers/getCompanyUsers.d.ts +0 -24
  44. package/api/getCompanyUsers/graphql/getCompanyUsers.d.ts +0 -18
  45. package/api/getCompanyUsers/index.d.ts +0 -18
  46. package/api/getSharedRequisitionList/getSharedRequisitionList.d.ts +0 -9
  47. package/api/getSharedRequisitionList/graphql/getSharedRequisitionList.d.ts +0 -18
  48. package/api/getSharedRequisitionList/index.d.ts +0 -18
  49. package/api/importSharedRequisitionList/graphql/importSharedRequisitionList.d.ts +0 -18
  50. package/api/importSharedRequisitionList/importSharedRequisitionList.d.ts +0 -12
  51. package/api/importSharedRequisitionList/index.d.ts +0 -18
  52. package/api/shareRequisitionListByEmail/graphql/shareRequisitionListByEmail.d.ts +0 -18
  53. package/api/shareRequisitionListByEmail/index.d.ts +0 -18
  54. package/api/shareRequisitionListByEmail/shareRequisitionListByEmail.d.ts +0 -22
  55. package/api/shareRequisitionListByToken/graphql/shareRequisitionListByToken.d.ts +0 -18
  56. package/api/shareRequisitionListByToken/index.d.ts +0 -18
  57. package/api/shareRequisitionListByToken/shareRequisitionListByToken.d.ts +0 -22
  58. package/chunks/ShareRequisitionListContent.js +0 -4
  59. package/chunks/ShareRequisitionListContent.js.map +0 -1
  60. package/chunks/fetch-error.js +0 -4
  61. package/chunks/fetch-error.js.map +0 -1
  62. package/chunks/importSharedRequisitionList.js +0 -17
  63. package/chunks/importSharedRequisitionList.js.map +0 -1
  64. package/chunks/shareRequisitionListByEmail.js +0 -22
  65. package/chunks/shareRequisitionListByEmail.js.map +0 -1
  66. package/chunks/shareRequisitionListByToken.js +0 -27
  67. package/chunks/shareRequisitionListByToken.js.map +0 -1
  68. package/chunks/transform-requisition-list.js +0 -12
  69. package/chunks/transform-requisition-list.js.map +0 -1
  70. package/components/ShareRequisitionListContent/ShareRequisitionListContent.d.ts +0 -26
  71. package/containers/ShareRequisitionListContent/ShareRequisitionListContent.d.ts +0 -17
  72. package/containers/ShareRequisitionListContent/index.d.ts +0 -19
  73. package/containers/ShareRequisitionListContent.d.ts +0 -3
  74. package/containers/ShareRequisitionListContent.js +0 -4
  75. package/containers/ShareRequisitionListContent.js.map +0 -1
  76. package/containers/SharedRequisitionList/SharedRequisitionList.d.ts +0 -27
  77. package/containers/SharedRequisitionList/index.d.ts +0 -19
  78. package/containers/SharedRequisitionList.d.ts +0 -3
  79. package/containers/SharedRequisitionList.js +0 -4
  80. package/containers/SharedRequisitionList.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @dropins/storefront-requisition-list
2
2
 
3
- ## 1.3.0-alpha-20260423142017
3
+ ## 1.3.0
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -13,17 +13,23 @@
13
13
  - Refactor `RequisitionListSelector` to use `RequisitionListPicker` for consistent list selection UX
14
14
  - Include destination list name in success alert messages for both move and copy operations
15
15
 
16
- - 22f378f: feat: add requisition list sharing feature (USF-3911)
16
+ - 9fdf4f4: Add an an active class and prop to the **RequisitionListSelector** so the button on the PDP page can reflect when the current product is already in the requisition list. Both an `active` prop as well as `requisition-list-selector--active` class was added. In addition, the `activeIcon` was also included should that the developer would like to change the button icon once an active state is truthy.
17
+ - 98cd3b9: fix: merge user-provided langDefinitions in Provider
18
+
19
+ The Provider now imports `config` and uses `deepmerge` to merge user-provided `langDefinitions` with the drop-in's bundled defaults before passing them to `UIProvider`. This enables label/placeholder overrides via the initializer API.
20
+
21
+ ## 1.3.0-beta.0
22
+
23
+ ### Minor Changes
17
24
 
18
- Introduces the ability for authenticated company users to share requisition lists with colleagues, either via a generated link or by email. Recipients can preview and import the shared list into their own account.
25
+ - 4205285: feat: add Move to List and Copy to List features for requisition list items
19
26
 
20
- - Add `shareRequisitionListByToken` and `shareRequisitionListByEmail` APIs to generate share links and notify colleagues
21
- - Add `getSharedRequisitionList` API to preview a shared list by token (read-only, sender info included)
22
- - Add `importSharedRequisitionList` API to copy a shared list into the current customer's account
23
- - Add `ShareRequisitionListContent` component and container with copy-link and email recipient selection UI
24
- - Add `SharedRequisitionList` container to auto-import a shared requisition list by token and redirect to the list detail page on success
25
- - Extend `useRequisitionListAlert` with `import` action for success/error feedback after import
26
- - Extend `getStoreConfig` with sharing-related store config fields
27
+ - Add `moveItemsBetweenRequisitionLists` API to move items from one requisition list to another, removing them from the source and adding to the destination
28
+ - Add `copyItemsBetweenRequisitionLists` API to copy items between requisition lists, keeping items in the source list
29
+ - Add `RequisitionListPicker` reusable component for selecting a requisition list from a scrollable list of cards
30
+ - Add "Move to List" and "Copy to List" bulk action buttons in the requisition list view, with modal-based list selection
31
+ - Refactor `RequisitionListSelector` to use `RequisitionListPicker` for consistent list selection UX
32
+ - Include destination list name in success alert messages for both move and copy operations
27
33
 
28
34
  - 9fdf4f4: Add an an active class and prop to the **RequisitionListSelector** so the button on the PDP page can reflect when the current product is already in the requisition list. Both an `active` prop as well as `requisition-list-selector--active` class was added. In addition, the `activeIcon` was also included should that the developer would like to change the button icon once an active state is truthy.
29
35
  - 98cd3b9: fix: merge user-provided langDefinitions in Provider
@@ -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 STORE_CONFIG_QUERY = "\nquery STORE_CONFIG_QUERY {\n storeConfig {\n is_requisition_list_active\n company_enabled\n requisition_list_sharing_enabled\n requisition_list_share_max_recipients\n requisition_list_share_storefront_path\n }\n}\n";
17
+ export declare const STORE_CONFIG_QUERY = "\nquery STORE_CONFIG_QUERY {\n storeConfig {\n is_requisition_list_active\n company_enabled\n }\n}\n";
18
18
  //# sourceMappingURL=storeConfigQuery.d.ts.map
package/api/index.d.ts CHANGED
@@ -28,9 +28,4 @@ export * from './addProductsToRequisitionList';
28
28
  export * from './addRequisitionListItemsToCart';
29
29
  export * from './moveItemsBetweenRequisitionLists';
30
30
  export * from './copyItemsBetweenRequisitionLists';
31
- export * from './getCompanyUsers';
32
- export * from './shareRequisitionListByEmail';
33
- export * from './shareRequisitionListByToken';
34
- export * from './getSharedRequisitionList';
35
- export * from './importSharedRequisitionList';
36
31
  //# sourceMappingURL=index.d.ts.map
package/api.js CHANGED
@@ -1,22 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{c as N,g as x,i as G}from"./chunks/initialize.js";import{g as F}from"./chunks/getRequisitionLists.js";import{a as y,c as A,d as M,g as O,m as H,u as k}from"./chunks/copyItemsBetweenRequisitionLists.js";import{R as I}from"./chunks/updateRequisitionList.js";import{u as B}from"./chunks/updateRequisitionList.js";import{d as w}from"./chunks/deleteRequisitionList.js";import{g as D,s as P}from"./chunks/shareRequisitionListByToken.js";import{s as b}from"./chunks/shareRequisitionListByEmail.js";import{h as u}from"./chunks/fetch-error.js";import{R,t as p}from"./chunks/transform-requisition-list.js";import"@dropins/tools/event-bus.js";import{f as L}from"./chunks/fetch-graphql.js";import{g as J,r as K,s as V,a as W,b as X}from"./chunks/fetch-graphql.js";import{i as ee}from"./chunks/importSharedRequisitionList.js";import"@dropins/tools/lib.js";import"./chunks/state.js";import"@dropins/tools/fetch-graphql.js";const S=`
4
- query GET_SHARED_REQUISITION_LIST_QUERY(
5
- $token: String!
6
- $currentPage: Int = 1
7
- $pageSize: Int = 10
8
- ) {
9
- sharedRequisitionList(token: $token) {
10
- sender_name
11
- requisition_list {
12
- ...REQUISITION_LIST_FRAGMENT
13
- items(pageSize: $pageSize, currentPage: $currentPage) {
14
- ...REQUISITION_LIST_ITEMS_FRAGMENT
15
- }
16
- }
17
- }
18
- }
19
- ${I}
20
- ${R}
21
- `,h=async(a,n,m,s)=>{var o;const{errors:r,data:t}=await L(S,{variables:{token:a,currentPage:n,pageSize:m}});if(r)return u(r);const i=t==null?void 0:t.sharedRequisitionList;if(!(i!=null&&i.requisition_list))return null;let e=p(i.requisition_list);return e?((o=e.items)!=null&&o.length&&s&&(e={...e,items:await s(e.items)}),{senderName:i.sender_name,requisitionList:e}):null};export{y as addRequisitionListItemsToCart,N as config,A as copyItemsBetweenRequisitionLists,w as deleteRequisitionList,M as deleteRequisitionListItems,L as fetchGraphQl,D as getCompanyUsers,J as getConfig,O as getRequisitionList,F as getRequisitionLists,h as getSharedRequisitionList,x as getStoreConfig,ee as importSharedRequisitionList,G as initialize,H as moveItemsBetweenRequisitionLists,K as removeFetchGraphQlHeader,V as setEndpoint,W as setFetchGraphQlHeader,X as setFetchGraphQlHeaders,b as shareRequisitionListByEmail,P as shareRequisitionListByToken,B as updateRequisitionList,k as updateRequisitionListItems};
3
+ import{c as r,g as m,i as p}from"./chunks/initialize.js";import{g as u}from"./chunks/getRequisitionLists.js";import{a as f,c as g,d as q,g as L,m as R,u as c}from"./chunks/copyItemsBetweenRequisitionLists.js";import{u as l}from"./chunks/updateRequisitionList.js";import{d as I}from"./chunks/deleteRequisitionList.js";import{f as Q,g as C,r as F,s as H,a as v,b as w}from"./chunks/fetch-graphql.js";import"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"./chunks/state.js";import"@dropins/tools/fetch-graphql.js";export{f as addRequisitionListItemsToCart,r as config,g as copyItemsBetweenRequisitionLists,I as deleteRequisitionList,q as deleteRequisitionListItems,Q as fetchGraphQl,C as getConfig,L as getRequisitionList,u as getRequisitionLists,m as getStoreConfig,p as initialize,R as moveItemsBetweenRequisitionLists,F as removeFetchGraphQlHeader,H as setEndpoint,v as setFetchGraphQlHeader,w as setFetchGraphQlHeaders,l as updateRequisitionList,c as updateRequisitionListItems};
22
4
  //# sourceMappingURL=api.js.map
package/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["/@dropins/storefront-requisition-list/src/api/getSharedRequisitionList/graphql/getSharedRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/getSharedRequisitionList/getSharedRequisitionList.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { REQUISITION_LIST_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListFragment.graphql';\nimport { REQUISITION_LIST_ITEMS_FRAGMENT } from '@/requisitionList/api/fragments/RequisitionListItemsFragment.graphql';\n\nexport const GET_SHARED_REQUISITION_LIST_QUERY = `\n query GET_SHARED_REQUISITION_LIST_QUERY(\n $token: String!\n $currentPage: Int = 1\n $pageSize: Int = 10\n ) {\n sharedRequisitionList(token: $token) {\n sender_name\n requisition_list {\n ...REQUISITION_LIST_FRAGMENT\n items(pageSize: $pageSize, currentPage: $currentPage) {\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 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/requisitionList/api';\nimport { handleFetchError } from '@/requisitionList/lib/fetch-error';\nimport { GET_SHARED_REQUISITION_LIST_QUERY } from '@/requisitionList/api/getSharedRequisitionList/graphql/getSharedRequisitionList';\nimport { transformRequisitionList } from '@/requisitionList/data/transforms';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { Item } from '@/requisitionList/data/models/item';\n\nexport interface SharedRequisitionListResult {\n senderName: string;\n requisitionList: RequisitionList;\n}\n\nexport const getSharedRequisitionList = async (\n token: string,\n currentPage?: number,\n pageSize?: number,\n enrichConfigurableProducts?: (items: Item[]) => Promise<Item[]>\n): Promise<SharedRequisitionListResult | null> => {\n const { errors, data } = await fetchGraphQl(GET_SHARED_REQUISITION_LIST_QUERY, {\n variables: { token, currentPage, pageSize },\n });\n\n if (errors) return handleFetchError(errors);\n\n const raw = data?.sharedRequisitionList;\n if (!raw?.requisition_list) {\n return null;\n }\n\n let requisitionList = transformRequisitionList(raw.requisition_list);\n if (!requisitionList) {\n return null;\n }\n\n if (requisitionList.items?.length && enrichConfigurableProducts) {\n requisitionList = {\n ...requisitionList,\n items: await enrichConfigurableProducts(requisitionList.items),\n };\n }\n\n return {\n senderName: raw.sender_name,\n requisitionList,\n };\n};\n"],"names":["GET_SHARED_REQUISITION_LIST_QUERY","REQUISITION_LIST_ITEMS_FRAGMENT","REQUISITION_LIST_FRAGMENT","getSharedRequisitionList","token","currentPage","pageSize","enrichConfigurableProducts","errors","data","fetchGraphQl","handleFetchError","raw","requisitionList","transformRequisitionList","_a"],"mappings":"o5BAoBO,MAAMA,EAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB/CC,CAA+B;AAAA,EAC/BC,CAAyB;AAAA,ECRdC,EAA2B,MACtCC,EACAC,EACAC,EACAC,IACgD,OAChD,KAAM,CAAE,OAAAC,EAAQ,KAAAC,CAAS,EAAA,MAAMC,EAAaV,EAAmC,CAC7E,UAAW,CAAE,MAAAI,EAAO,YAAAC,EAAa,SAAAC,CAAS,CAAA,CAC3C,EAEG,GAAAE,EAAe,OAAAG,EAAiBH,CAAM,EAE1C,MAAMI,EAAMH,GAAA,YAAAA,EAAM,sBACd,GAAA,EAACG,GAAA,MAAAA,EAAK,kBACD,OAAA,KAGL,IAAAC,EAAkBC,EAAyBF,EAAI,gBAAgB,EACnE,OAAKC,IAIDE,EAAAF,EAAgB,QAAhB,MAAAE,EAAuB,QAAUR,IACjBM,EAAA,CAChB,GAAGA,EACH,MAAO,MAAMN,EAA2BM,EAAgB,KAAK,CAC/D,GAGK,CACL,WAAYD,EAAI,YAChB,gBAAAC,CACF,GAbS,IAcX"}
1
+ {"version":3,"file":"api.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as c}from"@dropins/tools/preact-jsx-runtime.js";import{R as p}from"./RequisitionListForm.js";import{useState as R}from"@dropins/tools/preact-hooks.js";import{R as L,t as q}from"./transform-requisition-list.js";import{h as I}from"./fetch-error.js";import{events as l}from"@dropins/tools/event-bus.js";import{f as T}from"./fetch-graphql.js";import{u as f}from"./updateRequisitionList.js";const _=`
3
+ import{jsx as c}from"@dropins/tools/preact-jsx-runtime.js";import{R as p}from"./RequisitionListForm.js";import{useState as R}from"@dropins/tools/preact-hooks.js";import{R as L,t as q,u as I}from"./updateRequisitionList.js";import{f as l,h as T}from"./fetch-graphql.js";import{events as f}from"@dropins/tools/event-bus.js";const _=`
4
4
  mutation CREATE_REQUISITION_LIST_MUTATION(
5
5
  $requisitionListName: String!,
6
6
  $requisitionListDescription: String,
@@ -17,5 +17,5 @@ import{jsx as c}from"@dropins/tools/preact-jsx-runtime.js";import{R as p}from"./
17
17
  }
18
18
  }
19
19
  ${L}
20
- `,N=async(n,o)=>T(_,{variables:{requisitionListName:n,requisitionListDescription:o}}).then(({errors:t,data:i})=>{var e;if(t)return I(t);if(!((e=i==null?void 0:i.createRequisitionList)!=null&&e.requisition_list))return null;const u=q(i.createRequisitionList.requisition_list);return l.emit("requisitionList/data",u),u});function S(n,o,t,i){const[u,e]=R(null);return{error:u,submit:async m=>{e(null);try{const r=m.description??"",s=n==="update"&&o?await f(o,m.name,r):await N(m.name,r);return s&&(t==null||t(s)),s}catch(r){const s=(r==null?void 0:r.message)||"Unexpected error";return e(s),i==null||i(s),null}}}}const d=({mode:n,requisitionListUid:o,defaultValues:t={name:"",description:""},onSuccess:i,onError:u,onCancel:e})=>{const{error:a,submit:m}=S(n,o,i,u);return c(p,{mode:n,defaultValues:t,error:a,onSubmit:async s=>{await m(s)},onCancel:e})};export{d as R};
20
+ `,N=async(r,o)=>l(_,{variables:{requisitionListName:r,requisitionListDescription:o}}).then(({errors:t,data:i})=>{var e;if(t)return T(t);if(!((e=i==null?void 0:i.createRequisitionList)!=null&&e.requisition_list))return null;const u=q(i.createRequisitionList.requisition_list);return f.emit("requisitionList/data",u),u});function S(r,o,t,i){const[u,e]=R(null);return{error:u,submit:async a=>{e(null);try{const n=a.description??"",s=r==="update"&&o?await I(o,a.name,n):await N(a.name,n);return s&&(t==null||t(s)),s}catch(n){const s=(n==null?void 0:n.message)||"Unexpected error";return e(s),i==null||i(s),null}}}}const U=({mode:r,requisitionListUid:o,defaultValues:t={name:"",description:""},onSuccess:i,onError:u,onCancel:e})=>{const{error:m,submit:a}=S(r,o,i,u);return c(p,{mode:r,defaultValues:t,error:m,onSubmit:async s=>{await a(s)},onCancel:e})};export{U as R};
21
21
  //# sourceMappingURL=RequisitionListForm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequisitionListForm2.js","sources":["/@dropins/storefront-requisition-list/src/api/createRequisitionList/graphql/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/createRequisitionList/createRequisitionList.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 { 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 if (!data?.createRequisitionList?.requisition_list) {\n return null;\n }\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 *******************************************************************/\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":["CREATE_REQUISITION_LIST_MUTATION","REQUISITION_LIST_FRAGMENT","createRequisitionList","name","description","fetchGraphQl","errors","data","handleFetchError","_a","payload","transformRequisitionList","events","useRequisitionListForm","mode","requisitionListUid","onSuccess","onError","error","setError","useState","values","result","updateRequisitionList","e","msg","RequisitionListForm","defaultValues","onCancel","submit","jsx","RequisitionListFormComponent"],"mappings":"6YAmBO,MAAMA,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,OACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAEtC,GAAA,GAACG,EAAAF,GAAA,YAAAA,EAAM,wBAAN,MAAAE,EAA6B,kBACzB,OAAA,KAGT,MAAMC,EAAUC,EACdJ,EAAK,sBAAsB,gBAC7B,EACO,OAAAK,EAAA,KAAK,uBAAwBF,CAAO,EACpCA,CAAA,CACR,ECbI,SAASG,EACdC,EACAC,EACAC,EACAC,EAC8B,CAC9B,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAwB,IAAI,EA0B/C,MAAA,CAAE,MAAAF,EAAO,OAxBD,MACbG,GACoC,CACpCF,EAAS,IAAI,EACT,GAAA,CACI,MAAAf,EAAciB,EAAO,aAAe,GACpCC,EACJR,IAAS,UAAYC,EACjB,MAAMQ,EACJR,EACAM,EAAO,KACPjB,CAEF,EAAA,MAAMF,EAAsBmB,EAAO,KAAMjB,CAAW,EACtD,OAAAkB,eAAoBA,IACjBA,QACAE,EAAQ,CACT,MAAAC,GAAMD,GAAA,YAAAA,EAAG,UAAW,mBAC1B,OAAAL,EAASM,CAAG,EACZR,GAAA,MAAAA,EAAUQ,GACH,IAAA,CAEX,CAEuB,CACzB,CC9BO,MAAMC,EAA2D,CAAC,CACvE,KAAAZ,EACA,mBAAAC,EACA,cAAAY,EAAgB,CAAE,KAAM,GAAI,YAAa,EAAG,EAC5C,UAAAX,EACA,QAAAC,EACA,SAAAW,CACF,IAAM,CACE,KAAA,CAAE,MAAAV,EAAO,OAAAW,CAAA,EAAWhB,EACxBC,EACAC,EACAC,EACAC,CACF,EAOE,OAAAa,EAACC,EAAA,CACC,KAAAjB,EACA,cAAAa,EACA,MAAAT,EACA,SATiB,MAAOG,GAAsC,CAChE,MAAMQ,EAAOR,CAAM,CACrB,EAQI,SAAAO,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"RequisitionListForm2.js","sources":["/@dropins/storefront-requisition-list/src/api/createRequisitionList/graphql/createRequisitionList.ts","/@dropins/storefront-requisition-list/src/api/createRequisitionList/createRequisitionList.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 { 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 if (!data?.createRequisitionList?.requisition_list) {\n return null;\n }\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 *******************************************************************/\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":["CREATE_REQUISITION_LIST_MUTATION","REQUISITION_LIST_FRAGMENT","createRequisitionList","name","description","fetchGraphQl","errors","data","handleFetchError","_a","payload","transformRequisitionList","events","useRequisitionListForm","mode","requisitionListUid","onSuccess","onError","error","setError","useState","values","result","updateRequisitionList","e","msg","RequisitionListForm","defaultValues","onCancel","submit","jsx","RequisitionListFormComponent"],"mappings":"kUAmBO,MAAMA,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,OACxB,GAAAD,EAAe,OAAAE,EAAiBF,CAAM,EAEtC,GAAA,GAACG,EAAAF,GAAA,YAAAA,EAAM,wBAAN,MAAAE,EAA6B,kBACzB,OAAA,KAGT,MAAMC,EAAUC,EACdJ,EAAK,sBAAsB,gBAC7B,EACO,OAAAK,EAAA,KAAK,uBAAwBF,CAAO,EACpCA,CAAA,CACR,ECbI,SAASG,EACdC,EACAC,EACAC,EACAC,EAC8B,CAC9B,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAwB,IAAI,EA0B/C,MAAA,CAAE,MAAAF,EAAO,OAxBD,MACbG,GACoC,CACpCF,EAAS,IAAI,EACT,GAAA,CACI,MAAAf,EAAciB,EAAO,aAAe,GACpCC,EACJR,IAAS,UAAYC,EACjB,MAAMQ,EACJR,EACAM,EAAO,KACPjB,CAEF,EAAA,MAAMF,EAAsBmB,EAAO,KAAMjB,CAAW,EACtD,OAAAkB,eAAoBA,IACjBA,QACAE,EAAQ,CACT,MAAAC,GAAMD,GAAA,YAAAA,EAAG,UAAW,mBAC1B,OAAAL,EAASM,CAAG,EACZR,GAAA,MAAAA,EAAUQ,GACH,IAAA,CAEX,CAEuB,CACzB,CC9BO,MAAMC,EAA2D,CAAC,CACvE,KAAAZ,EACA,mBAAAC,EACA,cAAAY,EAAgB,CAAE,KAAM,GAAI,YAAa,EAAG,EAC5C,UAAAX,EACA,QAAAC,EACA,SAAAW,CACF,IAAM,CACE,KAAA,CAAE,MAAAV,EAAO,OAAAW,CAAA,EAAWhB,EACxBC,EACAC,EACAC,EACAC,CACF,EAOE,OAAAa,EAACC,EAAA,CACC,KAAAjB,EACA,cAAAa,EACA,MAAAT,EACA,SATiB,MAAOG,GAAsC,CAChE,MAAMQ,EAAOR,CAAM,CACrB,EAQI,SAAAO,CAAA,CACF,CAEJ"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as u,jsx as s,Fragment as F}from"@dropins/tools/preact-jsx-runtime.js";import{useState as f,useCallback as h}from"@dropins/tools/preact-hooks.js";import{R as _}from"./RequisitionListModal.js";import{R as I}from"./RequisitionListForm.js";import{u as H}from"./updateRequisitionList.js";import{d as j}from"./deleteRequisitionList.js";import{s as W}from"./shareRequisitionListByEmail.js";import{S as z}from"./ShareRequisitionListContent.js";import{s as J}from"./state.js";import{useText as P}from"@dropins/tools/i18n.js";const K=({name:i,description:o,backLink:n,actions:e,className:R,...L})=>u("div",{...L,className:`requisition-list-header ${R||""}`,children:[n&&s("div",{className:"requisition-list-header__back",children:u("a",{href:n.url,className:"requisition-list-header__back-link",onClick:n.onClick,children:[s("span",{className:"requisition-list-header__back-arrow",children:"<"}),n.label]})}),u("div",{className:"requisition-list-header__main",children:[u("div",{className:"requisition-list-header__title-section",children:[s("h1",{className:"requisition-list-header__title",children:i}),o&&s("p",{className:"requisition-list-header__description",children:o})]}),e&&(e.onRename||e.onDelete||e.onShare||e.shareDisabled)&&u("div",{className:"requisition-list-header__actions",children:[(e.onShare||e.shareDisabled)&&s("a",{href:"#",onClick:d=>{var t;d.preventDefault(),!e.shareDisabled&&((t=e.onShare)==null||t.call(e))},className:`requisition-list-header__action-link ${e.shareDisabled?"requisition-list-header__action-link--disabled":""}`,"data-testid":"share-list-btn","aria-disabled":e.shareDisabled?"true":"false","aria-label":e.shareDisabled&&e.shareDisabledReason?`${e.shareLabel} – ${e.shareDisabledReason}`:void 0,"data-disabled-reason":e.shareDisabled?e.shareDisabledReason:void 0,children:e.shareLabel}),e.onRename&&s("a",{href:"#",onClick:d=>{var t;d.preventDefault(),(t=e.onRename)==null||t.call(e)},className:"requisition-list-header__action-link","data-testid":"rename-list-btn",children:e.renameLabel}),e.onDelete&&s("a",{href:"#",onClick:d=>{var t;d.preventDefault(),(t=e.onDelete)==null||t.call(e)},className:"requisition-list-header__action-link","data-testid":"delete-list-btn",children:e.deleteLabel})]})]})]}),ae=({requisitionList:i,routeRequisitionListGrid:o,onUpdate:n,onAlert:e,enrichConfigurableProducts:R,currentCustomerEmail:L,routeSharedRequisitionList:d})=>{var M,N;const[t,p]=f(!1),[S,b]=f(!1),[g,w]=f(!1),[T,C]=f(!1),[y,k]=f(!1),v=(M=J.config)==null?void 0:M.requisition_list_sharing_enabled,m=v!==!1&&v!=="0",q=Number(i.items_count??((N=i.items)==null?void 0:N.length)??0)<=0,a=P({actionBackToRequisitionLists:"RequisitionList.RequisitionListView.actionBackToRequisitionLists",actionRename:"RequisitionList.RequisitionListView.actionRename",actionDeleteList:"RequisitionList.RequisitionListView.actionDeleteList",actionShare:"RequisitionList.RequisitionListView.actionShare",shareDisabledReason:"RequisitionList.RequisitionListView.shareDisabledReason",shareListTitle:"RequisitionList.RequisitionListView.shareListTitle",deleteListTitle:"RequisitionList.RequisitionListView.deleteListTitle",deleteListMessage:"RequisitionList.RequisitionListView.deleteListMessage",confirmAction:"RequisitionList.RequisitionListWrapper.confirmAction",cancelAction:"RequisitionList.RequisitionListWrapper.cancelAction",updateTitle:"RequisitionList.RequisitionListForm.updateTitle"}),x=h(()=>{p(!0)},[]),V=h(async r=>{var l,c;try{const D=await H(i.uid,r.name,r.description,(l=i.page_info)==null?void 0:l.page_size,(c=i.page_info)==null?void 0:c.current_page,R);D?(n==null||n(D),p(!1),e==null||e({action:"update",type:"success",context:"requisitionList"})):e==null||e({action:"update",type:"error",context:"requisitionList"})}catch{e==null||e({action:"update",type:"error",context:"requisitionList"})}},[i.uid,i.page_info,n,e,R]),O=h(()=>{b(!0)},[]),B=h(async()=>{C(!0);try{if(await j(i.uid)){const l={action:"delete",type:"success",context:"requisitionList"};try{localStorage.setItem("requisitionListPendingAlert",JSON.stringify(l))}catch{}if(o){const c=o();c&&typeof c=="string"&&(window.location.href=c)}}else e==null||e({action:"delete",type:"error",context:"requisitionList"})}catch{e==null||e({action:"delete",type:"error",context:"requisitionList"})}finally{C(!1),b(!1)}},[i.uid,o,e]),$=h(()=>{w(!0)},[]),E=h(async r=>{k(!0);try{return await W(i.uid,r)}catch{return[{code:"SHARE_FAILED",message:"Unable to share list."}]}finally{k(!1)}},[i.uid]);return u(F,{children:[s(K,{name:i.name,description:i.description,backLink:o?{url:"#",label:a.actionBackToRequisitionLists,onClick:r=>{r.preventDefault();const l=o();l&&typeof l=="string"&&(window.location.href=l)}}:void 0,actions:{onRename:x,onDelete:O,onShare:m&&!q?$:void 0,renameLabel:a.actionRename,deleteLabel:a.actionDeleteList,shareLabel:m?a.actionShare:void 0,shareDisabled:m&&q,shareDisabledReason:m&&q?a.shareDisabledReason:void 0}}),t&&s(_,{isOpen:t,isLoading:!1,title:a.updateTitle,modalContent:s(I,{mode:"update",defaultValues:{name:i.name,description:i.description||""},onSubmit:V,onCancel:()=>p(!1)}),handleModalOnClose:()=>p(!1)}),S&&s(_,{isOpen:S,isLoading:T,title:a.deleteListTitle,modalContent:a.deleteListMessage,confirmBtnCaption:a.confirmAction,closeBtnCaption:a.cancelAction,handleModalOnClose:()=>b(!1),handleModalOnConfirm:B}),m&&g&&s(_,{isOpen:g,isLoading:y,title:a.shareListTitle,modalContent:s(z,{requisitionListUid:i.uid,isSubmitting:y,onSubmit:E,currentCustomerEmail:L,routeSharedRequisitionList:d}),handleModalOnClose:()=>w(!1)})]})};export{ae as R};
3
+ import{jsxs as m,jsx as t,Fragment as N}from"@dropins/tools/preact-jsx-runtime.js";import{useState as L,useCallback as p}from"@dropins/tools/preact-hooks.js";import{R as _}from"./RequisitionListModal.js";import{R as b}from"./RequisitionListForm.js";import{u as k}from"./updateRequisitionList.js";import{d as M}from"./deleteRequisitionList.js";import{useText as x}from"@dropins/tools/i18n.js";const T=({name:i,description:a,backLink:s,actions:e,className:u,...f})=>m("div",{...f,className:`requisition-list-header ${u||""}`,children:[s&&t("div",{className:"requisition-list-header__back",children:m("a",{href:s.url,className:"requisition-list-header__back-link",onClick:s.onClick,children:[t("span",{className:"requisition-list-header__back-arrow",children:"<"}),s.label]})}),m("div",{className:"requisition-list-header__main",children:[m("div",{className:"requisition-list-header__title-section",children:[t("h1",{className:"requisition-list-header__title",children:i}),a&&t("p",{className:"requisition-list-header__description",children:a})]}),e&&(e.onRename||e.onDelete)&&m("div",{className:"requisition-list-header__actions",children:[e.onRename&&t("a",{href:"#",onClick:n=>{var l;n.preventDefault(),(l=e.onRename)==null||l.call(e)},className:"requisition-list-header__action-link","data-testid":"rename-list-btn",children:e.renameLabel}),e.onDelete&&t("a",{href:"#",onClick:n=>{var l;n.preventDefault(),(l=e.onDelete)==null||l.call(e)},className:"requisition-list-header__action-link","data-testid":"delete-list-btn",children:e.deleteLabel})]})]})]}),H=({requisitionList:i,routeRequisitionListGrid:a,onUpdate:s,onAlert:e,enrichConfigurableProducts:u})=>{const[f,n]=L(!1),[l,h]=L(!1),[g,q]=L(!1),o=x({actionBackToRequisitionLists:"RequisitionList.RequisitionListView.actionBackToRequisitionLists",actionRename:"RequisitionList.RequisitionListView.actionRename",actionDeleteList:"RequisitionList.RequisitionListView.actionDeleteList",deleteListTitle:"RequisitionList.RequisitionListView.deleteListTitle",deleteListMessage:"RequisitionList.RequisitionListView.deleteListMessage",confirmAction:"RequisitionList.RequisitionListWrapper.confirmAction",cancelAction:"RequisitionList.RequisitionListWrapper.cancelAction",updateTitle:"RequisitionList.RequisitionListForm.updateTitle"}),w=p(()=>{n(!0)},[]),y=p(async d=>{var c,r;try{const R=await k(i.uid,d.name,d.description,(c=i.page_info)==null?void 0:c.page_size,(r=i.page_info)==null?void 0:r.current_page,u);R?(s==null||s(R),n(!1),e==null||e({action:"update",type:"success",context:"requisitionList"})):e==null||e({action:"update",type:"error",context:"requisitionList"})}catch{e==null||e({action:"update",type:"error",context:"requisitionList"})}},[i.uid,i.page_info,s,e,u]),D=p(()=>{h(!0)},[]),C=p(async()=>{q(!0);try{if(await M(i.uid)){const c={action:"delete",type:"success",context:"requisitionList"};try{localStorage.setItem("requisitionListPendingAlert",JSON.stringify(c))}catch{}if(a){const r=a();r&&typeof r=="string"&&(window.location.href=r)}}else e==null||e({action:"delete",type:"error",context:"requisitionList"})}catch{e==null||e({action:"delete",type:"error",context:"requisitionList"})}finally{q(!1),h(!1)}},[i.uid,a,e]);return m(N,{children:[t(T,{name:i.name,description:i.description,backLink:a?{url:"#",label:o.actionBackToRequisitionLists,onClick:d=>{d.preventDefault();const c=a();c&&typeof c=="string"&&(window.location.href=c)}}:void 0,actions:{onRename:w,onDelete:D,renameLabel:o.actionRename,deleteLabel:o.actionDeleteList}}),f&&t(_,{isOpen:f,isLoading:!1,title:o.updateTitle,modalContent:t(b,{mode:"update",defaultValues:{name:i.name,description:i.description||""},onSubmit:y,onCancel:()=>n(!1)}),handleModalOnClose:()=>n(!1)}),l&&t(_,{isOpen:l,isLoading:g,title:o.deleteListTitle,modalContent:o.deleteListMessage,confirmBtnCaption:o.confirmAction,closeBtnCaption:o.cancelAction,handleModalOnClose:()=>h(!1),handleModalOnConfirm:C})]})};export{H as R};
4
4
  //# sourceMappingURL=RequisitionListHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequisitionListHeader.js","sources":["/@dropins/storefront-requisition-list/src/components/RequisitionListHeader/RequisitionListHeader.tsx","/@dropins/storefront-requisition-list/src/containers/RequisitionListHeader/RequisitionListHeader.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 '@/requisitionList/components/RequisitionListHeader/RequisitionListHeader.css';\n\nexport interface RequisitionListHeaderProps\n extends HTMLAttributes<HTMLDivElement> {\n name: string;\n description?: string;\n backLink?: {\n url: string;\n label: string;\n onClick?: (e: Event) => void;\n };\n actions?: {\n onRename?: () => void;\n onDelete?: () => void;\n onShare?: () => void;\n renameLabel?: string;\n deleteLabel?: string;\n shareLabel?: string;\n shareDisabled?: boolean;\n shareDisabledReason?: string;\n };\n}\n\nexport const RequisitionListHeader: FunctionComponent<\n RequisitionListHeaderProps\n> = ({ name, description, backLink, actions, className, ...props }) => {\n return (\n <div {...props} className={`requisition-list-header ${className || ''}`}>\n {/* Back Link */}\n {backLink && (\n <div className=\"requisition-list-header__back\">\n <a\n href={backLink.url}\n className=\"requisition-list-header__back-link\"\n onClick={backLink.onClick}\n >\n <span className=\"requisition-list-header__back-arrow\">&lt;</span>\n {backLink.label}\n </a>\n </div>\n )}\n\n {/* Title and Actions Row */}\n <div className=\"requisition-list-header__main\">\n <div className=\"requisition-list-header__title-section\">\n <h1 className=\"requisition-list-header__title\">{name}</h1>\n {description && (\n <p className=\"requisition-list-header__description\">\n {description}\n </p>\n )}\n </div>\n\n {/* Action Links */}\n {actions &&\n (actions.onRename ||\n actions.onDelete ||\n actions.onShare ||\n actions.shareDisabled) && (\n <div className=\"requisition-list-header__actions\">\n {(actions.onShare || actions.shareDisabled) && (\n <a\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n if (actions.shareDisabled) {\n return;\n }\n actions.onShare?.();\n }}\n className={`requisition-list-header__action-link ${\n actions.shareDisabled\n ? 'requisition-list-header__action-link--disabled'\n : ''\n }`}\n data-testid=\"share-list-btn\"\n aria-disabled={actions.shareDisabled ? 'true' : 'false'}\n aria-label={\n actions.shareDisabled && actions.shareDisabledReason\n ? `${actions.shareLabel} – ${actions.shareDisabledReason}`\n : undefined\n }\n data-disabled-reason={\n actions.shareDisabled\n ? actions.shareDisabledReason\n : undefined\n }\n >\n {actions.shareLabel}\n </a>\n )}\n {actions.onRename && (\n <a\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n actions.onRename?.();\n }}\n className=\"requisition-list-header__action-link\"\n data-testid=\"rename-list-btn\"\n >\n {actions.renameLabel}\n </a>\n )}\n {actions.onDelete && (\n <a\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n actions.onDelete?.();\n }}\n className=\"requisition-list-header__action-link\"\n data-testid=\"delete-list-btn\"\n >\n {actions.deleteLabel}\n </a>\n )}\n </div>\n )}\n </div>\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 { useState, useCallback } from 'preact/hooks';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { RequisitionListHeader as RequisitionListHeaderComponent } from '@/requisitionList/components/RequisitionListHeader/RequisitionListHeader';\nimport { RequisitionListForm } from '@/requisitionList/components/RequisitionListForm/RequisitionListForm';\nimport { RequisitionListModal } from '@/requisitionList/components/RequisitionListModal/RequisitionListModal';\nimport { updateRequisitionList } from '@/requisitionList/api/updateRequisitionList';\nimport { deleteRequisitionList } from '@/requisitionList/api/deleteRequisitionList';\nimport {\n shareRequisitionListByEmail,\n ShareRequisitionListByEmailError,\n} from '@/requisitionList/api/shareRequisitionListByEmail';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { Item } from '@/requisitionList/data/models/item';\nimport { ShareRequisitionListContent } from '@/requisitionList/containers/ShareRequisitionListContent';\nimport { state } from '@/requisitionList/lib/state';\n\nexport interface RequisitionListHeaderProps {\n requisitionList: RequisitionList;\n routeRequisitionListGrid?: () => string | void;\n onUpdate?: (updatedList: RequisitionList) => void | Promise<void>;\n onAlert?: (payload: {\n action: string;\n type: string;\n context: string;\n }) => void;\n enrichConfigurableProducts?: (items: Item[]) => Promise<Item[]>;\n currentCustomerEmail?: string;\n routeSharedRequisitionList?: (token: string) => string;\n}\n\nexport const RequisitionListHeader: Container<RequisitionListHeaderProps> = ({\n requisitionList,\n routeRequisitionListGrid,\n onUpdate,\n onAlert,\n enrichConfigurableProducts,\n currentCustomerEmail,\n routeSharedRequisitionList,\n}: RequisitionListHeaderProps) => {\n const [showRenameModal, setShowRenameModal] = useState<boolean>(false);\n const [showDeleteModal, setShowDeleteModal] = useState<boolean>(false);\n const [showShareModal, setShowShareModal] = useState<boolean>(false);\n const [isDeleting, setIsDeleting] = useState<boolean>(false);\n const [isSharing, setIsSharing] = useState<boolean>(false);\n const sharingConfigValue = state.config?.requisition_list_sharing_enabled;\n const isShareEnabled = sharingConfigValue !== false && sharingConfigValue !== '0';\n const itemsCount = Number(\n requisitionList.items_count ?? requisitionList.items?.length ?? 0\n );\n const isShareDisabled = itemsCount <= 0;\n\n const translations = useText({\n actionBackToRequisitionLists: `RequisitionList.RequisitionListView.actionBackToRequisitionLists`,\n actionRename: `RequisitionList.RequisitionListView.actionRename`,\n actionDeleteList: `RequisitionList.RequisitionListView.actionDeleteList`,\n actionShare: `RequisitionList.RequisitionListView.actionShare`,\n shareDisabledReason: `RequisitionList.RequisitionListView.shareDisabledReason`,\n shareListTitle: `RequisitionList.RequisitionListView.shareListTitle`,\n deleteListTitle: `RequisitionList.RequisitionListView.deleteListTitle`,\n deleteListMessage: `RequisitionList.RequisitionListView.deleteListMessage`,\n confirmAction: `RequisitionList.RequisitionListWrapper.confirmAction`,\n cancelAction: `RequisitionList.RequisitionListWrapper.cancelAction`,\n updateTitle: `RequisitionList.RequisitionListForm.updateTitle`,\n });\n\n const handleRename = useCallback(() => {\n setShowRenameModal(true);\n }, []);\n\n const handleRenameSubmit = useCallback(\n async (values: { name: string; description?: string }) => {\n try {\n const updatedList = await updateRequisitionList(\n requisitionList.uid,\n values.name,\n values.description,\n requisitionList.page_info?.page_size,\n requisitionList.page_info?.current_page,\n enrichConfigurableProducts\n );\n if (updatedList) {\n onUpdate?.(updatedList);\n setShowRenameModal(false);\n onAlert?.({\n action: 'update',\n type: 'success',\n context: 'requisitionList',\n });\n } else {\n onAlert?.({\n action: 'update',\n type: 'error',\n context: 'requisitionList',\n });\n }\n } catch (error) {\n onAlert?.({\n action: 'update',\n type: 'error',\n context: 'requisitionList',\n });\n }\n },\n [\n requisitionList.uid,\n requisitionList.page_info,\n onUpdate,\n onAlert,\n enrichConfigurableProducts,\n ]\n );\n\n const handleDeleteList = useCallback(() => {\n setShowDeleteModal(true);\n }, []);\n\n const handleDeleteConfirm = useCallback(async () => {\n setIsDeleting(true);\n try {\n const result = await deleteRequisitionList(requisitionList.uid);\n if (result) {\n const alertPayload = {\n action: 'delete',\n type: 'success',\n context: 'requisitionList',\n };\n\n // Store alert in localStorage before redirecting\n // This ensures the alert is shown after redirect to grid view\n try {\n localStorage.setItem(\n 'requisitionListPendingAlert',\n JSON.stringify(alertPayload)\n );\n } catch (e) {\n // Ignore localStorage errors (e.g., in private browsing mode)\n }\n\n if (routeRequisitionListGrid) {\n const url = routeRequisitionListGrid();\n // If a URL is returned, navigate to it\n if (url && typeof url === 'string') {\n window.location.href = url;\n }\n }\n } else {\n onAlert?.({\n action: 'delete',\n type: 'error',\n context: 'requisitionList',\n });\n }\n } catch (error) {\n onAlert?.({\n action: 'delete',\n type: 'error',\n context: 'requisitionList',\n });\n } finally {\n setIsDeleting(false);\n setShowDeleteModal(false);\n }\n }, [requisitionList.uid, routeRequisitionListGrid, onAlert]);\n\n const handleShare = useCallback(() => {\n setShowShareModal(true);\n }, []);\n\n const handleShareSubmit = useCallback(\n async (\n customerUids: string[]\n ): Promise<Array<ShareRequisitionListByEmailError> | null> => {\n setIsSharing(true);\n try {\n const errors = await shareRequisitionListByEmail(\n requisitionList.uid,\n customerUids\n );\n return errors;\n } catch {\n return [{ code: 'SHARE_FAILED', message: 'Unable to share list.' }];\n } finally {\n setIsSharing(false);\n }\n },\n [requisitionList.uid]\n );\n\n return (\n <>\n <RequisitionListHeaderComponent\n name={requisitionList.name}\n description={requisitionList.description}\n backLink={\n routeRequisitionListGrid\n ? {\n url: '#',\n label: translations.actionBackToRequisitionLists,\n onClick: (e: Event) => {\n e.preventDefault();\n const result = routeRequisitionListGrid();\n // If a URL is returned, navigate to it\n if (result && typeof result === 'string') {\n window.location.href = result;\n }\n },\n }\n : undefined\n }\n actions={{\n onRename: handleRename,\n onDelete: handleDeleteList,\n onShare: isShareEnabled && !isShareDisabled ? handleShare : undefined,\n renameLabel: translations.actionRename,\n deleteLabel: translations.actionDeleteList,\n shareLabel: isShareEnabled ? translations.actionShare : undefined,\n shareDisabled: isShareEnabled && isShareDisabled,\n shareDisabledReason:\n isShareEnabled && isShareDisabled\n ? translations.shareDisabledReason\n : undefined,\n }}\n />\n\n {/* Rename Modal */}\n {showRenameModal && (\n <RequisitionListModal\n isOpen={showRenameModal}\n isLoading={false}\n title={translations.updateTitle}\n modalContent={\n <RequisitionListForm\n mode=\"update\"\n defaultValues={{\n name: requisitionList.name,\n description: requisitionList.description || '',\n }}\n onSubmit={handleRenameSubmit}\n onCancel={() => setShowRenameModal(false)}\n />\n }\n handleModalOnClose={() => setShowRenameModal(false)}\n />\n )}\n\n {/* Delete Confirmation Modal */}\n {showDeleteModal && (\n <RequisitionListModal\n isOpen={showDeleteModal}\n isLoading={isDeleting}\n title={translations.deleteListTitle}\n modalContent={translations.deleteListMessage}\n confirmBtnCaption={translations.confirmAction}\n closeBtnCaption={translations.cancelAction}\n handleModalOnClose={() => setShowDeleteModal(false)}\n handleModalOnConfirm={handleDeleteConfirm}\n />\n )}\n\n {/* Share Modal */}\n {isShareEnabled && showShareModal && (\n <RequisitionListModal\n isOpen={showShareModal}\n isLoading={isSharing}\n title={translations.shareListTitle}\n modalContent={\n <ShareRequisitionListContent\n requisitionListUid={requisitionList.uid}\n isSubmitting={isSharing}\n onSubmit={handleShareSubmit}\n currentCustomerEmail={currentCustomerEmail}\n routeSharedRequisitionList={routeSharedRequisitionList}\n />\n }\n handleModalOnClose={() => setShowShareModal(false)}\n />\n )}\n </>\n );\n};\n"],"names":["RequisitionListHeader","name","description","backLink","actions","className","props","jsxs","jsx","e","_a","requisitionList","routeRequisitionListGrid","onUpdate","onAlert","enrichConfigurableProducts","currentCustomerEmail","routeSharedRequisitionList","showRenameModal","setShowRenameModal","useState","showDeleteModal","setShowDeleteModal","showShareModal","setShowShareModal","isDeleting","setIsDeleting","isSharing","setIsSharing","sharingConfigValue","state","isShareEnabled","isShareDisabled","_b","translations","useText","handleRename","useCallback","handleRenameSubmit","values","updatedList","updateRequisitionList","handleDeleteList","handleDeleteConfirm","deleteRequisitionList","alertPayload","url","handleShare","handleShareSubmit","customerUids","shareRequisitionListByEmail","Fragment","RequisitionListHeaderComponent","result","RequisitionListModal","RequisitionListForm","ShareRequisitionListContent"],"mappings":"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"}
1
+ {"version":3,"file":"RequisitionListHeader.js","sources":["/@dropins/storefront-requisition-list/src/components/RequisitionListHeader/RequisitionListHeader.tsx","/@dropins/storefront-requisition-list/src/containers/RequisitionListHeader/RequisitionListHeader.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 '@/requisitionList/components/RequisitionListHeader/RequisitionListHeader.css';\n\nexport interface RequisitionListHeaderProps\n extends HTMLAttributes<HTMLDivElement> {\n name: string;\n description?: string;\n backLink?: {\n url: string;\n label: string;\n onClick?: (e: Event) => void;\n };\n actions?: {\n onRename?: () => void;\n onDelete?: () => void;\n renameLabel?: string;\n deleteLabel?: string;\n };\n}\n\nexport const RequisitionListHeader: FunctionComponent<\n RequisitionListHeaderProps\n> = ({ name, description, backLink, actions, className, ...props }) => {\n return (\n <div {...props} className={`requisition-list-header ${className || ''}`}>\n {/* Back Link */}\n {backLink && (\n <div className=\"requisition-list-header__back\">\n <a\n href={backLink.url}\n className=\"requisition-list-header__back-link\"\n onClick={backLink.onClick}\n >\n <span className=\"requisition-list-header__back-arrow\">&lt;</span>\n {backLink.label}\n </a>\n </div>\n )}\n\n {/* Title and Actions Row */}\n <div className=\"requisition-list-header__main\">\n <div className=\"requisition-list-header__title-section\">\n <h1 className=\"requisition-list-header__title\">{name}</h1>\n {description && (\n <p className=\"requisition-list-header__description\">\n {description}\n </p>\n )}\n </div>\n\n {/* Action Links */}\n {actions && (actions.onRename || actions.onDelete) && (\n <div className=\"requisition-list-header__actions\">\n {actions.onRename && (\n <a\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n actions.onRename?.();\n }}\n className=\"requisition-list-header__action-link\"\n data-testid=\"rename-list-btn\"\n >\n {actions.renameLabel}\n </a>\n )}\n {actions.onDelete && (\n <a\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n actions.onDelete?.();\n }}\n className=\"requisition-list-header__action-link\"\n data-testid=\"delete-list-btn\"\n >\n {actions.deleteLabel}\n </a>\n )}\n </div>\n )}\n </div>\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 { useState, useCallback } from 'preact/hooks';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { RequisitionListHeader as RequisitionListHeaderComponent } from '@/requisitionList/components/RequisitionListHeader/RequisitionListHeader';\nimport { RequisitionListForm } from '@/requisitionList/components/RequisitionListForm/RequisitionListForm';\nimport { RequisitionListModal } from '@/requisitionList/components/RequisitionListModal/RequisitionListModal';\nimport { updateRequisitionList } from '@/requisitionList/api/updateRequisitionList';\nimport { deleteRequisitionList } from '@/requisitionList/api/deleteRequisitionList';\nimport { RequisitionList } from '@/requisitionList/data/models/requisitionList';\nimport { Item } from '@/requisitionList/data/models/item';\n\nexport interface RequisitionListHeaderProps {\n requisitionList: RequisitionList;\n routeRequisitionListGrid?: () => string | void;\n onUpdate?: (updatedList: RequisitionList) => void | Promise<void>;\n onAlert?: (payload: {\n action: string;\n type: string;\n context: string;\n }) => void;\n enrichConfigurableProducts?: (items: Item[]) => Promise<Item[]>;\n}\n\nexport const RequisitionListHeader: Container<RequisitionListHeaderProps> = ({\n requisitionList,\n routeRequisitionListGrid,\n onUpdate,\n onAlert,\n enrichConfigurableProducts,\n}) => {\n const [showRenameModal, setShowRenameModal] = useState<boolean>(false);\n const [showDeleteModal, setShowDeleteModal] = useState<boolean>(false);\n const [isDeleting, setIsDeleting] = useState<boolean>(false);\n\n const translations = useText({\n actionBackToRequisitionLists: `RequisitionList.RequisitionListView.actionBackToRequisitionLists`,\n actionRename: `RequisitionList.RequisitionListView.actionRename`,\n actionDeleteList: `RequisitionList.RequisitionListView.actionDeleteList`,\n deleteListTitle: `RequisitionList.RequisitionListView.deleteListTitle`,\n deleteListMessage: `RequisitionList.RequisitionListView.deleteListMessage`,\n confirmAction: `RequisitionList.RequisitionListWrapper.confirmAction`,\n cancelAction: `RequisitionList.RequisitionListWrapper.cancelAction`,\n updateTitle: `RequisitionList.RequisitionListForm.updateTitle`,\n });\n\n const handleRename = useCallback(() => {\n setShowRenameModal(true);\n }, []);\n\n const handleRenameSubmit = useCallback(\n async (values: { name: string; description?: string }) => {\n try {\n const updatedList = await updateRequisitionList(\n requisitionList.uid,\n values.name,\n values.description,\n requisitionList.page_info?.page_size,\n requisitionList.page_info?.current_page,\n enrichConfigurableProducts\n );\n if (updatedList) {\n onUpdate?.(updatedList);\n setShowRenameModal(false);\n onAlert?.({\n action: 'update',\n type: 'success',\n context: 'requisitionList',\n });\n } else {\n onAlert?.({\n action: 'update',\n type: 'error',\n context: 'requisitionList',\n });\n }\n } catch (error) {\n onAlert?.({\n action: 'update',\n type: 'error',\n context: 'requisitionList',\n });\n }\n },\n [\n requisitionList.uid,\n requisitionList.page_info,\n onUpdate,\n onAlert,\n enrichConfigurableProducts,\n ]\n );\n\n const handleDeleteList = useCallback(() => {\n setShowDeleteModal(true);\n }, []);\n\n const handleDeleteConfirm = useCallback(async () => {\n setIsDeleting(true);\n try {\n const result = await deleteRequisitionList(requisitionList.uid);\n if (result) {\n const alertPayload = {\n action: 'delete',\n type: 'success',\n context: 'requisitionList',\n };\n\n // Store alert in localStorage before redirecting\n // This ensures the alert is shown after redirect to grid view\n try {\n localStorage.setItem(\n 'requisitionListPendingAlert',\n JSON.stringify(alertPayload)\n );\n } catch (e) {\n // Ignore localStorage errors (e.g., in private browsing mode)\n }\n\n if (routeRequisitionListGrid) {\n const url = routeRequisitionListGrid();\n // If a URL is returned, navigate to it\n if (url && typeof url === 'string') {\n window.location.href = url;\n }\n }\n } else {\n onAlert?.({\n action: 'delete',\n type: 'error',\n context: 'requisitionList',\n });\n }\n } catch (error) {\n onAlert?.({\n action: 'delete',\n type: 'error',\n context: 'requisitionList',\n });\n } finally {\n setIsDeleting(false);\n setShowDeleteModal(false);\n }\n }, [requisitionList.uid, routeRequisitionListGrid, onAlert]);\n\n return (\n <>\n <RequisitionListHeaderComponent\n name={requisitionList.name}\n description={requisitionList.description}\n backLink={\n routeRequisitionListGrid\n ? {\n url: '#',\n label: translations.actionBackToRequisitionLists,\n onClick: (e: Event) => {\n e.preventDefault();\n const result = routeRequisitionListGrid();\n // If a URL is returned, navigate to it\n if (result && typeof result === 'string') {\n window.location.href = result;\n }\n },\n }\n : undefined\n }\n actions={{\n onRename: handleRename,\n onDelete: handleDeleteList,\n renameLabel: translations.actionRename,\n deleteLabel: translations.actionDeleteList,\n }}\n />\n\n {/* Rename Modal */}\n {showRenameModal && (\n <RequisitionListModal\n isOpen={showRenameModal}\n isLoading={false}\n title={translations.updateTitle}\n modalContent={\n <RequisitionListForm\n mode=\"update\"\n defaultValues={{\n name: requisitionList.name,\n description: requisitionList.description || '',\n }}\n onSubmit={handleRenameSubmit}\n onCancel={() => setShowRenameModal(false)}\n />\n }\n handleModalOnClose={() => setShowRenameModal(false)}\n />\n )}\n\n {/* Delete Confirmation Modal */}\n {showDeleteModal && (\n <RequisitionListModal\n isOpen={showDeleteModal}\n isLoading={isDeleting}\n title={translations.deleteListTitle}\n modalContent={translations.deleteListMessage}\n confirmBtnCaption={translations.confirmAction}\n closeBtnCaption={translations.cancelAction}\n handleModalOnClose={() => setShowDeleteModal(false)}\n handleModalOnConfirm={handleDeleteConfirm}\n />\n )}\n </>\n );\n};\n"],"names":["RequisitionListHeader","name","description","backLink","actions","className","props","jsxs","jsx","e","_a","requisitionList","routeRequisitionListGrid","onUpdate","onAlert","enrichConfigurableProducts","showRenameModal","setShowRenameModal","useState","showDeleteModal","setShowDeleteModal","isDeleting","setIsDeleting","translations","useText","handleRename","useCallback","handleRenameSubmit","values","updatedList","updateRequisitionList","_b","handleDeleteList","handleDeleteConfirm","deleteRequisitionList","alertPayload","url","Fragment","RequisitionListHeaderComponent","result","RequisitionListModal","RequisitionListForm"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import*as i from"@dropins/tools/preact-compat.js";import{useState as m,useEffect as v,useMemo as q,useCallback as x}from"@dropins/tools/preact-compat.js";import{s as p}from"./state.js";import{events as h}from"@dropins/tools/event-bus.js";import{useText as E}from"@dropins/tools/i18n.js";import{jsxs as I,jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{Icon as M}from"@dropins/tools/components.js";import{classes as D}from"@dropins/tools/lib.js";function R(){const t=p.config;return t?t.is_requisition_list_active==="1"&&t.company_enabled===!0:!1}const j=()=>{const[t,r]=m(R);return v(()=>{const s=h.on("requisitionList/initialized",()=>{const o=R();r(e=>p.config!=null?o:e)});return()=>s==null?void 0:s.off()},[]),{isEnabled:t}},U=t=>i.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},i.createElement("rect",{x:4.89282,y:2.75,width:14.2143,height:18.5,rx:2.25,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:7.67871,x2:16.2857,y2:7.67871,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:11.9644,x2:16.2857,y2:11.9644,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:16.25,x2:16.2857,y2:16.25,stroke:"currentColor",strokeWidth:1}),i.createElement("circle",{cx:7.71429,cy:7.71429,r:.714286,fill:"currentColor"}),i.createElement("circle",{cx:7.71429,cy:11.9999,r:.714286,fill:"currentColor"}),i.createElement("circle",{cx:7.71429,cy:16.2856,r:.714286,fill:"currentColor"}));function N(t){const[r,s]=m(null),o=E({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",errorAddToRequisitionList:"RequisitionList.RequisitionListAlert.errorAddToRequisitionList",successAddToRequisitionList:"RequisitionList.RequisitionListAlert.successAddToRequisitionList",errorMoveToList:"RequisitionList.RequisitionListAlert.errorMoveToList",successMoveToList:"RequisitionList.RequisitionListAlert.successMoveToList",errorCopyToList:"RequisitionList.RequisitionListAlert.errorCopyToList",successCopyToList:"RequisitionList.RequisitionListAlert.successCopyToList",errorImport:"RequisitionList.RequisitionListAlert.errorImport",successImport:"RequisitionList.RequisitionListAlert.successImport"}),e=q(()=>({...o,...t}),[o,t]),l=q(()=>({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}},moveToList:{product:{success:e.successMoveToList,error:e.errorMoveToList}},copyToList:{product:{success:e.successCopyToList,error:e.errorCopyToList}},import:{requisitionList:{success:e.successImport,error:e.errorImport}}}),[e]),A=x(y=>{const{type:L,action:T,context:f,skus:c,message:u,listName:a}=y;let n=u&&u.length>0?u.join(". "):l[T][f][L];a&&(n=n.replace("{listName}",a)),s({type:L,description:n,sku:c==null?void 0:c[0]});const C=setTimeout(()=>{s(null)},5e3);return()=>clearTimeout(C)},[l]);return{alert:r,setAlert:s,handleRequisitionListAlert:A}}const S=({className:t,textContent:r,...s})=>I("div",{className:D(["empty-list",t]),"data-testid":"empty-list",...s,children:[d(M,{source:U,size:"64",stroke:"2"}),r&&d("h4",{children:r})]});export{S as E,U as S,N as a,j as u};
3
+ import*as i from"@dropins/tools/preact-compat.js";import{useState as q,useEffect as C,useMemo as a,useCallback as v}from"@dropins/tools/preact-compat.js";import{s as R}from"./state.js";import{events as x}from"@dropins/tools/event-bus.js";import{useText as h}from"@dropins/tools/i18n.js";import{jsxs as E,jsx as L}from"@dropins/tools/preact-jsx-runtime.js";import{Icon as M}from"@dropins/tools/components.js";import{classes as D}from"@dropins/tools/lib.js";function d(){const t=R.config;return t?t.is_requisition_list_active==="1"&&t.company_enabled===!0:!1}const _=()=>{const[t,r]=q(d);return C(()=>{const s=x.on("requisitionList/initialized",()=>{const o=d();r(e=>R.config!=null?o:e)});return()=>s==null?void 0:s.off()},[]),{isEnabled:t}},U=t=>i.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},i.createElement("rect",{x:4.89282,y:2.75,width:14.2143,height:18.5,rx:2.25,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:7.67871,x2:16.2857,y2:7.67871,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:11.9644,x2:16.2857,y2:11.9644,stroke:"currentColor",strokeWidth:1}),i.createElement("line",{x1:9.85718,y1:16.25,x2:16.2857,y2:16.25,stroke:"currentColor",strokeWidth:1}),i.createElement("circle",{cx:7.71429,cy:7.71429,r:.714286,fill:"currentColor"}),i.createElement("circle",{cx:7.71429,cy:11.9999,r:.714286,fill:"currentColor"}),i.createElement("circle",{cx:7.71429,cy:16.2856,r:.714286,fill:"currentColor"}));function j(t){const[r,s]=q(null),o=h({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",errorAddToRequisitionList:"RequisitionList.RequisitionListAlert.errorAddToRequisitionList",successAddToRequisitionList:"RequisitionList.RequisitionListAlert.successAddToRequisitionList",errorMoveToList:"RequisitionList.RequisitionListAlert.errorMoveToList",successMoveToList:"RequisitionList.RequisitionListAlert.successMoveToList",errorCopyToList:"RequisitionList.RequisitionListAlert.errorCopyToList",successCopyToList:"RequisitionList.RequisitionListAlert.successCopyToList"}),e=a(()=>({...o,...t}),[o,t]),n=a(()=>({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}},moveToList:{product:{success:e.successMoveToList,error:e.errorMoveToList}},copyToList:{product:{success:e.successCopyToList,error:e.errorCopyToList}}}),[e]),m=v(p=>{const{type:l,action:A,context:y,skus:c,message:u}=p,T=u&&u.length>0?u.join(". "):n[A][y][l];s({type:l,description:T,sku:c==null?void 0:c[0]});const f=setTimeout(()=>{s(null)},5e3);return()=>clearTimeout(f)},[n]);return{alert:r,setAlert:s,handleRequisitionListAlert:m}}const S=({className:t,textContent:r,...s})=>E("div",{className:D(["empty-list",t]),"data-testid":"empty-list",...s,children:[L(M,{source:U,size:"64",stroke:"2"}),r&&L("h4",{children:r})]});export{S as E,U as S,j as a,_ as u};
4
4
  //# sourceMappingURL=RequisitionListView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequisitionListView.js","sources":["/@dropins/storefront-requisition-list/src/hooks/useRequisitionListEnabled.ts","../../node_modules/@adobe-commerce/elsie/src/icons/List.svg","/@dropins/storefront-requisition-list/src/hooks/useRequisitionListAlert.tsx","/@dropins/storefront-requisition-list/src/components/EmptyList/EmptyList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useEffect, useState } from 'preact/compat';\nimport { state } from '@/requisitionList/lib/state';\nimport { events } from '@adobe-commerce/event-bus';\n\nfunction isRequisitionListEnabled(): boolean {\n const config = state.config;\n if (!config) return false;\n return (\n config.is_requisition_list_active === '1' &&\n config.company_enabled === true\n );\n}\n\nexport const useRequisitionListEnabled = () => {\n const [isEnabled, setIsEnabled] = useState<boolean>(isRequisitionListEnabled);\n\n useEffect(() => {\n // Listen for requisition list initialization via event bus\n const configListener = events.on('requisitionList/initialized', () => {\n // Only set false when config explicitly disables; if config is missing\n // (e.g. re-init race), preserve current value so the button doesn't disappear\n const enabled = isRequisitionListEnabled();\n setIsEnabled((prev) => (state.config != null ? enabled : prev));\n });\n\n return () => configListener?.off();\n }, []);\n\n return { isEnabled };\n};\n","import * as React from \"react\";\nconst SvgList = (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(\"rect\", { x: 4.89282, y: 2.75, width: 14.2143, height: 18.5, rx: 2.25, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 7.67871, x2: 16.2857, y2: 7.67871, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 11.9644, x2: 16.2857, y2: 11.9644, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 16.25, x2: 16.2857, y2: 16.25, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 7.71429, r: 0.714286, fill: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 11.9999, r: 0.714286, fill: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 16.2856, r: 0.714286, fill: \"currentColor\" }));\nexport default SvgList;\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 { 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 errorMoveToList: `RequisitionList.RequisitionListAlert.errorMoveToList`,\n successMoveToList: `RequisitionList.RequisitionListAlert.successMoveToList`,\n errorCopyToList: `RequisitionList.RequisitionListAlert.errorCopyToList`,\n successCopyToList: `RequisitionList.RequisitionListAlert.successCopyToList`,\n errorImport: `RequisitionList.RequisitionListAlert.errorImport`,\n successImport: `RequisitionList.RequisitionListAlert.successImport`,\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 product: {\n success: translations.successMove,\n error: translations.errorMove,\n },\n },\n moveToList: {\n product: {\n success: translations.successMoveToList,\n error: translations.errorMoveToList,\n },\n },\n copyToList: {\n product: {\n success: translations.successCopyToList,\n error: translations.errorCopyToList,\n },\n },\n import: {\n requisitionList: {\n success: translations.successImport,\n error: translations.errorImport,\n },\n },\n }),\n [translations]\n );\n\n const handleRequisitionListAlert = useCallback(\n (payload: RequisitionListActionPayload) => {\n const { type, action, context, skus, message, listName } = payload;\n // Use custom message if provided, otherwise use predefined message\n let description =\n message && message.length > 0\n ? message.join('. ')\n : messages[action][context][type];\n // Substitute named placeholders (e.g. {listName})\n if (listName) {\n description = description.replace('{listName}', listName);\n }\n setAlert({\n type,\n description,\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","/********************************************************************\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 { List } 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={List} size={'64'} stroke={'2'} />\n {textContent && <h4>{textContent}</h4>}\n </div>\n );\n};\n"],"names":["isRequisitionListEnabled","config","state","useRequisitionListEnabled","isEnabled","setIsEnabled","useState","useEffect","configListener","events","enabled","prev","SvgList","props","React","useRequisitionListAlert","translationsOverride","alert","setAlert","defaultTranslations","useText","translations","useMemo","messages","handleRequisitionListAlert","useCallback","payload","type","action","context","skus","message","listName","description","timer","EmptyList","className","textContent","jsxs","classes","jsx","Icon","List"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"RequisitionListView.js","sources":["/@dropins/storefront-requisition-list/src/hooks/useRequisitionListEnabled.ts","../../node_modules/@adobe-commerce/elsie/src/icons/List.svg","/@dropins/storefront-requisition-list/src/hooks/useRequisitionListAlert.tsx","/@dropins/storefront-requisition-list/src/components/EmptyList/EmptyList.tsx"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2026 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { useEffect, useState } from 'preact/compat';\nimport { state } from '@/requisitionList/lib/state';\nimport { events } from '@adobe-commerce/event-bus';\n\nfunction isRequisitionListEnabled(): boolean {\n const config = state.config;\n if (!config) return false;\n return (\n config.is_requisition_list_active === '1' &&\n config.company_enabled === true\n );\n}\n\nexport const useRequisitionListEnabled = () => {\n const [isEnabled, setIsEnabled] = useState<boolean>(isRequisitionListEnabled);\n\n useEffect(() => {\n // Listen for requisition list initialization via event bus\n const configListener = events.on('requisitionList/initialized', () => {\n // Only set false when config explicitly disables; if config is missing\n // (e.g. re-init race), preserve current value so the button doesn't disappear\n const enabled = isRequisitionListEnabled();\n setIsEnabled((prev) => (state.config != null ? enabled : prev));\n });\n\n return () => configListener?.off();\n }, []);\n\n return { isEnabled };\n};\n","import * as React from \"react\";\nconst SvgList = (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(\"rect\", { x: 4.89282, y: 2.75, width: 14.2143, height: 18.5, rx: 2.25, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 7.67871, x2: 16.2857, y2: 7.67871, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 11.9644, x2: 16.2857, y2: 11.9644, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"line\", { x1: 9.85718, y1: 16.25, x2: 16.2857, y2: 16.25, stroke: \"currentColor\", strokeWidth: 1 }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 7.71429, r: 0.714286, fill: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 11.9999, r: 0.714286, fill: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 7.71429, cy: 16.2856, r: 0.714286, fill: \"currentColor\" }));\nexport default SvgList;\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 { 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 errorMoveToList: `RequisitionList.RequisitionListAlert.errorMoveToList`,\n successMoveToList: `RequisitionList.RequisitionListAlert.successMoveToList`,\n errorCopyToList: `RequisitionList.RequisitionListAlert.errorCopyToList`,\n successCopyToList: `RequisitionList.RequisitionListAlert.successCopyToList`,\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 product: {\n success: translations.successMove,\n error: translations.errorMove,\n },\n },\n moveToList: {\n product: {\n success: translations.successMoveToList,\n error: translations.errorMoveToList,\n },\n },\n copyToList: {\n product: {\n success: translations.successCopyToList,\n error: translations.errorCopyToList,\n },\n },\n }),\n [translations]\n );\n\n const handleRequisitionListAlert = useCallback(\n (payload: RequisitionListActionPayload) => {\n const { type, action, context, skus, message } = payload;\n // Use custom message if provided, otherwise use predefined message\n const description =\n message && message.length > 0\n ? message.join('. ')\n : messages[action][context][type];\n setAlert({\n type,\n description,\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","/********************************************************************\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 { List } 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={List} size={'64'} stroke={'2'} />\n {textContent && <h4>{textContent}</h4>}\n </div>\n );\n};\n"],"names":["isRequisitionListEnabled","config","state","useRequisitionListEnabled","isEnabled","setIsEnabled","useState","useEffect","configListener","events","enabled","prev","SvgList","props","React","useRequisitionListAlert","translationsOverride","alert","setAlert","defaultTranslations","useText","translations","useMemo","messages","handleRequisitionListAlert","useCallback","payload","type","action","context","skus","message","description","timer","EmptyList","className","textContent","jsxs","classes","jsx","Icon","List"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{i as U,G as d}from"./getRequisitionLists.js";import{t as T,R as q}from"./transform-requisition-list.js";import{h as L}from"./fetch-error.js";import{events as R}from"@dropins/tools/event-bus.js";import{f as m}from"./fetch-graphql.js";import{R as E}from"./updateRequisitionList.js";const w=async(o,_,I,r)=>{var i,u,a,S;if(!U(o))return console.error("Invalid requisition list UID format:",o),null;const{errors:s,data:e}=await m(d,{variables:{requisitionListUid:o,currentPage:_,pageSize:I}});if(s)return L(s);if(!((a=(u=(i=e==null?void 0:e.customer)==null?void 0:i.requisition_lists)==null?void 0:u.items)!=null&&a[0]))return null;const t=e.customer.requisition_lists.items[0];let n=T(t);return(S=n==null?void 0:n.items)!=null&&S.length&&r&&(n={...n,items:await r(n.items)}),R.emit("requisitionList/data",n),n},l=`
3
+ import{i as U,G as d}from"./getRequisitionLists.js";import{t as T,R as q,a as E}from"./updateRequisitionList.js";import{f as L,h as m}from"./fetch-graphql.js";import{events as R}from"@dropins/tools/event-bus.js";const Q=async(o,_,I,r)=>{var i,u,a,S;if(!U(o))return console.error("Invalid requisition list UID format:",o),null;const{errors:s,data:e}=await L(d,{variables:{requisitionListUid:o,currentPage:_,pageSize:I}});if(s)return m(s);if(!((a=(u=(i=e==null?void 0:e.customer)==null?void 0:i.requisition_lists)==null?void 0:u.items)!=null&&a[0]))return null;const t=e.customer.requisition_lists.items[0];let n=T(t);return(S=n==null?void 0:n.items)!=null&&S.length&&r&&(n={...n,items:await r(n.items)}),R.emit("requisitionList/data",n),n},l=`
4
4
  mutation UPDATE_REQUISITION_LIST_ITEMS_MUTATION(
5
5
  $requisitionListUid: ID!,
6
6
  $requisitionListItems: [UpdateRequisitionListItemsInput!]!,
@@ -21,7 +21,7 @@ import{i as U,G as d}from"./getRequisitionLists.js";import{t as T,R as q}from"./
21
21
  }
22
22
  ${q}
23
23
  ${E}
24
- `,D=async(o,_,I,r,s)=>{var u,a;const{errors:e,data:t}=await m(l,{variables:{requisitionListUid:o,requisitionListItems:_,pageSize:I,currentPage:r}});if(e)return L(e);if(!((u=t==null?void 0:t.updateRequisitionListItems)!=null&&u.requisition_list))return null;const n=t.updateRequisitionListItems.requisition_list;let i=T(n);return(a=i==null?void 0:i.items)!=null&&a.length&&s&&(i={...i,items:await s(i.items)}),R.emit("requisitionList/data",i),i},c=`
24
+ `,f=async(o,_,I,r,s)=>{var u,a;const{errors:e,data:t}=await L(l,{variables:{requisitionListUid:o,requisitionListItems:_,pageSize:I,currentPage:r}});if(e)return m(e);if(!((u=t==null?void 0:t.updateRequisitionListItems)!=null&&u.requisition_list))return null;const n=t.updateRequisitionListItems.requisition_list;let i=T(n);return(a=i==null?void 0:i.items)!=null&&a.length&&s&&(i={...i,items:await s(i.items)}),R.emit("requisitionList/data",i),i},c=`
25
25
  mutation DELETE_REQUISITION_LIST_ITEMS_MUTATION(
26
26
  $requisitionListUid: ID!,
27
27
  $requisitionListItemUids: [ID!]!,
@@ -42,7 +42,7 @@ ${E}
42
42
  }
43
43
  ${q}
44
44
  ${E}
45
- `,v=async(o,_,I,r,s)=>{var u,a;const{errors:e,data:t}=await m(c,{variables:{requisitionListUid:o,requisitionListItemUids:_,pageSize:I,currentPage:r}});if(e)return L(e);if(!((u=t==null?void 0:t.deleteRequisitionListItems)!=null&&u.requisition_list))return null;const n=t.deleteRequisitionListItems.requisition_list;let i=T(n);return(a=i==null?void 0:i.items)!=null&&a.length&&s&&(i={...i,items:await s(i.items)}),R.emit("requisitionList/data",i),i},N=`
45
+ `,w=async(o,_,I,r,s)=>{var u,a;const{errors:e,data:t}=await L(c,{variables:{requisitionListUid:o,requisitionListItemUids:_,pageSize:I,currentPage:r}});if(e)return m(e);if(!((u=t==null?void 0:t.deleteRequisitionListItems)!=null&&u.requisition_list))return null;const n=t.deleteRequisitionListItems.requisition_list;let i=T(n);return(a=i==null?void 0:i.items)!=null&&a.length&&s&&(i={...i,items:await s(i.items)}),R.emit("requisitionList/data",i),i},N=`
46
46
  mutation ADD_REQUISITION_LIST_ITEMS_TO_CART_MUTATION(
47
47
  $requisitionListUid: ID!,
48
48
  $requisitionListItemUids: [ID!]!
@@ -72,7 +72,7 @@ ${E}
72
72
  }
73
73
  }
74
74
  }
75
- `,B=async(o,_)=>m(N,{variables:{requisitionListUid:o,requisitionListItemUids:_}}).then(({errors:I,data:r})=>{var s;return I?L(I):(s=r.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors)!=null&&s.length?r.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors.map(e=>({type:e.type,message:e.message||""})):null}),$=`
75
+ `,D=async(o,_)=>L(N,{variables:{requisitionListUid:o,requisitionListItemUids:_}}).then(({errors:I,data:r})=>{var s;return I?m(I):(s=r.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors)!=null&&s.length?r.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors.map(e=>({type:e.type,message:e.message||""})):null}),$=`
76
76
  mutation MOVE_ITEMS_BETWEEN_REQUISITION_LISTS_MUTATION(
77
77
  $sourceRequisitionListUid: ID!,
78
78
  $destinationRequisitionListUid: ID!,
@@ -98,7 +98,7 @@ ${E}
98
98
  }
99
99
  ${q}
100
100
  ${E}
101
- `,y=async(o,_,I,r,s)=>{const{errors:e,data:t}=await m($,{variables:{sourceRequisitionListUid:o,destinationRequisitionListUid:_,requisitionListItem:{requisitionListItemUids:I},pageSize:r,currentPage:s}});if(e)return L(e);if(!(t!=null&&t.moveItemsBetweenRequisitionLists))return null;const{source_requisition_list:n,destination_requisition_list:i}=t.moveItemsBetweenRequisitionLists,u=n?T(n):null,a=i?T(i):null;return u&&R.emit("requisitionList/data",u),{sourceList:u,destinationList:a}},M=`
101
+ `,v=async(o,_,I,r,s)=>{const{errors:e,data:t}=await L($,{variables:{sourceRequisitionListUid:o,destinationRequisitionListUid:_,requisitionListItem:{requisitionListItemUids:I},pageSize:r,currentPage:s}});if(e)return m(e);if(!(t!=null&&t.moveItemsBetweenRequisitionLists))return null;const{source_requisition_list:n,destination_requisition_list:i}=t.moveItemsBetweenRequisitionLists,u=n?T(n):null,a=i?T(i):null;return u&&R.emit("requisitionList/data",u),{sourceList:u,destinationList:a}},M=`
102
102
  mutation COPY_ITEMS_BETWEEN_REQUISITION_LISTS_MUTATION(
103
103
  $sourceRequisitionListUid: ID!,
104
104
  $destinationRequisitionListUid: ID!,
@@ -115,5 +115,5 @@ ${E}
115
115
  }
116
116
  }
117
117
  ${q}
118
- `,G=async(o,_,I)=>{var t;const{errors:r,data:s}=await m(M,{variables:{sourceRequisitionListUid:o,destinationRequisitionListUid:_,requisitionListItem:{requisitionListItemUids:I}}});return r?L(r):(t=s==null?void 0:s.copyItemsBetweenRequisitionLists)!=null&&t.requisition_list?{destinationList:T(s.copyItemsBetweenRequisitionLists.requisition_list)}:null};export{B as a,G as c,v as d,w as g,y as m,D as u};
118
+ `,B=async(o,_,I)=>{var t;const{errors:r,data:s}=await L(M,{variables:{sourceRequisitionListUid:o,destinationRequisitionListUid:_,requisitionListItem:{requisitionListItemUids:I}}});return r?m(r):(t=s==null?void 0:s.copyItemsBetweenRequisitionLists)!=null&&t.requisition_list?{destinationList:T(s.copyItemsBetweenRequisitionLists.requisition_list)}:null};export{D as a,B as c,w as d,Q as g,v as m,f as u};
119
119
  //# sourceMappingURL=copyItemsBetweenRequisitionLists.js.map