@dropins/storefront-quote-management 1.1.2 → 1.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/api.js +1172 -5
  3. package/api.js.map +1 -1
  4. package/chunks/ItemsQuoted.js +1 -1
  5. package/chunks/ItemsQuoted.js.map +1 -1
  6. package/chunks/ItemsQuotedTemplate.js +1 -1
  7. package/chunks/ItemsQuotedTemplate.js.map +1 -1
  8. package/chunks/QuoteCommentsList.js +1 -1
  9. package/chunks/QuoteCommentsList.js.map +1 -1
  10. package/chunks/QuoteHistoryLog.js +1 -1
  11. package/chunks/QuoteHistoryLog.js.map +1 -1
  12. package/chunks/QuoteTemplateCommentsList.js +1 -1
  13. package/chunks/QuoteTemplateCommentsList.js.map +1 -1
  14. package/chunks/QuoteTemplateHistoryLog.js +1 -1
  15. package/chunks/QuoteTemplateHistoryLog.js.map +1 -1
  16. package/chunks/ShippingAddressDisplay.js +1 -1
  17. package/chunks/ShippingAddressDisplay.js.map +1 -1
  18. package/chunks/components.js +4 -0
  19. package/chunks/components.js.map +1 -0
  20. package/containers/ItemsQuoted.js +1 -1
  21. package/containers/ItemsQuotedTemplate.js +1 -1
  22. package/containers/ManageNegotiableQuote.js +1 -1
  23. package/containers/ManageNegotiableQuote.js.map +1 -1
  24. package/containers/ManageNegotiableQuoteTemplate.js +2 -2
  25. package/containers/ManageNegotiableQuoteTemplate.js.map +1 -1
  26. package/containers/OrderSummary.js +1 -1
  27. package/containers/OrderSummary.js.map +1 -1
  28. package/containers/OrderSummaryLine.js +1 -1
  29. package/containers/QuoteCommentsList.js +1 -1
  30. package/containers/QuoteHistoryLog.js +1 -1
  31. package/containers/QuoteSummaryList.js +1 -1
  32. package/containers/QuoteSummaryList.js.map +1 -1
  33. package/containers/QuoteTemplateCommentsList.js +1 -1
  34. package/containers/QuoteTemplateHistoryLog.js +1 -1
  35. package/containers/QuoteTemplatesListTable.js +1 -1
  36. package/containers/QuoteTemplatesListTable.js.map +1 -1
  37. package/containers/QuotesListTable.js +1 -1
  38. package/containers/QuotesListTable.js.map +1 -1
  39. package/containers/RequestNegotiableQuoteForm.js +1 -1
  40. package/containers/RequestNegotiableQuoteForm.js.map +1 -1
  41. package/containers/ShippingAddressDisplay.js +1 -1
  42. package/package.json +1 -1
  43. package/render.js +2 -7
  44. package/render.js.map +1 -1
  45. package/chunks/AttachedFilesList.js +0 -4
  46. package/chunks/AttachedFilesList.js.map +0 -1
  47. package/chunks/CheckWithCircle.js +0 -4
  48. package/chunks/CheckWithCircle.js.map +0 -1
  49. package/chunks/ChevronDown.js +0 -4
  50. package/chunks/ChevronDown.js.map +0 -1
  51. package/chunks/ConfirmationModal.js +0 -4
  52. package/chunks/ConfirmationModal.js.map +0 -1
  53. package/chunks/LineItemNoteModal.js +0 -4
  54. package/chunks/LineItemNoteModal.js.map +0 -1
  55. package/chunks/NegotiableQuoteFragment.js +0 -396
  56. package/chunks/NegotiableQuoteFragment.js.map +0 -1
  57. package/chunks/NegotiableQuoteTemplateFragment.js +0 -342
  58. package/chunks/NegotiableQuoteTemplateFragment.js.map +0 -1
  59. package/chunks/OrderSummaryLine.js +0 -4
  60. package/chunks/OrderSummaryLine.js.map +0 -1
  61. package/chunks/QuoteCommentsList3.js +0 -4
  62. package/chunks/QuoteCommentsList3.js.map +0 -1
  63. package/chunks/QuoteHistoryLog3.js +0 -4
  64. package/chunks/QuoteHistoryLog3.js.map +0 -1
  65. package/chunks/RenameQuoteModal.js +0 -4
  66. package/chunks/RenameQuoteModal.js.map +0 -1
  67. package/chunks/WarningFilled.js +0 -4
  68. package/chunks/WarningFilled.js.map +0 -1
  69. package/chunks/addQuoteTemplateLineItemNote.js +0 -33
  70. package/chunks/addQuoteTemplateLineItemNote.js.map +0 -1
  71. package/chunks/dateUtils.js +0 -4
  72. package/chunks/dateUtils.js.map +0 -1
  73. package/chunks/duplicateNegotiableQuote.js +0 -109
  74. package/chunks/duplicateNegotiableQuote.js.map +0 -1
  75. package/chunks/generateQuoteFromTemplate.js +0 -12
  76. package/chunks/generateQuoteFromTemplate.js.map +0 -1
  77. package/chunks/getQuoteData.js +0 -16
  78. package/chunks/getQuoteData.js.map +0 -1
  79. package/chunks/getQuoteTemplateData.js +0 -28
  80. package/chunks/getQuoteTemplateData.js.map +0 -1
  81. package/chunks/getQuoteTemplates.js +0 -52
  82. package/chunks/getQuoteTemplates.js.map +0 -1
  83. package/chunks/negotiableQuotes.js +0 -77
  84. package/chunks/negotiableQuotes.js.map +0 -1
  85. package/chunks/openQuoteTemplate.js +0 -62
  86. package/chunks/openQuoteTemplate.js.map +0 -1
  87. package/chunks/requestNegotiableQuote.js +0 -25
  88. package/chunks/requestNegotiableQuote.js.map +0 -1
  89. package/chunks/setLineItemNote.js +0 -47
  90. package/chunks/setLineItemNote.js.map +0 -1
  91. package/chunks/state.js +0 -4
  92. package/chunks/state.js.map +0 -1
  93. package/chunks/transform-quote-template.js +0 -4
  94. package/chunks/transform-quote-template.js.map +0 -1
  95. package/chunks/transform-quote.js +0 -4
  96. package/chunks/transform-quote.js.map +0 -1
  97. package/chunks/uploadFile.js +0 -20
  98. package/chunks/uploadFile.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2026 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as h,jsx as a,Fragment as fe}from"@dropins/tools/preact-jsx-runtime.js";import{useState as m,useEffect as pe,useCallback as s,useMemo as N,useRef as rt,createPortal as G}from"@dropins/tools/preact-compat.js";import{classes as d,VComponent as L,Slot as E}from"@dropins/tools/lib.js";import{f as ca}from"../chunks/dateUtils.js";import{events as ot}from"@dropins/tools/event-bus.js";import{Modal as sa,InputDate as it,Button as H,Skeleton as ct,SkeletonRow as j,InLineAlert as S,Input as Le,TextArea as lt,InputFile as mt,Icon as de}from"@dropins/tools/components.js";import{N as la}from"../chunks/transform-quote-template.js";import{S as ma,A as st,T as dt,R as ut}from"../chunks/RenameQuoteModal.js";import{v as gt,f as pt,a as ft,S as bt,A as ht}from"../chunks/AttachedFilesList.js";/* empty css */import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import{C as ue}from"../chunks/ConfirmationModal.js";/* empty css *//* empty css */import{useText as be}from"@dropins/tools/i18n.js";import{S as P}from"../chunks/WarningFilled.js";import"../chunks/state.js";import{u as Mt}from"../chunks/uploadFile.js";import{a as Nt,d as Tt,c as vt,s as Qt,b as qt,o as Ct}from"../chunks/openQuoteTemplate.js";import{g as xt}from"../chunks/generateQuoteFromTemplate.js";import{S as _t}from"../chunks/ShippingAddressDisplay.js";import{I as Dt}from"../chunks/ItemsQuotedTemplate.js";import{Q as Et}from"../chunks/QuoteTemplateCommentsList.js";import{Q as yt}from"../chunks/QuoteTemplateHistoryLog.js";import{S as ge}from"../chunks/CheckWithCircle.js";import"../chunks/transform-quote.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/NegotiableQuoteTemplateFragment.js";import"../chunks/LineItemNoteModal.js";import"../chunks/addQuoteTemplateLineItemNote.js";import"../chunks/QuoteCommentsList.js";import"../chunks/QuoteHistoryLog.js";const St=({className:t,open:g,expirationDate:l,expirationDateError:T,errorBanner:v,successBanner:f,showCloseButton:Q=!0,onExpirationDateChange:e,onSave:x,onClose:c})=>{const o=be({title:"NegotiableQuoteTemplate.Manage.expirationDate.title",expirationDateLabel:"NegotiableQuoteTemplate.Manage.expirationDate.expirationDateLabel",saveButton:"NegotiableQuoteTemplate.Manage.expirationDate.saveButton",cancelButton:"NegotiableQuoteTemplate.Manage.expirationDate.cancelButton"});return g?h(sa,{open:g,size:"medium",title:a(fe,{children:o.title}),onClose:c,clickToDismiss:!0,escapeToDismiss:!0,showCloseButton:Q,className:d(["quote-management-expiration-date-modal",t]),"data-testid":"expiration-date-modal",children:[v&&a("div",{className:d(["quote-management-expiration-date-modal__error-banner"]),"data-testid":"expiration-date-modal-error-banner",children:v}),f&&a("div",{className:d(["quote-management-expiration-date-modal__success-banner"]),"data-testid":"expiration-date-modal-success-banner",children:f}),a("div",{className:d(["quote-management-expiration-date-modal__content"]),children:a("div",{children:a(it,{name:"expirationDate",value:l,onChange:p=>e(p.target.value),floatingLabel:o.expirationDateLabel,required:!0,error:T,"data-testid":"expiration-date-input"})})}),h("div",{className:d(["quote-management-expiration-date-modal__actions"]),children:[a(H,{variant:"secondary",size:"medium",onClick:c,className:d(["quote-management-expiration-date-modal__cancel-button"]),children:o.cancelButton}),a(H,{variant:"primary",size:"medium",onClick:x,className:d(["quote-management-expiration-date-modal__save-button"]),children:o.saveButton})]})]}):null},Rt=({className:t,loading:g,templateName:l,templateStatus:T,banner:v,details:f,actionBar:Q,referenceDocuments:e,itemsTable:x,shippingInformationTitle:c,shippingInformation:o,commentsTitle:p,comments:M,attachFilesField:u,attachedFilesList:D,footer:R,...q})=>g?a(Lt,{}):h("div",{...q,className:d(["quote-management-manage-negotiable-quote-template",t]),children:[h("div",{className:d(["quote-management-manage-negotiable-quote-template__header"]),children:[l&&a(L,{node:l,className:d(["quote-management-manage-negotiable-quote-template__template-name"])}),T&&a(L,{node:T,className:d(["quote-management-manage-negotiable-quote-template__template-status"])})]}),v&&a(L,{node:v,className:d(["quote-management-manage-negotiable-quote-template__banner"])}),f&&a(L,{node:f,className:d(["quote-management-manage-negotiable-quote-template__details"])}),Q&&a(L,{node:Q,className:d(["quote-management-manage-negotiable-quote-template__action-bar"])}),e&&a("div",{"data-testid":"reference-documents-container",className:d(["quote-management-manage-negotiable-quote-template__reference-documents-container"]),children:a(L,{node:e,className:d(["quote-management-manage-negotiable-quote-template__reference-documents"])})}),x&&a(L,{node:x,className:d(["quote-management-manage-negotiable-quote-template__items-table"])}),h("div",{"data-testid":"template-shipping-information-container",className:d(["quote-management-manage-negotiable-quote-template__shipping-information-container"]),children:[c&&a(L,{node:c,className:d(["quote-management-manage-negotiable-quote-template__shipping-information-title"])}),o&&a(L,{node:o,className:d(["quote-management-manage-negotiable-quote-template__shipping-information"])})]}),h("div",{"data-testid":"comments-container",className:d(["quote-management-manage-negotiable-quote-template__comments-container"]),children:[p&&a(L,{node:p,className:d(["quote-management-manage-negotiable-quote-template__comments-title"])}),M&&a(L,{node:M,className:d(["quote-management-manage-negotiable-quote-template__comments"])}),u&&a(L,{node:u,className:d(["quote-management-manage-negotiable-quote-template__attach-files-field"])}),D&&a(L,{node:D,className:d(["quote-management-manage-negotiable-quote-template__attached-files-list"])})]}),R&&a(L,{node:R,className:d(["quote-management-manage-negotiable-quote-template__footer"])})]}),Lt=()=>h(ct,{"data-testid":"manage-negotiable-quote-template-skeleton",children:[a(j,{variant:"heading",fullWidth:!0,size:"large"}),a(j,{variant:"row",fullWidth:!1,size:"small"}),a(j,{variant:"row",fullWidth:!1,size:"small"}),a(j,{variant:"row",fullWidth:!0}),a(j,{variant:"row",fullWidth:!0,size:"xlarge",lines:2}),a(j,{variant:"row",fullWidth:!1,size:"small"})]}),Ft=({className:t,open:g,document:l,errorMessage:T,errorBanner:v,successBanner:f,showCloseButton:Q=!0,isSubmitting:e=!1,onSave:x,onClose:c})=>{const[o,p]=m(""),[M,u]=m(""),[D,R]=m(""),[q,F]=m({}),C=be({title:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.title",documentNameLabel:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.documentNameLabel",documentIdentifierLabel:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.documentIdentifierLabel",referenceUrlLabel:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.referenceUrlLabel",addButton:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.addButton",updateButton:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.updateButton",cancelButton:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.cancelButton",documentNameRequired:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.documentNameRequired",documentIdentifierRequired:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.documentIdentifierRequired",referenceUrlRequired:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.referenceUrlRequired",invalidUrl:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.invalidUrl",errorHeading:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.errorHeading"}),k=v||(T?a(S,{type:"error",variant:"primary",icon:a(P,{}),heading:C.errorHeading,description:T,"data-testid":"reference-document-form-modal-error-banner-inline"}):null),B=!!l;pe(()=>{g&&(l?(p(l.name||""),u(l.identifier||""),R(l.url||"")):(p(""),u(""),R("")),F({}))},[g,l]);const y=s(_=>{if(!_.trim())return!1;try{return new URL(_),!0}catch{return!1}},[]),U=s(()=>{const _={};if(o.trim()||(_.documentName=C.documentNameRequired),D.trim()?y(D.trim())||(_.referenceUrl=C.invalidUrl):_.referenceUrl=C.referenceUrlRequired,M.trim()||(_.documentIdentifier=C.documentIdentifierRequired),Object.keys(_).length>0){F(_);return}x({uid:l==null?void 0:l.uid,name:o.trim(),identifier:M.trim(),url:D.trim()})},[o,M,D,l,C,y,x]),W=s(()=>{p(""),u(""),R(""),F({}),c==null||c()},[c]);return g?h(sa,{open:g,size:"medium",title:a(fe,{children:C.title}),onClose:W,clickToDismiss:!0,escapeToDismiss:!0,showCloseButton:Q,className:d(["quote-management-reference-document-form-modal",t]),"data-testid":"reference-document-form-modal",children:[k&&a("div",{className:d(["quote-management-reference-document-form-modal__error-banner"]),"data-testid":"reference-document-form-modal-error-banner",children:k}),f&&a("div",{className:d(["quote-management-reference-document-form-modal__success-banner"]),"data-testid":"reference-document-form-modal-success-banner",children:f}),h("div",{className:d(["quote-management-reference-document-form-modal__content"]),children:[h("div",{children:[a(Le,{name:"documentName",type:"text",value:o,onInput:_=>{p(_.target.value),F({...q,documentName:void 0})},floatingLabel:C.documentNameLabel,required:!0,error:!!q.documentName,disabled:e,"data-testid":"reference-document-name-input"}),q.documentName&&a("span",{className:d(["quote-management-reference-document-form-modal__error-text"]),"data-testid":"reference-document-name-error",children:q.documentName})]}),h("div",{children:[a(Le,{name:"documentIdentifier",type:"text",value:M,onInput:_=>{u(_.target.value),F({...q,documentIdentifier:void 0})},floatingLabel:C.documentIdentifierLabel,error:!!q.documentIdentifier,disabled:e,"data-testid":"reference-document-identifier-input"}),q.documentIdentifier&&a("span",{className:d(["quote-management-reference-document-form-modal__error-text"]),"data-testid":"reference-document-identifier-error",children:q.documentIdentifier})]}),h("div",{children:[a(Le,{name:"referenceUrl",type:"url",value:D,onInput:_=>{R(_.target.value),F({...q,referenceUrl:void 0})},floatingLabel:C.referenceUrlLabel,required:!0,error:!!q.referenceUrl,disabled:e,"data-testid":"reference-document-url-input"}),q.referenceUrl&&a("span",{className:d(["quote-management-reference-document-form-modal__error-text"]),"data-testid":"reference-document-url-error",children:q.referenceUrl})]})]}),h("div",{className:d(["quote-management-reference-document-form-modal__actions"]),children:[a(H,{variant:"secondary",size:"medium",onClick:W,disabled:e,className:d(["quote-management-reference-document-form-modal__cancel-button"]),"data-testid":"reference-document-form-cancel-button",children:C.cancelButton}),a(H,{variant:"primary",size:"medium",onClick:U,disabled:e,className:d(["quote-management-reference-document-form-modal__save-button"]),"data-testid":"reference-document-form-save-button",children:B?C.updateButton:C.addButton})]})]}):null},kt=({className:t,documents:g,isEditable:l=!1,onAdd:T,onEdit:v,onRemove:f,...Q})=>{const e=be({add:"NegotiableQuoteTemplate.Manage.referenceDocuments.add",edit:"NegotiableQuoteTemplate.Manage.referenceDocuments.edit",remove:"NegotiableQuoteTemplate.Manage.referenceDocuments.remove",noReferenceDocuments:"NegotiableQuoteTemplate.Manage.referenceDocuments.noReferenceDocuments"}),x=o=>o.identifier?`${o.name}, ${o.identifier}`:`${o.name} ${o.url}`,c=(o,p)=>{o.preventDefault(),window.open(p,"_blank","noopener,noreferrer")};return a("div",{className:d(["quote-management-reference-documents-list",t]),"data-testid":"reference-documents-list",...Q,children:h("div",{className:"quote-management-reference-documents-list__content",children:[g.map(o=>h("div",{className:"quote-management-reference-documents-list__document","data-testid":`reference-document-${o.uid||o.url}`,children:[a("a",{href:o.url,onClick:p=>c(p,o.url),className:"quote-management-reference-documents-list__document-link",target:"_blank",rel:"noopener noreferrer","data-testid":`reference-document-link-${o.uid||o.url}`,children:x(o)}),l&&h("div",{className:"quote-management-reference-documents-list__document-actions",children:[a(H,{variant:"tertiary",onClick:()=>v==null?void 0:v(o),className:"quote-management-reference-documents-list__edit-button","data-testid":`reference-document-edit-${o.uid||o.url}`,children:e.edit}),a("span",{className:"quote-management-reference-documents-list__separator",children:"|"}),a(H,{variant:"tertiary",onClick:()=>f==null?void 0:f(o),className:"quote-management-reference-documents-list__remove-button","data-testid":`reference-document-remove-${o.uid||o.url}`,children:e.remove})]})]},o.uid||o.url)),l&&h(H,{variant:"tertiary",onClick:T,className:"quote-management-reference-documents-list__add-button","data-testid":"reference-documents-add-button",children:["+ ",e.add]}),g.length===0&&!l&&a("div",{className:"quote-management-reference-documents-list__empty",children:e.noReferenceDocuments})]})})},It=t=>{const{templateReferenceDocuments:g,localReferenceDocuments:l}=t,T=s(c=>{if(g)return g.find(o=>c.uid&&o.uid?o.uid===c.uid:o.url===c.url)},[g]),v=s(c=>T(c)!==void 0,[T]),f=s((c,o)=>c.name!==o.name||c.identifier!==o.identifier||c.url!==o.url,[]),Q=s(()=>g?l.filter(c=>!g.some(o=>c.uid&&o.uid?o.uid===c.uid:o.url===c.url)):l,[g,l]),e=s(()=>l.map(c=>({uid:c.uid,name:c.name,identifier:c.identifier,url:c.url})),[l]),x=N(()=>g?l.some(M=>T(M)===void 0)||g.some(M=>!l.some(u=>u.uid&&M.uid?u.uid===M.uid:u.url===M.url))?!0:l.some(M=>{const u=T(M);return u?f(M,u):!1}):l.length>0,[g,l,T,f]);return{isDocumentInTemplateData:v,getNewDocuments:Q,getReferenceDocumentLinks:e,hasUnsavedChanges:x}},wt=(t={})=>{const{initialTemplateName:g,templateNameRequiredErrorMessage:l="Template name is required"}=t,[T,v]=m(!1),[f,Q]=m(""),[e,x]=m(""),[c,o]=m(""),[p,M]=m(""),[u,D]=m(""),R=s(y=>{Q(y||g||""),x(""),o(""),M(""),D(""),v(!0)},[g]),q=s(()=>{v(!1),Q(""),x(""),o(""),M(""),D("")},[]),F=s(y=>{Q(y),y.trim()&&M("")},[]),C=s(y=>{x(y)},[]),k=s(()=>f.trim()?(o(""),M(""),v(!1),!0):(M(l),!1),[f,l]),B=s(()=>{Q(""),x(""),o(""),M(""),D("")},[]);return{isRenameModalOpen:T,renameTemplateName:f,renameReason:e,renameError:c,renameTemplateNameError:p,renameSuccess:u,handleRenameClick:R,handleRenameClose:q,handleRenameTemplateNameChange:F,handleRenameReasonChange:C,handleRenameSave:k,resetRenameState:B}},Ht=(t={})=>{const{templateId:g,initialExpirationDate:l,expirationDateRequiredErrorMessage:T="Expiration date is required"}=t,[v,f]=m(!1),[Q,e]=m(""),[x,c]=m(""),[o,p]=m(""),[M,u]=m(""),D=s(k=>{e(k||l||""),c(""),p(""),u(""),f(!0)},[l]),R=s(()=>{f(!1),e(""),c(""),p(""),u("")},[]),q=s(k=>{e(k),k.trim()&&p("")},[]),F=s(async()=>{if(!Q.trim())return p(T),!1;if(!/^\d{4}-\d{2}-\d{2}$/.test(Q))return p("Please enter a valid date"),!1;const B=new Date(Q),y=new Date;if(y.setHours(0,0,0,0),B<y)return p("Expiration date must be in the future"),!1;if(!g)return c("Template ID is required"),!1;c(""),p("");try{return await Nt({templateId:g,expirationDate:Q}),f(!1),u("Expiration date saved successfully"),!0}catch(U){console.error("Failed to set expiration date:",U);const W=U instanceof Error?U.message:"Failed to set expiration date. Please try again.";return c(W),!1}},[Q,T,g]),C=s(()=>{e(""),c(""),p(""),u("")},[]);return{isExpirationModalOpen:v,expirationDate:Q,expirationError:x,expirationDateError:o,expirationSuccess:M,handleExpirationClick:D,handleExpirationClose:R,handleExpirationDateChange:q,handleExpirationSave:F,resetExpirationState:C}},Tn=({slots:t,onActionsButtonClick:g,onSendForReview:l,maxFiles:T,maxFileSize:v,acceptedFileTypes:f,...Q})=>{var ia;const[e,x]=m(void 0),[c,o]=m(!0),[p,M]=m(""),[u,D]=m(!1),[R,q]=m(!1),[F,C]=m(null),[k,B]=m(!1),[y,U]=m(!1),[W,_]=m(null),[da,K]=m(!1),[z,V]=m([]),[Fe,ee]=m(!1),[ae,te]=m(void 0),[ua,ne]=m(null),[ke,Ie]=m(!1),[we,He]=m(!1),[Be,re]=m(""),[Ae,oe]=m(""),[Ue,he]=m(!1),[We,ze]=m(!1),[Oe,J]=m(""),[$e,ie]=m(""),Ge=rt(!1),[I,X]=m([]),[ce,le]=m(void 0),{getReferenceDocumentLinks:Pe,hasUnsavedChanges:je}=It({templateReferenceDocuments:e==null?void 0:e.referenceDocuments,localReferenceDocuments:z}),n=be({createdLabel:"NegotiableQuoteTemplate.Manage.createdLabel",salesRepLabel:"NegotiableQuoteTemplate.Manage.salesRepLabel",expiresLabel:"NegotiableQuoteTemplate.Manage.expiresLabel",templateIdLabel:"NegotiableQuoteTemplate.Manage.templateIdLabel",actionsLabel:"NegotiableQuoteTemplate.Manage.actionsLabel",referenceDocumentsTitle:"NegotiableQuoteTemplate.Manage.referenceDocuments.title",commentsTitle:"NegotiableQuoteTemplate.Manage.comments.title",historyLogTitle:"NegotiableQuoteTemplate.Manage.historyLog.title",itemsQuotedTab:"NegotiableQuoteTemplate.Manage.tabs.itemsQuoted",commentsTab:"NegotiableQuoteTemplate.Manage.tabs.comments",historyLogTab:"NegotiableQuoteTemplate.Manage.tabs.historyLog",templateCommentsPlaceholder:"NegotiableQuoteTemplate.Manage.templateComments.placeholder",sendForReview:"NegotiableQuoteTemplate.Manage.actionButtons.sendForReview",delete:"NegotiableQuoteTemplate.Manage.actionButtons.delete",cancel:"NegotiableQuoteTemplate.Manage.actionButtons.cancel",attachFiles:"NegotiableQuote.Manage.attachFiles",fileUploadError:"NegotiableQuote.Manage.fileUploadError",maxFilesExceeded:"NegotiableQuote.Manage.maxFilesExceeded",maxFileSizeExceeded:"NegotiableQuote.Manage.maxFileSizeExceeded",invalidFileType:"NegotiableQuote.Manage.invalidFileType",confirmationModalDeleteTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.title",confirmationModalDeleteMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.message",confirmationModalDeleteConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.confirm",confirmationModalDeleteErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.errorHeading",confirmationModalDeleteErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.errorFallback",confirmationModalDeleteSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.successHeading",confirmationModalDeleteSuccessDescription:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.successDescription",confirmationModalCancelTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.title",confirmationModalCancelMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.message",confirmationModalCancelConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.confirm",confirmationModalCancelErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.errorHeading",confirmationModalCancelErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.errorFallback",confirmationModalCancelSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.successHeading",confirmationModalCancelSuccessDescription:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.successDescription",confirmationModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",accept:"NegotiableQuoteTemplate.Manage.actionButtons.accept",generateQuote:"NegotiableQuoteTemplate.Manage.actionButtons.generateQuote",generateQuoteModalTitle:"NegotiableQuoteTemplate.Manage.actionButtons.generateQuote",generateQuoteModalMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.message",generateQuoteModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",generateQuoteModalConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.confirm",generateQuoteModalConfirmLoading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.confirmLoading",generateQuoteModalSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.successHeading",generateQuoteSuccessMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.successDescription",generateQuoteModalErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.errorHeading",generateQuoteErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.errorFallback",acceptModalTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.title",acceptModalMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.message",acceptModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",acceptModalConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.confirm",acceptModalConfirmLoading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.confirmLoading",acceptModalSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.successHeading",acceptSuccessMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.successDescription",acceptModalErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.errorHeading",acceptErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.errorFallback",documentDuplicateUidError:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.duplicateUidError",renameTitle:"NegotiableQuoteTemplate.Manage.rename.title",renameTemplateNameLabel:"NegotiableQuoteTemplate.Manage.rename.templateNameLabel",renameReasonLabel:"NegotiableQuoteTemplate.Manage.rename.reasonLabel",renameButton:"NegotiableQuoteTemplate.Manage.rename.renameButton",renameCancelButton:"NegotiableQuoteTemplate.Manage.rename.cancelButton",renameErrorHeading:"NegotiableQuoteTemplate.Manage.rename.errorHeading",renameTemplateNameRequired:"NegotiableQuoteTemplate.Manage.rename.templateNameRequired",renameErrorDefault:"NegotiableQuoteTemplate.Manage.rename.errorDefault",renameSuccessHeading:"NegotiableQuoteTemplate.Manage.rename.successHeading",renameSuccessMessage:"NegotiableQuoteTemplate.Manage.rename.successMessage",expirationDateRequired:"NegotiableQuoteTemplate.Manage.expirationDate.expirationDateRequired",expirationDateErrorHeading:"NegotiableQuoteTemplate.Manage.expirationDate.errorHeading",expirationDateSuccessHeading:"NegotiableQuoteTemplate.Manage.expirationDate.successHeading",shippingInformationTitle:"NegotiableQuoteTemplate.Manage.shippingInformation.title",unsavedChangesWarningHeading:"NegotiableQuoteTemplate.Manage.unsavedChangesWarningHeading",unsavedChangesWarningMessage:"NegotiableQuoteTemplate.Manage.unsavedChangesWarningMessage",shippingAddressWarningHeading:"NegotiableQuoteTemplate.Manage.shippingAddressWarningHeading",shippingAddressWarningMessage:"NegotiableQuoteTemplate.Manage.shippingAddressWarningMessage"}),{isRenameModalOpen:me,renameTemplateName:w,renameReason:Y,renameError:Me,renameTemplateNameError:ga,renameSuccess:Ne,handleRenameClick:Ke,handleRenameClose:pa,handleRenameTemplateNameChange:fa,handleRenameReasonChange:ba,handleRenameSave:ha,resetRenameState:Ve}=wt({initialTemplateName:e==null?void 0:e.name,templateNameRequiredErrorMessage:n.renameTemplateNameRequired}),{isExpirationModalOpen:Je,expirationDate:Ma,expirationError:Te,expirationDateError:Na,expirationSuccess:ve,handleExpirationClick:Xe,handleExpirationClose:Ta,handleExpirationDateChange:va,handleExpirationSave:Qa,resetExpirationState:Ye}=Ht({templateId:e==null?void 0:e.id,initialExpirationDate:e==null?void 0:e.expirationDate,expirationDateRequiredErrorMessage:n.expirationDateRequired}),Ze=N(()=>me?!1:w!==""&&w!==(e==null?void 0:e.name),[w,e==null?void 0:e.name,me]),Z=N(()=>je||Ze,[je,Ze]),Qe=s(async r=>{if(T&&I.length+r.length>T){le(n.maxFilesExceeded.replace("{maxFiles}",String(T)));return}for(const b of r){if(v&&!gt(b.size,v)){le(n.maxFileSizeExceeded.replace("{maxSize}",pt(v)));return}if(f&&!ft(b.type,f)){le(n.invalidFileType);return}}le(void 0);const i=r.map(b=>({key:`temp-${Date.now()}-${Math.random()}-${b.name}`,name:b.name,size:b.size,status:"uploading"}));X(b=>[...b,...i]);for(let b=0;b<r.length;b++){const O=r[b],A=i[b].key;try{const Se=await Mt(O);X(Re=>Re.map($=>$.key===A?{...$,key:Se.key,status:"success"}:$))}catch(Se){X(Re=>Re.map($=>$.key===A?{...$,status:"error",error:Se.message}:$))}}},[T,v,f,I,n]),qe=s(r=>{X(i=>i.filter(b=>b.key!==r))},[]);pe(()=>{const r=ot.on("quote-management/quote-template-data",i=>{i.quoteTemplate&&(x(i.quoteTemplate),o(!1),M(""),D(!1),X([]),V(i.quoteTemplate.referenceDocuments||[]),Ve(),Ye())},{eager:!0});return()=>r==null?void 0:r.off()},[Ve,Ye]),pe(()=>{e!=null&&e.referenceDocuments&&V(e.referenceDocuments)},[e==null?void 0:e.referenceDocuments]),pe(()=>{e&&e.status===la.UPDATED&&!Ge.current&&(Ge.current=!0,(async()=>{try{await Ct({templateId:e.id})}catch(i){console.error("Failed to auto-open quote template:",i)}})())},[e]);const qa=s(()=>{q(!1),C(null),B(!1)},[]),Ca=s(async()=>{if(e!=null&&e.id){C(null),B(!1);try{await Tt({templateId:e.id}),B(!0),setTimeout(()=>{q(!1),B(!1)},2e3)}catch(r){const i=r.message||n.confirmationModalDeleteErrorFallback;C(i)}}},[e,n.confirmationModalDeleteErrorFallback]),xa=s(()=>{C(null)},[]),_a=s(()=>{B(!1)},[]),Da=s(()=>{U(!1),_(null),K(!1)},[]),Ea=s(async()=>{if(e!=null&&e.id){_(null),K(!1);try{await vt({templateId:e.id}),K(!0),setTimeout(()=>{U(!1),K(!1)},2e3)}catch(r){const i=r.message||n.confirmationModalCancelErrorFallback;_(i)}}},[e,n.confirmationModalCancelErrorFallback]),ya=s(()=>{_(null)},[]),Sa=s(()=>{K(!1)},[]),Ce=s(async()=>{const r=Pe(),i=I.filter(A=>A.status==="success"),b=[Y.trim(),p.trim()].filter(Boolean).join(`
3
+ import{jsx as t,jsxs as C,Fragment as aa}from"@dropins/tools/preact-jsx-runtime.js";import{useCallback as r,useMemo as m,useState as c,useRef as Ya,useEffect as Se,createPortal as B}from"@dropins/tools/preact-compat.js";import{Slot as b}from"@dropins/tools/lib.js";import{v as Za,f as en,a as an,k as na,d as ta,l as nn,p as tn,T as on,S as rn,A as cn,c as O,b as le,q as ln,C as se,r as sn,m as dn,E as mn}from"../chunks/components.js";import{events as un}from"@dropins/tools/event-bus.js";import{Button as K,TextArea as gn,InputFile as pn,InLineAlert as N,Icon as de}from"@dropins/tools/components.js";import{setQuoteTemplateExpirationDate as fn,uploadFile as hn,N as oa,deleteQuoteTemplate as Mn,cancelQuoteTemplate as bn,sendQuoteTemplateForReview as Tn,generateQuoteFromTemplate as Qn,acceptQuoteTemplate as Nn,openQuoteTemplate as Cn}from"../api.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";import{S as vn}from"../chunks/ShippingAddressDisplay.js";import{I as En}from"../chunks/ItemsQuotedTemplate.js";import{Q as xn}from"../chunks/QuoteTemplateCommentsList.js";import{Q as Sn}from"../chunks/QuoteTemplateHistoryLog.js";import{useText as yn}from"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";const Rn=a=>{const{templateReferenceDocuments:g,localReferenceDocuments:p}=a,T=r(l=>{if(g)return g.find(u=>l.uid&&u.uid?u.uid===l.uid:u.url===l.url)},[g]),v=r(l=>T(l)!==void 0,[T]),h=r((l,u)=>l.name!==u.name||l.identifier!==u.identifier||l.url!==u.url,[]),Q=r(()=>g?p.filter(l=>!g.some(u=>l.uid&&u.uid?u.uid===l.uid:u.url===l.url)):p,[g,p]),e=r(()=>p.map(l=>({uid:l.uid,name:l.name,identifier:l.identifier,url:l.url})),[p]),R=m(()=>g?p.some(f=>T(f)===void 0)||g.some(f=>!p.some(d=>d.uid&&f.uid?d.uid===f.uid:d.url===f.url))?!0:p.some(f=>{const d=T(f);return d?h(f,d):!1}):p.length>0,[g,p,T,h]);return{isDocumentInTemplateData:v,getNewDocuments:Q,getReferenceDocumentLinks:e,hasUnsavedChanges:R}},Dn=(a={})=>{const{initialTemplateName:g,templateNameRequiredErrorMessage:p="Template name is required"}=a,[T,v]=c(!1),[h,Q]=c(""),[e,R]=c(""),[l,u]=c(""),[M,f]=c(""),[d,D]=c(""),_=r(E=>{Q(E||g||""),R(""),u(""),f(""),D(""),v(!0)},[g]),H=r(()=>{v(!1),Q(""),R(""),u(""),f(""),D("")},[]),W=r(E=>{Q(E),E.trim()&&f("")},[]),L=r(E=>{R(E)},[]),q=r(()=>h.trim()?(u(""),f(""),v(!1),!0):(f(p),!1),[h,p]),F=r(()=>{Q(""),R(""),u(""),f(""),D("")},[]);return{isRenameModalOpen:T,renameTemplateName:h,renameReason:e,renameError:l,renameTemplateNameError:M,renameSuccess:d,handleRenameClick:_,handleRenameClose:H,handleRenameTemplateNameChange:W,handleRenameReasonChange:L,handleRenameSave:q,resetRenameState:F}},qn=(a={})=>{const{templateId:g,initialExpirationDate:p,expirationDateRequiredErrorMessage:T="Expiration date is required"}=a,[v,h]=c(!1),[Q,e]=c(""),[R,l]=c(""),[u,M]=c(""),[f,d]=c(""),D=r(q=>{e(q||p||""),l(""),M(""),d(""),h(!0)},[p]),_=r(()=>{h(!1),e(""),l(""),M(""),d("")},[]),H=r(q=>{e(q),q.trim()&&M("")},[]),W=r(async()=>{if(!Q.trim())return M(T),!1;if(!/^\d{4}-\d{2}-\d{2}$/.test(Q))return M("Please enter a valid date"),!1;const F=new Date(Q),E=new Date;if(E.setHours(0,0,0,0),F<E)return M("Expiration date must be in the future"),!1;if(!g)return l("Template ID is required"),!1;l(""),M("");try{return await fn({templateId:g,expirationDate:Q}),h(!1),d("Expiration date saved successfully"),!0}catch(w){console.error("Failed to set expiration date:",w);const J=w instanceof Error?w.message:"Failed to set expiration date. Please try again.";return l(J),!1}},[Q,T,g]),L=r(()=>{e(""),l(""),M(""),d("")},[]);return{isExpirationModalOpen:v,expirationDate:Q,expirationError:R,expirationDateError:u,expirationSuccess:f,handleExpirationClick:D,handleExpirationClose:_,handleExpirationDateChange:H,handleExpirationSave:W,resetExpirationState:L}},Kn=({slots:a,onActionsButtonClick:g,onSendForReview:p,maxFiles:T,maxFileSize:v,acceptedFileTypes:h,...Q})=>{var ea;const[e,R]=c(void 0),[l,u]=c(!0),[M,f]=c(""),[d,D]=c(!1),[_,H]=c(!1),[W,L]=c(null),[q,F]=c(!1),[E,w]=c(!1),[J,V]=c(null),[ia,U]=c(!1),[A,G]=c([]),[ye,X]=c(!1),[Y,Z]=c(void 0),[ra,ee]=c(null),[Re,De]=c(!1),[qe,Fe]=c(!1),[Le,ae]=c(""),[He,ne]=c(""),[we,me]=c(!1),[Ae,Ie]=c(!1),[ke,P]=c(""),[Be,te]=c(""),_e=Ya(!1),[x,z]=c([]),[oe,ie]=c(void 0),{getReferenceDocumentLinks:We,hasUnsavedChanges:Oe}=Rn({templateReferenceDocuments:e==null?void 0:e.referenceDocuments,localReferenceDocuments:A}),n=yn({createdLabel:"NegotiableQuoteTemplate.Manage.createdLabel",salesRepLabel:"NegotiableQuoteTemplate.Manage.salesRepLabel",expiresLabel:"NegotiableQuoteTemplate.Manage.expiresLabel",templateIdLabel:"NegotiableQuoteTemplate.Manage.templateIdLabel",actionsLabel:"NegotiableQuoteTemplate.Manage.actionsLabel",referenceDocumentsTitle:"NegotiableQuoteTemplate.Manage.referenceDocuments.title",commentsTitle:"NegotiableQuoteTemplate.Manage.comments.title",historyLogTitle:"NegotiableQuoteTemplate.Manage.historyLog.title",itemsQuotedTab:"NegotiableQuoteTemplate.Manage.tabs.itemsQuoted",commentsTab:"NegotiableQuoteTemplate.Manage.tabs.comments",historyLogTab:"NegotiableQuoteTemplate.Manage.tabs.historyLog",templateCommentsPlaceholder:"NegotiableQuoteTemplate.Manage.templateComments.placeholder",sendForReview:"NegotiableQuoteTemplate.Manage.actionButtons.sendForReview",delete:"NegotiableQuoteTemplate.Manage.actionButtons.delete",cancel:"NegotiableQuoteTemplate.Manage.actionButtons.cancel",attachFiles:"NegotiableQuote.Manage.attachFiles",fileUploadError:"NegotiableQuote.Manage.fileUploadError",maxFilesExceeded:"NegotiableQuote.Manage.maxFilesExceeded",maxFileSizeExceeded:"NegotiableQuote.Manage.maxFileSizeExceeded",invalidFileType:"NegotiableQuote.Manage.invalidFileType",confirmationModalDeleteTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.title",confirmationModalDeleteMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.message",confirmationModalDeleteConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.confirm",confirmationModalDeleteErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.errorHeading",confirmationModalDeleteErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.errorFallback",confirmationModalDeleteSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.successHeading",confirmationModalDeleteSuccessDescription:"NegotiableQuoteTemplate.Manage.confirmationModal.delete.successDescription",confirmationModalCancelTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.title",confirmationModalCancelMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.message",confirmationModalCancelConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.confirm",confirmationModalCancelErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.errorHeading",confirmationModalCancelErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.errorFallback",confirmationModalCancelSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.successHeading",confirmationModalCancelSuccessDescription:"NegotiableQuoteTemplate.Manage.confirmationModal.cancelTemplate.successDescription",confirmationModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",accept:"NegotiableQuoteTemplate.Manage.actionButtons.accept",generateQuote:"NegotiableQuoteTemplate.Manage.actionButtons.generateQuote",generateQuoteModalTitle:"NegotiableQuoteTemplate.Manage.actionButtons.generateQuote",generateQuoteModalMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.message",generateQuoteModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",generateQuoteModalConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.confirm",generateQuoteModalConfirmLoading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.confirmLoading",generateQuoteModalSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.successHeading",generateQuoteSuccessMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.successDescription",generateQuoteModalErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.errorHeading",generateQuoteErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.generateQuote.errorFallback",acceptModalTitle:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.title",acceptModalMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.message",acceptModalCancel:"NegotiableQuoteTemplate.Manage.confirmationModal.cancel",acceptModalConfirm:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.confirm",acceptModalConfirmLoading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.confirmLoading",acceptModalSuccessHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.successHeading",acceptSuccessMessage:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.successDescription",acceptModalErrorHeading:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.errorHeading",acceptErrorFallback:"NegotiableQuoteTemplate.Manage.confirmationModal.accept.errorFallback",documentDuplicateUidError:"NegotiableQuoteTemplate.Manage.referenceDocuments.form.duplicateUidError",renameTitle:"NegotiableQuoteTemplate.Manage.rename.title",renameTemplateNameLabel:"NegotiableQuoteTemplate.Manage.rename.templateNameLabel",renameReasonLabel:"NegotiableQuoteTemplate.Manage.rename.reasonLabel",renameButton:"NegotiableQuoteTemplate.Manage.rename.renameButton",renameCancelButton:"NegotiableQuoteTemplate.Manage.rename.cancelButton",renameErrorHeading:"NegotiableQuoteTemplate.Manage.rename.errorHeading",renameTemplateNameRequired:"NegotiableQuoteTemplate.Manage.rename.templateNameRequired",renameErrorDefault:"NegotiableQuoteTemplate.Manage.rename.errorDefault",renameSuccessHeading:"NegotiableQuoteTemplate.Manage.rename.successHeading",renameSuccessMessage:"NegotiableQuoteTemplate.Manage.rename.successMessage",expirationDateRequired:"NegotiableQuoteTemplate.Manage.expirationDate.expirationDateRequired",expirationDateErrorHeading:"NegotiableQuoteTemplate.Manage.expirationDate.errorHeading",expirationDateSuccessHeading:"NegotiableQuoteTemplate.Manage.expirationDate.successHeading",shippingInformationTitle:"NegotiableQuoteTemplate.Manage.shippingInformation.title",unsavedChangesWarningHeading:"NegotiableQuoteTemplate.Manage.unsavedChangesWarningHeading",unsavedChangesWarningMessage:"NegotiableQuoteTemplate.Manage.unsavedChangesWarningMessage",shippingAddressWarningHeading:"NegotiableQuoteTemplate.Manage.shippingAddressWarningHeading",shippingAddressWarningMessage:"NegotiableQuoteTemplate.Manage.shippingAddressWarningMessage"}),{isRenameModalOpen:re,renameTemplateName:S,renameReason:$,renameError:ue,renameTemplateNameError:ca,renameSuccess:ge,handleRenameClick:Ue,handleRenameClose:la,handleRenameTemplateNameChange:sa,handleRenameReasonChange:da,handleRenameSave:ma,resetRenameState:Ge}=Dn({initialTemplateName:e==null?void 0:e.name,templateNameRequiredErrorMessage:n.renameTemplateNameRequired}),{isExpirationModalOpen:Pe,expirationDate:ua,expirationError:pe,expirationDateError:ga,expirationSuccess:fe,handleExpirationClick:ze,handleExpirationClose:pa,handleExpirationDateChange:fa,handleExpirationSave:ha,resetExpirationState:$e}=qn({templateId:e==null?void 0:e.id,initialExpirationDate:e==null?void 0:e.expirationDate,expirationDateRequiredErrorMessage:n.expirationDateRequired}),je=m(()=>re?!1:S!==""&&S!==(e==null?void 0:e.name),[S,e==null?void 0:e.name,re]),j=m(()=>Oe||je,[Oe,je]),he=r(async o=>{if(T&&x.length+o.length>T){ie(n.maxFilesExceeded.replace("{maxFiles}",String(T)));return}for(const s of o){if(v&&!Za(s.size,v)){ie(n.maxFileSizeExceeded.replace("{maxSize}",en(v)));return}if(h&&!an(s.type,h)){ie(n.invalidFileType);return}}ie(void 0);const i=o.map(s=>({key:`temp-${Date.now()}-${Math.random()}-${s.name}`,name:s.name,size:s.size,status:"uploading"}));z(s=>[...s,...i]);for(let s=0;s<o.length;s++){const I=o[s],y=i[s].key;try{const Ee=await hn(I);z(xe=>xe.map(k=>k.key===y?{...k,key:Ee.key,status:"success"}:k))}catch(Ee){z(xe=>xe.map(k=>k.key===y?{...k,status:"error",error:Ee.message}:k))}}},[T,v,h,x,n]),Me=r(o=>{z(i=>i.filter(s=>s.key!==o))},[]);Se(()=>{const o=un.on("quote-management/quote-template-data",i=>{i.quoteTemplate&&(R(i.quoteTemplate),u(!1),f(""),D(!1),z([]),G(i.quoteTemplate.referenceDocuments||[]),Ge(),$e())},{eager:!0});return()=>o==null?void 0:o.off()},[Ge,$e]),Se(()=>{e!=null&&e.referenceDocuments&&G(e.referenceDocuments)},[e==null?void 0:e.referenceDocuments]),Se(()=>{e&&e.status===oa.UPDATED&&!_e.current&&(_e.current=!0,(async()=>{try{await Cn({templateId:e.id})}catch(i){console.error("Failed to auto-open quote template:",i)}})())},[e]);const Ma=r(()=>{H(!1),L(null),F(!1)},[]),ba=r(async()=>{if(e!=null&&e.id){L(null),F(!1);try{await Mn({templateId:e.id}),F(!0),setTimeout(()=>{H(!1),F(!1)},2e3)}catch(o){const i=o.message||n.confirmationModalDeleteErrorFallback;L(i)}}},[e,n.confirmationModalDeleteErrorFallback]),Ta=r(()=>{L(null)},[]),Qa=r(()=>{F(!1)},[]),Na=r(()=>{w(!1),V(null),U(!1)},[]),Ca=r(async()=>{if(e!=null&&e.id){V(null),U(!1);try{await bn({templateId:e.id}),U(!0),setTimeout(()=>{w(!1),U(!1)},2e3)}catch(o){const i=o.message||n.confirmationModalCancelErrorFallback;V(i)}}},[e,n.confirmationModalCancelErrorFallback]),va=r(()=>{V(null)},[]),Ea=r(()=>{U(!1)},[]),be=r(async()=>{const o=We(),i=x.filter(y=>y.status==="success"),s=[$.trim(),M.trim()].filter(Boolean).join(`
4
4
 
5
- `).trim()||void 0,O=w&&w!==(e==null?void 0:e.name)?w:void 0;if(l){l({templateData:e,name:O,comment:b,referenceDocumentLinks:r,attachments:i.length?i:void 0});return}D(!0);try{await Qt({templateId:e.id,name:O,comment:b,referenceDocumentLinks:r.length>0?r:void 0,attachments:i.length?i.map(A=>({key:A.key})):void 0})}catch(A){console.error("Failed to send quote template for review:",A),D(!1)}},[e,l,p,Y,w,Pe,I]),xe=s(()=>{te(void 0),ne(null),ee(!0)},[]),_e=s(r=>{te(r),ne(null),ee(!0)},[]),De=s(r=>{V(i=>i.filter(b=>b.uid!==r.uid||b.url!==r.url))},[]),Ra=s(r=>{ne(null),V(ae?i=>i.map(b=>b.identifier===ae.identifier?r:b):i=>[...i,r]),ee(!1),te(void 0)},[ae]),La=s(()=>{ee(!1),te(void 0),ne(null)},[]),Fa=s(async()=>{He(!0),oe(""),re("");try{await xt({templateId:e.id}),re(n.generateQuoteSuccessMessage)}catch(r){console.error("Failed to generate quote from template:",r);const i=r instanceof Error?r.message:n.generateQuoteErrorFallback;oe(i)}finally{He(!1)}},[e,n.generateQuoteSuccessMessage,n.generateQuoteErrorFallback]),ka=s(()=>{Ie(!1),oe(""),re("")},[]),Ia=s(async()=>{ze(!0),ie(""),J("");try{await qt({templateId:e.id}),J(n.acceptSuccessMessage),setTimeout(()=>{he(!1),J("")},2e3)}catch(r){console.error("Failed to accept quote template:",r);const i=r instanceof Error?r.message:n.acceptErrorFallback;ie(i)}finally{ze(!1)}},[e,n.acceptSuccessMessage,n.acceptErrorFallback]),wa=s(()=>{he(!1),ie(""),J("")},[]),Ha=N(()=>{const r=!(e!=null&&e.canSendForReview),i=w||(e==null?void 0:e.name);return a(E,{name:"TemplateName",slot:t==null?void 0:t.TemplateName,context:{templateName:e==null?void 0:e.name,templateData:e,templateDisplayName:i,isRenameDisabled:r},children:h("div",{className:"quote-management-manage-negotiable-quote-template__template-name-wrapper",children:[a("h1",{"data-testid":"template-name",className:"quote-management-manage-negotiable-quote-template__template-name-title",children:i}),a("button",{onClick:()=>Ke(i),disabled:r,"data-testid":"rename-template-button",className:"quote-management-manage-negotiable-quote-template__rename-button","aria-label":"Rename template",children:a(ma,{})})]})})},[t==null?void 0:t.TemplateName,e,Ke,w]),Ba=N(()=>a(E,{name:"TemplateStatus",slot:t==null?void 0:t.TemplateStatus,context:{templateStatus:e==null?void 0:e.status,templateData:e},children:a("div",{"data-testid":"template-status",children:e==null?void 0:e.status})}),[t==null?void 0:t.TemplateStatus,e]),Aa=N(()=>{if(!e)return;const i=!["Active","Expired","Closed","Canceled","Inactive"].includes(e.status),b=e.expirationDate?ca(e.expirationDate,"short"):void 0;return h(E,{name:"Details",slot:t==null?void 0:t.Details,context:{templateData:e},children:[h("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[a("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"template-id-label",children:n.templateIdLabel}),a("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"template-id-value",children:e.id})]}),h("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[a("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"created-label",children:n.createdLabel}),h("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"created-value",children:[ca(e.createdAt,"short")," (",e.buyer.firstname," ",e.buyer.lastname,")"]})]}),h("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[a("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"sales-rep-label",children:n.salesRepLabel}),a("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"sales-rep-value",children:e.salesRepName})]}),h("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[a("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"expires-label",children:n.expiresLabel}),h("div",{className:"quote-management-manage-negotiable-quote-template__expiration-wrapper",children:[a("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"expires-value",children:b}),i&&a("button",{onClick:()=>Xe(e.expirationDate),className:"quote-management-manage-negotiable-quote-template__edit-expiration-button","data-testid":"edit-expiration-button","aria-label":"Edit expiration date",children:a(ma,{})})]})]})]})},[t==null?void 0:t.Details,n,e,Xe]),ea=N(()=>[{label:n.generateQuote,value:"generateQuote",disabled:!(e!=null&&e.canGenerateQuoteFromTemplate)}],[n,e==null?void 0:e.canGenerateQuoteFromTemplate]),Ua=N(()=>{const r=i=>{switch(i){case"generateQuote":Ie(!0),oe(""),re(""),g==null||g(i);break}};return a(E,{name:"ActionBar",slot:t==null?void 0:t.ActionBar,context:{templateData:e},children:a(st,{dropdownPlaceholder:n.actionsLabel,dropdownOptions:[],buttons:ea.map(i=>a(H,{variant:"tertiary",onClick:()=>r(i.value),"data-testid":`actions-bar-${i.value}-button`,"data-action":i.value,disabled:i.disabled,children:i.label},i.value))})})},[ea,n,t==null?void 0:t.ActionBar,e,g]),se=N(()=>{const r=e==null?void 0:e.status;return r==="Draft"||r==="Open"},[e==null?void 0:e.status]),Wa=N(()=>{const r=z.length>0||se,i=r?n.referenceDocumentsTitle:void 0;return a(E,{name:"ReferenceDocuments",slot:t==null?void 0:t.ReferenceDocuments,context:{templateData:e,referenceDocuments:z,isEditable:se,onAddDocument:xe,onEditDocument:_e,onRemoveDocument:De,referenceDocumentsTitle:n.referenceDocumentsTitle},children:h("div",{"data-testid":"reference-documents",children:[r&&a("h2",{children:i}),a(kt,{documents:z,isEditable:se,onAdd:xe,onEdit:_e,onRemove:De})]})})},[t==null?void 0:t.ReferenceDocuments,n,e,z,se,xe,_e,De]),za=N(()=>a(E,{name:"ShippingInformationTitle",slot:t==null?void 0:t.ShippingInformationTitle,context:{templateData:e},children:a("h2",{children:n.shippingInformationTitle})}),[t==null?void 0:t.ShippingInformationTitle,e,n]),Oa=N(()=>{var r;return a(E,{name:"ShippingInformation",slot:t==null?void 0:t.ShippingInformation,context:{templateData:e,loading:c,setLoading:o},children:a(_t,{shippingAddress:(r=e==null?void 0:e.shippingAddresses)==null?void 0:r[0],loading:c,"data-testid":"manage-template-shipping-address"})})},[t==null?void 0:t.ShippingInformation,e,c,o]),$a=N(()=>a(E,{name:"ItemsTable",slot:t==null?void 0:t.ItemsTable,context:{templateData:e},children:a(dt,{tabs:new Map([["items-quoted",n.itemsQuotedTab],["comments",n.commentsTab],["history-log",n.historyLogTab]]),tabsContent:new Map([["items-quoted",a(E,{name:"ItemsQuotedTab",slot:t==null?void 0:t.ItemsQuotedTab,context:{templateData:e},children:a(Dt,{templateData:e})},"items-quoted")],["comments",a(E,{name:"CommentsTab",slot:t==null?void 0:t.CommentsTab,context:{templateData:e},children:a(Et,{templateData:e})},"comments")],["history-log",a(E,{name:"HistoryLogTab",slot:t==null?void 0:t.HistoryLogTab,context:{templateData:e},children:a(yt,{templateData:e})},"history-log")]])})}),[t==null?void 0:t.ItemsTable,t==null?void 0:t.ItemsQuotedTab,t==null?void 0:t.CommentsTab,t==null?void 0:t.HistoryLogTab,n,e]),Ga=N(()=>a(E,{name:"CommentsTitle",slot:t==null?void 0:t.CommentsTitle,context:{templateData:e},children:a("h2",{children:n.commentsTitle})}),[t==null?void 0:t.CommentsTitle,n,e]),Pa=N(()=>a(E,{name:"Comments",slot:t==null?void 0:t.Comments,context:{templateData:e},children:a(lt,{name:"templateComments",placeholder:n.templateCommentsPlaceholder,rows:3,value:p,onInput:r=>{M(r.target.value)},disabled:!(e!=null&&e.canSendForReview)||u})}),[t==null?void 0:t.Comments,n,e,p,u]),aa=N(()=>!(e!=null&&e.canSendForReview),[e]),ja=N(()=>{const r=u||aa;return a(E,{name:"AttachFilesField",slot:t==null?void 0:t.AttachFilesField,context:{templateData:e,onFileChange:Qe,attachedFiles:I,fileUploadError:ce,disabled:r},children:h("div",{className:"quote-management-manage-negotiable-quote-template__attach-files",...r?{"data-disabled":!0}:{},"aria-disabled":r,children:[a(mt,{id:"manage-template-attach-files",multiple:!0,onChange:i=>{const b=i.target,O=b==null?void 0:b.files,A=O?Array.from(O):[];A.length>0&&Qe(A)},icon:a(bt,{}),disabled:r,"data-testid":"manage-template-attach-files",accept:f==null?void 0:f.join(","),children:n.attachFiles}),ce&&a("div",{className:"quote-management-manage-negotiable-quote-template__file-error","data-testid":"file-upload-error",children:ce})]})})},[t==null?void 0:t.AttachFilesField,e,Qe,u,aa,f,ce,n,I]),Ka=N(()=>{if(I.length)return a(E,{name:"AttachedFilesList",slot:t==null?void 0:t.AttachedFilesList,context:{templateData:e,files:I,onRemove:qe,disabled:u},children:a(ht,{files:I,onRemove:qe,disabled:u})})},[I,qe,u,t==null?void 0:t.AttachedFilesList,e]),ta=N(()=>Z?a(S,{type:"warning",variant:"primary",icon:a(P,{}),heading:n.unsavedChangesWarningHeading,description:n.unsavedChangesWarningMessage,"data-testid":"unsaved-changes-warning-alert"}):void 0,[Z,n.unsavedChangesWarningHeading,n.unsavedChangesWarningMessage]),na=N(()=>{var r;return(r=e==null?void 0:e.shippingAddresses)!=null&&r.length?void 0:a(S,{type:"warning",variant:"primary",icon:a(P,{}),heading:n.shippingAddressWarningHeading,description:n.shippingAddressWarningMessage,"data-testid":"shipping-address-warning-alert"})},[(ia=e==null?void 0:e.shippingAddresses)==null?void 0:ia.length,n.shippingAddressWarningHeading,n.shippingAddressWarningMessage]),Va=N(()=>h(fe,{children:[ta,na]}),[ta,na]),Ja=N(()=>{const r=(e==null?void 0:e.status)===la.OPEN&&(e==null?void 0:e.canAccept);return h(E,{name:"Footer",slot:t==null?void 0:t.Footer,context:{templateData:e,comment:p,isSubmitting:u,attachedFiles:I,referenceDocuments:z,hasUnsavedChanges:Z,handleSendForReview:Ce,showAcceptButton:r,renameTemplateName:w,renameReason:Y},children:[r&&a(H,{variant:"primary",onClick:()=>{he(!0),ie(""),J("")},"data-testid":"accept-button",disabled:u||Z,children:n.accept}),(e==null?void 0:e.canSendForReview)&&a(H,{variant:"primary",onClick:Ce,"data-testid":"send-for-review-button",disabled:!(e!=null&&e.canSendForReview)||u,children:n.sendForReview}),(e==null?void 0:e.canCancel)&&a(H,{variant:"tertiary",onClick:()=>U(!0),"data-testid":"cancel-template-button",disabled:u,children:n.cancel}),(e==null?void 0:e.canDelete)&&a(H,{variant:"tertiary",onClick:()=>q(!0),"data-testid":"delete-template-button",disabled:u,children:n.delete})]})},[t==null?void 0:t.Footer,n,e,p,u,I,Ce,z,Z,w,Y]),Xa=F?a(S,{type:"error",variant:"primary",icon:a(P,{}),heading:n.confirmationModalDeleteErrorHeading,description:F,onDismiss:xa,"data-testid":"confirmation-modal-error-banner"}):null,ra=(k?a(S,{type:"success",variant:"primary",icon:a(ge,{}),heading:n.confirmationModalDeleteSuccessHeading,description:n.confirmationModalDeleteSuccessDescription,onDismiss:_a,"data-testid":"confirmation-modal-success-banner"}):null)||Xa,Ya=W?a(S,{type:"error",variant:"primary",icon:a(P,{}),heading:n.confirmationModalCancelErrorHeading,description:W,onDismiss:ya,"data-testid":"confirmation-modal-cancel-error-banner"}):null,oa=(da?a(S,{type:"success",variant:"primary",icon:a(ge,{}),heading:n.confirmationModalCancelSuccessHeading,description:n.confirmationModalCancelSuccessDescription,onDismiss:Sa,"data-testid":"confirmation-modal-cancel-success-banner"}):null)||Ya,Za=N(()=>Me?a(S,{type:"error",variant:"primary",icon:a(P,{color:"var(--color-error)"}),heading:n.renameErrorHeading,description:Me}):void 0,[Me,n.renameErrorHeading]),et=N(()=>Ne?a(S,{type:"success",variant:"primary",icon:a(ge,{}),heading:n.renameSuccessHeading,description:Ne}):void 0,[Ne,n.renameSuccessHeading]),at=N(()=>Te?a(S,{type:"error",variant:"primary",icon:a(P,{color:"var(--color-error)"}),heading:n.expirationDateErrorHeading,description:Te}):void 0,[Te,n.expirationDateErrorHeading]),tt=N(()=>ve?a(S,{type:"success",variant:"primary",icon:a(ge,{}),heading:n.expirationDateSuccessHeading,description:ve}):void 0,[ve,n.expirationDateSuccessHeading]),nt={...Q,loading:c,templateName:Ha,templateStatus:Ba,banner:Va,details:Aa,actionBar:Ua,referenceDocuments:Wa,itemsTable:$a,shippingInformationTitle:za,shippingInformation:Oa,commentsTitle:Ga,comments:Pa,attachFilesField:ja,attachedFilesList:Ka,footer:Ja};let Ee=null;Be?Ee=a(S,{type:"success",variant:"primary",icon:a(de,{source:"CheckWithCircle"}),heading:n.generateQuoteModalSuccessHeading,description:Be,"data-testid":"generate-quote-success-banner"}):Ae&&(Ee=a(S,{type:"error",variant:"primary",icon:a(de,{source:"WarningFilled"}),heading:n.generateQuoteModalErrorHeading,description:Ae,"data-testid":"generate-quote-error-banner"}));let ye=null;return Oe?ye=a(S,{type:"success",variant:"primary",icon:a(de,{source:"CheckWithCircle"}),heading:n.acceptModalSuccessHeading,description:Oe,"data-testid":"accept-success-banner"}):$e&&(ye=a(S,{type:"error",variant:"primary",icon:a(de,{source:"WarningFilled"}),heading:n.acceptModalErrorHeading,description:$e,"data-testid":"accept-error-banner"})),h(fe,{children:[a(Rt,{...nt}),R&&G(a(ue,{open:R,title:n.confirmationModalDeleteTitle,message:n.confirmationModalDeleteMessage,cancelLabel:n.confirmationModalCancel,confirmLabel:n.confirmationModalDeleteConfirm,onCancel:qa,onConfirm:Ca,showCloseButton:!ra,confirmationBanner:ra}),document.body),y&&G(a(ue,{open:y,title:n.confirmationModalCancelTitle,message:n.confirmationModalCancelMessage,cancelLabel:n.confirmationModalCancel,confirmLabel:n.confirmationModalCancelConfirm,onCancel:Da,onConfirm:Ea,showCloseButton:!oa,confirmationBanner:oa}),document.body),Fe&&G(a(Ft,{open:Fe,document:ae,errorMessage:ua||void 0,onSave:Ra,onClose:La,isSubmitting:u}),document.body),ke&&G(a(ue,{open:ke,title:n.generateQuoteModalTitle,message:n.generateQuoteModalMessage,cancelLabel:n.generateQuoteModalCancel,confirmLabel:we?n.generateQuoteModalConfirmLoading:n.generateQuoteModalConfirm,onCancel:ka,onConfirm:we?void 0:Fa,showCloseButton:!0,confirmationBanner:Ee,"data-testid":"generate-quote-confirmation-modal"}),document.body),Ue&&G(a(ue,{open:Ue,title:n.acceptModalTitle,message:n.acceptModalMessage,cancelLabel:n.acceptModalCancel,confirmLabel:We?n.acceptModalConfirmLoading:n.acceptModalConfirm,onCancel:wa,onConfirm:We?void 0:Ia,showCloseButton:!0,confirmationBanner:ye,"data-testid":"accept-confirmation-modal"}),document.body),me&&G(a(ut,{open:me,quoteName:w,renameReason:Y,quoteNameError:ga,errorBanner:Za,successBanner:et,onQuoteNameChange:fa,onRenameReasonChange:ba,onSave:ha,onClose:pa}),document.body),Je&&G(a(St,{open:Je,expirationDate:Ma,expirationDateError:Na,errorBanner:at,successBanner:tt,onExpirationDateChange:va,onSave:Qa,onClose:Ta}),document.body)]})};export{Tn as ManageNegotiableQuoteTemplate,Tn as default};
5
+ `).trim()||void 0,I=S&&S!==(e==null?void 0:e.name)?S:void 0;if(p){p({templateData:e,name:I,comment:s,referenceDocumentLinks:o,attachments:i.length?i:void 0});return}D(!0);try{await Tn({templateId:e.id,name:I,comment:s,referenceDocumentLinks:o.length>0?o:void 0,attachments:i.length?i.map(y=>({key:y.key})):void 0})}catch(y){console.error("Failed to send quote template for review:",y),D(!1)}},[e,p,M,$,S,We,x]),Te=r(()=>{Z(void 0),ee(null),X(!0)},[]),Qe=r(o=>{Z(o),ee(null),X(!0)},[]),Ne=r(o=>{G(i=>i.filter(s=>s.uid!==o.uid||s.url!==o.url))},[]),xa=r(o=>{ee(null),G(Y?i=>i.map(s=>s.identifier===Y.identifier?o:s):i=>[...i,o]),X(!1),Z(void 0)},[Y]),Sa=r(()=>{X(!1),Z(void 0),ee(null)},[]),ya=r(async()=>{Fe(!0),ne(""),ae("");try{await Qn({templateId:e.id}),ae(n.generateQuoteSuccessMessage)}catch(o){console.error("Failed to generate quote from template:",o);const i=o instanceof Error?o.message:n.generateQuoteErrorFallback;ne(i)}finally{Fe(!1)}},[e,n.generateQuoteSuccessMessage,n.generateQuoteErrorFallback]),Ra=r(()=>{De(!1),ne(""),ae("")},[]),Da=r(async()=>{Ie(!0),te(""),P("");try{await Nn({templateId:e.id}),P(n.acceptSuccessMessage),setTimeout(()=>{me(!1),P("")},2e3)}catch(o){console.error("Failed to accept quote template:",o);const i=o instanceof Error?o.message:n.acceptErrorFallback;te(i)}finally{Ie(!1)}},[e,n.acceptSuccessMessage,n.acceptErrorFallback]),qa=r(()=>{me(!1),te(""),P("")},[]),Fa=m(()=>{const o=!(e!=null&&e.canSendForReview),i=S||(e==null?void 0:e.name);return t(b,{name:"TemplateName",slot:a==null?void 0:a.TemplateName,context:{templateName:e==null?void 0:e.name,templateData:e,templateDisplayName:i,isRenameDisabled:o},children:C("div",{className:"quote-management-manage-negotiable-quote-template__template-name-wrapper",children:[t("h1",{"data-testid":"template-name",className:"quote-management-manage-negotiable-quote-template__template-name-title",children:i}),t("button",{onClick:()=>Ue(i),disabled:o,"data-testid":"rename-template-button",className:"quote-management-manage-negotiable-quote-template__rename-button","aria-label":"Rename template",children:t(na,{})})]})})},[a==null?void 0:a.TemplateName,e,Ue,S]),La=m(()=>t(b,{name:"TemplateStatus",slot:a==null?void 0:a.TemplateStatus,context:{templateStatus:e==null?void 0:e.status,templateData:e},children:t("div",{"data-testid":"template-status",children:e==null?void 0:e.status})}),[a==null?void 0:a.TemplateStatus,e]),Ha=m(()=>{if(!e)return;const i=!["Active","Expired","Closed","Canceled","Inactive"].includes(e.status),s=e.expirationDate?ta(e.expirationDate,"short"):void 0;return C(b,{name:"Details",slot:a==null?void 0:a.Details,context:{templateData:e},children:[C("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[t("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"template-id-label",children:n.templateIdLabel}),t("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"template-id-value",children:e.id})]}),C("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[t("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"created-label",children:n.createdLabel}),C("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"created-value",children:[ta(e.createdAt,"short")," (",e.buyer.firstname," ",e.buyer.lastname,")"]})]}),C("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[t("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"sales-rep-label",children:n.salesRepLabel}),t("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"sales-rep-value",children:e.salesRepName})]}),C("div",{className:"quote-management-manage-negotiable-quote-template__detail",children:[t("span",{className:"quote-management-manage-negotiable-quote-template__detail-title","data-testid":"expires-label",children:n.expiresLabel}),C("div",{className:"quote-management-manage-negotiable-quote-template__expiration-wrapper",children:[t("span",{className:"quote-management-manage-negotiable-quote-template__detail-content","data-testid":"expires-value",children:s}),i&&t("button",{onClick:()=>ze(e.expirationDate),className:"quote-management-manage-negotiable-quote-template__edit-expiration-button","data-testid":"edit-expiration-button","aria-label":"Edit expiration date",children:t(na,{})})]})]})]})},[a==null?void 0:a.Details,n,e,ze]),Ke=m(()=>[{label:n.generateQuote,value:"generateQuote",disabled:!(e!=null&&e.canGenerateQuoteFromTemplate)}],[n,e==null?void 0:e.canGenerateQuoteFromTemplate]),wa=m(()=>{const o=i=>{switch(i){case"generateQuote":De(!0),ne(""),ae(""),g==null||g(i);break}};return t(b,{name:"ActionBar",slot:a==null?void 0:a.ActionBar,context:{templateData:e},children:t(nn,{dropdownPlaceholder:n.actionsLabel,dropdownOptions:[],buttons:Ke.map(i=>t(K,{variant:"tertiary",onClick:()=>o(i.value),"data-testid":`actions-bar-${i.value}-button`,"data-action":i.value,disabled:i.disabled,children:i.label},i.value))})})},[Ke,n,a==null?void 0:a.ActionBar,e,g]),ce=m(()=>{const o=e==null?void 0:e.status;return o==="Draft"||o==="Open"},[e==null?void 0:e.status]),Aa=m(()=>{const o=A.length>0||ce,i=o?n.referenceDocumentsTitle:void 0;return t(b,{name:"ReferenceDocuments",slot:a==null?void 0:a.ReferenceDocuments,context:{templateData:e,referenceDocuments:A,isEditable:ce,onAddDocument:Te,onEditDocument:Qe,onRemoveDocument:Ne,referenceDocumentsTitle:n.referenceDocumentsTitle},children:C("div",{"data-testid":"reference-documents",children:[o&&t("h2",{children:i}),t(tn,{documents:A,isEditable:ce,onAdd:Te,onEdit:Qe,onRemove:Ne})]})})},[a==null?void 0:a.ReferenceDocuments,n,e,A,ce,Te,Qe,Ne]),Ia=m(()=>t(b,{name:"ShippingInformationTitle",slot:a==null?void 0:a.ShippingInformationTitle,context:{templateData:e},children:t("h2",{children:n.shippingInformationTitle})}),[a==null?void 0:a.ShippingInformationTitle,e,n]),ka=m(()=>{var o;return t(b,{name:"ShippingInformation",slot:a==null?void 0:a.ShippingInformation,context:{templateData:e,loading:l,setLoading:u},children:t(vn,{shippingAddress:(o=e==null?void 0:e.shippingAddresses)==null?void 0:o[0],loading:l,"data-testid":"manage-template-shipping-address"})})},[a==null?void 0:a.ShippingInformation,e,l,u]),Ba=m(()=>t(b,{name:"ItemsTable",slot:a==null?void 0:a.ItemsTable,context:{templateData:e},children:t(on,{tabs:new Map([["items-quoted",n.itemsQuotedTab],["comments",n.commentsTab],["history-log",n.historyLogTab]]),tabsContent:new Map([["items-quoted",t(b,{name:"ItemsQuotedTab",slot:a==null?void 0:a.ItemsQuotedTab,context:{templateData:e},children:t(En,{templateData:e})},"items-quoted")],["comments",t(b,{name:"CommentsTab",slot:a==null?void 0:a.CommentsTab,context:{templateData:e},children:t(xn,{templateData:e})},"comments")],["history-log",t(b,{name:"HistoryLogTab",slot:a==null?void 0:a.HistoryLogTab,context:{templateData:e},children:t(Sn,{templateData:e})},"history-log")]])})}),[a==null?void 0:a.ItemsTable,a==null?void 0:a.ItemsQuotedTab,a==null?void 0:a.CommentsTab,a==null?void 0:a.HistoryLogTab,n,e]),_a=m(()=>t(b,{name:"CommentsTitle",slot:a==null?void 0:a.CommentsTitle,context:{templateData:e},children:t("h2",{children:n.commentsTitle})}),[a==null?void 0:a.CommentsTitle,n,e]),Wa=m(()=>t(b,{name:"Comments",slot:a==null?void 0:a.Comments,context:{templateData:e},children:t(gn,{name:"templateComments",placeholder:n.templateCommentsPlaceholder,rows:3,value:M,onInput:o=>{f(o.target.value)},disabled:!(e!=null&&e.canSendForReview)||d})}),[a==null?void 0:a.Comments,n,e,M,d]),Je=m(()=>!(e!=null&&e.canSendForReview),[e]),Oa=m(()=>{const o=d||Je;return t(b,{name:"AttachFilesField",slot:a==null?void 0:a.AttachFilesField,context:{templateData:e,onFileChange:he,attachedFiles:x,fileUploadError:oe,disabled:o},children:C("div",{className:"quote-management-manage-negotiable-quote-template__attach-files",...o?{"data-disabled":!0}:{},"aria-disabled":o,children:[t(pn,{id:"manage-template-attach-files",multiple:!0,onChange:i=>{const s=i.target,I=s==null?void 0:s.files,y=I?Array.from(I):[];y.length>0&&he(y)},icon:t(rn,{}),disabled:o,"data-testid":"manage-template-attach-files",accept:h==null?void 0:h.join(","),children:n.attachFiles}),oe&&t("div",{className:"quote-management-manage-negotiable-quote-template__file-error","data-testid":"file-upload-error",children:oe})]})})},[a==null?void 0:a.AttachFilesField,e,he,d,Je,h,oe,n,x]),Ua=m(()=>{if(x.length)return t(b,{name:"AttachedFilesList",slot:a==null?void 0:a.AttachedFilesList,context:{templateData:e,files:x,onRemove:Me,disabled:d},children:t(cn,{files:x,onRemove:Me,disabled:d})})},[x,Me,d,a==null?void 0:a.AttachedFilesList,e]),Ve=m(()=>j?t(N,{type:"warning",variant:"primary",icon:t(O,{}),heading:n.unsavedChangesWarningHeading,description:n.unsavedChangesWarningMessage,"data-testid":"unsaved-changes-warning-alert"}):void 0,[j,n.unsavedChangesWarningHeading,n.unsavedChangesWarningMessage]),Xe=m(()=>{var o;return(o=e==null?void 0:e.shippingAddresses)!=null&&o.length?void 0:t(N,{type:"warning",variant:"primary",icon:t(O,{}),heading:n.shippingAddressWarningHeading,description:n.shippingAddressWarningMessage,"data-testid":"shipping-address-warning-alert"})},[(ea=e==null?void 0:e.shippingAddresses)==null?void 0:ea.length,n.shippingAddressWarningHeading,n.shippingAddressWarningMessage]),Ga=m(()=>C(aa,{children:[Ve,Xe]}),[Ve,Xe]),Pa=m(()=>{const o=(e==null?void 0:e.status)===oa.OPEN&&(e==null?void 0:e.canAccept);return C(b,{name:"Footer",slot:a==null?void 0:a.Footer,context:{templateData:e,comment:M,isSubmitting:d,attachedFiles:x,referenceDocuments:A,hasUnsavedChanges:j,handleSendForReview:be,showAcceptButton:o,renameTemplateName:S,renameReason:$},children:[o&&t(K,{variant:"primary",onClick:()=>{me(!0),te(""),P("")},"data-testid":"accept-button",disabled:d||j,children:n.accept}),(e==null?void 0:e.canSendForReview)&&t(K,{variant:"primary",onClick:be,"data-testid":"send-for-review-button",disabled:!(e!=null&&e.canSendForReview)||d,children:n.sendForReview}),(e==null?void 0:e.canCancel)&&t(K,{variant:"tertiary",onClick:()=>w(!0),"data-testid":"cancel-template-button",disabled:d,children:n.cancel}),(e==null?void 0:e.canDelete)&&t(K,{variant:"tertiary",onClick:()=>H(!0),"data-testid":"delete-template-button",disabled:d,children:n.delete})]})},[a==null?void 0:a.Footer,n,e,M,d,x,be,A,j,S,$]),za=W?t(N,{type:"error",variant:"primary",icon:t(O,{}),heading:n.confirmationModalDeleteErrorHeading,description:W,onDismiss:Ta,"data-testid":"confirmation-modal-error-banner"}):null,Ye=(q?t(N,{type:"success",variant:"primary",icon:t(le,{}),heading:n.confirmationModalDeleteSuccessHeading,description:n.confirmationModalDeleteSuccessDescription,onDismiss:Qa,"data-testid":"confirmation-modal-success-banner"}):null)||za,$a=J?t(N,{type:"error",variant:"primary",icon:t(O,{}),heading:n.confirmationModalCancelErrorHeading,description:J,onDismiss:va,"data-testid":"confirmation-modal-cancel-error-banner"}):null,Ze=(ia?t(N,{type:"success",variant:"primary",icon:t(le,{}),heading:n.confirmationModalCancelSuccessHeading,description:n.confirmationModalCancelSuccessDescription,onDismiss:Ea,"data-testid":"confirmation-modal-cancel-success-banner"}):null)||$a,ja=m(()=>ue?t(N,{type:"error",variant:"primary",icon:t(O,{color:"var(--color-error)"}),heading:n.renameErrorHeading,description:ue}):void 0,[ue,n.renameErrorHeading]),Ka=m(()=>ge?t(N,{type:"success",variant:"primary",icon:t(le,{}),heading:n.renameSuccessHeading,description:ge}):void 0,[ge,n.renameSuccessHeading]),Ja=m(()=>pe?t(N,{type:"error",variant:"primary",icon:t(O,{color:"var(--color-error)"}),heading:n.expirationDateErrorHeading,description:pe}):void 0,[pe,n.expirationDateErrorHeading]),Va=m(()=>fe?t(N,{type:"success",variant:"primary",icon:t(le,{}),heading:n.expirationDateSuccessHeading,description:fe}):void 0,[fe,n.expirationDateSuccessHeading]),Xa={...Q,loading:l,templateName:Fa,templateStatus:La,banner:Ga,details:Ha,actionBar:wa,referenceDocuments:Aa,itemsTable:Ba,shippingInformationTitle:Ia,shippingInformation:ka,commentsTitle:_a,comments:Wa,attachFilesField:Oa,attachedFilesList:Ua,footer:Pa};let Ce=null;Le?Ce=t(N,{type:"success",variant:"primary",icon:t(de,{source:"CheckWithCircle"}),heading:n.generateQuoteModalSuccessHeading,description:Le,"data-testid":"generate-quote-success-banner"}):He&&(Ce=t(N,{type:"error",variant:"primary",icon:t(de,{source:"WarningFilled"}),heading:n.generateQuoteModalErrorHeading,description:He,"data-testid":"generate-quote-error-banner"}));let ve=null;return ke?ve=t(N,{type:"success",variant:"primary",icon:t(de,{source:"CheckWithCircle"}),heading:n.acceptModalSuccessHeading,description:ke,"data-testid":"accept-success-banner"}):Be&&(ve=t(N,{type:"error",variant:"primary",icon:t(de,{source:"WarningFilled"}),heading:n.acceptModalErrorHeading,description:Be,"data-testid":"accept-error-banner"})),C(aa,{children:[t(ln,{...Xa}),_&&B(t(se,{open:_,title:n.confirmationModalDeleteTitle,message:n.confirmationModalDeleteMessage,cancelLabel:n.confirmationModalCancel,confirmLabel:n.confirmationModalDeleteConfirm,onCancel:Ma,onConfirm:ba,showCloseButton:!Ye,confirmationBanner:Ye}),document.body),E&&B(t(se,{open:E,title:n.confirmationModalCancelTitle,message:n.confirmationModalCancelMessage,cancelLabel:n.confirmationModalCancel,confirmLabel:n.confirmationModalCancelConfirm,onCancel:Na,onConfirm:Ca,showCloseButton:!Ze,confirmationBanner:Ze}),document.body),ye&&B(t(sn,{open:ye,document:Y,errorMessage:ra||void 0,onSave:xa,onClose:Sa,isSubmitting:d}),document.body),Re&&B(t(se,{open:Re,title:n.generateQuoteModalTitle,message:n.generateQuoteModalMessage,cancelLabel:n.generateQuoteModalCancel,confirmLabel:qe?n.generateQuoteModalConfirmLoading:n.generateQuoteModalConfirm,onCancel:Ra,onConfirm:qe?void 0:ya,showCloseButton:!0,confirmationBanner:Ce,"data-testid":"generate-quote-confirmation-modal"}),document.body),we&&B(t(se,{open:we,title:n.acceptModalTitle,message:n.acceptModalMessage,cancelLabel:n.acceptModalCancel,confirmLabel:Ae?n.acceptModalConfirmLoading:n.acceptModalConfirm,onCancel:qa,onConfirm:Ae?void 0:Da,showCloseButton:!0,confirmationBanner:ve,"data-testid":"accept-confirmation-modal"}),document.body),re&&B(t(dn,{open:re,quoteName:S,renameReason:$,quoteNameError:ca,errorBanner:ja,successBanner:Ka,onQuoteNameChange:sa,onRenameReasonChange:da,onSave:ma,onClose:la}),document.body),Pe&&B(t(mn,{open:Pe,expirationDate:ua,expirationDateError:ga,errorBanner:Ja,successBanner:Va,onExpirationDateChange:fa,onSave:ha,onClose:pa}),document.body)]})};export{Kn as ManageNegotiableQuoteTemplate,Kn as default};
6
6
  //# sourceMappingURL=ManageNegotiableQuoteTemplate.js.map