@dropins/storefront-requisition-list 1.0.0-beta7 → 1.1.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{f as o,h as r}from"./chunks/updateRequisitionList.js";import{e as R,g as y,r as F,s as L,a as b,b as E,u as G}from"./chunks/updateRequisitionList.js";import{events as a}from"@dropins/tools/event-bus.js";import{g as Q}from"./chunks/getRequisitionLists.js";import{a as x,d as O,b as w,g as z,u as H}from"./chunks/addRequisitionListItemsToCart.js";import{d as T}from"./chunks/deleteRequisitionList.js";import{Initializer as c}from"@dropins/tools/lib.js";import{s as t}from"./chunks/state.js";import"@dropins/tools/fetch-graphql.js";const f=`
3
+ import{f as o,h as r}from"./chunks/updateRequisitionList.js";import{e as R,g as y,r as F,s as L,a as b,b as E,u as G}from"./chunks/updateRequisitionList.js";import{events as a}from"@dropins/tools/event-bus.js";import{g as Q}from"./chunks/getRequisitionLists.js";import{a as x,d as O,g as w,b as z,u as H}from"./chunks/addRequisitionListItemsToCart.js";import{d as T}from"./chunks/deleteRequisitionList.js";import{Initializer as c}from"@dropins/tools/lib.js";import{s as t}from"./chunks/state.js";import"@dropins/tools/fetch-graphql.js";const f=`
4
4
  query STORE_CONFIG_QUERY {
5
5
  storeConfig {
6
6
  is_requisition_list_active
@@ -237,5 +237,5 @@ fragment PRICE_RANGE_FRAGMENT on ComplexProductView {
237
237
  }
238
238
  }
239
239
  }
240
- `,D=async(i,r)=>m(N,{variables:{requisitionListUid:i,requisitionListItemUids:r}}).then(({errors:t,data:n})=>{var s;return t?I(t):(s=n.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors)!=null&&s.length?n.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors.map(e=>({type:e.type,message:e.message||""})):null});export{D as a,$ as b,P as d,y as g,S as i,A as u};
240
+ `,D=async(i,r)=>m(N,{variables:{requisitionListUid:i,requisitionListItemUids:r}}).then(({errors:t,data:n})=>{var s;return t?I(t):(s=n.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors)!=null&&s.length?n.addRequisitionListItemsToCart.add_requisition_list_items_to_cart_user_errors.map(e=>({type:e.type,message:e.message||""})):null});export{D as a,y as b,P as d,$ as g,S as i,A as u};
241
241
  //# sourceMappingURL=addRequisitionListItemsToCart.js.map
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as h,jsx as t,Fragment as z}from"@dropins/tools/preact-jsx-runtime.js";import{useState as M,useCallback as q,useMemo as S,useEffect as T}from"@dropins/tools/preact-compat.js";import{Button as N,Header as G,InLineAlert as U,Table as V,Pagination as B,Card as j}from"@dropins/tools/components.js";import{Slot as J,classes as v,VComponent as Z}from"@dropins/tools/lib.js";import{D,R as $}from"../chunks/RequisitionListForm.js";import"@dropins/tools/preact-hooks.js";import{R as I}from"../chunks/RequisitionListForm2.js";import{events as y}from"@dropins/tools/event-bus.js";import"../chunks/state.js";import"@dropins/tools/preact.js";import{u as K,a as Q,E as X}from"../chunks/RequisitionListView.js";import{R as Y}from"../chunks/RequisitionListActions.js";import{R as x}from"../chunks/RequisitionListModal.js";import{N as ii,P as ei,a as ti}from"../chunks/PaginationItemsCounter.js";import{useText as E}from"@dropins/tools/i18n.js";import{g as W}from"../chunks/getRequisitionLists.js";import{d as ni}from"../chunks/deleteRequisitionList.js";import{u as si}from"../chunks/updateRequisitionList.js";import"@dropins/tools/fetch-graphql.js";function oi(u,L,d){const R=E({actionRename:"RequisitionList.RequisitionListView.actionRename",actionDeleteList:"RequisitionList.RequisitionListView.actionDeleteList"}),[i,a]=M(null),[p,f]=M(!1),[w,_]=M(!1),C=q(()=>{d&&d(),f(!0)},[d]),A=q(()=>f(!1),[]),c=S(()=>{if(u)return{handleOpenRenameModal:e=>{f(s=>s&&!1),u.handleOpenRenameModal(e)},handleOpenDeleteModal:e=>{f(s=>s&&!1),u.handleOpenDeleteModal(e)}}},[u]),l=q(async(e,s)=>{var r,n,m;_(!0);try{const o=await W(e,s),O=((r=o==null?void 0:o.page_info)==null?void 0:r.current_page)??1,F=((n=o==null?void 0:o.page_info)==null?void 0:n.total_pages)??0;if(!((((m=o==null?void 0:o.items)==null?void 0:m.length)??0)>0)&&O>1&&F>=O-1){const k=O-1,H=await W(k,s);a(H)}else a(o)}finally{_(!1)}},[]);T(()=>{const e=y.on("requisitionLists/data",s=>{s&&s.items&&a(s)},{eager:!0});return()=>{e==null||e.off()}},[]),T(()=>{i||l(1,D)},[i,l]);const g=q(e=>{var n,m;const s=e??((n=i==null?void 0:i.page_info)==null?void 0:n.current_page)??1,r=((m=i==null?void 0:i.page_info)==null?void 0:m.page_size)??D;return l(s,r)},[l,i]),b=q(async e=>{await l(1,e)},[l]);return{rows:S(()=>((i==null?void 0:i.items)??[]).map(e=>({name:h("div",{className:"requisition-list-grid-wrapper__name",children:[t("div",{className:"requisition-list-grid-wrapper__name__title",children:t("a",{href:"#",onClick:s=>{if(s.preventDefault(),L){const r=L(e.uid);typeof r=="string"&&(window.location.href=r)}},children:e.name})}),e.description&&t("div",{className:"requisition-list-grid-wrapper__name__description",children:e.description})]}),items_count:e.items_count,last_updated:new Date(e.updated_at).toLocaleString(),actions:h("div",{className:"requisition-list-grid-wrapper__actions",children:[t(N,{variant:"tertiary",type:"button","data-testid":"rename-button",onClick:()=>c==null?void 0:c.handleOpenRenameModal(e),children:R.actionRename}),t(N,{variant:"tertiary",type:"button","data-testid":"delete-button",onClick:()=>c==null?void 0:c.handleOpenDeleteModal(e),children:R.actionDeleteList})]})})),[i==null?void 0:i.items,R.actionRename,R.actionDeleteList,c,L]),isLoading:w||!i,pageInfo:i==null?void 0:i.page_info,totalCount:i==null?void 0:i.total_count,handlePageChange:g,handlePageSizeChange:b,isAdding:p,handleAddNew:C,handleCancelCreate:A}}const Oi=({routeRequisitionListDetails:u,fallbackRoute:L="/customer/account",slots:d})=>{const{isEnabled:R}=K(),[i,a]=M({type:null,isOpen:!1,isLoading:!1,requisitionList:null}),p=q(()=>{a({type:null,isOpen:!1,isLoading:!1,requisitionList:null})},[]),f=q(o=>{a({type:"rename",isOpen:!0,isLoading:!1,requisitionList:o})},[]),w=q(o=>{a({type:"delete",isOpen:!0,isLoading:!1,requisitionList:o})},[]),{rows:_,isLoading:C,pageInfo:A,totalCount:c,handlePageChange:l,handlePageSizeChange:g,isAdding:b,handleAddNew:P,handleCancelCreate:e}=oi({handleOpenRenameModal:f,handleOpenDeleteModal:w},u,p),s=q(async o=>{if(i.requisitionList)try{await si(i.requisitionList.uid,o.name,o.description),y.emit("requisitionList/alert",{action:"update",type:"success",context:"requisitionList"}),await l(),p()}catch{y.emit("requisitionList/alert",{action:"update",type:"error",context:"requisitionList"})}},[i.requisitionList,l,p]),r=async()=>{i.requisitionList&&(a({...i,isLoading:!0}),await ni(i.requisitionList.uid).then(async()=>{y.emit("requisitionList/alert",{type:"success",action:"delete",context:"requisitionList"})}).catch(()=>{y.emit("requisitionList/alert",{type:"error",action:"delete",context:"requisitionList"})}).finally(async()=>{await l(),p()}))},n=E({containerTitle:"RequisitionList.containerTitle",updateTitle:"RequisitionList.RequisitionListForm.updateTitle",deleteRequisitionListTitle:"RequisitionList.RequisitionListWrapper.deleteRequisitionListTitle",deleteRequisitionListMessage:"RequisitionList.RequisitionListWrapper.deleteRequisitionListMessage",cancelAction:"RequisitionList.RequisitionListWrapper.cancelAction",confirmAction:"RequisitionList.RequisitionListWrapper.confirmAction",notEnabledTitle:"RequisitionList.RequisitionListsNotEnabled.title",notEnabledMessage:"RequisitionList.RequisitionListsNotEnabled.message",notEnabledActionLabel:"RequisitionList.RequisitionListsNotEnabled.actionLabel"}),m=q(()=>d!=null&&d.Header?t(J,{name:"Header","aria-label":n.containerTitle,title:n.containerTitle,slot:d.Header}):t(G,{"aria-label":n.containerTitle,role:"region",title:n.containerTitle}),[d,n.containerTitle]);return R===!1?t(ii,{title:n.notEnabledTitle,message:n.notEnabledMessage,actionLabel:n.notEnabledActionLabel,onAction:()=>{window.location.href=L}}):h(z,{children:[t(ai,{header:m(),rows:_,skeletonRowCount:10,isLoading:C,pageInfo:A,totalCount:c,handlePageChange:l,handlePageSizeChange:g,defaultPageSize:10,isAdding:b,handleAddNew:P,handleCancelCreate:e}),i.type==="rename"&&i.isOpen&&i.requisitionList&&t(x,{isOpen:i.isOpen,isLoading:i.isLoading,title:n.updateTitle,modalContent:t($,{mode:"update",defaultValues:{name:i.requisitionList.name,description:i.requisitionList.description||""},onSubmit:s,onCancel:p}),handleModalOnClose:p}),i.type==="delete"&&i.isOpen&&t(x,{isOpen:i.isOpen,isLoading:i.isLoading,title:n.deleteRequisitionListTitle,modalContent:n.deleteRequisitionListMessage,confirmBtnCaption:n.confirmAction,closeBtnCaption:n.cancelAction,handleModalOnClose:p,handleModalOnConfirm:r})]})},ai=({className:u,isLoading:L=!1,header:d,rows:R=[],skeletonRowCount:i=10,pageInfo:a,totalCount:p=0,handlePageChange:f,handlePageSizeChange:w,defaultPageSize:_=10,isAdding:C,handleAddNew:A,handleCancelCreate:c,...l})=>{const g=E({name:"RequisitionList.RequisitionListWrapper.name",itemsCount:"RequisitionList.RequisitionListWrapper.itemsCount",lastUpdated:"RequisitionList.RequisitionListWrapper.lastUpdated",actions:"RequisitionList.RequisitionListWrapper.actions",emptyList:"RequisitionList.RequisitionListWrapper.emptyList",show:"RequisitionList.PageSizePicker.show"}),b=((a==null?void 0:a.total_pages)??0)>0,P=!L&&R.length===0&&!b,{alert:e,setAlert:s,handleRequisitionListAlert:r}=Q();return T(()=>{const n=y.on("requisitionList/alert",r);try{const m=localStorage.getItem("requisitionListPendingAlert");if(m){const o=JSON.parse(m);r(o),localStorage.removeItem("requisitionListPendingAlert")}}catch{}return()=>{n==null||n.off()}},[r]),h("div",{...l,className:v(["requisition-list-grid-wrapper",u]),"data-testid":"requisition-list-grid-wrapper",children:[d&&t("div",{className:v(["requisition-list-grid-wrapper__header",u]),"data-testid":"requisition-list-grid-wrapper-header",children:t(Z,{node:d})}),e&&t("div",{className:"requisition-list__alert-wrapper",children:t(U,{heading:e.description,type:e.type,variant:"primary",onDismiss:()=>s(null)})}),P?t(X,{textContent:g.emptyList}):h(z,{children:[t(V,{columns:[{key:"name",label:g.name},{key:"items_count",label:g.itemsCount},{key:"last_updated",label:g.lastUpdated},{key:"actions",label:g.actions}],rowData:R,loading:L,skeletonRowCount:i}),a&&h("div",{className:v(["requisition-list-grid-wrapper__pagination",u]),children:[t(ei,{pageInfo:a,totalCount:p}),(a.total_pages||0)>1&&t(B,{totalPages:a.total_pages,currentPage:a.current_page||1,onChange:f,disabled:L}),h("div",{className:"requisition-list-grid-wrapper__pagination-picker",children:[t("span",{children:g.show}),t(ti,{currentPageSize:a.page_size||_,onPageSizeChange:w||(()=>Promise.resolve()),disabled:L})]})]})]}),t("div",{className:v(["requisition-list-grid-wrapper__add-new",u]),children:C?t(j,{variant:"secondary",children:t(I,{mode:"create",onSuccess:async()=>{await f(),c(),r({type:"success",action:"create",context:"requisitionList"})},onError:()=>{r({type:"error",action:"create",context:"requisitionList"})},onCancel:c})}):t(Y,{onAddNew:A})})]})};export{Oi as RequisitionListGrid,Oi as default};
3
+ import{jsxs as h,jsx as t,Fragment as z}from"@dropins/tools/preact-jsx-runtime.js";import{useState as M,useCallback as q,useMemo as S,useEffect as T}from"@dropins/tools/preact-compat.js";import{Button as N,Header as G,InLineAlert as U,Table as V,Pagination as B,Card as j}from"@dropins/tools/components.js";import{Slot as J,VComponent as Z,classes as v}from"@dropins/tools/lib.js";import{D,R as $}from"../chunks/RequisitionListForm.js";import"@dropins/tools/preact-hooks.js";import{R as I}from"../chunks/RequisitionListForm2.js";import{events as y}from"@dropins/tools/event-bus.js";import"../chunks/state.js";import"@dropins/tools/preact.js";import{u as K,a as Q,E as X}from"../chunks/RequisitionListView.js";import{R as Y}from"../chunks/RequisitionListActions.js";import{R as x}from"../chunks/RequisitionListModal.js";import{N as ii,P as ei,a as ti}from"../chunks/PaginationItemsCounter.js";import{useText as E}from"@dropins/tools/i18n.js";import{g as W}from"../chunks/getRequisitionLists.js";import{d as ni}from"../chunks/deleteRequisitionList.js";import{u as si}from"../chunks/updateRequisitionList.js";import"@dropins/tools/fetch-graphql.js";function oi(u,L,d){const R=E({actionRename:"RequisitionList.RequisitionListView.actionRename",actionDeleteList:"RequisitionList.RequisitionListView.actionDeleteList"}),[i,a]=M(null),[p,f]=M(!1),[w,_]=M(!1),C=q(()=>{d&&d(),f(!0)},[d]),A=q(()=>f(!1),[]),c=S(()=>{if(u)return{handleOpenRenameModal:e=>{f(s=>s&&!1),u.handleOpenRenameModal(e)},handleOpenDeleteModal:e=>{f(s=>s&&!1),u.handleOpenDeleteModal(e)}}},[u]),l=q(async(e,s)=>{var r,n,m;_(!0);try{const o=await W(e,s),O=((r=o==null?void 0:o.page_info)==null?void 0:r.current_page)??1,F=((n=o==null?void 0:o.page_info)==null?void 0:n.total_pages)??0;if(!((((m=o==null?void 0:o.items)==null?void 0:m.length)??0)>0)&&O>1&&F>=O-1){const k=O-1,H=await W(k,s);a(H)}else a(o)}finally{_(!1)}},[]);T(()=>{const e=y.on("requisitionLists/data",s=>{s&&s.items&&a(s)},{eager:!0});return()=>{e==null||e.off()}},[]),T(()=>{i||l(1,D)},[i,l]);const g=q(e=>{var n,m;const s=e??((n=i==null?void 0:i.page_info)==null?void 0:n.current_page)??1,r=((m=i==null?void 0:i.page_info)==null?void 0:m.page_size)??D;return l(s,r)},[l,i]),b=q(async e=>{await l(1,e)},[l]);return{rows:S(()=>((i==null?void 0:i.items)??[]).map(e=>({name:h("div",{className:"requisition-list-grid-wrapper__name",children:[t("div",{className:"requisition-list-grid-wrapper__name__title",children:t("a",{href:"#",onClick:s=>{if(s.preventDefault(),L){const r=L(e.uid);typeof r=="string"&&(window.location.href=r)}},children:e.name})}),e.description&&t("div",{className:"requisition-list-grid-wrapper__name__description",children:e.description})]}),items_count:e.items_count,last_updated:new Date(e.updated_at).toLocaleString(),actions:h("div",{className:"requisition-list-grid-wrapper__actions",children:[t(N,{variant:"tertiary",type:"button","data-testid":"rename-button",onClick:()=>c==null?void 0:c.handleOpenRenameModal(e),children:R.actionRename}),t(N,{variant:"tertiary",type:"button","data-testid":"delete-button",onClick:()=>c==null?void 0:c.handleOpenDeleteModal(e),children:R.actionDeleteList})]})})),[i==null?void 0:i.items,R.actionRename,R.actionDeleteList,c,L]),isLoading:w||!i,pageInfo:i==null?void 0:i.page_info,totalCount:i==null?void 0:i.total_count,handlePageChange:g,handlePageSizeChange:b,isAdding:p,handleAddNew:C,handleCancelCreate:A}}const Oi=({routeRequisitionListDetails:u,fallbackRoute:L="/customer/account",slots:d})=>{const{isEnabled:R}=K(),[i,a]=M({type:null,isOpen:!1,isLoading:!1,requisitionList:null}),p=q(()=>{a({type:null,isOpen:!1,isLoading:!1,requisitionList:null})},[]),f=q(o=>{a({type:"rename",isOpen:!0,isLoading:!1,requisitionList:o})},[]),w=q(o=>{a({type:"delete",isOpen:!0,isLoading:!1,requisitionList:o})},[]),{rows:_,isLoading:C,pageInfo:A,totalCount:c,handlePageChange:l,handlePageSizeChange:g,isAdding:b,handleAddNew:P,handleCancelCreate:e}=oi({handleOpenRenameModal:f,handleOpenDeleteModal:w},u,p),s=q(async o=>{if(i.requisitionList)try{await si(i.requisitionList.uid,o.name,o.description),y.emit("requisitionList/alert",{action:"update",type:"success",context:"requisitionList"}),await l(),p()}catch{y.emit("requisitionList/alert",{action:"update",type:"error",context:"requisitionList"})}},[i.requisitionList,l,p]),r=async()=>{i.requisitionList&&(a({...i,isLoading:!0}),await ni(i.requisitionList.uid).then(async()=>{y.emit("requisitionList/alert",{type:"success",action:"delete",context:"requisitionList"})}).catch(()=>{y.emit("requisitionList/alert",{type:"error",action:"delete",context:"requisitionList"})}).finally(async()=>{await l(),p()}))},n=E({containerTitle:"RequisitionList.containerTitle",updateTitle:"RequisitionList.RequisitionListForm.updateTitle",deleteRequisitionListTitle:"RequisitionList.RequisitionListWrapper.deleteRequisitionListTitle",deleteRequisitionListMessage:"RequisitionList.RequisitionListWrapper.deleteRequisitionListMessage",cancelAction:"RequisitionList.RequisitionListWrapper.cancelAction",confirmAction:"RequisitionList.RequisitionListWrapper.confirmAction",notEnabledTitle:"RequisitionList.RequisitionListsNotEnabled.title",notEnabledMessage:"RequisitionList.RequisitionListsNotEnabled.message",notEnabledActionLabel:"RequisitionList.RequisitionListsNotEnabled.actionLabel"}),m=q(()=>d!=null&&d.Header?t(J,{name:"Header","aria-label":n.containerTitle,title:n.containerTitle,slot:d.Header}):t(G,{"aria-label":n.containerTitle,role:"region",title:n.containerTitle}),[d,n.containerTitle]);return R===!1?t(ii,{title:n.notEnabledTitle,message:n.notEnabledMessage,actionLabel:n.notEnabledActionLabel,onAction:()=>{window.location.href=L}}):h(z,{children:[t(ai,{header:m(),rows:_,skeletonRowCount:10,isLoading:C,pageInfo:A,totalCount:c,handlePageChange:l,handlePageSizeChange:g,defaultPageSize:10,isAdding:b,handleAddNew:P,handleCancelCreate:e}),i.type==="rename"&&i.isOpen&&i.requisitionList&&t(x,{isOpen:i.isOpen,isLoading:i.isLoading,title:n.updateTitle,modalContent:t($,{mode:"update",defaultValues:{name:i.requisitionList.name,description:i.requisitionList.description||""},onSubmit:s,onCancel:p}),handleModalOnClose:p}),i.type==="delete"&&i.isOpen&&t(x,{isOpen:i.isOpen,isLoading:i.isLoading,title:n.deleteRequisitionListTitle,modalContent:n.deleteRequisitionListMessage,confirmBtnCaption:n.confirmAction,closeBtnCaption:n.cancelAction,handleModalOnClose:p,handleModalOnConfirm:r})]})},ai=({className:u,isLoading:L=!1,header:d,rows:R=[],skeletonRowCount:i=10,pageInfo:a,totalCount:p=0,handlePageChange:f,handlePageSizeChange:w,defaultPageSize:_=10,isAdding:C,handleAddNew:A,handleCancelCreate:c,...l})=>{const g=E({name:"RequisitionList.RequisitionListWrapper.name",itemsCount:"RequisitionList.RequisitionListWrapper.itemsCount",lastUpdated:"RequisitionList.RequisitionListWrapper.lastUpdated",actions:"RequisitionList.RequisitionListWrapper.actions",emptyList:"RequisitionList.RequisitionListWrapper.emptyList",show:"RequisitionList.PageSizePicker.show"}),b=((a==null?void 0:a.total_pages)??0)>0,P=!L&&R.length===0&&!b,{alert:e,setAlert:s,handleRequisitionListAlert:r}=Q();return T(()=>{const n=y.on("requisitionList/alert",r);try{const m=localStorage.getItem("requisitionListPendingAlert");if(m){const o=JSON.parse(m);r(o),localStorage.removeItem("requisitionListPendingAlert")}}catch{}return()=>{n==null||n.off()}},[r]),h("div",{...l,className:v(["requisition-list-grid-wrapper",u]),"data-testid":"requisition-list-grid-wrapper",children:[d&&t("div",{className:v(["requisition-list-grid-wrapper__header",u]),"data-testid":"requisition-list-grid-wrapper-header",children:t(Z,{node:d})}),e&&t("div",{className:"requisition-list__alert-wrapper",children:t(U,{heading:e.description,type:e.type,variant:"primary",onDismiss:()=>s(null)})}),P?t(X,{textContent:g.emptyList}):h(z,{children:[t(V,{columns:[{key:"name",label:g.name},{key:"items_count",label:g.itemsCount},{key:"last_updated",label:g.lastUpdated},{key:"actions",label:g.actions}],rowData:R,loading:L,skeletonRowCount:i}),a&&h("div",{className:v(["requisition-list-grid-wrapper__pagination",u]),children:[t(ei,{pageInfo:a,totalCount:p}),(a.total_pages||0)>1&&t(B,{totalPages:a.total_pages,currentPage:a.current_page||1,onChange:f,disabled:L}),h("div",{className:"requisition-list-grid-wrapper__pagination-picker",children:[t("span",{children:g.show}),t(ti,{currentPageSize:a.page_size||_,onPageSizeChange:w||(()=>Promise.resolve()),disabled:L})]})]})]}),t("div",{className:v(["requisition-list-grid-wrapper__add-new",u]),children:C?t(j,{variant:"secondary",children:t(I,{mode:"create",onSuccess:async()=>{await f(),c(),r({type:"success",action:"create",context:"requisitionList"})},onError:()=>{r({type:"error",action:"create",context:"requisitionList"})},onCancel:c})}):t(Y,{onAddNew:A})})]})};export{Oi as RequisitionListGrid,Oi as default};
4
4
  //# sourceMappingURL=RequisitionListGrid.js.map
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as w,jsx as e,Fragment as bt}from"@dropins/tools/preact-jsx-runtime.js";import*as p from"@dropins/tools/preact-compat.js";import{useState as S,useEffect as lt,useCallback as M}from"@dropins/tools/preact-compat.js";import{b as kt,a as yt,d as vt,u as Ct,g as ct,i as Rt}from"../chunks/addRequisitionListItemsToCart.js";import{Button as pt,Icon as tt,Price as Lt,Field as St,Input as It,Image as At,Checkbox as Nt,Table as Pt,ProgressSpinner as Tt,InLineAlert as Et,Pagination as xt}from"@dropins/tools/components.js";import{events as O}from"@dropins/tools/event-bus.js";import{useState as et,useCallback as ut}from"@dropins/tools/preact-hooks.js";import{VComponent as Vt,classes as Mt}from"@dropins/tools/lib.js";import{D as dt}from"../chunks/RequisitionListForm.js";import{a as Dt,u as Ht,E as $t}from"../chunks/RequisitionListView.js";import{h as Ft}from"@dropins/tools/preact.js";import{useText as gt}from"@dropins/tools/i18n.js";import{R as Bt}from"../chunks/RequisitionListHeader.js";import"../chunks/state.js";import{R as zt}from"../chunks/RequisitionListModal.js";import{N as qt,P as Ot,a as Wt}from"../chunks/PaginationItemsCounter.js";import"../chunks/updateRequisitionList.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/deleteRequisitionList.js";const Qt=l=>p.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l},p.createElement("g",{clipPath:"url(#clip0_102_196)"},p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z",stroke:"currentColor",strokeLinejoin:"round"}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),p.createElement("defs",null,p.createElement("clipPath",{id:"clip0_102_196"},p.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),jt=l=>p.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l},p.createElement("path",{d:"M17.3332 11.75H6.6665",strokeWidth:1,strokeLinecap:"square",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",fill:"none",stroke:"currentColor"})),wt=l=>p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...l},p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1 5H23",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.3674 22H6.63446C5.67952 22 4.88992 21.2688 4.8379 20.3338L4 5H20L19.1621 20.3338C19.1119 21.2688 18.3223 22 17.3655 22H17.3674Z",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.87189 2H14.1281C14.6085 2 15 2.39766 15 2.88889V5H9V2.88889C9 2.39912 9.39006 2 9.87189 2Z",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.87402 8.58057L9.39348 17.682",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M14.6673 8.58057L14.146 17.682",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}));function Zt(){const[l,P]=et(null),[k,g]=et(new Set),D=ut((y,L)=>{g(f=>{const m=new Set(f);return L?m.add(y):m.delete(y),m})},[]),I=ut(()=>{var L;const y=(L=l==null?void 0:l.items)==null?void 0:L.map(f=>f.uid);g(new Set(y))},[l]),A=ut(()=>{g(new Set)},[]);return{currentRequisitionList:l,setCurrentRequisitionList:P,selectedItems:k,setSelectedItems:g,handleItemSelection:D,handleSelectAll:I,handleSelectNone:A}}const Kt=({className:l,items:P,selectedItems:k,currentPage:g,pageSize:D,canEdit:I=!0,handleItemSelection:A,handleUpdateQuantity:y,onAddToCart:L,onDeleteItem:f,...m})=>{const[N,F]=et({}),[it,W]=et({}),h=gt({productNameHeader:"RequisitionList.RequisitionListView.productListTable.headers.productName",skuHeader:"RequisitionList.RequisitionListView.productListTable.headers.sku",priceHeader:"RequisitionList.RequisitionListView.productListTable.headers.price",quantityHeader:"RequisitionList.RequisitionListView.productListTable.headers.quantity",subtotalHeader:"RequisitionList.RequisitionListView.productListTable.headers.subtotal",actionsHeader:"RequisitionList.RequisitionListView.productListTable.headers.actions",actionAddToCart:"RequisitionList.RequisitionListView.actionAddToCart",actionDelete:"RequisitionList.RequisitionListView.actionDelete",actionSelect:"RequisitionList.RequisitionListView.actionSelect",itemQuantity:"RequisitionList.RequisitionListView.productListTable.itemQuantity",outOfStock:"RequisitionList.RequisitionListView.productListTable.outOfStock",onlyXLeftInStock:"RequisitionList.RequisitionListView.productListTable.onlyXLeftInStock"}),T=[{label:"#",key:"index"},{label:"item",key:"item"},{label:h.priceHeader,key:"price"},{label:h.quantityHeader,key:"quantity"},{label:h.subtotalHeader,key:"subtotal"}];I&&(T.unshift({label:h.actionSelect,key:"selector"}),T.push({label:h.actionsHeader,key:"actions"}));const E=(t,s)=>{const r=t.target.checked;A(s.uid,r)},X=t=>(g-1)*D+t+1,nt=t=>{var s,r;return((s=t.configured_product)==null?void 0:s.name)||((r=t.product)==null?void 0:r.name)||t.sku},Q=t=>{var s,r,a,R,c,v;return(r=(s=t.configured_product)==null?void 0:s.images)!=null&&r.length?((a=t.configured_product.images[0])==null?void 0:a.url)||"":(c=(R=t.product)==null?void 0:R.images)!=null&&c.length&&((v=t.product.images[0])==null?void 0:v.url)||""},x=t=>{var s;return((s=t.product)==null?void 0:s.name)||t.sku},j=t=>{var s;return(s=t.configured_product)==null?void 0:s.name},B=t=>t.bundle_options?t.bundle_options.map((r,a)=>w("span",{className:"requisition-list-view-product-list-table__product-configurable-name",children:[r.values[0].label," x ",r.values[0].quantity]},r.values[0].label||a)):void 0,Z=t=>{var s;return((s=t.configured_product)==null?void 0:s.sku)||t.sku},n=t=>{var s,r,a,R,c,v,V,H;return Array.isArray(t.bundle_options)&&t.bundle_options.length>0?t.bundle_options.reduce((rt,Y)=>{var G,U,K;return rt+(((U=(G=Y.values[0])==null?void 0:G.priceV2)==null?void 0:U.value)||0)*(((K=Y.values[0])==null?void 0:K.quantity)||0)},0):((R=(a=(r=(s=t.configured_product)==null?void 0:s.price)==null?void 0:r.final)==null?void 0:a.amount)==null?void 0:R.value)||((H=(V=(v=(c=t.product)==null?void 0:c.price)==null?void 0:v.final)==null?void 0:V.amount)==null?void 0:H.value)||0},d=t=>{var s,r,a,R,c,v,V,H;return((R=(a=(r=(s=t.configured_product)==null?void 0:s.price)==null?void 0:r.final)==null?void 0:a.amount)==null?void 0:R.currency)||((H=(V=(v=(c=t.product)==null?void 0:c.price)==null?void 0:v.final)==null?void 0:V.amount)==null?void 0:H.currency)},z=t=>n(t)*t.quantity,J=(t,s)=>{const r=+t.target.value;r>0&&!Number.isNaN(t.target.value)&&W(a=>({...a,[s.uid]:r}))},st=async(t,s)=>{let r=+t.target.value;if(!(r>0&&r!==s.quantity)){W(a=>({...a,[s.uid]:s.quantity}));return}F(a=>({...a,[s.uid]:!0}));try{await y(s.uid,r)}finally{F(a=>({...a,[s.uid]:!1}))}},ot=P.map((t,s)=>({selector:e("label",{id:`item-selector-${t.sku}-label`,children:e(Nt,{className:"requisition-list-view-product-list-table__checkbox",name:`item-selector-${t.sku}`,"aria-label":`${h.actionSelect} ${x(t)}`,"data-testid":`item-checkbox-${t.sku}`,onChange:r=>E(r,t),value:t.sku,checked:k.has(t.uid)})}),index:e("div",{className:"requisition-list-view-product-list-table__index-container",children:X(s)}),item:w("div",{className:"requisition-list-view-product-list-table__item-container",children:[e(At,{className:"requisition-list-view-product-list-table__thumbnail",alt:nt(t),src:Q(t)}),w("div",{className:"requisition-list-view-product-list-table__item-details",children:[e("div",{className:"requisition-list-view-product-list-table__product-name",children:x(t)}),t.stock_status==="OUT_OF_STOCK"&&e("div",{className:"requisition-list-view-product-list-table__out-of-stock",children:h.outOfStock}),t.stock_status!=="OUT_OF_STOCK"&&t.only_x_left_in_stock!==null&&t.only_x_left_in_stock<t.quantity&&e("div",{className:"requisition-list-view-product-list-table__low-stock",children:h.onlyXLeftInStock.replace("{count}",String(t.only_x_left_in_stock))}),e("span",{className:"requisition-list-view-product-list-table__product-configurable-name",children:j(t)}),e("div",{className:"requisition-list-view-product-list-table__sku",children:Z(t)}),B(t)]})]}),price:e(Lt,{className:"requisition-list-view-product-list-table__price",amount:n(t),currency:d(t)}),quantity:e("span",{className:"requisition-list-view-product-list-table__quantity",children:e(St,{disabled:!!N[t.uid],children:e(It,{id:`requisition-list-item-quantity-${t.sku}`,"data-testid":`requisition-list-item-quantity-${t.sku}`,name:"quantity",type:"text","aria-label":`${h.itemQuantity} - ${x(t)}`,value:it[t.uid]??t.quantity,onChange:r=>J(r,t),onBlur:r=>st(r,t)})})}),subtotal:e(Lt,{className:"requisition-list-view-product-list-table__price",amount:z(t),currency:d(t)}),actions:w("div",{className:"requisition-list-view__bulk-actions",children:[e(pt,{type:"button",onClick:()=>L([t.uid]),icon:e(tt,{source:Qt}),"aria-label":`${h.actionAddToCart} - ${x(t)}`,"data-testid":"product-list-table-add-to-cart-button"}),e(pt,{type:"button",variant:"secondary",icon:e(tt,{source:wt}),onClick:()=>f([t.uid]),"aria-label":`${h.actionDelete} - ${x(t)}`,"data-testid":"product-list-table-delete-button"})]})})),at=e(Pt,{columns:T,rowData:ot,"data-testid":"product-list-table",mobileLayout:"stacked"});return e(Vt,{node:Ft("div",{}),className:Mt(["requisition-list-view-product-list-table-container",l]),"data-testid":"product-list-table-container",...m,children:at})},Xt=({selectedItems:l,deletingItemId:P,addingToCartItemId:k,bulkAddingToCart:g,updatingQuantityItemId:D,onSelectAll:I,onSelectNone:A,onBulkAddToCart:y,onBulkDelete:L})=>{const f=gt({statusDeleting:"RequisitionList.RequisitionListView.statusDeleting",actionSelectAll:"RequisitionList.RequisitionListView.actionSelectAll",actionSelectNone:"RequisitionList.RequisitionListView.actionSelectNone",actionAddToCart:"RequisitionList.RequisitionListView.actionAddToCart",actionDeleteSelectedItems:"RequisitionList.RequisitionListView.actionDeleteSelectedItems",statusBulkAddingToCart:"RequisitionList.RequisitionListView.statusBulkAddingToCart"}),m=P!==null||k!==null||g||D!==null,N=l.size>0;return w("div",{className:"requisition-list-view__batch-actions",children:[w("div",{className:"requisition-list-view__batch-actions-left",children:[e("button",{"data-testid":"bulk-actions-select-toggle-btn",type:"button",className:`requisition-list-view__batch-actions-select-toggle ${N?"requisition-list-view__batch-actions-select-toggle--active":""}`,onClick:N?A:I,disabled:m,"aria-label":N?f.actionSelectNone:f.actionSelectAll,children:e(tt,{source:jt})}),e("button",{type:"button",className:"requisition-list-view__batch-actions-select-label",onClick:N?A:I,disabled:m,children:f.actionSelectAll})]}),N&&w("div",{className:"requisition-list-view__batch-actions-buttons",children:[e("span",{className:"requisition-list-view__batch-actions-count-badge","aria-label":`${l.size} items selected`,children:l.size}),e(pt,{"data-testid":"bulk-actions-add-to-cart-btn",type:"button",variant:"secondary",onClick:y,disabled:m,children:g?f.statusBulkAddingToCart:f.actionAddToCart}),e("button",{"data-testid":"bulk-actions-delete-btn",type:"button",className:"requisition-list-view__batch-actions-delete-icon",onClick:L,disabled:m,"aria-label":f.actionDeleteSelectedItems,children:e(tt,{source:wt})})]})]})},fe=({requisitionListUid:l,skipProductLoading:P=!1,pageSize:k=dt,routeRequisitionListGrid:g,fallbackRoute:D="/customer/account"})=>{var K,ft,mt,ht,_t;const[I,A]=S(!1),[y,L]=S(null),[f,m]=S(null),[N,F]=S(!1),[it,W]=S(null),[h,T]=S(!1),[E,X]=S(k),[nt,Q]=S(!0),[x,j]=S(!1),[B,Z]=S([]),{currentRequisitionList:n,setCurrentRequisitionList:d,selectedItems:z,setSelectedItems:J,handleItemSelection:st,handleSelectAll:ot,handleSelectNone:at}=Zt(),t=gt({emptyRequisitionList:"RequisitionList.RequisitionListView.emptyRequisitionList",errorLoadingProducts:"RequisitionList.RequisitionListView.errorLoadingProducts",errorLoadPage:"RequisitionList.RequisitionListView.errorLoadPage",notFoundTitle:"RequisitionList.RequisitionListView.notFoundTitle",notFoundMessage:"RequisitionList.RequisitionListView.notFoundMessage",notFoundActionLabel:"RequisitionList.RequisitionListView.notFoundActionLabel",notEnabledTitle:"RequisitionList.RequisitionListsNotEnabled.title",notEnabledMessage:"RequisitionList.RequisitionListsNotEnabled.message",partialMoveSuccess:"RequisitionList.RequisitionListAlert.partialMoveSuccess",notEnabledActionLabel:"RequisitionList.RequisitionListsNotEnabled.actionLabel",show:"RequisitionList.PageSizePicker.show",deleteItemsTitle:"RequisitionList.RequisitionListView.deleteItemsTitle",deleteItemsMessage:"RequisitionList.RequisitionListView.deleteItemsMessage",confirmAction:"RequisitionList.RequisitionListView.confirmAction",cancelAction:"RequisitionList.RequisitionListView.cancelAction"}),{alert:s,setAlert:r,handleRequisitionListAlert:a}=Dt(),{isEnabled:R}=Ht();lt(()=>{const i=O.on("requisitionList/data",u=>{(u==null?void 0:u.uid)===l&&(d(u),J(new Set))}),o=O.on("requisitionList/alert",a);return()=>{i==null||i.off(),o==null||o.off()}},[a,l,d,J]),lt(()=>{X(k)},[k]);const c=M(async i=>{var u,C;const o=((u=i.items)==null?void 0:u.map(q=>q.sku))||[];if(o.length===0)return i;A(!0);try{const q=await kt(o);if(q){const _=new Map;return q.forEach(b=>{_.set(b.sku,b)}),{...i,items:(C=i.items)==null?void 0:C.map(b=>{const $=_.get(b.sku);return{...b,product:$||b.product,stock_status:b.stock_status||($==null?void 0:$.stock_status)||"IN_STOCK",only_x_left_in_stock:b.only_x_left_in_stock??($==null?void 0:$.only_x_left_in_stock)??null}})}}return console.warn("No products found"),i}catch(q){return console.warn(q instanceof Error?q.message:t.errorLoadingProducts),i}finally{A(!1)}},[t.errorLoadingProducts]);lt(()=>{if(!l){Q(!1);return}if(n&&n.uid===l)return;Q(!0),(async()=>{try{const o=await ct(l,1,k);if(o)if(P)d(o);else{const u=await c(o);d(u)}}catch(o){console.error("Failed to initialize requisition list from UID:",o)}finally{Q(!1)}})()},[l,k,P,c,d,n]);const v=M(async i=>{i&&i.length===1?(F(!1),m(i)):(F(!0),m(null));try{const o=await yt(n.uid,i),u=(i==null?void 0:i.length)||0,C=(o==null?void 0:o.length)||0,q=u-C;if(o&&o.length>0&&q>0){const _={action:"move",type:"error",context:"product",message:[t.partialMoveSuccess.replace("{successCount}",String(q)).replace("{failedCount}",String(C))]};a(_),O.emit("requisitionList/alert",_)}else if(o&&o.length>0){const _={action:"move",type:"error",context:"product",message:o.map(b=>b.message)};a(_),O.emit("requisitionList/alert",_)}else{const _={action:"move",type:"success",context:"product"};a(_),O.emit("requisitionList/alert",_)}}catch{const u={action:"move",type:"error",context:"product"};a(u),O.emit("requisitionList/alert",u)}finally{m(null),F(!1)}},[n,a,t]),V=M(i=>{i&&i.length>0&&(Z(i),j(!0))},[]),H=M(async()=>{B.length===1?L(B[0]):L("bulk");try{const i=await vt(n.uid,B,E,n.page_info.current_page);if(i){const o=await c(i);d(o),a({action:"delete",type:"success",context:"product"})}else a({action:"delete",type:"error",context:"product"})}catch{a({action:"delete",type:"error",context:"product"})}finally{L(null),j(!1),Z([])}},[B,n,E,c,d,a]),rt=M(async(i,o)=>{var u;W(i);try{const C=(u=n.items)==null?void 0:u.find(b=>b.uid===i);if(!C){a({action:"update",type:"error",context:"product"});return}const q={item_id:C.uid,entered_options:C.entered_options,selected_options:C.selected_options,quantity:o},_=await Ct(n.uid,[q],E,n.page_info.current_page);if(_){const b=await c(_);d(b),a({action:"update",type:"success",context:"product"})}else a({action:"update",type:"error",context:"product"})}catch{a({action:"update",type:"error",context:"product"})}finally{W(null)}},[n,c,d,E,a]),Y=M(async i=>{T(!0);try{const o=await ct(n.uid,i,E);if(o){const u=await c(o);d(u)}else console.warn(t.errorLoadPage)}catch(o){console.warn(o instanceof Error?o.message:t.errorLoadPage)}finally{T(!1)}},[n==null?void 0:n.uid,c,E,t,d]),G=M(async i=>{X(i),T(!0);try{const o=await ct(n.uid,1,i);if(o){const u=await c(o);d(u)}else console.warn(t.errorLoadPage)}catch{console.warn(t.errorLoadPage)}finally{T(!1)}},[n==null?void 0:n.uid,c,t,d]),U=M(async i=>{const o=await c(i);d(o)},[d,c]);return w("div",{className:"requisition-list-view__container",children:[nt?e("div",{className:"requisition-list-view__loading",children:e(Tt,{stroke:"4",size:"large"})}):R===!1?e(qt,{title:t.notEnabledTitle,message:t.notEnabledMessage,actionLabel:t.notEnabledActionLabel,onAction:()=>{window.location.href=D}}):!n||!Rt(n==null?void 0:n.uid)?e(qt,{title:t.notFoundTitle,message:t.notFoundMessage,actionLabel:g?t.notFoundActionLabel:void 0,onAction:g?()=>{const i=g();i&&typeof i=="string"&&(window.location.href=i)}:void 0}):w(bt,{children:[e(Bt,{requisitionList:n,routeRequisitionListGrid:g,onUpdate:U,onAlert:a}),s&&e("div",{className:"requisition-list__alert-wrapper",children:e(Et,{heading:s.description,type:s.type,variant:"primary",onDismiss:()=>r(null)})}),n.items_count===0?e($t,{textContent:`${n.name} ${t.emptyRequisitionList}`}):w(bt,{children:[e(Xt,{selectedItems:z,deletingItemId:y,addingToCartItemId:f,bulkAddingToCart:N,updatingQuantityItemId:it,onSelectAll:ot,onSelectNone:at,onBulkAddToCart:()=>v(Array.from(z)),onBulkDelete:()=>V(Array.from(z))}),e(Kt,{items:n.items,selectedItems:z,currentPage:((K=n.page_info)==null?void 0:K.current_page)||1,pageSize:((ft=n.page_info)==null?void 0:ft.page_size)||dt,handleItemSelection:st,handleUpdateQuantity:rt,onAddToCart:v,onDeleteItem:V}),n.page_info&&w("div",{className:"requisition-list-view__pagination",children:[e(Ot,{pageInfo:n.page_info,totalCount:n.items_count}),(((mt=n.page_info)==null?void 0:mt.total_pages)||0)>1&&e(xt,{totalPages:n.page_info.total_pages,currentPage:((ht=n.page_info)==null?void 0:ht.current_page)||1,onChange:Y,disabled:h||I}),w("div",{className:"requisition-list-view__pagination-picker",children:[e("span",{children:t.show}),e(Wt,{currentPageSize:((_t=n.page_info)==null?void 0:_t.page_size)||dt,onPageSizeChange:G,disabled:h||I})]})]})]})]}),x&&e(zt,{isOpen:x,isLoading:y!==null,title:t.deleteItemsTitle,modalContent:t.deleteItemsMessage,confirmBtnCaption:t.confirmAction,closeBtnCaption:t.cancelAction,handleModalOnClose:()=>{j(!1),Z([])},handleModalOnConfirm:H})]})};export{fe as RequisitionListView,fe as default};
3
+ import{jsxs as w,jsx as e,Fragment as bt}from"@dropins/tools/preact-jsx-runtime.js";import*as p from"@dropins/tools/preact-compat.js";import{useState as S,useEffect as lt,useCallback as M}from"@dropins/tools/preact-compat.js";import{g as kt,a as yt,d as vt,u as Ct,b as ct,i as Rt}from"../chunks/addRequisitionListItemsToCart.js";import{Button as pt,Icon as tt,Price as Lt,Field as St,Input as It,Image as At,Checkbox as Nt,Table as Pt,ProgressSpinner as Tt,InLineAlert as Et,Pagination as xt}from"@dropins/tools/components.js";import{events as O}from"@dropins/tools/event-bus.js";import{useState as et,useCallback as ut}from"@dropins/tools/preact-hooks.js";import{VComponent as Vt,classes as Mt}from"@dropins/tools/lib.js";import{D as dt}from"../chunks/RequisitionListForm.js";import{a as Dt,u as Ht,E as $t}from"../chunks/RequisitionListView.js";import{h as Ft}from"@dropins/tools/preact.js";import{useText as gt}from"@dropins/tools/i18n.js";import{R as Bt}from"../chunks/RequisitionListHeader.js";import"../chunks/state.js";import{R as zt}from"../chunks/RequisitionListModal.js";import{N as qt,P as Ot,a as Wt}from"../chunks/PaginationItemsCounter.js";import"../chunks/updateRequisitionList.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/deleteRequisitionList.js";const Qt=l=>p.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l},p.createElement("g",{clipPath:"url(#clip0_102_196)"},p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3601 18.16H6.5601L4.8801 3H2.3501M19.6701 19.59C19.6701 20.3687 19.0388 21 18.2601 21C17.4814 21 16.8501 20.3687 16.8501 19.59C16.8501 18.8113 17.4814 18.18 18.2601 18.18C19.0388 18.18 19.6701 18.8113 19.6701 19.59ZM7.42986 19.59C7.42986 20.3687 6.79858 21 6.01986 21C5.24114 21 4.60986 20.3687 4.60986 19.59C4.60986 18.8113 5.24114 18.18 6.01986 18.18C6.79858 18.18 7.42986 18.8113 7.42986 19.59Z",stroke:"currentColor",strokeLinejoin:"round"}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M5.25 6.37L20.89 8.06L20.14 14.8H6.19",stroke:"currentColor",strokeLinejoin:"round"})),p.createElement("defs",null,p.createElement("clipPath",{id:"clip0_102_196"},p.createElement("rect",{vectorEffect:"non-scaling-stroke",width:19.29,height:19.5,fill:"white",transform:"translate(2.3501 2.25)"})))),jt=l=>p.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l},p.createElement("path",{d:"M17.3332 11.75H6.6665",strokeWidth:1,strokeLinecap:"square",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",fill:"none",stroke:"currentColor"})),wt=l=>p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...l},p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M1 5H23",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M17.3674 22H6.63446C5.67952 22 4.88992 21.2688 4.8379 20.3338L4 5H20L19.1621 20.3338C19.1119 21.2688 18.3223 22 17.3655 22H17.3674Z",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M9.87189 2H14.1281C14.6085 2 15 2.39766 15 2.88889V5H9V2.88889C9 2.39912 9.39006 2 9.87189 2Z",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M8.87402 8.58057L9.39348 17.682",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}),p.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M14.6673 8.58057L14.146 17.682",stroke:"currentColor",strokeWidth:1,strokeMiterlimit:10}));function Zt(){const[l,P]=et(null),[k,g]=et(new Set),D=ut((y,L)=>{g(f=>{const m=new Set(f);return L?m.add(y):m.delete(y),m})},[]),I=ut(()=>{var L;const y=(L=l==null?void 0:l.items)==null?void 0:L.map(f=>f.uid);g(new Set(y))},[l]),A=ut(()=>{g(new Set)},[]);return{currentRequisitionList:l,setCurrentRequisitionList:P,selectedItems:k,setSelectedItems:g,handleItemSelection:D,handleSelectAll:I,handleSelectNone:A}}const Kt=({className:l,items:P,selectedItems:k,currentPage:g,pageSize:D,canEdit:I=!0,handleItemSelection:A,handleUpdateQuantity:y,onAddToCart:L,onDeleteItem:f,...m})=>{const[N,F]=et({}),[it,W]=et({}),h=gt({productNameHeader:"RequisitionList.RequisitionListView.productListTable.headers.productName",skuHeader:"RequisitionList.RequisitionListView.productListTable.headers.sku",priceHeader:"RequisitionList.RequisitionListView.productListTable.headers.price",quantityHeader:"RequisitionList.RequisitionListView.productListTable.headers.quantity",subtotalHeader:"RequisitionList.RequisitionListView.productListTable.headers.subtotal",actionsHeader:"RequisitionList.RequisitionListView.productListTable.headers.actions",actionAddToCart:"RequisitionList.RequisitionListView.actionAddToCart",actionDelete:"RequisitionList.RequisitionListView.actionDelete",actionSelect:"RequisitionList.RequisitionListView.actionSelect",itemQuantity:"RequisitionList.RequisitionListView.productListTable.itemQuantity",outOfStock:"RequisitionList.RequisitionListView.productListTable.outOfStock",onlyXLeftInStock:"RequisitionList.RequisitionListView.productListTable.onlyXLeftInStock"}),T=[{label:"#",key:"index"},{label:"item",key:"item"},{label:h.priceHeader,key:"price"},{label:h.quantityHeader,key:"quantity"},{label:h.subtotalHeader,key:"subtotal"}];I&&(T.unshift({label:h.actionSelect,key:"selector"}),T.push({label:h.actionsHeader,key:"actions"}));const E=(t,s)=>{const r=t.target.checked;A(s.uid,r)},X=t=>(g-1)*D+t+1,nt=t=>{var s,r;return((s=t.configured_product)==null?void 0:s.name)||((r=t.product)==null?void 0:r.name)||t.sku},Q=t=>{var s,r,a,R,c,v;return(r=(s=t.configured_product)==null?void 0:s.images)!=null&&r.length?((a=t.configured_product.images[0])==null?void 0:a.url)||"":(c=(R=t.product)==null?void 0:R.images)!=null&&c.length&&((v=t.product.images[0])==null?void 0:v.url)||""},x=t=>{var s;return((s=t.product)==null?void 0:s.name)||t.sku},j=t=>{var s;return(s=t.configured_product)==null?void 0:s.name},B=t=>t.bundle_options?t.bundle_options.map((r,a)=>w("span",{className:"requisition-list-view-product-list-table__product-configurable-name",children:[r.values[0].label," x ",r.values[0].quantity]},r.values[0].label||a)):void 0,Z=t=>{var s;return((s=t.configured_product)==null?void 0:s.sku)||t.sku},n=t=>{var s,r,a,R,c,v,V,H;return Array.isArray(t.bundle_options)&&t.bundle_options.length>0?t.bundle_options.reduce((rt,Y)=>{var G,U,K;return rt+(((U=(G=Y.values[0])==null?void 0:G.priceV2)==null?void 0:U.value)||0)*(((K=Y.values[0])==null?void 0:K.quantity)||0)},0):((R=(a=(r=(s=t.configured_product)==null?void 0:s.price)==null?void 0:r.final)==null?void 0:a.amount)==null?void 0:R.value)||((H=(V=(v=(c=t.product)==null?void 0:c.price)==null?void 0:v.final)==null?void 0:V.amount)==null?void 0:H.value)||0},d=t=>{var s,r,a,R,c,v,V,H;return((R=(a=(r=(s=t.configured_product)==null?void 0:s.price)==null?void 0:r.final)==null?void 0:a.amount)==null?void 0:R.currency)||((H=(V=(v=(c=t.product)==null?void 0:c.price)==null?void 0:v.final)==null?void 0:V.amount)==null?void 0:H.currency)},z=t=>n(t)*t.quantity,J=(t,s)=>{const r=+t.target.value;r>0&&!Number.isNaN(t.target.value)&&W(a=>({...a,[s.uid]:r}))},st=async(t,s)=>{let r=+t.target.value;if(!(r>0&&r!==s.quantity)){W(a=>({...a,[s.uid]:s.quantity}));return}F(a=>({...a,[s.uid]:!0}));try{await y(s.uid,r)}finally{F(a=>({...a,[s.uid]:!1}))}},ot=P.map((t,s)=>({selector:e("label",{id:`item-selector-${t.sku}-label`,children:e(Nt,{className:"requisition-list-view-product-list-table__checkbox",name:`item-selector-${t.sku}`,"aria-label":`${h.actionSelect} ${x(t)}`,"data-testid":`item-checkbox-${t.sku}`,onChange:r=>E(r,t),value:t.sku,checked:k.has(t.uid)})}),index:e("div",{className:"requisition-list-view-product-list-table__index-container",children:X(s)}),item:w("div",{className:"requisition-list-view-product-list-table__item-container",children:[e(At,{className:"requisition-list-view-product-list-table__thumbnail",alt:nt(t),src:Q(t)}),w("div",{className:"requisition-list-view-product-list-table__item-details",children:[e("div",{className:"requisition-list-view-product-list-table__product-name",children:x(t)}),t.stock_status==="OUT_OF_STOCK"&&e("div",{className:"requisition-list-view-product-list-table__out-of-stock",children:h.outOfStock}),t.stock_status!=="OUT_OF_STOCK"&&t.only_x_left_in_stock!==null&&t.only_x_left_in_stock<t.quantity&&e("div",{className:"requisition-list-view-product-list-table__low-stock",children:h.onlyXLeftInStock.replace("{count}",String(t.only_x_left_in_stock))}),e("span",{className:"requisition-list-view-product-list-table__product-configurable-name",children:j(t)}),e("div",{className:"requisition-list-view-product-list-table__sku",children:Z(t)}),B(t)]})]}),price:e(Lt,{className:"requisition-list-view-product-list-table__price",amount:n(t),currency:d(t)}),quantity:e("span",{className:"requisition-list-view-product-list-table__quantity",children:e(St,{disabled:!!N[t.uid],children:e(It,{id:`requisition-list-item-quantity-${t.sku}`,"data-testid":`requisition-list-item-quantity-${t.sku}`,name:"quantity",type:"text","aria-label":`${h.itemQuantity} - ${x(t)}`,value:it[t.uid]??t.quantity,onChange:r=>J(r,t),onBlur:r=>st(r,t)})})}),subtotal:e(Lt,{className:"requisition-list-view-product-list-table__price",amount:z(t),currency:d(t)}),actions:w("div",{className:"requisition-list-view__bulk-actions",children:[e(pt,{type:"button",onClick:()=>L([t.uid]),icon:e(tt,{source:Qt}),"aria-label":`${h.actionAddToCart} - ${x(t)}`,"data-testid":"product-list-table-add-to-cart-button"}),e(pt,{type:"button",variant:"secondary",icon:e(tt,{source:wt}),onClick:()=>f([t.uid]),"aria-label":`${h.actionDelete} - ${x(t)}`,"data-testid":"product-list-table-delete-button"})]})})),at=e(Pt,{columns:T,rowData:ot,"data-testid":"product-list-table",mobileLayout:"stacked"});return e(Vt,{node:Ft("div",{}),className:Mt(["requisition-list-view-product-list-table-container",l]),"data-testid":"product-list-table-container",...m,children:at})},Xt=({selectedItems:l,deletingItemId:P,addingToCartItemId:k,bulkAddingToCart:g,updatingQuantityItemId:D,onSelectAll:I,onSelectNone:A,onBulkAddToCart:y,onBulkDelete:L})=>{const f=gt({statusDeleting:"RequisitionList.RequisitionListView.statusDeleting",actionSelectAll:"RequisitionList.RequisitionListView.actionSelectAll",actionSelectNone:"RequisitionList.RequisitionListView.actionSelectNone",actionAddToCart:"RequisitionList.RequisitionListView.actionAddToCart",actionDeleteSelectedItems:"RequisitionList.RequisitionListView.actionDeleteSelectedItems",statusBulkAddingToCart:"RequisitionList.RequisitionListView.statusBulkAddingToCart"}),m=P!==null||k!==null||g||D!==null,N=l.size>0;return w("div",{className:"requisition-list-view__batch-actions",children:[w("div",{className:"requisition-list-view__batch-actions-left",children:[e("button",{"data-testid":"bulk-actions-select-toggle-btn",type:"button",className:`requisition-list-view__batch-actions-select-toggle ${N?"requisition-list-view__batch-actions-select-toggle--active":""}`,onClick:N?A:I,disabled:m,"aria-label":N?f.actionSelectNone:f.actionSelectAll,children:e(tt,{source:jt})}),e("button",{type:"button",className:"requisition-list-view__batch-actions-select-label",onClick:N?A:I,disabled:m,children:f.actionSelectAll})]}),N&&w("div",{className:"requisition-list-view__batch-actions-buttons",children:[e("span",{className:"requisition-list-view__batch-actions-count-badge","aria-label":`${l.size} items selected`,children:l.size}),e(pt,{"data-testid":"bulk-actions-add-to-cart-btn",type:"button",variant:"secondary",onClick:y,disabled:m,children:g?f.statusBulkAddingToCart:f.actionAddToCart}),e("button",{"data-testid":"bulk-actions-delete-btn",type:"button",className:"requisition-list-view__batch-actions-delete-icon",onClick:L,disabled:m,"aria-label":f.actionDeleteSelectedItems,children:e(tt,{source:wt})})]})]})},fe=({requisitionListUid:l,skipProductLoading:P=!1,pageSize:k=dt,routeRequisitionListGrid:g,fallbackRoute:D="/customer/account"})=>{var K,ft,mt,ht,_t;const[I,A]=S(!1),[y,L]=S(null),[f,m]=S(null),[N,F]=S(!1),[it,W]=S(null),[h,T]=S(!1),[E,X]=S(k),[nt,Q]=S(!0),[x,j]=S(!1),[B,Z]=S([]),{currentRequisitionList:n,setCurrentRequisitionList:d,selectedItems:z,setSelectedItems:J,handleItemSelection:st,handleSelectAll:ot,handleSelectNone:at}=Zt(),t=gt({emptyRequisitionList:"RequisitionList.RequisitionListView.emptyRequisitionList",errorLoadingProducts:"RequisitionList.RequisitionListView.errorLoadingProducts",errorLoadPage:"RequisitionList.RequisitionListView.errorLoadPage",notFoundTitle:"RequisitionList.RequisitionListView.notFoundTitle",notFoundMessage:"RequisitionList.RequisitionListView.notFoundMessage",notFoundActionLabel:"RequisitionList.RequisitionListView.notFoundActionLabel",notEnabledTitle:"RequisitionList.RequisitionListsNotEnabled.title",notEnabledMessage:"RequisitionList.RequisitionListsNotEnabled.message",partialMoveSuccess:"RequisitionList.RequisitionListAlert.partialMoveSuccess",notEnabledActionLabel:"RequisitionList.RequisitionListsNotEnabled.actionLabel",show:"RequisitionList.PageSizePicker.show",deleteItemsTitle:"RequisitionList.RequisitionListView.deleteItemsTitle",deleteItemsMessage:"RequisitionList.RequisitionListView.deleteItemsMessage",confirmAction:"RequisitionList.RequisitionListView.confirmAction",cancelAction:"RequisitionList.RequisitionListView.cancelAction"}),{alert:s,setAlert:r,handleRequisitionListAlert:a}=Dt(),{isEnabled:R}=Ht();lt(()=>{const i=O.on("requisitionList/data",u=>{(u==null?void 0:u.uid)===l&&(d(u),J(new Set))}),o=O.on("requisitionList/alert",a);return()=>{i==null||i.off(),o==null||o.off()}},[a,l,d,J]),lt(()=>{X(k)},[k]);const c=M(async i=>{var u,C;const o=((u=i.items)==null?void 0:u.map(q=>q.sku))||[];if(o.length===0)return i;A(!0);try{const q=await kt(o);if(q){const _=new Map;return q.forEach(b=>{_.set(b.sku,b)}),{...i,items:(C=i.items)==null?void 0:C.map(b=>{const $=_.get(b.sku);return{...b,product:$||b.product,stock_status:b.stock_status||($==null?void 0:$.stock_status)||"IN_STOCK",only_x_left_in_stock:b.only_x_left_in_stock??($==null?void 0:$.only_x_left_in_stock)??null}})}}return console.warn("No products found"),i}catch(q){return console.warn(q instanceof Error?q.message:t.errorLoadingProducts),i}finally{A(!1)}},[t.errorLoadingProducts]);lt(()=>{if(!l){Q(!1);return}if(n&&n.uid===l)return;Q(!0),(async()=>{try{const o=await ct(l,1,k);if(o)if(P)d(o);else{const u=await c(o);d(u)}}catch(o){console.error("Failed to initialize requisition list from UID:",o)}finally{Q(!1)}})()},[l,k,P,c,d,n]);const v=M(async i=>{i&&i.length===1?(F(!1),m(i)):(F(!0),m(null));try{const o=await yt(n.uid,i),u=(i==null?void 0:i.length)||0,C=(o==null?void 0:o.length)||0,q=u-C;if(o&&o.length>0&&q>0){const _={action:"move",type:"error",context:"product",message:[t.partialMoveSuccess.replace("{successCount}",String(q)).replace("{failedCount}",String(C))]};a(_),O.emit("requisitionList/alert",_)}else if(o&&o.length>0){const _={action:"move",type:"error",context:"product",message:o.map(b=>b.message)};a(_),O.emit("requisitionList/alert",_)}else{const _={action:"move",type:"success",context:"product"};a(_),O.emit("requisitionList/alert",_)}}catch{const u={action:"move",type:"error",context:"product"};a(u),O.emit("requisitionList/alert",u)}finally{m(null),F(!1)}},[n,a,t]),V=M(i=>{i&&i.length>0&&(Z(i),j(!0))},[]),H=M(async()=>{B.length===1?L(B[0]):L("bulk");try{const i=await vt(n.uid,B,E,n.page_info.current_page);if(i){const o=await c(i);d(o),a({action:"delete",type:"success",context:"product"})}else a({action:"delete",type:"error",context:"product"})}catch{a({action:"delete",type:"error",context:"product"})}finally{L(null),j(!1),Z([])}},[B,n,E,c,d,a]),rt=M(async(i,o)=>{var u;W(i);try{const C=(u=n.items)==null?void 0:u.find(b=>b.uid===i);if(!C){a({action:"update",type:"error",context:"product"});return}const q={item_id:C.uid,entered_options:C.entered_options,selected_options:C.selected_options,quantity:o},_=await Ct(n.uid,[q],E,n.page_info.current_page);if(_){const b=await c(_);d(b),a({action:"update",type:"success",context:"product"})}else a({action:"update",type:"error",context:"product"})}catch{a({action:"update",type:"error",context:"product"})}finally{W(null)}},[n,c,d,E,a]),Y=M(async i=>{T(!0);try{const o=await ct(n.uid,i,E);if(o){const u=await c(o);d(u)}else console.warn(t.errorLoadPage)}catch(o){console.warn(o instanceof Error?o.message:t.errorLoadPage)}finally{T(!1)}},[n==null?void 0:n.uid,c,E,t,d]),G=M(async i=>{X(i),T(!0);try{const o=await ct(n.uid,1,i);if(o){const u=await c(o);d(u)}else console.warn(t.errorLoadPage)}catch{console.warn(t.errorLoadPage)}finally{T(!1)}},[n==null?void 0:n.uid,c,t,d]),U=M(async i=>{const o=await c(i);d(o)},[d,c]);return w("div",{className:"requisition-list-view__container",children:[nt?e("div",{className:"requisition-list-view__loading",children:e(Tt,{stroke:"4",size:"large"})}):R===!1?e(qt,{title:t.notEnabledTitle,message:t.notEnabledMessage,actionLabel:t.notEnabledActionLabel,onAction:()=>{window.location.href=D}}):!n||!Rt(n==null?void 0:n.uid)?e(qt,{title:t.notFoundTitle,message:t.notFoundMessage,actionLabel:g?t.notFoundActionLabel:void 0,onAction:g?()=>{const i=g();i&&typeof i=="string"&&(window.location.href=i)}:void 0}):w(bt,{children:[e(Bt,{requisitionList:n,routeRequisitionListGrid:g,onUpdate:U,onAlert:a}),s&&e("div",{className:"requisition-list__alert-wrapper",children:e(Et,{heading:s.description,type:s.type,variant:"primary",onDismiss:()=>r(null)})}),n.items_count===0?e($t,{textContent:`${n.name} ${t.emptyRequisitionList}`}):w(bt,{children:[e(Xt,{selectedItems:z,deletingItemId:y,addingToCartItemId:f,bulkAddingToCart:N,updatingQuantityItemId:it,onSelectAll:ot,onSelectNone:at,onBulkAddToCart:()=>v(Array.from(z)),onBulkDelete:()=>V(Array.from(z))}),e(Kt,{items:n.items,selectedItems:z,currentPage:((K=n.page_info)==null?void 0:K.current_page)||1,pageSize:((ft=n.page_info)==null?void 0:ft.page_size)||dt,handleItemSelection:st,handleUpdateQuantity:rt,onAddToCart:v,onDeleteItem:V}),n.page_info&&w("div",{className:"requisition-list-view__pagination",children:[e(Ot,{pageInfo:n.page_info,totalCount:n.items_count}),(((mt=n.page_info)==null?void 0:mt.total_pages)||0)>1&&e(xt,{totalPages:n.page_info.total_pages,currentPage:((ht=n.page_info)==null?void 0:ht.current_page)||1,onChange:Y,disabled:h||I}),w("div",{className:"requisition-list-view__pagination-picker",children:[e("span",{children:t.show}),e(Wt,{currentPageSize:((_t=n.page_info)==null?void 0:_t.page_size)||dt,onPageSizeChange:G,disabled:h||I})]})]})]})]}),x&&e(zt,{isOpen:x,isLoading:y!==null,title:t.deleteItemsTitle,modalContent:t.deleteItemsMessage,confirmBtnCaption:t.confirmAction,closeBtnCaption:t.cancelAction,handleModalOnClose:()=>{j(!1),Z([])},handleModalOnConfirm:H})]})};export{fe as RequisitionListView,fe as default};
4
4
  //# sourceMappingURL=RequisitionListView.js.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-requisition-list", "version": "1.0.0-beta7", "@dropins/tools": "~1.6.0", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-requisition-list", "version": "1.1.0-beta1", "@dropins/tools": "~1.7.0-beta3", "license": "SEE LICENSE IN LICENSE.md"}