@dropins/storefront-quote-management 1.0.0-beta1 → 1.0.0-beta2

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 (67) hide show
  1. package/api/graphql/NegotiableQuoteTemplateFragment.d.ts +1 -1
  2. package/api/sendQuoteTemplateForReview/sendQuoteTemplateForReview.d.ts +7 -0
  3. package/api.js +8 -47
  4. package/api.js.map +1 -1
  5. package/chunks/AttachedFilesList.js +1 -1
  6. package/chunks/AttachedFilesList.js.map +1 -1
  7. package/chunks/ConfirmationModal.js +1 -1
  8. package/chunks/ConfirmationModal.js.map +1 -1
  9. package/chunks/ItemsQuoted.js +1 -1
  10. package/chunks/ItemsQuoted.js.map +1 -1
  11. package/chunks/ItemsQuotedTemplate.js +1 -1
  12. package/chunks/ItemsQuotedTemplate.js.map +1 -1
  13. package/chunks/LineItemNoteModal.js +4 -0
  14. package/chunks/LineItemNoteModal.js.map +1 -0
  15. package/chunks/NegotiableQuoteTemplateFragment.js +6 -0
  16. package/chunks/NegotiableQuoteTemplateFragment.js.map +1 -1
  17. package/chunks/OrderSummaryLine.js +1 -1
  18. package/chunks/OrderSummaryLine.js.map +1 -1
  19. package/chunks/TabbedContent.js +1 -1
  20. package/chunks/TabbedContent.js.map +1 -1
  21. package/chunks/WarningFilled.js +1 -1
  22. package/chunks/WarningFilled.js.map +1 -1
  23. package/chunks/addQuoteTemplateLineItemNote.js +23 -3
  24. package/chunks/addQuoteTemplateLineItemNote.js.map +1 -1
  25. package/chunks/openQuoteTemplate.js +28 -8
  26. package/chunks/openQuoteTemplate.js.map +1 -1
  27. package/chunks/transform-quote-template.js +1 -1
  28. package/chunks/transform-quote-template.js.map +1 -1
  29. package/components/ManageNegotiableQuoteTemplate/ManageNegotiableQuoteTemplate.d.ts +0 -1
  30. package/components/ReferenceDocumentFormModal/ReferenceDocumentFormModal.d.ts +30 -0
  31. package/components/ReferenceDocumentFormModal/index.d.ts +11 -0
  32. package/components/ReferenceDocumentsList/ReferenceDocumentsList.d.ts +18 -0
  33. package/components/ReferenceDocumentsList/index.d.ts +11 -0
  34. package/components/index.d.ts +2 -0
  35. package/containers/ItemsQuoted.js +1 -1
  36. package/containers/ItemsQuotedTemplate/ItemsQuotedTemplate.d.ts +5 -1
  37. package/containers/ItemsQuotedTemplate.js +1 -1
  38. package/containers/ManageNegotiableQuote.js +1 -1
  39. package/containers/ManageNegotiableQuote.js.map +1 -1
  40. package/containers/ManageNegotiableQuoteTemplate/ManageNegotiableQuoteTemplate.d.ts +9 -3
  41. package/containers/ManageNegotiableQuoteTemplate.js +1 -1
  42. package/containers/ManageNegotiableQuoteTemplate.js.map +1 -1
  43. package/containers/OrderSummary.js +1 -1
  44. package/containers/OrderSummary.js.map +1 -1
  45. package/containers/OrderSummaryLine.js +1 -1
  46. package/containers/QuoteSummaryList.js +1 -1
  47. package/containers/QuoteSummaryList.js.map +1 -1
  48. package/containers/QuoteTemplatesListTable.js +1 -1
  49. package/containers/QuoteTemplatesListTable.js.map +1 -1
  50. package/containers/QuotesListTable.js +1 -1
  51. package/containers/QuotesListTable.js.map +1 -1
  52. package/containers/RequestNegotiableQuoteForm.js +1 -1
  53. package/containers/RequestNegotiableQuoteForm.js.map +1 -1
  54. package/data/models/negotiable-quote-template-model.d.ts +1 -0
  55. package/data/transforms/__fixtures__/negotiableQuoteTemplateData.d.ts +55 -0
  56. package/hooks/useItemsQuotedTemplate.d.ts +16 -0
  57. package/hooks/useReferenceDocumentLinks.d.ts +34 -0
  58. package/hooks/useRemoveTemplateItems.d.ts +25 -0
  59. package/hooks/useUpdateTemplateQuantities.d.ts +27 -0
  60. package/i18n/en_US.json.d.ts +60 -1
  61. package/package.json +1 -1
  62. package/render.js +3 -3
  63. package/render.js.map +1 -1
  64. package/chunks/CheckWithCircle.js +0 -4
  65. package/chunks/CheckWithCircle.js.map +0 -1
  66. package/chunks/LineItemNoteModal2.js +0 -4
  67. package/chunks/LineItemNoteModal2.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as n,jsxs as u,Fragment as ia}from"@dropins/tools/preact-jsx-runtime.js";import*as oa from"@dropins/tools/preact-compat.js";import{useState as l,useRef as Ee,useEffect as _,useCallback as c,useMemo as g,createPortal as O}from"@dropins/tools/preact-compat.js";import{classes as s,VComponent as b,Slot as f}from"@dropins/tools/lib.js";import{f as ra}from"../chunks/dateUtils.js";/* empty css */import{Skeleton as $a,SkeletonRow as P,Modal as ja,Input as Ga,TextArea as la,Button as se,InLineAlert as S,InputFile as Ka}from"@dropins/tools/components.js";import{events as w}from"@dropins/tools/event-bus.js";import{A as Xa,T as Ja}from"../chunks/TabbedContent.js";import{v as Ya,f as Za,a as Aa,S as et,A as at}from"../chunks/AttachedFilesList.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import{C as X}from"../chunks/ConfirmationModal.js";/* empty css *//* empty css */import{useText as ca}from"@dropins/tools/i18n.js";import{S as tt}from"../chunks/ShippingAddressDisplay.js";import{Q as nt}from"../chunks/QuoteHistoryLog3.js";import{g as ot,r as rt,c as it,a as lt,s as ct,d as st,b as mt}from"../chunks/duplicateNegotiableQuote.js";import"../chunks/state.js";import{u as dt}from"../chunks/uploadFile.js";import{I as ut}from"../chunks/ItemsQuoted.js";import{Q as gt}from"../chunks/QuoteCommentsList3.js";import{S as W}from"../chunks/WarningFilled.js";import{S as J}from"../chunks/CheckWithCircle.js";import"../chunks/QuoteHistoryLog.js";import"../chunks/transform-quote.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/NegotiableQuoteFragment.js";import"../chunks/transform-quote-template.js";import"../chunks/NegotiableQuoteTemplateFragment.js";import"../chunks/LineItemNoteModal2.js";import"../chunks/setLineItemNote.js";import"../chunks/QuoteCommentsList.js";const ft=C=>oa.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-edit-2",...C},oa.createElement("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})),pt=({className:C,loading:a,quoteName:m,quoteStatus:F,banner:Q,details:T,actionBar:p,quoteContent:D,shippingInformationTitle:R,shippingInformation:e,quoteCommentsTitle:M,quoteComments:y,attachFilesField:h,attachedFilesList:E,footer:Y,...Z})=>a?n(bt,{}):u("div",{...Z,className:s(["quote-management-manage-negotiable-quote",C]),children:[u("div",{className:s(["quote-management-manage-negotiable-quote__header"]),children:[m&&n(b,{node:m,className:s(["quote-management-manage-negotiable-quote__quote-name"])}),F&&n(b,{node:F,className:s(["quote-management-manage-negotiable-quote__quote-status"])})]}),Q&&n(b,{node:Q,className:s(["quote-management-manage-negotiable-quote__banner"])}),T&&n(b,{node:T,className:s(["quote-management-manage-negotiable-quote__details"])}),p&&n(b,{node:p,className:s(["quote-management-manage-negotiable-quote__action-bar"])}),D&&n(b,{node:D,className:s(["quote-management-manage-negotiable-quote__quote-content"])}),u("div",{"data-testid":"quote-shipping-information-container",className:s(["quote-management-manage-negotiable-quote__shipping-information-container"]),children:[R&&n(b,{node:R,className:s(["quote-management-manage-negotiable-quote__shipping-information-title"])}),e&&n(b,{node:e,className:s(["quote-management-manage-negotiable-quote__shipping-information"])})]}),u("div",{"data-testid":"quote-comments-container",className:s(["quote-management-manage-negotiable-quote__quote-comments-container"]),children:[M&&n(b,{node:M,className:s(["quote-management-manage-negotiable-quote__quote-comments-title"])}),y&&n(b,{node:y,className:s(["quote-management-manage-negotiable-quote__quote-comments"])}),h&&n(b,{node:h,className:s(["quote-management-manage-negotiable-quote__attach-files-field"])}),E&&n(b,{node:E,className:s(["quote-management-manage-negotiable-quote__attached-files-list"])})]}),n(b,{node:Y,className:s(["quote-management-manage-negotiable-quote__footer"])})]}),bt=()=>u($a,{"data-testid":"manage-negotiable-quote-skeleton",children:[n(P,{variant:"heading",fullWidth:!0,size:"large"}),n(P,{variant:"row",fullWidth:!1,size:"small"}),n(P,{variant:"row",fullWidth:!1,size:"small"}),n(P,{variant:"row",fullWidth:!0}),n(P,{variant:"row",fullWidth:!0,size:"xlarge",lines:2}),n(P,{variant:"row",fullWidth:!1,size:"small"})]}),Mt=({className:C,open:a,quoteName:m,renameReason:F,quoteNameError:Q,errorBanner:T,successBanner:p,showCloseButton:D=!0,onQuoteNameChange:R,onRenameReasonChange:e,onSave:M,onClose:y})=>{const h=ca({title:"NegotiableQuote.Manage.rename.title",quoteNameLabel:"NegotiableQuote.Manage.rename.quoteNameLabel",reasonLabel:"NegotiableQuote.Manage.rename.reasonLabel",renameButton:"NegotiableQuote.Manage.rename.renameButton",cancelButton:"NegotiableQuote.Manage.rename.cancelButton"});return a?u(ja,{open:a,size:"medium",title:n(ia,{children:h.title}),onClose:y,clickToDismiss:!0,escapeToDismiss:!0,showCloseButton:D,className:s(["quote-management-rename-quote-modal",C]),"data-testid":"rename-quote-modal",children:[T&&n("div",{className:s(["quote-management-rename-quote-modal__error-banner"]),"data-testid":"rename-quote-modal-error-banner",children:T}),p&&n("div",{className:s(["quote-management-rename-quote-modal__success-banner"]),"data-testid":"rename-quote-modal-success-banner",children:p}),u("div",{className:s(["quote-management-rename-quote-modal__content"]),children:[u("div",{children:[n(Ga,{name:"quoteName",type:"text",value:m,onInput:E=>R(E.target.value),floatingLabel:h.quoteNameLabel,required:!0,error:!!Q}),Q&&n("span",{className:s(["quote-management-rename-quote-modal__error-text"]),children:Q})]}),n(la,{name:"quoteComment",value:F,onInput:E=>e(E.target.value),label:h.reasonLabel,rows:3})]}),u("div",{className:s(["quote-management-rename-quote-modal__actions"]),children:[n(se,{variant:"secondary",size:"medium",onClick:y,className:s(["quote-management-rename-quote-modal__cancel-button"]),children:h.cancelButton}),n(se,{variant:"primary",size:"medium",onClick:M,className:s(["quote-management-rename-quote-modal__save-button"]),children:h.renameButton})]})]}):null},en=({onActionsDropdownChange:C,slots:a,onActionsButtonClick:m,onSendForReview:F,maxFiles:Q,maxFileSize:T,acceptedFileTypes:p,onDuplicateQuote:D,...R})=>{const[e,M]=l(void 0),[y,h]=l(!0),[E,Y]=l(!1),[Z,V]=l(null),[sa,A]=l(!1),[Fe,me]=l(!1),[De,I]=l(null),[ma,H]=l(!1),[L,we]=l(""),[v,de]=l(!1),[Ie,ue]=l(!1),[Le,ge]=l(!1),[xe,k]=l(""),[Re,$]=l(""),[He,ke]=l(!1),[Be,Ue]=l(!1),[ze,ee]=l(""),[Oe,ae]=l(""),[Pe,fe]=l(!1),[te,ne]=l(""),[pe,oe]=l(""),[be,j]=l(""),[da,B]=l(""),[Me,re]=l(""),[N,G]=l([]),[ie,le]=l(void 0),[he,We]=l(new Set),Ve=Ee(he),Ne=Ee(null),[U,qe]=l(""),ce=Ee(U),[$e,je]=l(!1);_(()=>{Ve.current=he},[he]),_(()=>{ce.current=U},[U]);const o=ca({createdLabel:"NegotiableQuote.Manage.createdLabel",salesRepLabel:"NegotiableQuote.Manage.salesRepLabel",expiresLabel:"NegotiableQuote.Manage.expiresLabel",actionsLabel:"NegotiableQuote.Manage.actionsLabel",remove:"NegotiableQuote.Manage.actions.remove",close:"NegotiableQuote.Manage.actionButtons.close",delete:"NegotiableQuote.Manage.actionButtons.delete",print:"NegotiableQuote.Manage.actionButtons.print",createTemplate:"NegotiableQuote.Manage.actionButtons.createTemplate",createCopy:"NegotiableQuote.Manage.actionButtons.createCopy",shippingInformationTitle:"NegotiableQuote.Manage.shippingInformation.title",quoteCommentsTitle:"NegotiableQuote.Manage.quoteComments.title",quoteCommentsPlaceholder:"NegotiableQuote.Manage.quoteComments.placeholder",sendForReview:"NegotiableQuote.Manage.actionButtons.sendForReview",bannerTitle:"NegotiableQuote.Manage.bannerTitle",statusSubmitted:"NegotiableQuote.Manage.bannerStatusMessages.submitted",statusPending:"NegotiableQuote.Manage.bannerStatusMessages.pending",statusExpired:"NegotiableQuote.Manage.bannerStatusMessages.expired",errorFallback:"NegotiableQuote.Manage.confirmationModal.delete.errorFallback",closeSuccessMessage:"NegotiableQuote.Manage.confirmationModal.close.successDescription",closeModalTitle:"NegotiableQuote.Manage.actionButtons.close",closeModalMessage:"NegotiableQuote.Manage.confirmationModal.close.message",closeModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",closeModalConfirm:"NegotiableQuote.Manage.confirmationModal.close.confirm",closeModalConfirmLoading:"NegotiableQuote.Manage.confirmationModal.close.confirmLoading",closeModalSuccessHeading:"NegotiableQuote.Manage.confirmationModal.close.successHeading",createTemplateModalTitle:"NegotiableQuote.Manage.actionButtons.createTemplate",createTemplateModalMessage:"NegotiableQuote.Manage.confirmationModal.createTemplate.message",createTemplateModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",createTemplateModalConfirm:"NegotiableQuote.Manage.confirmationModal.createTemplate.confirm",createTemplateModalConfirmLoading:"NegotiableQuote.Manage.confirmationModal.createTemplate.confirmLoading",createTemplateModalSuccessHeading:"NegotiableQuote.Manage.confirmationModal.createTemplate.successHeading",createTemplateSuccessMessage:"NegotiableQuote.Manage.confirmationModal.createTemplate.successDescription",createTemplateModalErrorHeading:"NegotiableQuote.Manage.confirmationModal.createTemplate.errorHeading",createTemplateErrorFallback:"NegotiableQuote.Manage.confirmationModal.createTemplate.errorFallback",renameErrorHeading:"NegotiableQuote.Manage.rename.errorHeading",renameQuoteNameRequired:"NegotiableQuote.Manage.rename.quoteNameRequired",renameErrorDefault:"NegotiableQuote.Manage.rename.errorDefault",renameSuccessHeading:"NegotiableQuote.Manage.rename.successHeading",renameSuccessMessage:"NegotiableQuote.Manage.rename.successMessage",confirmationModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",confirmationModalDeleteTitle:"NegotiableQuote.Manage.confirmationModal.delete.title",confirmationModalDeleteMessage:"NegotiableQuote.Manage.confirmationModal.delete.message",confirmationModalDeleteConfirm:"NegotiableQuote.Manage.confirmationModal.delete.confirm",confirmationModalDeleteErrorHeading:"NegotiableQuote.Manage.confirmationModal.delete.errorHeading",confirmationModalDeleteErrorFallback:"NegotiableQuote.Manage.confirmationModal.delete.errorFallback",confirmationModalDeleteSuccessHeading:"NegotiableQuote.Manage.confirmationModal.delete.successHeading",confirmationModalDeleteSuccessDescription:"NegotiableQuote.Manage.confirmationModal.delete.successDescription",confirmationModalDuplicateTitle:"NegotiableQuote.Manage.confirmationModal.duplicate.title",confirmationModalDuplicateMessage:"NegotiableQuote.Manage.confirmationModal.duplicate.message",confirmationModalDuplicateConfirm:"NegotiableQuote.Manage.confirmationModal.duplicate.confirm",confirmationModalDuplicateErrorHeading:"NegotiableQuote.Manage.confirmationModal.duplicate.errorHeading",confirmationModalDuplicateErrorFallback:"NegotiableQuote.Manage.confirmationModal.duplicate.errorFallback",confirmationModalDuplicateSuccessHeading:"NegotiableQuote.Manage.confirmationModal.duplicate.successHeading",confirmationModalDuplicateSuccessDescription:"NegotiableQuote.Manage.confirmationModal.duplicate.successDescription",noItemsSelectedModalTitle:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.title",noItemsSelectedModalMessage:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.message",noItemsSelectedModalConfirm:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.confirm",attachFiles:"NegotiableQuote.Manage.attachFiles",fileUploadError:"NegotiableQuote.Manage.fileUploadError",maxFilesExceeded:"NegotiableQuote.Manage.maxFilesExceeded",maxFileSizeExceeded:"NegotiableQuote.Manage.maxFileSizeExceeded",invalidFileType:"NegotiableQuote.Manage.invalidFileType"});_(()=>{const t=w.on("quote-management/quote-data",r=>{const{quote:i}=r;i&&(M(i),h(!1))},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/shipping-address-set",r=>{const{quote:i}=r;i&&M(i)},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/quote-sent-for-review",r=>{const{quote:i}=r;M(i),we(""),G([]),de(!1)},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/quote-items-removed",r=>{const{quote:i,removedItemUids:d}=r;i&&M(i),d&&We(q=>{const z=new Set(q);return d.forEach(K=>z.delete(K)),z})},{eager:!0});return()=>t==null?void 0:t.off()},[]);const Ge=c((t,r)=>{We(i=>{const d=new Set(i);return r?d.add(t.uid):d.delete(t.uid),d})},[]),Ke=c(t=>{const r=t.target.value,i=Ve.current;if(r==="remove"){if(qe(r),ce.current=r,i.size===0)je(!0);else if(e&&Ne.current){const d=e.items.filter(q=>i.has(q.uid));Ne.current(d)}}C==null||C(t)},[C,e]),Xe=c(()=>{je(!1),qe(""),ce.current=""},[]);_(()=>{const t=w.on("quote-management/negotiable-quote-closed",async r=>{ge(!1),$(""),k(o.closeSuccessMessage),M(i=>{var d;return i!=null&&i.uid&&((d=r.closedQuoteUids)!=null&&d.includes(i.uid))&&ot(i.uid).then(q=>{M(q)}).catch(q=>{console.warn("Failed to refresh quote data after closure:",q)}),i}),setTimeout(()=>{ue(!1),k("")},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[o.closeSuccessMessage]),_(()=>{const t=w.on("quote-management/negotiable-quote-close-error",r=>{console.log("Close error event received:",r),ge(!1),k("");const i=r.error.message||o.errorFallback;$(i)},{eager:!0});return()=>t==null?void 0:t.off()},[o.errorFallback]),_(()=>{const t=w.on("quote-management/quote-renamed",r=>{const{quote:i}=r;M(i),j(""),B(""),re(o.renameSuccessMessage),setTimeout(()=>{fe(!1),ne(""),oe(""),re("")},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[o.renameSuccessMessage]),_(()=>{const t=w.on("quote-management/quote-duplicated",r=>{const{quote:i}=r;e&&D&&D({quoteData:e,newQuote:i}),H(!0),I(null),setTimeout(()=>{me(!1),H(!1),I(null)},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[e,D]);const Qe=c(async t=>{if(Q&&N.length+t.length>Q){le(o.maxFilesExceeded.replace("{maxFiles}",String(Q)));return}for(const i of t){if(T&&!Ya(i.size,T)){le(o.maxFileSizeExceeded.replace("{maxSize}",Za(T)));return}if(p&&!Aa(i.type,p)){le(o.invalidFileType);return}}le(void 0);const r=t.map(i=>({key:`temp-${Date.now()}-${Math.random()}-${i.name}`,name:i.name,size:i.size,status:"uploading"}));G(i=>[...i,...r]);for(let i=0;i<t.length;i++){const d=t[i],q=r[i].key;try{const z=await dt(d);G(K=>K.map(x=>x.key===q?{...x,key:z.key,status:"success"}:x))}catch(z){G(K=>K.map(x=>x.key===q?{...x,status:"error",error:z.message}:x))}}},[Q,T,p,N,o]),ve=c(t=>{G(r=>r.filter(i=>i.key!==t))},[]),Je=c(()=>{ne((e==null?void 0:e.name)||""),oe(""),j(""),B(""),re(""),fe(!0)},[e]),ua=c(()=>{fe(!1),ne(""),oe(""),j(""),B(""),re("")},[]),ga=c(t=>{ne(t),t.trim()&&B("")},[]),Ye=c(()=>{me(!0),I(null),H(!1)},[]),fa=c(async()=>{if(!te.trim()){B(o.renameQuoteNameRequired);return}try{j(""),B(""),await rt({quoteUid:e.uid,quoteName:te,quoteComment:pe.trim()||void 0})}catch(t){j(t.message||o.renameErrorDefault)}},[e,te,pe,o.renameQuoteNameRequired,o.renameErrorDefault]),pa=g(()=>{const t=e&&(e.lockedForEditing===!0||e.lockedForEditing===void 0&&(e.status==="SUBMITTED"||e.status==="PENDING"||e.status==="ORDERED"||e.status==="CLOSED"));return n(f,{name:"QuoteName",slot:a==null?void 0:a.QuoteName,context:{quoteName:e==null?void 0:e.name,quoteData:e},children:u("div",{className:"quote-management-manage-negotiable-quote__quote-name-wrapper",children:[n("h1",{"data-testid":"quote-name",className:"quote-management-manage-negotiable-quote__quote-name-title",children:e==null?void 0:e.name}),n("button",{onClick:Je,disabled:t,"data-testid":"rename-quote-button",className:"quote-management-manage-negotiable-quote__rename-button","aria-label":"Rename quote",children:n(ft,{})})]})})},[a==null?void 0:a.QuoteName,e,Je]),ba=g(()=>n(f,{name:"QuoteStatus",slot:a==null?void 0:a.QuoteStatus,context:{quoteStatus:e==null?void 0:e.status,quoteData:e},children:n("div",{"data-testid":"quote-status",children:e==null?void 0:e.status})}),[a==null?void 0:a.QuoteStatus,e]),Ze=c(t=>{switch(t){case"SUBMITTED":return o.statusSubmitted;case"PENDING":return o.statusPending;case"EXPIRED":return o.statusExpired;default:return null}},[o])(e==null?void 0:e.status),Ae=Ze&&n(S,{type:"warning",variant:"secondary",icon:n(W,{}),heading:o.bannerTitle,description:Ze}),Ma=Ae&&n(f,{name:"Banner","data-testid":"banner",slot:a==null?void 0:a.Banner,context:{quoteData:e},children:Ae}),ha=g(()=>{if(!e)return;const t=e.expirationDate?ra(e.expirationDate,"short"):void 0;return u(f,{name:"Details",slot:a==null?void 0:a.Details,context:{quoteData:e},children:[u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"created-label",children:o.createdLabel}),u("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"created-value",children:[ra(e.createdAt,"short")," (",e.buyer.firstname," ",e.buyer.lastname,")"]})]}),u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"sales-rep-label",children:o.salesRepLabel}),n("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"sales-rep-value",children:e.salesRepName})]}),u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"expires-label",children:o.expiresLabel}),n("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"expires-value",children:t})]})]})},[a==null?void 0:a.Details,o,e]),ea=g(()=>[{label:o.close,value:"close",disabled:!(e!=null&&e.canClose)},{label:o.delete,value:"delete",disabled:!(e!=null&&e.canDelete)},{label:o.print,value:"print"},{label:o.createTemplate,value:"createTemplate"},{label:o.createCopy,value:"createCopy"}],[o,e==null?void 0:e.canDelete,e==null?void 0:e.canClose]),Na=g(()=>{const t=r=>{switch(r){case"close":ue(!0),$(""),k(""),m==null||m(r);break;case"delete":Y(!0),m==null||m(r);break;case"print":m==null||m(r);break;case"createTemplate":ke(!0),ae(""),ee(""),m==null||m(r);break;case"createCopy":Ye(),m==null||m(r);break}};return n(f,{name:"ActionBar",slot:a==null?void 0:a.ActionBar,context:{quoteData:e,actionsBarDropdownValue:U},children:n(Xa,{dropdownPlaceholder:o.actionsLabel,dropdownOptions:[{label:o.remove,value:"remove"}],dropdownValue:U,handleDropdownChange:Ke,buttons:ea.map(r=>n(se,{variant:"tertiary",onClick:()=>t(r.value),"data-testid":`actions-bar-${r.value}-button`,"data-action":r.value,disabled:r.disabled,children:r.label},r.value))})})},[ea,o,a==null?void 0:a.ActionBar,e,Ke,m,Ye,U]),qa=g(()=>n(f,{name:"QuoteContent",slot:a==null?void 0:a.QuoteContent,context:{quoteData:e},children:n(Ja,{tabs:new Map([["items-quoted","Items Quoted"],["comments","Comments"],["history-log","History Log"]]),tabsContent:new Map([["items-quoted",n(f,{name:"ItemsQuotedTab",slot:a==null?void 0:a.ItemsQuotedTab,context:{quoteData:e},children:n(ut,{quoteData:e,onItemCheckboxChange:Ge,onRemoveItemsRef:t=>{Ne.current=t},onRemoveModalStateChange:t=>{!t&&ce.current==="remove"&&qe("")}})},"items-quoted")],["comments",n(f,{name:"CommentsTab",slot:a==null?void 0:a.CommentsTab,context:{quoteData:e},children:n(gt,{quoteData:e})},"comments")],["history-log",n(f,{name:"HistoryLogTab",slot:a==null?void 0:a.HistoryLogTab,context:{quoteData:e},children:n(nt,{quoteData:e})},"history-log")]])})}),[a==null?void 0:a.QuoteContent,a==null?void 0:a.HistoryLogTab,a==null?void 0:a.CommentsTab,a==null?void 0:a.ItemsQuotedTab,e,Ge]),Qa=g(()=>n(f,{name:"ShippingInformationTitle",slot:a==null?void 0:a.ShippingInformationTitle,context:{quoteData:e},children:n("h2",{children:o.shippingInformationTitle})}),[a==null?void 0:a.ShippingInformationTitle,e,o]),va=g(()=>n(f,{name:"ShippingInformation",slot:a==null?void 0:a.ShippingInformation,context:{quoteData:e,loading:y,setLoading:h},children:n(tt,{quoteData:e,loading:y,"data-testid":"manage-quote-shipping-address"})}),[a==null?void 0:a.ShippingInformation,e,y,h]),Sa=g(()=>n(f,{name:"QuoteCommentsTitle",slot:a==null?void 0:a.QuoteCommentsTitle,context:{quoteData:e},children:n("h2",{children:o.quoteCommentsTitle})}),[a==null?void 0:a.QuoteCommentsTitle,o,e]),Ca=g(()=>n(f,{name:"QuoteComments",slot:a==null?void 0:a.QuoteComments,context:{quoteData:e},children:n(la,{name:"quoteComments",placeholder:o.quoteCommentsPlaceholder,rows:3,value:L,onInput:t=>{we(t.target.value)},disabled:!(e!=null&&e.canSendForReview)||v})}),[a==null?void 0:a.QuoteComments,o,e,L,v]),Se=g(()=>!(e!=null&&e.canSendForReview),[e]),Ta=g(()=>n(f,{name:"AttachFilesField",slot:a==null?void 0:a.AttachFilesField,context:{onFileChange:Qe,attachedFiles:N,fileUploadError:ie,disabled:v||Se},children:u("div",{className:"quote-management-manage-negotiable-quote__attach-files",children:[n(Ka,{multiple:!0,onChange:t=>{const r=t.target,i=r==null?void 0:r.files,d=i?Array.from(i):[];d.length>0&&Qe(d)},icon:n(et,{}),disabled:v||Se,"data-testid":"manage-quote-attach-files",accept:p==null?void 0:p.join(","),children:o.attachFiles}),ie&&n("div",{className:"quote-management-manage-negotiable-quote__file-error","data-testid":"file-upload-error",children:ie})]})}),[a==null?void 0:a.AttachFilesField,Qe,v,Se,p,ie,o,N]),ya=g(()=>{if(N.length)return n(f,{name:"AttachedFilesList",slot:a==null?void 0:a.AttachedFilesList,context:{files:N,onRemove:ve,disabled:v},children:n(at,{files:N,onRemove:ve,disabled:v})})},[N,ve,v,a==null?void 0:a.AttachedFilesList]),_a=c(async()=>{if(e!=null&&e.uid){ge(!0),$(""),k("");try{await it({quoteUids:[e.uid]})}catch(t){console.error("Failed to close quote:",t)}}},[e]),Ea=c(()=>{ue(!1),$(""),k("")},[]),Fa=c(async()=>{if(e!=null&&e.uid){Ue(!0),ae(""),ee("");try{await lt(e.uid),ee(o.createTemplateSuccessMessage)}catch(t){console.error("Failed to create quote template:",t);const r=t instanceof Error?t.message:o.createTemplateErrorFallback;ae(r)}finally{Ue(!1)}}},[e,o.createTemplateSuccessMessage,o.createTemplateErrorFallback]),Da=c(()=>{ke(!1),ae(""),ee("")},[]),Ce=c(async()=>{const t=N.filter(r=>r.status==="success");if(F){F({quoteData:e,comment:L.trim()||void 0,attachments:t.length?t:void 0});return}de(!0);try{await ct({quoteUid:e.uid,comment:L.trim()||void 0,attachments:t.length?t.map(r=>({key:r.key})):void 0})}catch(r){console.error("Failed to send quote for review:",r),de(!1)}},[e,F,L,N]),wa=g(()=>n(f,{name:"Footer",slot:a==null?void 0:a.Footer,context:{quoteData:e,comment:L,isSubmitting:v,attachments:N,handleSendForReview:Ce},children:n(se,{variant:"primary",onClick:Ce,"data-testid":"send-for-review-button",disabled:!(e!=null&&e.canSendForReview)||v,children:o.sendForReview})}),[a==null?void 0:a.Footer,o,e,L,v,N,Ce]),Ia=g(()=>be?n(S,{type:"error",variant:"primary",icon:n(W,{color:"var(--color-error)"}),heading:o.renameErrorHeading,description:be}):void 0,[be,o.renameErrorHeading]),La=g(()=>Me?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.renameSuccessHeading,description:Me}):void 0,[Me,o.renameSuccessHeading]),Te=c(t=>t.errors&&Array.isArray(t.errors)&&t.errors.length>0?t.errors[0].message||o.confirmationModalDeleteErrorFallback:(t==null?void 0:t.message)||o.confirmationModalDeleteErrorFallback,[o.confirmationModalDeleteErrorFallback]),xa=c(()=>{Y(!1),V(null),A(!1)},[]),Ra=c(async()=>{if(e!=null&&e.uid){V(null),A(!1);try{const{operationResults:t}=await st(e.uid),r=t.find(i=>i.__typename==="DeleteNegotiableQuoteOperationFailure");if(r){const i=Te(r);V(i);return}A(!0)}catch(t){const r=Te(t);V(r)}}},[e,Te]),Ha=c(()=>{V(null)},[]),ka=c(()=>{A(!1)},[]),aa=c(t=>(t==null?void 0:t.message)||o.confirmationModalDuplicateErrorFallback,[o.confirmationModalDuplicateErrorFallback]),Ba=c(()=>{me(!1),I(null),H(!1)},[]),Ua=c(async()=>{if(e!=null&&e.uid){I(null),H(!1);try{const r=(i=>{const d=i.slice(0,-8),q=crypto.randomUUID().slice(0,8);return d+q})(e.uid);await mt({quoteUid:e.uid,duplicatedQuoteUid:r})}catch(t){const r=aa(t);I(r)}}},[e,aa]),za=c(()=>{I(null)},[]),Oa=c(()=>{H(!1)},[]),Pa=Z?n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDeleteErrorHeading,description:Z,onDismiss:Ha,"data-testid":"confirmation-modal-error-banner"}):null,ta=(sa?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.confirmationModalDeleteSuccessHeading,description:o.confirmationModalDeleteSuccessDescription,onDismiss:ka,"data-testid":"confirmation-modal-success-banner"}):null)||Pa,Wa=De?n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDuplicateErrorHeading,description:De,onDismiss:za,"data-testid":"confirmation-modal-duplicate-error-banner"}):null,na=(ma?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.confirmationModalDuplicateSuccessHeading,description:o.confirmationModalDuplicateSuccessDescription,onDismiss:Oa,"data-testid":"confirmation-modal-duplicate-success-banner"}):null)||Wa,Va={...R,loading:y,quoteName:pa,quoteStatus:ba,banner:Ma||void 0,details:ha,actionBar:Na,quoteContent:qa,shippingInformationTitle:Qa,shippingInformation:va,quoteCommentsTitle:Sa,quoteComments:Ca,attachFilesField:Ta,attachedFilesList:ya,footer:wa};let ye=null;xe?ye=n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.closeModalSuccessHeading,description:xe,"data-testid":"close-quote-success-banner"}):Re&&(ye=n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDeleteErrorHeading,description:Re,"data-testid":"close-quote-error-banner"}));let _e=null;return ze?_e=n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.createTemplateModalSuccessHeading,description:ze,"data-testid":"create-template-success-banner"}):Oe&&(_e=n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.createTemplateModalErrorHeading,description:Oe,"data-testid":"create-template-error-banner"})),u(ia,{children:[n(pt,{...Va}),Pe&&O(n(Mt,{open:Pe,quoteName:te,renameReason:pe,quoteNameError:da,errorBanner:Ia,successBanner:La,onQuoteNameChange:ga,onRenameReasonChange:oe,onSave:fa,onClose:ua}),document.body),E&&O(n(X,{open:E,title:o.confirmationModalDeleteTitle,message:o.confirmationModalDeleteMessage,cancelLabel:o.confirmationModalCancel,confirmLabel:o.confirmationModalDeleteConfirm,onCancel:xa,onConfirm:Ra,showCloseButton:!ta,confirmationBanner:ta}),document.body),Fe&&O(n(X,{open:Fe,title:o.confirmationModalDuplicateTitle,message:o.confirmationModalDuplicateMessage,cancelLabel:o.confirmationModalCancel,confirmLabel:o.confirmationModalDuplicateConfirm,onCancel:Ba,onConfirm:Ua,showCloseButton:!na,confirmationBanner:na}),document.body),Ie&&O(n(X,{open:Ie,title:o.closeModalTitle,message:o.closeModalMessage,cancelLabel:o.closeModalCancel,confirmLabel:Le?o.closeModalConfirmLoading:o.closeModalConfirm,onCancel:Ea,onConfirm:Le?void 0:_a,showCloseButton:!0,confirmationBanner:ye,"data-testid":"close-quote-confirmation-modal"}),document.body),He&&O(n(X,{open:He,title:o.createTemplateModalTitle,message:o.createTemplateModalMessage,cancelLabel:o.createTemplateModalCancel,confirmLabel:Be?o.createTemplateModalConfirmLoading:o.createTemplateModalConfirm,onCancel:Da,onConfirm:Be?void 0:Fa,showCloseButton:!0,confirmationBanner:_e,"data-testid":"create-template-confirmation-modal"}),document.body),$e&&O(n(X,{open:$e,title:o.noItemsSelectedModalTitle,message:o.noItemsSelectedModalMessage,confirmLabel:o.noItemsSelectedModalConfirm,onConfirm:Xe,onClose:Xe,showCloseButton:!0,"data-testid":"no-items-selected-modal"}),document.body)]})};export{en as ManageNegotiableQuote,en as default};
3
+ import{jsx as n,jsxs as u,Fragment as ia}from"@dropins/tools/preact-jsx-runtime.js";import*as oa from"@dropins/tools/preact-compat.js";import{useState as l,useRef as Ee,useEffect as _,useCallback as c,useMemo as g,createPortal as O}from"@dropins/tools/preact-compat.js";import{classes as s,VComponent as b,Slot as f}from"@dropins/tools/lib.js";import{f as ra}from"../chunks/dateUtils.js";/* empty css */import{Skeleton as $a,SkeletonRow as P,Modal as ja,Input as Ga,TextArea as la,Button as se,InLineAlert as S,InputFile as Ka}from"@dropins/tools/components.js";import{events as w}from"@dropins/tools/event-bus.js";import{A as Xa,T as Ja}from"../chunks/TabbedContent.js";import{v as Ya,f as Za,a as Aa,S as et,A as at}from"../chunks/AttachedFilesList.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import{C as X}from"../chunks/ConfirmationModal.js";/* empty css *//* empty css */import{useText as ca}from"@dropins/tools/i18n.js";import{S as tt}from"../chunks/ShippingAddressDisplay.js";import{Q as nt}from"../chunks/QuoteHistoryLog3.js";import{g as ot,r as rt,c as it,a as lt,s as ct,d as st,b as mt}from"../chunks/duplicateNegotiableQuote.js";import"../chunks/state.js";import{u as dt}from"../chunks/uploadFile.js";import{I as ut}from"../chunks/ItemsQuoted.js";import{Q as gt}from"../chunks/QuoteCommentsList3.js";import{a as W,S as J}from"../chunks/WarningFilled.js";import"../chunks/QuoteHistoryLog.js";import"../chunks/transform-quote.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/NegotiableQuoteFragment.js";import"../chunks/transform-quote-template.js";import"../chunks/NegotiableQuoteTemplateFragment.js";import"../chunks/LineItemNoteModal.js";import"../chunks/setLineItemNote.js";import"../chunks/QuoteCommentsList.js";const ft=C=>oa.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-edit-2",...C},oa.createElement("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})),pt=({className:C,loading:a,quoteName:m,quoteStatus:F,banner:Q,details:T,actionBar:p,quoteContent:D,shippingInformationTitle:R,shippingInformation:e,quoteCommentsTitle:M,quoteComments:y,attachFilesField:h,attachedFilesList:E,footer:Y,...Z})=>a?n(bt,{}):u("div",{...Z,className:s(["quote-management-manage-negotiable-quote",C]),children:[u("div",{className:s(["quote-management-manage-negotiable-quote__header"]),children:[m&&n(b,{node:m,className:s(["quote-management-manage-negotiable-quote__quote-name"])}),F&&n(b,{node:F,className:s(["quote-management-manage-negotiable-quote__quote-status"])})]}),Q&&n(b,{node:Q,className:s(["quote-management-manage-negotiable-quote__banner"])}),T&&n(b,{node:T,className:s(["quote-management-manage-negotiable-quote__details"])}),p&&n(b,{node:p,className:s(["quote-management-manage-negotiable-quote__action-bar"])}),D&&n(b,{node:D,className:s(["quote-management-manage-negotiable-quote__quote-content"])}),u("div",{"data-testid":"quote-shipping-information-container",className:s(["quote-management-manage-negotiable-quote__shipping-information-container"]),children:[R&&n(b,{node:R,className:s(["quote-management-manage-negotiable-quote__shipping-information-title"])}),e&&n(b,{node:e,className:s(["quote-management-manage-negotiable-quote__shipping-information"])})]}),u("div",{"data-testid":"quote-comments-container",className:s(["quote-management-manage-negotiable-quote__quote-comments-container"]),children:[M&&n(b,{node:M,className:s(["quote-management-manage-negotiable-quote__quote-comments-title"])}),y&&n(b,{node:y,className:s(["quote-management-manage-negotiable-quote__quote-comments"])}),h&&n(b,{node:h,className:s(["quote-management-manage-negotiable-quote__attach-files-field"])}),E&&n(b,{node:E,className:s(["quote-management-manage-negotiable-quote__attached-files-list"])})]}),n(b,{node:Y,className:s(["quote-management-manage-negotiable-quote__footer"])})]}),bt=()=>u($a,{"data-testid":"manage-negotiable-quote-skeleton",children:[n(P,{variant:"heading",fullWidth:!0,size:"large"}),n(P,{variant:"row",fullWidth:!1,size:"small"}),n(P,{variant:"row",fullWidth:!1,size:"small"}),n(P,{variant:"row",fullWidth:!0}),n(P,{variant:"row",fullWidth:!0,size:"xlarge",lines:2}),n(P,{variant:"row",fullWidth:!1,size:"small"})]}),Mt=({className:C,open:a,quoteName:m,renameReason:F,quoteNameError:Q,errorBanner:T,successBanner:p,showCloseButton:D=!0,onQuoteNameChange:R,onRenameReasonChange:e,onSave:M,onClose:y})=>{const h=ca({title:"NegotiableQuote.Manage.rename.title",quoteNameLabel:"NegotiableQuote.Manage.rename.quoteNameLabel",reasonLabel:"NegotiableQuote.Manage.rename.reasonLabel",renameButton:"NegotiableQuote.Manage.rename.renameButton",cancelButton:"NegotiableQuote.Manage.rename.cancelButton"});return a?u(ja,{open:a,size:"medium",title:n(ia,{children:h.title}),onClose:y,clickToDismiss:!0,escapeToDismiss:!0,showCloseButton:D,className:s(["quote-management-rename-quote-modal",C]),"data-testid":"rename-quote-modal",children:[T&&n("div",{className:s(["quote-management-rename-quote-modal__error-banner"]),"data-testid":"rename-quote-modal-error-banner",children:T}),p&&n("div",{className:s(["quote-management-rename-quote-modal__success-banner"]),"data-testid":"rename-quote-modal-success-banner",children:p}),u("div",{className:s(["quote-management-rename-quote-modal__content"]),children:[u("div",{children:[n(Ga,{name:"quoteName",type:"text",value:m,onInput:E=>R(E.target.value),floatingLabel:h.quoteNameLabel,required:!0,error:!!Q}),Q&&n("span",{className:s(["quote-management-rename-quote-modal__error-text"]),children:Q})]}),n(la,{name:"quoteComment",value:F,onInput:E=>e(E.target.value),label:h.reasonLabel,rows:3})]}),u("div",{className:s(["quote-management-rename-quote-modal__actions"]),children:[n(se,{variant:"secondary",size:"medium",onClick:y,className:s(["quote-management-rename-quote-modal__cancel-button"]),children:h.cancelButton}),n(se,{variant:"primary",size:"medium",onClick:M,className:s(["quote-management-rename-quote-modal__save-button"]),children:h.renameButton})]})]}):null},At=({onActionsDropdownChange:C,slots:a,onActionsButtonClick:m,onSendForReview:F,maxFiles:Q,maxFileSize:T,acceptedFileTypes:p,onDuplicateQuote:D,...R})=>{const[e,M]=l(void 0),[y,h]=l(!0),[E,Y]=l(!1),[Z,V]=l(null),[sa,A]=l(!1),[Fe,me]=l(!1),[De,I]=l(null),[ma,H]=l(!1),[L,we]=l(""),[v,de]=l(!1),[Ie,ue]=l(!1),[Le,ge]=l(!1),[xe,k]=l(""),[Re,$]=l(""),[He,ke]=l(!1),[Be,Ue]=l(!1),[ze,ee]=l(""),[Oe,ae]=l(""),[Pe,fe]=l(!1),[te,ne]=l(""),[pe,oe]=l(""),[be,j]=l(""),[da,B]=l(""),[Me,re]=l(""),[N,G]=l([]),[ie,le]=l(void 0),[he,We]=l(new Set),Ve=Ee(he),Ne=Ee(null),[U,qe]=l(""),ce=Ee(U),[$e,je]=l(!1);_(()=>{Ve.current=he},[he]),_(()=>{ce.current=U},[U]);const o=ca({createdLabel:"NegotiableQuote.Manage.createdLabel",salesRepLabel:"NegotiableQuote.Manage.salesRepLabel",expiresLabel:"NegotiableQuote.Manage.expiresLabel",actionsLabel:"NegotiableQuote.Manage.actionsLabel",remove:"NegotiableQuote.Manage.actions.remove",close:"NegotiableQuote.Manage.actionButtons.close",delete:"NegotiableQuote.Manage.actionButtons.delete",print:"NegotiableQuote.Manage.actionButtons.print",createTemplate:"NegotiableQuote.Manage.actionButtons.createTemplate",createCopy:"NegotiableQuote.Manage.actionButtons.createCopy",shippingInformationTitle:"NegotiableQuote.Manage.shippingInformation.title",quoteCommentsTitle:"NegotiableQuote.Manage.quoteComments.title",quoteCommentsPlaceholder:"NegotiableQuote.Manage.quoteComments.placeholder",sendForReview:"NegotiableQuote.Manage.actionButtons.sendForReview",bannerTitle:"NegotiableQuote.Manage.bannerTitle",statusSubmitted:"NegotiableQuote.Manage.bannerStatusMessages.submitted",statusPending:"NegotiableQuote.Manage.bannerStatusMessages.pending",statusExpired:"NegotiableQuote.Manage.bannerStatusMessages.expired",errorFallback:"NegotiableQuote.Manage.confirmationModal.delete.errorFallback",closeSuccessMessage:"NegotiableQuote.Manage.confirmationModal.close.successDescription",closeModalTitle:"NegotiableQuote.Manage.actionButtons.close",closeModalMessage:"NegotiableQuote.Manage.confirmationModal.close.message",closeModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",closeModalConfirm:"NegotiableQuote.Manage.confirmationModal.close.confirm",closeModalConfirmLoading:"NegotiableQuote.Manage.confirmationModal.close.confirmLoading",closeModalSuccessHeading:"NegotiableQuote.Manage.confirmationModal.close.successHeading",createTemplateModalTitle:"NegotiableQuote.Manage.actionButtons.createTemplate",createTemplateModalMessage:"NegotiableQuote.Manage.confirmationModal.createTemplate.message",createTemplateModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",createTemplateModalConfirm:"NegotiableQuote.Manage.confirmationModal.createTemplate.confirm",createTemplateModalConfirmLoading:"NegotiableQuote.Manage.confirmationModal.createTemplate.confirmLoading",createTemplateModalSuccessHeading:"NegotiableQuote.Manage.confirmationModal.createTemplate.successHeading",createTemplateSuccessMessage:"NegotiableQuote.Manage.confirmationModal.createTemplate.successDescription",createTemplateModalErrorHeading:"NegotiableQuote.Manage.confirmationModal.createTemplate.errorHeading",createTemplateErrorFallback:"NegotiableQuote.Manage.confirmationModal.createTemplate.errorFallback",renameErrorHeading:"NegotiableQuote.Manage.rename.errorHeading",renameQuoteNameRequired:"NegotiableQuote.Manage.rename.quoteNameRequired",renameErrorDefault:"NegotiableQuote.Manage.rename.errorDefault",renameSuccessHeading:"NegotiableQuote.Manage.rename.successHeading",renameSuccessMessage:"NegotiableQuote.Manage.rename.successMessage",confirmationModalCancel:"NegotiableQuote.Manage.confirmationModal.cancel",confirmationModalDeleteTitle:"NegotiableQuote.Manage.confirmationModal.delete.title",confirmationModalDeleteMessage:"NegotiableQuote.Manage.confirmationModal.delete.message",confirmationModalDeleteConfirm:"NegotiableQuote.Manage.confirmationModal.delete.confirm",confirmationModalDeleteErrorHeading:"NegotiableQuote.Manage.confirmationModal.delete.errorHeading",confirmationModalDeleteErrorFallback:"NegotiableQuote.Manage.confirmationModal.delete.errorFallback",confirmationModalDeleteSuccessHeading:"NegotiableQuote.Manage.confirmationModal.delete.successHeading",confirmationModalDeleteSuccessDescription:"NegotiableQuote.Manage.confirmationModal.delete.successDescription",confirmationModalDuplicateTitle:"NegotiableQuote.Manage.confirmationModal.duplicate.title",confirmationModalDuplicateMessage:"NegotiableQuote.Manage.confirmationModal.duplicate.message",confirmationModalDuplicateConfirm:"NegotiableQuote.Manage.confirmationModal.duplicate.confirm",confirmationModalDuplicateErrorHeading:"NegotiableQuote.Manage.confirmationModal.duplicate.errorHeading",confirmationModalDuplicateErrorFallback:"NegotiableQuote.Manage.confirmationModal.duplicate.errorFallback",confirmationModalDuplicateSuccessHeading:"NegotiableQuote.Manage.confirmationModal.duplicate.successHeading",confirmationModalDuplicateSuccessDescription:"NegotiableQuote.Manage.confirmationModal.duplicate.successDescription",noItemsSelectedModalTitle:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.title",noItemsSelectedModalMessage:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.message",noItemsSelectedModalConfirm:"NegotiableQuote.Manage.confirmationModal.noItemsSelected.confirm",attachFiles:"NegotiableQuote.Manage.attachFiles",fileUploadError:"NegotiableQuote.Manage.fileUploadError",maxFilesExceeded:"NegotiableQuote.Manage.maxFilesExceeded",maxFileSizeExceeded:"NegotiableQuote.Manage.maxFileSizeExceeded",invalidFileType:"NegotiableQuote.Manage.invalidFileType"});_(()=>{const t=w.on("quote-management/quote-data",r=>{const{quote:i}=r;i&&(M(i),h(!1))},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/shipping-address-set",r=>{const{quote:i}=r;i&&M(i)},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/quote-sent-for-review",r=>{const{quote:i}=r;M(i),we(""),G([]),de(!1)},{eager:!0});return()=>t==null?void 0:t.off()},[]),_(()=>{const t=w.on("quote-management/quote-items-removed",r=>{const{quote:i,removedItemUids:d}=r;i&&M(i),d&&We(q=>{const z=new Set(q);return d.forEach(K=>z.delete(K)),z})},{eager:!0});return()=>t==null?void 0:t.off()},[]);const Ge=c((t,r)=>{We(i=>{const d=new Set(i);return r?d.add(t.uid):d.delete(t.uid),d})},[]),Ke=c(t=>{const r=t.target.value,i=Ve.current;if(r==="remove"){if(qe(r),ce.current=r,i.size===0)je(!0);else if(e&&Ne.current){const d=e.items.filter(q=>i.has(q.uid));Ne.current(d)}}C==null||C(t)},[C,e]),Xe=c(()=>{je(!1),qe(""),ce.current=""},[]);_(()=>{const t=w.on("quote-management/negotiable-quote-closed",async r=>{ge(!1),$(""),k(o.closeSuccessMessage),M(i=>{var d;return i!=null&&i.uid&&((d=r.closedQuoteUids)!=null&&d.includes(i.uid))&&ot(i.uid).then(q=>{M(q)}).catch(q=>{console.warn("Failed to refresh quote data after closure:",q)}),i}),setTimeout(()=>{ue(!1),k("")},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[o.closeSuccessMessage]),_(()=>{const t=w.on("quote-management/negotiable-quote-close-error",r=>{console.log("Close error event received:",r),ge(!1),k("");const i=r.error.message||o.errorFallback;$(i)},{eager:!0});return()=>t==null?void 0:t.off()},[o.errorFallback]),_(()=>{const t=w.on("quote-management/quote-renamed",r=>{const{quote:i}=r;M(i),j(""),B(""),re(o.renameSuccessMessage),setTimeout(()=>{fe(!1),ne(""),oe(""),re("")},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[o.renameSuccessMessage]),_(()=>{const t=w.on("quote-management/quote-duplicated",r=>{const{quote:i}=r;e&&D&&D({quoteData:e,newQuote:i}),H(!0),I(null),setTimeout(()=>{me(!1),H(!1),I(null)},2e3)},{eager:!0});return()=>t==null?void 0:t.off()},[e,D]);const Qe=c(async t=>{if(Q&&N.length+t.length>Q){le(o.maxFilesExceeded.replace("{maxFiles}",String(Q)));return}for(const i of t){if(T&&!Ya(i.size,T)){le(o.maxFileSizeExceeded.replace("{maxSize}",Za(T)));return}if(p&&!Aa(i.type,p)){le(o.invalidFileType);return}}le(void 0);const r=t.map(i=>({key:`temp-${Date.now()}-${Math.random()}-${i.name}`,name:i.name,size:i.size,status:"uploading"}));G(i=>[...i,...r]);for(let i=0;i<t.length;i++){const d=t[i],q=r[i].key;try{const z=await dt(d);G(K=>K.map(x=>x.key===q?{...x,key:z.key,status:"success"}:x))}catch(z){G(K=>K.map(x=>x.key===q?{...x,status:"error",error:z.message}:x))}}},[Q,T,p,N,o]),ve=c(t=>{G(r=>r.filter(i=>i.key!==t))},[]),Je=c(()=>{ne((e==null?void 0:e.name)||""),oe(""),j(""),B(""),re(""),fe(!0)},[e]),ua=c(()=>{fe(!1),ne(""),oe(""),j(""),B(""),re("")},[]),ga=c(t=>{ne(t),t.trim()&&B("")},[]),Ye=c(()=>{me(!0),I(null),H(!1)},[]),fa=c(async()=>{if(!te.trim()){B(o.renameQuoteNameRequired);return}try{j(""),B(""),await rt({quoteUid:e.uid,quoteName:te,quoteComment:pe.trim()||void 0})}catch(t){j(t.message||o.renameErrorDefault)}},[e,te,pe,o.renameQuoteNameRequired,o.renameErrorDefault]),pa=g(()=>{const t=e&&(e.lockedForEditing===!0||e.lockedForEditing===void 0&&(e.status==="SUBMITTED"||e.status==="PENDING"||e.status==="ORDERED"||e.status==="CLOSED"));return n(f,{name:"QuoteName",slot:a==null?void 0:a.QuoteName,context:{quoteName:e==null?void 0:e.name,quoteData:e},children:u("div",{className:"quote-management-manage-negotiable-quote__quote-name-wrapper",children:[n("h1",{"data-testid":"quote-name",className:"quote-management-manage-negotiable-quote__quote-name-title",children:e==null?void 0:e.name}),n("button",{onClick:Je,disabled:t,"data-testid":"rename-quote-button",className:"quote-management-manage-negotiable-quote__rename-button","aria-label":"Rename quote",children:n(ft,{})})]})})},[a==null?void 0:a.QuoteName,e,Je]),ba=g(()=>n(f,{name:"QuoteStatus",slot:a==null?void 0:a.QuoteStatus,context:{quoteStatus:e==null?void 0:e.status,quoteData:e},children:n("div",{"data-testid":"quote-status",children:e==null?void 0:e.status})}),[a==null?void 0:a.QuoteStatus,e]),Ze=c(t=>{switch(t){case"SUBMITTED":return o.statusSubmitted;case"PENDING":return o.statusPending;case"EXPIRED":return o.statusExpired;default:return null}},[o])(e==null?void 0:e.status),Ae=Ze&&n(S,{type:"warning",variant:"secondary",icon:n(W,{}),heading:o.bannerTitle,description:Ze}),Ma=Ae&&n(f,{name:"Banner","data-testid":"banner",slot:a==null?void 0:a.Banner,context:{quoteData:e},children:Ae}),ha=g(()=>{if(!e)return;const t=e.expirationDate?ra(e.expirationDate,"short"):void 0;return u(f,{name:"Details",slot:a==null?void 0:a.Details,context:{quoteData:e},children:[u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"created-label",children:o.createdLabel}),u("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"created-value",children:[ra(e.createdAt,"short")," (",e.buyer.firstname," ",e.buyer.lastname,")"]})]}),u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"sales-rep-label",children:o.salesRepLabel}),n("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"sales-rep-value",children:e.salesRepName})]}),u("div",{className:"quote-management-manage-negotiable-quote__detail",children:[n("span",{className:"quote-management-manage-negotiable-quote__detail-title","data-testid":"expires-label",children:o.expiresLabel}),n("span",{className:"quote-management-manage-negotiable-quote__detail-content","data-testid":"expires-value",children:t})]})]})},[a==null?void 0:a.Details,o,e]),ea=g(()=>[{label:o.close,value:"close",disabled:!(e!=null&&e.canClose)},{label:o.delete,value:"delete",disabled:!(e!=null&&e.canDelete)},{label:o.print,value:"print"},{label:o.createTemplate,value:"createTemplate"},{label:o.createCopy,value:"createCopy"}],[o,e==null?void 0:e.canDelete,e==null?void 0:e.canClose]),Na=g(()=>{const t=r=>{switch(r){case"close":ue(!0),$(""),k(""),m==null||m(r);break;case"delete":Y(!0),m==null||m(r);break;case"print":m==null||m(r);break;case"createTemplate":ke(!0),ae(""),ee(""),m==null||m(r);break;case"createCopy":Ye(),m==null||m(r);break}};return n(f,{name:"ActionBar",slot:a==null?void 0:a.ActionBar,context:{quoteData:e,actionsBarDropdownValue:U},children:n(Xa,{dropdownPlaceholder:o.actionsLabel,dropdownOptions:[{label:o.remove,value:"remove"}],dropdownValue:U,handleDropdownChange:Ke,buttons:ea.map(r=>n(se,{variant:"tertiary",onClick:()=>t(r.value),"data-testid":`actions-bar-${r.value}-button`,"data-action":r.value,disabled:r.disabled,children:r.label},r.value))})})},[ea,o,a==null?void 0:a.ActionBar,e,Ke,m,Ye,U]),qa=g(()=>n(f,{name:"QuoteContent",slot:a==null?void 0:a.QuoteContent,context:{quoteData:e},children:n(Ja,{tabs:new Map([["items-quoted","Items Quoted"],["comments","Comments"],["history-log","History Log"]]),tabsContent:new Map([["items-quoted",n(f,{name:"ItemsQuotedTab",slot:a==null?void 0:a.ItemsQuotedTab,context:{quoteData:e},children:n(ut,{quoteData:e,onItemCheckboxChange:Ge,onRemoveItemsRef:t=>{Ne.current=t},onRemoveModalStateChange:t=>{!t&&ce.current==="remove"&&qe("")}})},"items-quoted")],["comments",n(f,{name:"CommentsTab",slot:a==null?void 0:a.CommentsTab,context:{quoteData:e},children:n(gt,{quoteData:e})},"comments")],["history-log",n(f,{name:"HistoryLogTab",slot:a==null?void 0:a.HistoryLogTab,context:{quoteData:e},children:n(nt,{quoteData:e})},"history-log")]])})}),[a==null?void 0:a.QuoteContent,a==null?void 0:a.HistoryLogTab,a==null?void 0:a.CommentsTab,a==null?void 0:a.ItemsQuotedTab,e,Ge]),Qa=g(()=>n(f,{name:"ShippingInformationTitle",slot:a==null?void 0:a.ShippingInformationTitle,context:{quoteData:e},children:n("h2",{children:o.shippingInformationTitle})}),[a==null?void 0:a.ShippingInformationTitle,e,o]),va=g(()=>n(f,{name:"ShippingInformation",slot:a==null?void 0:a.ShippingInformation,context:{quoteData:e,loading:y,setLoading:h},children:n(tt,{quoteData:e,loading:y,"data-testid":"manage-quote-shipping-address"})}),[a==null?void 0:a.ShippingInformation,e,y,h]),Sa=g(()=>n(f,{name:"QuoteCommentsTitle",slot:a==null?void 0:a.QuoteCommentsTitle,context:{quoteData:e},children:n("h2",{children:o.quoteCommentsTitle})}),[a==null?void 0:a.QuoteCommentsTitle,o,e]),Ca=g(()=>n(f,{name:"QuoteComments",slot:a==null?void 0:a.QuoteComments,context:{quoteData:e},children:n(la,{name:"quoteComments",placeholder:o.quoteCommentsPlaceholder,rows:3,value:L,onInput:t=>{we(t.target.value)},disabled:!(e!=null&&e.canSendForReview)||v})}),[a==null?void 0:a.QuoteComments,o,e,L,v]),Se=g(()=>!(e!=null&&e.canSendForReview),[e]),Ta=g(()=>n(f,{name:"AttachFilesField",slot:a==null?void 0:a.AttachFilesField,context:{onFileChange:Qe,attachedFiles:N,fileUploadError:ie,disabled:v||Se},children:u("div",{className:"quote-management-manage-negotiable-quote__attach-files",children:[n(Ka,{multiple:!0,onChange:t=>{const r=t.target,i=r==null?void 0:r.files,d=i?Array.from(i):[];d.length>0&&Qe(d)},icon:n(et,{}),disabled:v||Se,"data-testid":"manage-quote-attach-files",accept:p==null?void 0:p.join(","),children:o.attachFiles}),ie&&n("div",{className:"quote-management-manage-negotiable-quote__file-error","data-testid":"file-upload-error",children:ie})]})}),[a==null?void 0:a.AttachFilesField,Qe,v,Se,p,ie,o,N]),ya=g(()=>{if(N.length)return n(f,{name:"AttachedFilesList",slot:a==null?void 0:a.AttachedFilesList,context:{files:N,onRemove:ve,disabled:v},children:n(at,{files:N,onRemove:ve,disabled:v})})},[N,ve,v,a==null?void 0:a.AttachedFilesList]),_a=c(async()=>{if(e!=null&&e.uid){ge(!0),$(""),k("");try{await it({quoteUids:[e.uid]})}catch(t){console.error("Failed to close quote:",t)}}},[e]),Ea=c(()=>{ue(!1),$(""),k("")},[]),Fa=c(async()=>{if(e!=null&&e.uid){Ue(!0),ae(""),ee("");try{await lt(e.uid),ee(o.createTemplateSuccessMessage)}catch(t){console.error("Failed to create quote template:",t);const r=t instanceof Error?t.message:o.createTemplateErrorFallback;ae(r)}finally{Ue(!1)}}},[e,o.createTemplateSuccessMessage,o.createTemplateErrorFallback]),Da=c(()=>{ke(!1),ae(""),ee("")},[]),Ce=c(async()=>{const t=N.filter(r=>r.status==="success");if(F){F({quoteData:e,comment:L.trim()||void 0,attachments:t.length?t:void 0});return}de(!0);try{await ct({quoteUid:e.uid,comment:L.trim()||void 0,attachments:t.length?t.map(r=>({key:r.key})):void 0})}catch(r){console.error("Failed to send quote for review:",r),de(!1)}},[e,F,L,N]),wa=g(()=>n(f,{name:"Footer",slot:a==null?void 0:a.Footer,context:{quoteData:e,comment:L,isSubmitting:v,attachments:N,handleSendForReview:Ce},children:n(se,{variant:"primary",onClick:Ce,"data-testid":"send-for-review-button",disabled:!(e!=null&&e.canSendForReview)||v,children:o.sendForReview})}),[a==null?void 0:a.Footer,o,e,L,v,N,Ce]),Ia=g(()=>be?n(S,{type:"error",variant:"primary",icon:n(W,{color:"var(--color-error)"}),heading:o.renameErrorHeading,description:be}):void 0,[be,o.renameErrorHeading]),La=g(()=>Me?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.renameSuccessHeading,description:Me}):void 0,[Me,o.renameSuccessHeading]),Te=c(t=>t.errors&&Array.isArray(t.errors)&&t.errors.length>0?t.errors[0].message||o.confirmationModalDeleteErrorFallback:(t==null?void 0:t.message)||o.confirmationModalDeleteErrorFallback,[o.confirmationModalDeleteErrorFallback]),xa=c(()=>{Y(!1),V(null),A(!1)},[]),Ra=c(async()=>{if(e!=null&&e.uid){V(null),A(!1);try{const{operationResults:t}=await st(e.uid),r=t.find(i=>i.__typename==="DeleteNegotiableQuoteOperationFailure");if(r){const i=Te(r);V(i);return}A(!0)}catch(t){const r=Te(t);V(r)}}},[e,Te]),Ha=c(()=>{V(null)},[]),ka=c(()=>{A(!1)},[]),aa=c(t=>(t==null?void 0:t.message)||o.confirmationModalDuplicateErrorFallback,[o.confirmationModalDuplicateErrorFallback]),Ba=c(()=>{me(!1),I(null),H(!1)},[]),Ua=c(async()=>{if(e!=null&&e.uid){I(null),H(!1);try{const r=(i=>{const d=i.slice(0,-8),q=crypto.randomUUID().slice(0,8);return d+q})(e.uid);await mt({quoteUid:e.uid,duplicatedQuoteUid:r})}catch(t){const r=aa(t);I(r)}}},[e,aa]),za=c(()=>{I(null)},[]),Oa=c(()=>{H(!1)},[]),Pa=Z?n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDeleteErrorHeading,description:Z,onDismiss:Ha,"data-testid":"confirmation-modal-error-banner"}):null,ta=(sa?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.confirmationModalDeleteSuccessHeading,description:o.confirmationModalDeleteSuccessDescription,onDismiss:ka,"data-testid":"confirmation-modal-success-banner"}):null)||Pa,Wa=De?n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDuplicateErrorHeading,description:De,onDismiss:za,"data-testid":"confirmation-modal-duplicate-error-banner"}):null,na=(ma?n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.confirmationModalDuplicateSuccessHeading,description:o.confirmationModalDuplicateSuccessDescription,onDismiss:Oa,"data-testid":"confirmation-modal-duplicate-success-banner"}):null)||Wa,Va={...R,loading:y,quoteName:pa,quoteStatus:ba,banner:Ma||void 0,details:ha,actionBar:Na,quoteContent:qa,shippingInformationTitle:Qa,shippingInformation:va,quoteCommentsTitle:Sa,quoteComments:Ca,attachFilesField:Ta,attachedFilesList:ya,footer:wa};let ye=null;xe?ye=n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.closeModalSuccessHeading,description:xe,"data-testid":"close-quote-success-banner"}):Re&&(ye=n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.confirmationModalDeleteErrorHeading,description:Re,"data-testid":"close-quote-error-banner"}));let _e=null;return ze?_e=n(S,{type:"success",variant:"primary",icon:n(J,{}),heading:o.createTemplateModalSuccessHeading,description:ze,"data-testid":"create-template-success-banner"}):Oe&&(_e=n(S,{type:"error",variant:"primary",icon:n(W,{}),heading:o.createTemplateModalErrorHeading,description:Oe,"data-testid":"create-template-error-banner"})),u(ia,{children:[n(pt,{...Va}),Pe&&O(n(Mt,{open:Pe,quoteName:te,renameReason:pe,quoteNameError:da,errorBanner:Ia,successBanner:La,onQuoteNameChange:ga,onRenameReasonChange:oe,onSave:fa,onClose:ua}),document.body),E&&O(n(X,{open:E,title:o.confirmationModalDeleteTitle,message:o.confirmationModalDeleteMessage,cancelLabel:o.confirmationModalCancel,confirmLabel:o.confirmationModalDeleteConfirm,onCancel:xa,onConfirm:Ra,showCloseButton:!ta,confirmationBanner:ta}),document.body),Fe&&O(n(X,{open:Fe,title:o.confirmationModalDuplicateTitle,message:o.confirmationModalDuplicateMessage,cancelLabel:o.confirmationModalCancel,confirmLabel:o.confirmationModalDuplicateConfirm,onCancel:Ba,onConfirm:Ua,showCloseButton:!na,confirmationBanner:na}),document.body),Ie&&O(n(X,{open:Ie,title:o.closeModalTitle,message:o.closeModalMessage,cancelLabel:o.closeModalCancel,confirmLabel:Le?o.closeModalConfirmLoading:o.closeModalConfirm,onCancel:Ea,onConfirm:Le?void 0:_a,showCloseButton:!0,confirmationBanner:ye,"data-testid":"close-quote-confirmation-modal"}),document.body),He&&O(n(X,{open:He,title:o.createTemplateModalTitle,message:o.createTemplateModalMessage,cancelLabel:o.createTemplateModalCancel,confirmLabel:Be?o.createTemplateModalConfirmLoading:o.createTemplateModalConfirm,onCancel:Da,onConfirm:Be?void 0:Fa,showCloseButton:!0,confirmationBanner:_e,"data-testid":"create-template-confirmation-modal"}),document.body),$e&&O(n(X,{open:$e,title:o.noItemsSelectedModalTitle,message:o.noItemsSelectedModalMessage,confirmLabel:o.noItemsSelectedModalConfirm,onConfirm:Xe,onClose:Xe,showCloseButton:!0,"data-testid":"no-items-selected-modal"}),document.body)]})};export{At as ManageNegotiableQuote,At as default};
4
4
  //# sourceMappingURL=ManageNegotiableQuote.js.map