@digi-frontend/dgate-api-documentation 1.0.52 → 1.0.54

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 (38) hide show
  1. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  2. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  3. package/dist/src/components/table/table.js +1 -1
  4. package/dist/src/components/table/table.js.map +1 -1
  5. package/dist/src/constants/index.js +1 -1
  6. package/dist/src/constants/index.js.map +1 -1
  7. package/dist/src/helpers/docs.helper.js.map +1 -1
  8. package/dist/src/helpers/layout.helper.js.map +1 -1
  9. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  10. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  11. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  12. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js +1 -1
  13. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js.map +1 -1
  14. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  15. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  16. package/dist/src/layout/docsLayout.js +1 -1
  17. package/dist/src/layout/docsLayout.js.map +1 -1
  18. package/dist/src/layout/layout.js.map +1 -1
  19. package/dist/styles.css +618 -612
  20. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +5 -0
  21. package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +2 -1
  22. package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +6 -5
  23. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +4 -2
  24. package/dist/types/layout/docsLayout.d.ts +4 -3
  25. package/package.json +3 -1
  26. package/rollup.config.js +2 -2
  27. package/src/components/MethodAccordion/MethodAccordion.tsx +15 -8
  28. package/src/components/table/style.scss +6 -0
  29. package/src/components/table/table.tsx +33 -35
  30. package/src/constants/index.ts +1 -1
  31. package/src/helpers/docs.helper.ts +1 -0
  32. package/src/helpers/layout.helper.ts +1 -7
  33. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +6 -4
  34. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +13 -11
  35. package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +58 -4
  36. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +11 -33
  37. package/src/layout/docsLayout.tsx +99 -22
  38. package/src/layout/layout.tsx +1 -1
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useRef as n,useEffect as o}from"react";import{d as i}from"../../../_virtual/index.js";import l from"../SVGLoader/SVGLoader.js";import r from"../../assets/icons/DownArrow.svg.js";import a from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import t from"../../assets/icons/DeleteOutlinedIcon.svg.js";import c from"../../assets/icons/Plus.svg.js";import m from"../../assets/icons/PlusSquare.svg.js";import{httpStatusCodes as u,methodColorMapping as v,paramsTableHeaders as p}from"../../constants/index.js";import h from"../Tooltip/Tooltip.js";import j from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as x,capitalize as g}from"../../helpers/methodAccordion.helper.js";import y from"../table/table.js";import C from"../dialog/index.js";import b from"../JsonInput/JsonInput.js";import N from"./MethodAccordion.module.scss.js";import f from"../../constants/regex.js";const w=u.map((s=>({label:e.jsxs("div",{className:N.statusCodeOptionContainer,children:[e.jsx("div",{className:N.statusCodeOptionCircle,style:{backgroundColor:x(s)}}),e.jsx("span",{children:s})]}),value:s}))),D=({method:u,path:x,setFieldValue:D,readOnly:T,tags:S,isOpen:I,setIsOpen:A,errors:B})=>{var q,O,$,k,E,L,F,_;const[R,W]=s({request:!1,response:!1,method:!1}),[H,V]=s(void 0),[M,P]=s({}),[z,J]=s([]);s([]);const[G,X]=s(!1),[K,Q]=s(!1),[U,Y]=s(null),[Z,ee]=s(null),[se,ne]=s(null),[oe,ie]=s(),[le,re]=s([]),[ae,de]=s([]),[te,ce]=s(w[4]),[me,ue]=s([]),[ve,pe]=s(null),[he,je]=s(-1),xe=u.responses.find((e=>Number(e.code)===te.value))||"{}",ge=n(-1),ye=(e,s,n)=>{const o=z.map(((o,i)=>i===n?Object.assign(Object.assign({},o),{[e]:s}):o));J(o)},Ce=(s,n)=>Object.keys(s).map(((o,r)=>{var t,v,p,j,x,y,C,b,w,S,I,A,B,q,O,$,k,E,L,F,_,R,W,H,V,z,J,G,X,K,Q,U,Y,Z,ee,se,ne,oe,ie,le,re,ae,de,te,ce,he,je,ye,Ce,be,fe,we,De;const Te=s[o];return{id:`header_${r}`,paramName:o,paramType:g("header"),schemaType:g(null===(t=null==Te?void 0:Te.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:T?Te.required?"True":"False":e.jsx(i.Switch,{checked:Te.required,onClick:()=>{if(T)return null;D(`responses[${n}].headers[${o}].required`,!Te.required)}})}),description:e.jsxs("div",{className:N.paramDescContainer,children:[e.jsx(h,{allowHTML:!0,disabled:(null===(v=u.responses[n].headers[o].description)||void 0===v?void 0:v.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:u.responses[n].headers[o].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=M[r])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[u.responses[n].headers[o].description?u.responses[n].headers[o].description.substring(0,12):T&&"-",u.responses[n].headers[o].description&&u.responses[n].headers[o].description.length>12?"...":""]})},`${r}-description`),!T&&e.jsx(h,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>P((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{placeholder:"Describe parameter...",value:Te.description,disabled:T,maxLength:120,onChange:e=>{(""===e||f.ASCII.test(e))&&D(`responses[${ge.current}].headers[${o}].description`,e)}}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,s;D(`responses[${n}].headers[${o}].description`,null===(e=Te.description)||void 0===e?void 0:e.trim()),null===(s=M[r])||void 0===s||s.hide()},disabled:!(null===(p=Te.description)||void 0===p?void 0:p.trim()),children:"Apply"})]}),children:T||(null===(j=u.responses[n].headers[o].description)||void 0===j?void 0:j.length)>0?e.jsx(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:d,width:"1.5rem",height:"1.5rem"})}):e.jsxs(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:d,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})},`${r}-add-edit-description`),!T&&e.jsx("div",{className:N.paramDescContainer_separator}),!T&&e.jsx(i.Button,{className:N.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(l,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>Ne(r,o)})]}),enum:e.jsx(e.Fragment,{children:T?e.jsx("span",{className:"enumText",children:null===(y=null===(x=null==Te?void 0:Te.schema)||void 0===x?void 0:x.enum)||void 0===y?void 0:y.join("/​")}):e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null===(b=null===(C=u.responses[n])||void 0===C?void 0:C.headers[r])||void 0===b?void 0:b.schema)&&"array"!=(null===(A=null===(I=null===(S=null===(w=u.responses[n])||void 0===w?void 0:w.headers[r])||void 0===S?void 0:S.schema)||void 0===I?void 0:I.type)||void 0===A?void 0:A.toLowerCase())&&"object"!=(null===($=null===(O=null===(q=null===(B=u.responses[n])||void 0===B?void 0:B.headers[r])||void 0===q?void 0:q.schema)||void 0===O?void 0:O.type)||void 0===$?void 0:$.toLowerCase())?e.jsx(h,{disabled:"array"==(null===(F=null===(L=null===(E=null===(k=u.responses[n])||void 0===k?void 0:k.headers[r])||void 0===E?void 0:E.schema)||void 0===L?void 0:L.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(H=null===(W=null===(R=null===(_=u.responses[n])||void 0===_?void 0:_.headers[r])||void 0===R?void 0:R.schema)||void 0===W?void 0:W.type)||void 0===H?void 0:H.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>pe(e),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Enum"}),!!(null===(J=null===(z=null===(V=u.responses[n])||void 0===V?void 0:V.headers[r])||void 0===z?void 0:z.schema)||void 0===J?void 0:J.enum)&&!!(null===(K=null===(X=null===(G=u.responses[n])||void 0===G?void 0:G.headers[r])||void 0===X?void 0:X.schema)||void 0===K?void 0:K.enum.length)&&(null===(Z=null===(Y=null===(U=null===(Q=u.responses[n])||void 0===Q?void 0:Q.headers[r])||void 0===U?void 0:U.schema)||void 0===Y?void 0:Y.enum)||void 0===Z?void 0:Z.map(((s,n)=>e.jsx(i.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:s,onChange:e=>{D(`responses[${xe}].headers[${r}].schema.enum[${n}]`,e.toString())}},r)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{var e,s,o;D(`responses[${xe}].headers[${r}].schema.enum`,[...null===(o=null===(s=null===(e=u.responses[n])||void 0===e?void 0:e.headers[r])||void 0===s?void 0:s.schema)||void 0===o?void 0:o.enum,""])},children:[e.jsx(l,{src:m}),"Add New Enum"]}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{D(`responses[${xe}].headers[${r}].schema.enum`,[...u.parameters[r].schema.enum]),ue([]),null==ve||ve.hide()},disabled:me.length>0&&(null==me?void 0:me.filter((e=>!e)).length)||(null===(se=null===(ee=null==u?void 0:u.parameters[r])||void 0===ee?void 0:ee.schema)||void 0===se?void 0:se.enum)&&(null===(ie=null===(oe=null===(ne=null==u?void 0:u.parameters[r])||void 0===ne?void 0:ne.schema)||void 0===oe?void 0:oe.enum)||void 0===ie?void 0:ie.length)>0&&(null===(ae=null===(re=null===(le=null==u?void 0:u.parameters[r])||void 0===le?void 0:le.schema)||void 0===re?void 0:re.enum)||void 0===ae?void 0:ae.filter((e=>!e)).length),children:"Apply"})]}),children:(null===(ce=null===(te=null===(de=u.responses[n])||void 0===de?void 0:de.headers[r])||void 0===te?void 0:te.schema)||void 0===ce?void 0:ce.enum)&&(null===(Ce=null===(ye=null===(je=null===(he=u.responses[n])||void 0===he?void 0:he.headers[r])||void 0===je?void 0:je.schema)||void 0===ye?void 0:ye.enum)||void 0===Ce?void 0:Ce.length)>0?e.jsx("span",{className:"enumText",children:null===(De=null===(we=null===(fe=null===(be=u.responses[n])||void 0===be?void 0:be.headers[r])||void 0===fe?void 0:fe.schema)||void 0===we?void 0:we.enum)||void 0===De?void 0:De.join("/​")}):e.jsx(i.Button,{className:N.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(l,{id:"enumIcon",src:c,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})})}})),be=(e,s)=>{Y(e),ne(s),X(!0)},Ne=(e,s)=>{ee(e),ne(s),Q(!0)};return o((()=>{var s;ie((s=z,(!0?s.filter((e=>e.in&&"header"!=e.in.toLowerCase())):s.filter((e=>e.in&&"header"==e.in.toLowerCase()))).map(((s,n)=>{var o,r,t,v,p,j,x,y,C,b,w,S,I,A,B,q,O,$,k,E,L,F,_,R,W,H,V,z,J,G,X,K,Q,U,Y,Z,ee,se,ne,oe,ie,le;return{id:n,paramName:s.name,paramType:g(s.in),schemaType:g(null===(o=s.schema)||void 0===o?void 0:o.type)||"",required:e.jsx(e.Fragment,{children:T?s.required?"True":"False":e.jsx(i.Switch,{checked:s.required,onClick:()=>{if(T)return null;ye("required",!s.required,n),D(`parameters[${n}][required]`,!s.required)}})}),description:e.jsxs("div",{className:N.paramDescContainer,children:[e.jsx(h,{allowHTML:!0,disabled:(null===(r=u.parameters[n].description)||void 0===r?void 0:r.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:u.parameters[n].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=M[n])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[u.parameters[n].description?u.parameters[n].description.substring(0,12):T&&"-",u.parameters[n].description&&u.parameters[n].description.length>12?"...":""]})},`${n}-description`),!T&&e.jsx(h,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>P((s=>Object.assign(Object.assign({},s),{[n]:e}))),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:T,maxLength:120,onChange:e=>{(""===e||f.ASCII.test(e))&&ye("description",e,n)}}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;D(`parameters[${n}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(o=M[n])||void 0===o||o.hide()},disabled:!(null===(t=s.description)||void 0===t?void 0:t.trim()),children:"Apply"})]}),children:T||(null===(v=u.parameters[n].description)||void 0===v?void 0:v.length)>0?e.jsx(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:d,width:"1.5rem",height:"1.5rem"})}):e.jsxs(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:d,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})},`${n}-add-edit-description`),!T&&e.jsx("div",{className:N.paramDescContainer_separator}),!T&&e.jsx(i.Button,{className:N.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(l,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>be(n,s.name)})]}),enum:e.jsx(e.Fragment,{children:T?e.jsx("span",{className:"enumText",children:null===(j=null===(p=null==s?void 0:s.schema)||void 0===p?void 0:p.enum)||void 0===j?void 0:j.join("/​")}):e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null===(x=u.parameters[n])||void 0===x?void 0:x.schema)&&"array"!=(null===(b=null===(C=null===(y=u.parameters[n])||void 0===y?void 0:y.schema)||void 0===C?void 0:C.type)||void 0===b?void 0:b.toLowerCase())&&"object"!=(null===(I=null===(S=null===(w=u.parameters[n])||void 0===w?void 0:w.schema)||void 0===S?void 0:S.type)||void 0===I?void 0:I.toLowerCase())?e.jsx(h,{disabled:"array"==(null===(q=null===(B=null===(A=u.parameters[n])||void 0===A?void 0:A.schema)||void 0===B?void 0:B.type)||void 0===q?void 0:q.toLowerCase())||"object"==(null===(k=null===($=null===(O=u.parameters[n])||void 0===O?void 0:O.schema)||void 0===$?void 0:$.type)||void 0===k?void 0:k.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>pe(e),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Enum"}),!!(null===(L=null===(E=u.parameters[n])||void 0===E?void 0:E.schema)||void 0===L?void 0:L.enum)&&!!(null===(_=null===(F=u.parameters[n])||void 0===F?void 0:F.schema)||void 0===_?void 0:_.enum.length)&&(null===(H=null===(W=null===(R=u.parameters[n])||void 0===R?void 0:R.schema)||void 0===W?void 0:W.enum)||void 0===H?void 0:H.map(((s,o)=>e.jsx(i.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:s,onChange:e=>{D(`parameters[${n}].schema.enum[${o}]`,e)}},n)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{var e,s;D(`parameters[${n}].schema.enum`,[...null===(s=null===(e=u.parameters[n])||void 0===e?void 0:e.schema)||void 0===s?void 0:s.enum,""])},children:[e.jsx(l,{src:m}),"Add New Enum"]}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{D(`parameters[${n}].schema.enum`,[...u.parameters[n].schema.enum]),ue([]),null==ve||ve.hide()},disabled:me.length>0&&(null==me?void 0:me.filter((e=>!e)).length)||(null===(z=null===(V=null==u?void 0:u.parameters[n])||void 0===V?void 0:V.schema)||void 0===z?void 0:z.enum)&&(null===(X=null===(G=null===(J=null==u?void 0:u.parameters[n])||void 0===J?void 0:J.schema)||void 0===G?void 0:G.enum)||void 0===X?void 0:X.length)>0&&(null===(U=null===(Q=null===(K=null==u?void 0:u.parameters[n])||void 0===K?void 0:K.schema)||void 0===Q?void 0:Q.enum)||void 0===U?void 0:U.filter((e=>!e)).length),children:"Apply"})]}),children:(null===(Z=null===(Y=u.parameters[n])||void 0===Y?void 0:Y.schema)||void 0===Z?void 0:Z.enum)&&(null===(ne=null===(se=null===(ee=u.parameters[n])||void 0===ee?void 0:ee.schema)||void 0===se?void 0:se.enum)||void 0===ne?void 0:ne.length)>0?e.jsx("span",{className:"enumText",children:null===(le=null===(ie=null===(oe=u.parameters[n])||void 0===oe?void 0:oe.schema)||void 0===ie?void 0:ie.enum)||void 0===le?void 0:le.join("/​")}):e.jsx(i.Button,{className:N.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(l,{id:"enumIcon",src:c,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})})}}))))}),[z]),o((()=>{(null==u?void 0:u.parameters)&&J(u.parameters)}),[u,x]),o((()=>{if(te&&u.responses){let e=u.responses.findIndex((e=>e.code.toString()==te.value.toString()));if(e<0){const s=structuredClone(u.responses);s.push({code:te.value.toString(),content:{contentType:"application/json",schema:{}},headers:{}}),D("responses",s),e=0}je(e),ge.current=e,re(Ce(u.responses[e].headers,e))}}),[te,u.responses]),o((()=>{ge.current&&ge.current>-1&&re(Ce(u.responses[ge.current].headers,ge.current))}),[u.responses,ge.current]),o((()=>{var e;if((null==u?void 0:u.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==u?void 0:u.tags)||[])||void 0===e?void 0:e.map((e=>({label:g(e),value:e}))),...(S||[]).map((e=>({label:g(e.name),value:e.name})))].filter(((e,s,n)=>s===n.findIndex((s=>s.value===e.value))));de(s)}}),[S,u]),e.jsxs("div",{children:[e.jsx(i.Accordion,{expanded:I,onChange:()=>A(!I),className:`${N.methodAccordion} ${T?N.readOnly:""}`,summary:e.jsxs("div",{className:N.methodSummaryContainer,children:[e.jsxs("div",{className:N.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(q=null==v?void 0:v[null==u?void 0:u.type])||void 0===q?void 0:q.color)||"#3A6CD1"},className:N.methodLabel,children:(null===(O=null==v?void 0:v[null==u?void 0:u.type])||void 0===O?void 0:O.label)||(null==u?void 0:u.type)}),e.jsx("span",{className:N.methodPath,children:x})]}),e.jsx("div",{className:`${N.methodExpandArrowContainer} ${I?N.expanded:""}`,children:e.jsx(l,{src:r,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:N.methodAccordionContent,children:[T?e.jsx(j,{label:"Endpoint Name: ",value:(null==u?void 0:u.summary)||"-"},"summary"):e.jsx(i.Input,{className:N.methodDesc,label:"Endpoint Name",required:!0,placeholder:"Endpoint name...",value:null==u?void 0:u.summary,onChange:e=>{(""===(e=e||"")||f.ASCII.test(e))&&D("summary",e)},onClear:()=>{D("summary","")},errorMsg:null==B?void 0:B.summary}),e.jsx(i.SelectGroup,{className:N.methodDesc,disabled:T,placeholder:"Select Tags",label:"Tags",value:null===($=u.tags)||void 0===$?void 0:$.map((e=>({label:g(e),value:e}))),onChange:e=>{D("tags",e.map((e=>e.value)))},options:[{list:ae}],isMultiple:!0,withSearch:!1,clearable:!1}),T?e.jsx(j,{label:"Description: ",value:(null==u?void 0:u.description)||"-"},"description"):e.jsx(i.TextArea,{className:N.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==u?void 0:u.description,onChange:e=>{(""===e||f.ASCII.test(e))&&D("description",e)}}),e.jsxs("div",{className:N.paramsTable,children:[e.jsx("h4",{className:N.paramsTableBodyHead,children:"Request Details"}),e.jsx(y,{id:"paramter-request-table",data:oe,headCells:p,isFormOpen:H&&"Req"==H,setIsFormOpen:V,saveNewRow:e=>{J([...z,e]),D("parameters",[...u.parameters,e])},readOnly:T,isRequest:!0}),"get"!==(null==u?void 0:u.type)&&"delete"!==(null==u?void 0:u.type)&&e.jsx(i.Accordion,{expanded:R.request,onChange:()=>null,className:N.requestAccordion,summary:e.jsx("span",{className:N.requestAccordionSummary,children:e.jsxs("div",{className:N.requestAccordionSummary_title,onClick:()=>W((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(l,{className:R.request?N.expanded:"",src:r,width:"2rem",height:"2rem"}),"Request","delete"!==(null==u?void 0:u.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!T,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:T,value:(null===(L=null===(E=null===(k=null==u?void 0:u.requestBody)||void 0===k?void 0:k.content)||void 0===E?void 0:E.schema)||void 0===L?void 0:L.properties)||"{}",onChange:e=>{D("requestBody.content.schema.properties",e)},onValidation:()=>null})})]}),e.jsxs("div",{className:N.paramsTable,children:[e.jsxs("div",{className:N.responseHeader,children:[e.jsx("h4",{className:N.paramsTableBodyHead,children:"Response Details"}),e.jsx(i.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:w}],value:te,onChange:e=>{ce(e)}})]}),e.jsx(y,{id:"paramter-response-table",data:le,headCells:p,isFormOpen:H&&"Res"==H,setIsFormOpen:V,saveNewRow:e=>{D(`responses[${ge.current}].headers[${e.name}]`,e)},readOnly:T,isRequest:!1}),e.jsx(i.Accordion,{expanded:R.response,onChange:()=>null,className:N.responseAccordion,summary:e.jsx("span",{className:N.responseAccordionSummary,children:e.jsxs("div",{className:N.responseAccordionSummary_title,onClick:()=>W((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(l,{className:R.response?N.expanded:"",src:r,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!T,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:T,value:(null===(_=null===(F=null==xe?void 0:xe.content)||void 0===F?void 0:F.schema)||void 0===_?void 0:_.properties)||"{}",onChange:e=>{const s=u.responses.findIndex((e=>e.code===xe.code));if(-1!==s)D(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(u.responses);s.push({code:te.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),D("responses",s)}},onValidation:e=>null})})]})]})}),e.jsx(C,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Parameter ",e.jsx("strong",{children:se})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==U&&(J((e=>e.filter(((e,s)=>s!==U)))),D("parameters",null===(e=null==u?void 0:u.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==U)))),X(!1),Y(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>X(!1),open:G,icon:e.jsx(l,{src:t,width:"4.0625rem",height:"4.0625rem"})}),e.jsx(C,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Header ",e.jsx("strong",{children:se})]}),"?"]}),onSubmit:{onClick:()=>{if(null!==ee){let e=Object.fromEntries(Object.entries(u.responses[ge.current].headers).filter((([e])=>e!=se)));D(`responses[${ge.current}].headers`,e)}Q(!1),ee(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>Q(!1),open:K,icon:e.jsx(l,{src:t,width:"4.0625rem",height:"4.0625rem"})})]})};export{D as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useRef as n,useEffect as o}from"react";import{d as i}from"../../../_virtual/index.js";import l from"../SVGLoader/SVGLoader.js";import r from"../../assets/icons/DownArrow.svg.js";import d from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import t from"../../assets/icons/DeleteOutlinedIcon.svg.js";import c from"../../assets/icons/Plus.svg.js";import m from"../../assets/icons/PlusSquare.svg.js";import{httpStatusCodes as u,methodColorMapping as v,paramsTableHeaders as p}from"../../constants/index.js";import h from"../Tooltip/Tooltip.js";import j from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as x,capitalize as g}from"../../helpers/methodAccordion.helper.js";import y from"../table/table.js";import C from"../dialog/index.js";import b from"../JsonInput/JsonInput.js";import N from"./MethodAccordion.module.scss.js";import f from"../../constants/regex.js";const w=u.map((s=>({label:e.jsxs("div",{className:N.statusCodeOptionContainer,children:[e.jsx("div",{className:N.statusCodeOptionCircle,style:{backgroundColor:x(s)}}),e.jsx("span",{children:s})]}),value:s}))),D=({method:u,path:x,setFieldValue:D,readOnly:T,tags:S,isOpen:I,setIsOpen:$,errors:A})=>{var B,q,O,k,E,L,_,F;const[R,W]=s({request:!1,response:!1,method:!1}),[H,V]=s(void 0),[M,P]=s({}),[z,J]=s([]);s([]);const[G,X]=s(!1),[K,Q]=s(!1),[U,Y]=s(null),[Z,ee]=s(null),[se,ne]=s(null),[oe,ie]=s(),[le,re]=s([]),[de,ae]=s([]),[te,ce]=s(w[4]),[me,ue]=s([]),[ve,pe]=s(null),[he,je]=s(-1),xe=u.responses.find((e=>Number(e.code)===te.value))||"{}",ge=n(-1),ye=(e,s,n)=>{const o=z.map(((o,i)=>i===n?Object.assign(Object.assign({},o),{[e]:s}):o));J(o)},Ce=(s,n)=>Object.keys(s).map(((o,r)=>{var t,v,p,j,x,y,C,b,w,S,I,$,A,B,q,O,k,E,L,_,F,R,W,H,V,z,J,G,X,K,Q,U,Y,Z,ee,se,ne,oe,ie,le,re,de,ae,te,ce,he,je,ye,Ce,be,fe,we,De,Te,Se,Ie,$e,Ae,Be,qe;const Oe=s[o];return{id:`header_${r}`,paramName:o,paramType:g("header"),schemaType:`${g(null===(t=null==Oe?void 0:Oe.schema)||void 0===t?void 0:t.type)||""} ${"array"==(null===(p=null===(v=null==Oe?void 0:Oe.schema)||void 0===v?void 0:v.type)||void 0===p?void 0:p.toLowerCase())&&(null===(j=null==Oe?void 0:Oe.schema)||void 0===j?void 0:j.items)&&(null===(y=null===(x=null==Oe?void 0:Oe.schema)||void 0===x?void 0:x.items)||void 0===y?void 0:y.type)?` _ ${g(null===(b=null===(C=null==Oe?void 0:Oe.schema)||void 0===C?void 0:C.items)||void 0===b?void 0:b.type)}`:""}`,required:e.jsx(e.Fragment,{children:T?Oe.required?"True":"False":e.jsx(i.Switch,{checked:Oe.required,onClick:()=>{if(T)return null;D(`responses[${n}].headers[${o}].required`,!Oe.required)}})}),description:e.jsxs("div",{className:N.paramDescContainer,children:[e.jsx(h,{allowHTML:!0,disabled:(null===(w=u.responses[n].headers[o].description)||void 0===w?void 0:w.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:u.responses[n].headers[o].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=M[r])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[u.responses[n].headers[o].description?u.responses[n].headers[o].description.substring(0,12):T&&"-",u.responses[n].headers[o].description&&u.responses[n].headers[o].description.length>12?"...":""]})},`${r}-description`),!T&&e.jsx(h,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>P((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{placeholder:"Describe parameter...",value:Oe.description,disabled:T,maxLength:120,onChange:e=>{(""===e||f.ASCII.test(e))&&D(`responses[${ge.current}].headers[${o}].description`,e)}}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,s;D(`responses[${n}].headers[${o}].description`,null===(e=Oe.description)||void 0===e?void 0:e.trim()),null===(s=M[r])||void 0===s||s.hide()},disabled:!(null===(S=Oe.description)||void 0===S?void 0:S.trim()),children:"Apply"})]}),children:T||(null===(I=u.responses[n].headers[o].description)||void 0===I?void 0:I.length)>0?e.jsx(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:a,width:"1.5rem",height:"1.5rem"})}):e.jsxs(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:a,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})},`${r}-add-edit-description`),!T&&e.jsx("div",{className:N.paramDescContainer_separator}),!T&&e.jsx(i.Button,{className:N.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(l,{src:d,width:"1.125rem",height:"1.125rem"}),onClick:()=>Ne(r,o)})]}),enum:e.jsx(e.Fragment,{children:T?e.jsx("span",{className:"enumText",children:null===(A=null===($=null==Oe?void 0:Oe.schema)||void 0===$?void 0:$.enum)||void 0===A?void 0:A.join("/​")}):e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null===(q=null===(B=u.responses[n])||void 0===B?void 0:B.headers[r])||void 0===q?void 0:q.schema)&&"array"!=(null===(L=null===(E=null===(k=null===(O=u.responses[n])||void 0===O?void 0:O.headers[r])||void 0===k?void 0:k.schema)||void 0===E?void 0:E.type)||void 0===L?void 0:L.toLowerCase())&&"object"!=(null===(W=null===(R=null===(F=null===(_=u.responses[n])||void 0===_?void 0:_.headers[r])||void 0===F?void 0:F.schema)||void 0===R?void 0:R.type)||void 0===W?void 0:W.toLowerCase())?e.jsx(h,{disabled:"array"==(null===(J=null===(z=null===(V=null===(H=u.responses[n])||void 0===H?void 0:H.headers[r])||void 0===V?void 0:V.schema)||void 0===z?void 0:z.type)||void 0===J?void 0:J.toLowerCase())||"object"==(null===(Q=null===(K=null===(X=null===(G=u.responses[n])||void 0===G?void 0:G.headers[r])||void 0===X?void 0:X.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>pe(e),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Enum"}),!!(null===(Z=null===(Y=null===(U=u.responses[n])||void 0===U?void 0:U.headers[r])||void 0===Y?void 0:Y.schema)||void 0===Z?void 0:Z.enum)&&!!(null===(ne=null===(se=null===(ee=u.responses[n])||void 0===ee?void 0:ee.headers[r])||void 0===se?void 0:se.schema)||void 0===ne?void 0:ne.enum.length)&&(null===(re=null===(le=null===(ie=null===(oe=u.responses[n])||void 0===oe?void 0:oe.headers[r])||void 0===ie?void 0:ie.schema)||void 0===le?void 0:le.enum)||void 0===re?void 0:re.map(((s,n)=>e.jsx(i.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:s,onChange:e=>{D(`responses[${xe}].headers[${r}].schema.enum[${n}]`,e.toString())}},r)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{var e,s,o;D(`responses[${xe}].headers[${r}].schema.enum`,[...null===(o=null===(s=null===(e=u.responses[n])||void 0===e?void 0:e.headers[r])||void 0===s?void 0:s.schema)||void 0===o?void 0:o.enum,""])},children:[e.jsx(l,{src:m}),"Add New Enum"]}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{D(`responses[${xe}].headers[${r}].schema.enum`,[...u.parameters[r].schema.enum]),ue([]),null==ve||ve.hide()},disabled:me.length>0&&(null==me?void 0:me.filter((e=>!e)).length)||(null===(ae=null===(de=null==u?void 0:u.parameters[r])||void 0===de?void 0:de.schema)||void 0===ae?void 0:ae.enum)&&(null===(he=null===(ce=null===(te=null==u?void 0:u.parameters[r])||void 0===te?void 0:te.schema)||void 0===ce?void 0:ce.enum)||void 0===he?void 0:he.length)>0&&(null===(Ce=null===(ye=null===(je=null==u?void 0:u.parameters[r])||void 0===je?void 0:je.schema)||void 0===ye?void 0:ye.enum)||void 0===Ce?void 0:Ce.filter((e=>!e)).length),children:"Apply"})]}),children:(null===(we=null===(fe=null===(be=u.responses[n])||void 0===be?void 0:be.headers[r])||void 0===fe?void 0:fe.schema)||void 0===we?void 0:we.enum)&&(null===(Ie=null===(Se=null===(Te=null===(De=u.responses[n])||void 0===De?void 0:De.headers[r])||void 0===Te?void 0:Te.schema)||void 0===Se?void 0:Se.enum)||void 0===Ie?void 0:Ie.length)>0?e.jsx("span",{className:"enumText",children:null===(qe=null===(Be=null===(Ae=null===($e=u.responses[n])||void 0===$e?void 0:$e.headers[r])||void 0===Ae?void 0:Ae.schema)||void 0===Be?void 0:Be.enum)||void 0===qe?void 0:qe.join("/​")}):e.jsx(i.Button,{className:N.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(l,{id:"enumIcon",src:c,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})})}})),be=(e,s)=>{Y(e),ne(s),X(!0)},Ne=(e,s)=>{ee(e),ne(s),Q(!0)};return o((()=>{var s;ie(null==(s=z)?void 0:s.map(((s,n)=>{var o,r,t,v,p,j,x,y,C,b,w,S,I,$,A,B,q,O,k,E,L,_,F,R,W,H,V,z,J,G,X,K,Q,U,Y,Z,ee,se,ne,oe,ie,le,re,de,ae,te,ce,he,je;return{id:n,paramName:s.name,paramType:g(s.in),schemaType:`${g(null===(o=null==s?void 0:s.schema)||void 0===o?void 0:o.type)||""} ${"array"==(null===(t=null===(r=null==s?void 0:s.schema)||void 0===r?void 0:r.type)||void 0===t?void 0:t.toLowerCase())&&(null===(v=null==s?void 0:s.schema)||void 0===v?void 0:v.items)&&(null===(j=null===(p=null==s?void 0:s.schema)||void 0===p?void 0:p.items)||void 0===j?void 0:j.type)?` _ ${g(null===(y=null===(x=null==s?void 0:s.schema)||void 0===x?void 0:x.items)||void 0===y?void 0:y.type)}`:""}`,required:e.jsx(e.Fragment,{children:T?s.required?"True":"False":e.jsx(i.Switch,{checked:s.required,onClick:()=>{if(T)return null;ye("required",!s.required,n),D(`parameters[${n}][required]`,!s.required)}})}),description:e.jsxs("div",{className:N.paramDescContainer,children:[e.jsx(h,{allowHTML:!0,disabled:(null===(C=u.parameters[n].description)||void 0===C?void 0:C.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:u.parameters[n].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=M[n])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[u.parameters[n].description?u.parameters[n].description.substring(0,12):T&&"-",u.parameters[n].description&&u.parameters[n].description.length>12?"...":""]})},`${n}-description`),!T&&e.jsx(h,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>P((s=>Object.assign(Object.assign({},s),{[n]:e}))),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:T,maxLength:120,onChange:e=>{(""===e||f.ASCII.test(e))&&ye("description",e,n)}}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;D(`parameters[${n}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(o=M[n])||void 0===o||o.hide()},disabled:!(null===(b=s.description)||void 0===b?void 0:b.trim()),children:"Apply"})]}),children:T||(null===(w=u.parameters[n].description)||void 0===w?void 0:w.length)>0?e.jsx(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:a,width:"1.5rem",height:"1.5rem"})}):e.jsxs(i.Button,{className:N.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:a,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})},`${n}-add-edit-description`),!T&&e.jsx("div",{className:N.paramDescContainer_separator}),!T&&e.jsx(i.Button,{className:N.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(l,{src:d,width:"1.125rem",height:"1.125rem"}),onClick:()=>be(n,s.name)})]}),enum:e.jsx(e.Fragment,{children:T?e.jsx("span",{className:"enumText",children:null===(I=null===(S=null==s?void 0:s.schema)||void 0===S?void 0:S.enum)||void 0===I?void 0:I.join("/​")}):e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null===($=u.parameters[n])||void 0===$?void 0:$.schema)&&"array"!=(null===(q=null===(B=null===(A=u.parameters[n])||void 0===A?void 0:A.schema)||void 0===B?void 0:B.type)||void 0===q?void 0:q.toLowerCase())&&"object"!=(null===(E=null===(k=null===(O=u.parameters[n])||void 0===O?void 0:O.schema)||void 0===k?void 0:k.type)||void 0===E?void 0:E.toLowerCase())?e.jsx(h,{disabled:"array"==(null===(F=null===(_=null===(L=u.parameters[n])||void 0===L?void 0:L.schema)||void 0===_?void 0:_.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(H=null===(W=null===(R=u.parameters[n])||void 0===R?void 0:R.schema)||void 0===W?void 0:W.type)||void 0===H?void 0:H.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>pe(e),content:e.jsxs("div",{className:N.editDescTooltipContent,children:[e.jsx("p",{className:N.editDescTooltipContent_header,children:"Enum"}),!!(null===(z=null===(V=u.parameters[n])||void 0===V?void 0:V.schema)||void 0===z?void 0:z.enum)&&!!(null===(G=null===(J=u.parameters[n])||void 0===J?void 0:J.schema)||void 0===G?void 0:G.enum.length)&&(null===(Q=null===(K=null===(X=u.parameters[n])||void 0===X?void 0:X.schema)||void 0===K?void 0:K.enum)||void 0===Q?void 0:Q.map(((s,o)=>e.jsx(i.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:s,onChange:e=>{D(`parameters[${n}].schema.enum[${o}]`,e)}},n)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{var e,s;D(`parameters[${n}].schema.enum`,[...null===(s=null===(e=u.parameters[n])||void 0===e?void 0:e.schema)||void 0===s?void 0:s.enum,""])},children:[e.jsx(l,{src:m}),"Add New Enum"]}),!T&&e.jsx(i.Button,{className:N.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{D(`parameters[${n}].schema.enum`,[...u.parameters[n].schema.enum]),ue([]),null==ve||ve.hide()},disabled:me.length>0&&(null==me?void 0:me.filter((e=>!e)).length)||(null===(Y=null===(U=null==u?void 0:u.parameters[n])||void 0===U?void 0:U.schema)||void 0===Y?void 0:Y.enum)&&(null===(se=null===(ee=null===(Z=null==u?void 0:u.parameters[n])||void 0===Z?void 0:Z.schema)||void 0===ee?void 0:ee.enum)||void 0===se?void 0:se.length)>0&&(null===(ie=null===(oe=null===(ne=null==u?void 0:u.parameters[n])||void 0===ne?void 0:ne.schema)||void 0===oe?void 0:oe.enum)||void 0===ie?void 0:ie.filter((e=>!e)).length),children:"Apply"})]}),children:(null===(re=null===(le=u.parameters[n])||void 0===le?void 0:le.schema)||void 0===re?void 0:re.enum)&&(null===(te=null===(ae=null===(de=u.parameters[n])||void 0===de?void 0:de.schema)||void 0===ae?void 0:ae.enum)||void 0===te?void 0:te.length)>0?e.jsx("span",{className:"enumText",children:null===(je=null===(he=null===(ce=u.parameters[n])||void 0===ce?void 0:ce.schema)||void 0===he?void 0:he.enum)||void 0===je?void 0:je.join("/​")}):e.jsx(i.Button,{className:N.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(l,{id:"enumIcon",src:c,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})})}})))}),[z]),o((()=>{(null==u?void 0:u.parameters)&&J(u.parameters)}),[u,x]),o((()=>{if(te&&u.responses){let e=u.responses.findIndex((e=>e.code.toString()==te.value.toString()));if(e<0){const s=structuredClone(u.responses);s.push({code:te.value.toString(),content:{contentType:"application/json",schema:{}},headers:{}}),D("responses",s),e=0}je(e),ge.current=e,re(Ce(u.responses[e].headers,e))}}),[te,u.responses]),o((()=>{ge.current&&ge.current>-1&&re(Ce(u.responses[ge.current].headers,ge.current))}),[u.responses,ge.current]),o((()=>{var e;if((null==u?void 0:u.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==u?void 0:u.tags)||[])||void 0===e?void 0:e.map((e=>({label:g(e),value:e}))),...(S||[]).map((e=>({label:g(e.name),value:e.name})))].filter(((e,s,n)=>s===n.findIndex((s=>s.value===e.value))));ae(s)}}),[S,u]),e.jsxs("div",{children:[e.jsx(i.Accordion,{expanded:I,onChange:()=>$(!I),className:`${N.methodAccordion} ${T?N.readOnly:""}`,summary:e.jsxs("div",{className:N.methodSummaryContainer,children:[e.jsxs("div",{className:N.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(B=null==v?void 0:v[null==u?void 0:u.type])||void 0===B?void 0:B.color)||"#3A6CD1"},className:N.methodLabel,children:(null===(q=null==v?void 0:v[null==u?void 0:u.type])||void 0===q?void 0:q.label)||(null==u?void 0:u.type)}),e.jsx("span",{className:N.methodPath,children:x})]}),e.jsx("div",{className:`${N.methodExpandArrowContainer} ${I?N.expanded:""}`,children:e.jsx(l,{src:r,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:N.methodAccordionContent,children:[T?e.jsx(j,{label:"Endpoint Name: ",value:(null==u?void 0:u.summary)||"-"},"summary"):e.jsx(i.Input,{className:N.methodDesc,label:"Endpoint Name",required:!0,placeholder:"Endpoint name...",value:null==u?void 0:u.summary,onChange:e=>{(""===(e=e||"")||f.ASCII.test(e))&&D("summary",e)},onClear:()=>{D("summary","")},errorMsg:null==A?void 0:A.summary}),e.jsx(i.SelectGroup,{className:N.methodDesc,disabled:T,placeholder:"Select Tags",label:"Tags",value:null===(O=u.tags)||void 0===O?void 0:O.map((e=>({label:g(e),value:e}))),onChange:e=>{D("tags",e.map((e=>e.value)))},options:[{list:de}],isMultiple:!0,withSearch:!1,clearable:!1}),T?e.jsx(j,{label:"Description: ",value:(null==u?void 0:u.description)||"-"},"description"):e.jsx(i.TextArea,{className:N.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==u?void 0:u.description,onChange:e=>{(""===e||f.ASCII.test(e))&&D("description",e)}}),e.jsxs("div",{className:N.paramsTable,children:[e.jsx("h4",{className:N.paramsTableBodyHead,children:"Request Details"}),e.jsx(y,{id:"paramter-request-table",data:oe,headCells:p,isFormOpen:H&&"Req"==H,setIsFormOpen:V,saveNewRow:e=>{J([...z,e]),D("parameters",[...u.parameters,e])},readOnly:T,isRequest:!0}),"get"!==(null==u?void 0:u.type)&&"delete"!==(null==u?void 0:u.type)&&e.jsx(i.Accordion,{expanded:R.request,onChange:()=>null,className:N.requestAccordion,summary:e.jsx("span",{className:N.requestAccordionSummary,children:e.jsxs("div",{className:N.requestAccordionSummary_title,onClick:()=>W((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(l,{className:R.request?N.expanded:"",src:r,width:"2rem",height:"2rem"}),"Request","delete"!==(null==u?void 0:u.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!T,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:T,value:(null===(L=null===(E=null===(k=null==u?void 0:u.requestBody)||void 0===k?void 0:k.content)||void 0===E?void 0:E.schema)||void 0===L?void 0:L.properties)||"{}",onChange:e=>{D("requestBody.content.schema.properties",e)},onValidation:()=>null})})]}),e.jsxs("div",{className:N.paramsTable,children:[e.jsxs("div",{className:N.responseHeader,children:[e.jsx("h4",{className:N.paramsTableBodyHead,children:"Response Details"}),e.jsx(i.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:w}],value:te,onChange:e=>{ce(e)}})]}),e.jsx(y,{id:"paramter-response-table",data:le,headCells:p,isFormOpen:H&&"Res"==H,setIsFormOpen:V,saveNewRow:e=>{D(`responses[${ge.current}].headers[${e.name}]`,e)},readOnly:T,isRequest:!1}),e.jsx(i.Accordion,{expanded:R.response,onChange:()=>null,className:N.responseAccordion,summary:e.jsx("span",{className:N.responseAccordionSummary,children:e.jsxs("div",{className:N.responseAccordionSummary_title,onClick:()=>W((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(l,{className:R.response?N.expanded:"",src:r,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!T,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:T,value:(null===(F=null===(_=null==xe?void 0:xe.content)||void 0===_?void 0:_.schema)||void 0===F?void 0:F.properties)||"{}",onChange:e=>{const s=u.responses.findIndex((e=>e.code===xe.code));if(-1!==s)D(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(u.responses);s.push({code:te.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),D("responses",s)}},onValidation:e=>null})})]})]})}),e.jsx(C,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Parameter ",e.jsx("strong",{children:se})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==U&&(J((e=>e.filter(((e,s)=>s!==U)))),D("parameters",null===(e=null==u?void 0:u.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==U)))),X(!1),Y(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>X(!1),open:G,icon:e.jsx(l,{src:t,width:"4.0625rem",height:"4.0625rem"})}),e.jsx(C,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Header ",e.jsx("strong",{children:se})]}),"?"]}),onSubmit:{onClick:()=>{if(null!==ee){let e=Object.fromEntries(Object.entries(u.responses[ge.current].headers).filter((([e])=>e!=se)));D(`responses[${ge.current}].headers`,e)}Q(!1),ee(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>Q(!1),open:K,icon:e.jsx(l,{src:t,width:"4.0625rem",height:"4.0625rem"})})]})};export{D as default};
2
2
  //# sourceMappingURL=MethodAccordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport {\n Accordion,\n Button,\n Input,\n SelectGroup,\n SelectGroupV2,\n Switch,\n TextArea,\n} from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport { DeleteIcon, DownArrowIcon, EditIcon, DeleteOutlinedIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\n\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n}))\n\nconst MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<'Req' | 'Res'>(undefined)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: capitalize(data?.schema?.type) || '',\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n // onResponseTableChange('description', value, item, indexRef.current)\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.responses[responseIndex]?.headers[index]?.schema &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'array' &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'object' ? (\n <Tooltip\n disabled={\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'array' ||\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n !!method.responses[responseIndex]?.headers[index]?.schema?.enum.length &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.map(\n (item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum[${_index}]`,\n value.toString()\n )\n }}\n />\n )\n )}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.responses[responseIndex]?.headers[index]?.schema?.enum, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.parameters[index].schema.enum]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.responses[responseIndex]?.headers[index]?.schema?.enum?.join(\n '/\\u200B'\n )}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n const data = isForRequest\n ? items.filter((item) => item.in && item.in.toLowerCase() != 'header')\n : items.filter((item) => item.in && item.in.toLowerCase() == 'header')\n return data.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: capitalize(item.schema?.type) || '',\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n // setTableResponseData([...tableResponseData, values])\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }, [selectedStatusCode, method.responses])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Req'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Res'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","undefined","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","currentResponse","responses","find","res","Number","indexRef","useRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_b","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","current","Button","editDescTooltipContent_btn","variant","size","trim","_c","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","Fragment","_e","_f","join","_h","_g","_m","_k","_j","_l","toLowerCase","_s","_p","_o","_q","_w","_v","_u","_t","_0","_y","_x","_z","_2","_1","_3","_6","_5","_10","_9","_8","_7","_index","Input","clearable","toString","PlusSquare","parameters","filter","_12","_11","_15","_13","_14","_18","_17","_16","_21","_20","_19","_25","_24","_23","_22","_29","_28","_27","_26","PlusIcon","handleDeleteClick","name","useEffect","items","in","_d","jsxs","_4","findIndex","_r","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","fromEntries","entries"],"mappings":"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"}
1
+ {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport {\n Accordion,\n Button,\n Input,\n SelectGroup,\n SelectGroupV2,\n Switch,\n TextArea,\n} from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport { DeleteIcon, DownArrowIcon, EditIcon, DeleteOutlinedIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\n\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n}))\n\nconst MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<'Req' | 'Res'>(undefined)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\n data?.schema?.type?.toLowerCase() == 'array' &&\n data?.schema?.items &&\n data?.schema?.items?.type\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.responses[responseIndex]?.headers[index]?.schema &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'array' &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'object' ? (\n <Tooltip\n disabled={\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'array' ||\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n !!method.responses[responseIndex]?.headers[index]?.schema?.enum.length &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.map(\n (item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum[${_index}]`,\n value.toString()\n )\n }}\n />\n )\n )}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.responses[responseIndex]?.headers[index]?.schema?.enum, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.parameters[index].schema.enum]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.responses[responseIndex]?.headers[index]?.schema?.enum?.join(\n '/\\u200B'\n )}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n return items?.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\n item?.schema?.type?.toLowerCase() == 'array' &&\n item?.schema?.items &&\n item?.schema?.items?.type\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }, [selectedStatusCode, method.responses])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Req'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Res'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","undefined","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","currentResponse","responses","find","res","Number","indexRef","useRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","schema","_a","type","_c","_b","toLowerCase","_d","items","_f","_e","_h","_g","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_j","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","current","Button","editDescTooltipContent_btn","variant","size","trim","_k","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","Fragment","_m","_o","join","_q","_p","_v","_t","_s","_u","_z","_x","_w","_y","_3","_2","_1","_0","_7","_5","_4","_6","_9","_8","_10","_13","_12","_17","_16","_15","_14","_index","Input","clearable","toString","PlusSquare","parameters","filter","_19","_18","_22","_20","_21","_25","_24","_23","_28","_27","_26","_32","_31","_30","_29","_36","_35","_34","_33","PlusIcon","handleDeleteClick","name","useEffect","in","_l","jsxs","_11","findIndex","_r","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","fromEntries","entries"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as l}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import n from"../../assets/icons/Plus.svg.js";import o from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:y,data:N,isFormOpen:C,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:D=!0})=>{var I,f,E,S,B,q,k,_,P,A,O,L,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=a(""),[ae,le]=a(null),[ie,te]=a(null),[se,de]=a([]),{values:re,errors:ne,setFieldValue:oe,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:D?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var a,l,i,t;e&&!(null===(l=null===(a=null==e?void 0:e.schema)||void 0===a?void 0:a.items)||void 0===l?void 0:l.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==y?void 0:y.map((a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==N?void 0:N.map(((a,l)=>e.jsx("tr",{"data-i":l,className:"row",children:null==y?void 0:y.map((l=>{const i="_"!==a[l.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:l.width,minWidth:l.minWidth},children:a[l.id]});return e.jsx("td",{style:{width:l.width,minWidth:l.minWidth},children:i},l.id)}))},l))),0===(null==N?void 0:N.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==y?void 0:y.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),C&&!T?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(l.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||j.ASCII.test(e))&&oe("name",e)},value:re.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(l.SelectGroupV2,{disabled:T,value:{label:b(re.in),value:re.in},onChange:e=>{var a;return oe("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:D?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]:[{label:"Header",value:"header"}]}],errorMsg:!!ne.in&&ne.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(I=null==re?void 0:re.schema)||void 0===I?void 0:I.type),value:null===(f=null==re?void 0:re.schema)||void 0===f?void 0:f.type},errorMsg:!!ne.schema&&ne.schema,onChange:e=>{var a;return oe("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," "]})},"parameter schema type"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[re.schema&&"array"==(null===(S=null===(E=re.schema)||void 0===E?void 0:E.type)||void 0===S?void 0:S.toLowerCase())?e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(q=null===(B=null==re?void 0:re.schema)||void 0===B?void 0:B.items)||void 0===q?void 0:q.type),value:null===(_=null===(k=re.schema)||void 0===k?void 0:k.items)||void 0===_?void 0:_.type},errorMsg:!!(null===(A=null===(P=null==ne?void 0:ne.schema)||void 0===P?void 0:P.items)||void 0===A?void 0:A.type)&&(null===(L=null===(O=null==ne?void 0:ne.schema)||void 0===O?void 0:O.items)||void 0===L?void 0:L.type),onChange:e=>{var a;return oe("schema.items.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):"-"," "]})},"parameter array schema type"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null==re?void 0:re.schema)&&"array"!=(null===(F=null===(R=null==re?void 0:re.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())&&"object"!=(null===(V=null===(M=null==re?void 0:re.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase())?e.jsx(i,{disabled:"array"==(null===(X=null===(W=null==re?void 0:re.schema)||void 0===W?void 0:W.type)||void 0===X?void 0:X.toLowerCase())||"object"==(null===(z=null===(G=null==re?void 0:re.schema)||void 0===G?void 0:G.type)||void 0===z?void 0:z.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(H=null==re?void 0:re.schema)||void 0===H?void 0:H.enum)&&!!(null===(U=null==re?void 0:re.schema)||void 0===U?void 0:U.enum.length)&&(null===(K=null===($=null==re?void 0:re.schema)||void 0===$?void 0:$.enum)||void 0===K?void 0:K.map(((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{oe(`schema.enum[${i}]`,e)}},i)))),se&&(null==se?void 0:se.map(((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{let a=[...se];a[i]=e,de(a)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{de((e=>[...e,""]))},children:[e.jsx(t,{src:o}),"Add New Enum"]}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;oe("schema.enum",[...null===(e=null==re?void 0:re.schema)||void 0===e?void 0:e.enum,...se]),de([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter((e=>!e)).length)||(null===(Q=null==re?void 0:re.schema)||void 0===Q?void 0:Q.enum.length)>0&&(null===(Z=null===(Y=null==re?void 0:re.schema)||void 0===Y?void 0:Y.enum)||void 0===Z?void 0:Z.filter((e=>!e)).length),children:"Apply"})]}),children:e.jsx(l.Button,{className:c.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(t,{id:"enumIcon",src:n,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:re.required?"True":"False"}):e.jsx(l.Switch,{checked:re.required,onClick:()=>{T||oe("required",!re.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>le(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(l.TextArea,{value:J||re.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{oe("description",null==J?void 0:J.trim()),null==ae||ae.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(l.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:d,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!re.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!re.name.trim(),endIcon:e.jsx(t,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(l.Button,{variant:"link",color:"primary",onClick:()=>{g((e=>e?void 0:D?"Req":"Res"))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{x as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as l}from"react";import{d as a}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import n from"../../assets/icons/AddRow.svg.js";import o from"../../assets/icons/Plus.svg.js";import r from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:y,data:N,isFormOpen:C,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:D=!0})=>{var f,I,E,S,B,q,k,_,A,P,O,L,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=l(""),[le,ae]=l(null),[ie,te]=l(null),[se,de]=l([]),{values:ne,errors:oe,setFieldValue:re,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:D?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var l,a,i,t;e&&!(null===(a=null===(l=null==e?void 0:e.schema)||void 0===l?void 0:l.items)||void 0===a?void 0:a.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==y?void 0:y.map((l=>e.jsx("th",{className:`tableHeadCell ${l.classes||""}`,style:{width:l.width,minWidth:l.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof l.label?l.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:l.label})},l.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==N?void 0:N.map(((l,a)=>e.jsx("tr",{"data-i":a,className:"row",children:null==y?void 0:y.map((a=>{const i="_"!==l[a.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:a.width,minWidth:a.minWidth},children:l[a.id]});return e.jsx("td",{style:{width:a.width,minWidth:a.minWidth},children:i},a.id)}))},a))),0===(null==N?void 0:N.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==y?void 0:y.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),C&&!T?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(a.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||j.ASCII.test(e))&&re("name",e)},value:ne.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(a.SelectGroupV2,{disabled:T,value:{label:b(ne.in),value:ne.in},onChange:e=>{var l;return re("in",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase())},options:[{list:D?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]:[{label:"Header",value:"header"}]}],errorMsg:!!oe.in&&oe.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs",children:[e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(f=null==ne?void 0:ne.schema)||void 0===f?void 0:f.type),value:null===(I=null==ne?void 0:ne.schema)||void 0===I?void 0:I.type},errorMsg:!!oe.schema&&oe.schema,onChange:e=>{var l;return re("schema.type",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(E=null==ne?void 0:ne.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==ne?void 0:ne.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(q=null===(B=null==ne?void 0:ne.schema)||void 0===B?void 0:B.items)||void 0===q?void 0:q.type),value:null===(_=null===(k=ne.schema)||void 0===k?void 0:k.items)||void 0===_?void 0:_.type},errorMsg:!!(null===(P=null===(A=null==oe?void 0:oe.schema)||void 0===A?void 0:A.items)||void 0===P?void 0:P.type)&&(null===(L=null===(O=null==oe?void 0:oe.schema)||void 0===O?void 0:O.items)||void 0===L?void 0:L.type),onChange:e=>{var l;return re("schema.items.type",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):""]})},"parameter schema type"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null==ne?void 0:ne.schema)&&"array"!=(null===(F=null===(R=null==ne?void 0:ne.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())&&"object"!=(null===(V=null===(M=null==ne?void 0:ne.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase())?e.jsx(i,{disabled:"array"==(null===(X=null===(W=null==ne?void 0:ne.schema)||void 0===W?void 0:W.type)||void 0===X?void 0:X.toLowerCase())||"object"==(null===(z=null===(G=null==ne?void 0:ne.schema)||void 0===G?void 0:G.type)||void 0===z?void 0:z.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(H=null==ne?void 0:ne.schema)||void 0===H?void 0:H.enum)&&!!(null===(U=null==ne?void 0:ne.schema)||void 0===U?void 0:U.enum.length)&&(null===(K=null===($=null==ne?void 0:ne.schema)||void 0===$?void 0:$.enum)||void 0===K?void 0:K.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{re(`schema.enum[${i}]`,e)}},i)))),se&&(null==se?void 0:se.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{let l=[...se];l[i]=e,de(l)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{de((e=>[...e,""]))},children:[e.jsx(t,{src:r}),"Add New Enum"]}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;re("schema.enum",[...null===(e=null==ne?void 0:ne.schema)||void 0===e?void 0:e.enum,...se]),de([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter((e=>!e)).length)||(null===(Q=null==ne?void 0:ne.schema)||void 0===Q?void 0:Q.enum.length)>0&&(null===(Z=null===(Y=null==ne?void 0:ne.schema)||void 0===Y?void 0:Y.enum)||void 0===Z?void 0:Z.filter((e=>!e)).length),children:"Apply"})]}),children:e.jsx(a.Button,{className:c.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(t,{id:"enumIcon",src:o,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:ne.required?"True":"False"}):e.jsx(a.Switch,{checked:ne.required,onClick:()=>{T||re("required",!ne.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>ae(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:J||ne.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{re("description",null==J?void 0:J.trim()),null==le||le.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(a.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:d,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!ne.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!ne.name.trim(),endIcon:e.jsx(t,{src:n,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(a.Button,{variant:"link",color:"primary",onClick:()=>{g((e=>e?void 0:D?"Req":"Res"))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{x as default};
2
2
  //# sourceMappingURL=table.js.map