@digi-frontend/dgate-api-documentation 1.0.60 → 1.0.62

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 (25) hide show
  1. package/dist/_virtual/json.js +2 -0
  2. package/dist/_virtual/json.js.map +1 -0
  3. package/dist/node_modules/highlight.js/lib/languages/json.js +2 -0
  4. package/dist/node_modules/highlight.js/lib/languages/json.js.map +1 -0
  5. package/dist/node_modules/react-syntax-highlighter/dist/esm/languages/hljs/json.js +2 -0
  6. package/dist/node_modules/react-syntax-highlighter/dist/esm/languages/hljs/json.js.map +1 -0
  7. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  8. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  9. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  10. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  11. package/dist/src/components/table/table.js +1 -1
  12. package/dist/src/components/table/table.js.map +1 -1
  13. package/dist/src/layout/docsComponents/Codebox/Codebox.js +1 -1
  14. package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -1
  15. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  16. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  17. package/dist/styles.css +3 -0
  18. package/package.json +1 -1
  19. package/src/components/LivePreview/LivePreview.tsx +30 -33
  20. package/src/components/MethodAccordion/MethodAccordion.module.scss +4 -0
  21. package/src/components/MethodAccordion/MethodAccordion.tsx +1 -0
  22. package/src/components/table/table.tsx +1 -2
  23. package/src/layout/docsComponents/Codebox/Codebox.tsx +5 -5
  24. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +3 -1
  25. package/variables.txt +3 -3
@@ -1,2 +1,2 @@
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 n from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import r 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:N,data:y,isFormOpen:C,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:D=!0})=>{var f,I,E,S,q,B,k,_,A,P,O,L,R,F,M,V,W,X,G,z,H,U,$;const[K,Q]=l(""),[Y,Z]=l(null),[J,ee]=l(null),[le,ae]=l([]),{values:ie,errors:te,setFieldValue:se,isValid:ne,submitForm:de,resetForm:re}=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),Q(""),re()}});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==N?void 0:N.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==y?void 0:y.map(((l,a)=>e.jsx("tr",{"data-i":a,className:"row",children:null==N?void 0:N.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==y?void 0:y.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==N?void 0:N.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))&&se("name",e)},value:ie.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(ie.in),value:ie.in},onChange:e=>{var l;se("in",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase()),"in"==(null==e?void 0:e.value)&&se("required",!0)},options:[{list:D?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]:[{label:"Header",value:"header"}]}],errorMsg:!!te.in&&te.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==ie?void 0:ie.schema)||void 0===f?void 0:f.type),value:null===(I=null==ie?void 0:ie.schema)||void 0===I?void 0:I.type},errorMsg:!!te.schema&&te.schema,onChange:e=>{var l;return se("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==ie?void 0:ie.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==ie?void 0:ie.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==ie?void 0:ie.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(_=null===(k=ie.schema)||void 0===k?void 0:k.items)||void 0===_?void 0:_.type},errorMsg:!!(null===(P=null===(A=null==te?void 0:te.schema)||void 0===A?void 0:A.items)||void 0===P?void 0:P.type)&&(null===(L=null===(O=null==te?void 0:te.schema)||void 0===O?void 0:O.items)||void 0===L?void 0:L.type),onChange:e=>{var l;return se("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==ie?void 0:ie.schema)?e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==ie?void 0:ie.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==ie?void 0:ie.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>ee(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==ie?void 0:ie.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==ie?void 0:ie.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==ie?void 0:ie.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{se(`schema.enum[${i}]`,e)}},i)))),le&&(null==le?void 0:le.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{let l=[...le];l[i]=e,ae(l)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{ae((e=>[...e,""]))},children:[e.jsx(t,{src:o}),"Add New Enum"]}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;se("schema.enum",[...null===(e=null==ie?void 0:ie.schema)||void 0===e?void 0:e.enum,...le]),ae([]),null==J||J.hide()},disabled:le.length>0&&(null==le?void 0:le.filter((e=>!e)).length)||(null===(H=null==ie?void 0:ie.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==ie?void 0:ie.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.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:r,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:ie.required?"True":"False"}):e.jsx(a.Switch,{checked:!(!ie||!ie.in||"path"!=ie.in.toLowerCase())||ie.required,disabled:ie&&ie.in&&"path"==ie.in.toLowerCase(),onClick:()=>{T||se("required",!ie.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=>Z(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:K||ie.description,onChange:e=>{(""===e||j.ASCII.test(e))&&Q(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{se("description",null==K?void 0:K.trim()),null==Y||Y.hide()},disabled:""===(null==K?void 0:K.trim()),children:"Apply"})]}),children:e.jsxs(a.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:n,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:()=>{re(),Q(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!ie.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!ie.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{Q(""),de()}})})]})," "]})},"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};
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 n from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import r 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:N,data:y,isFormOpen:C,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:D=!0})=>{var f,I,E,S,q,B,k,_,A,P,O,L,R,F,M,V,W,X,G,z,H,U,$;const[K,Q]=l(""),[Y,Z]=l(null),[J,ee]=l(null),[le,ae]=l([]),{values:ie,errors:te,setFieldValue:se,isValid:ne,submitForm:de,resetForm:re}=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),Q(""),re()}});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==N?void 0:N.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==y?void 0:y.map(((l,a)=>e.jsx("tr",{"data-i":a,className:"row",children:null==N?void 0:N.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==y?void 0:y.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==N?void 0:N.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))&&se("name",e)},value:ie.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(ie.in),value:ie.in},onChange:e=>{var l;se("in",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase()),"in"==(null==e?void 0:e.value)&&se("required",!0)},options:[{list:D?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!te.in&&te.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==ie?void 0:ie.schema)||void 0===f?void 0:f.type),value:null===(I=null==ie?void 0:ie.schema)||void 0===I?void 0:I.type},errorMsg:!!te.schema&&te.schema,onChange:e=>{var l;return se("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==ie?void 0:ie.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==ie?void 0:ie.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==ie?void 0:ie.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(_=null===(k=ie.schema)||void 0===k?void 0:k.items)||void 0===_?void 0:_.type},errorMsg:!!(null===(P=null===(A=null==te?void 0:te.schema)||void 0===A?void 0:A.items)||void 0===P?void 0:P.type)&&(null===(L=null===(O=null==te?void 0:te.schema)||void 0===O?void 0:O.items)||void 0===L?void 0:L.type),onChange:e=>{var l;return se("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==ie?void 0:ie.schema)?e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==ie?void 0:ie.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==ie?void 0:ie.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>ee(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==ie?void 0:ie.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==ie?void 0:ie.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==ie?void 0:ie.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{se(`schema.enum[${i}]`,e)}},i)))),le&&(null==le?void 0:le.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{let l=[...le];l[i]=e,ae(l)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{ae((e=>[...e,""]))},children:[e.jsx(t,{src:o}),"Add New Enum"]}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;se("schema.enum",[...null===(e=null==ie?void 0:ie.schema)||void 0===e?void 0:e.enum,...le]),ae([]),null==J||J.hide()},disabled:le.length>0&&(null==le?void 0:le.filter((e=>!e)).length)||(null===(H=null==ie?void 0:ie.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==ie?void 0:ie.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.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:r,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:ie.required?"True":"False"}):e.jsx(a.Switch,{checked:!(!ie||!ie.in||"path"!=ie.in.toLowerCase())||ie.required,disabled:ie&&ie.in&&"path"==ie.in.toLowerCase(),onClick:()=>{T||se("required",!ie.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=>Z(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:K||ie.description,onChange:e=>{(""===e||j.ASCII.test(e))&&Q(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{se("description",null==K?void 0:K.trim()),null==Y||Y.hide()},disabled:""===(null==K?void 0:K.trim()),children:"Apply"})]}),children:e.jsxs(a.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:n,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:()=>{re(),Q(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!ie.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!ie.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{Q(""),de()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:6,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
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n { label: 'Body', value: 'body' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) =>\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n } // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {!!values?.schema ? (\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.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 {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.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(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.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 let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\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('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader\n id=\"enumIcon\"\n src={PlusIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n />\n }\n >\n Add\n </Button>\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\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 </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={5}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_f","_e","_g","_h","_k","_j","_m","_l","Tooltip","_p","_o","_q","_r","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","endIcon","PlusIcon","height","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) =>\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n } // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {!!values?.schema ? (\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.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 {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.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(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.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 let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\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('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader\n id=\"enumIcon\"\n src={PlusIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n />\n }\n >\n Add\n </Button>\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\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 </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={6}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_f","_e","_g","_h","_k","_j","_m","_l","Tooltip","_p","_o","_q","_r","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","endIcon","PlusIcon","height","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as o}from"react";import s from"./style.module.scss.js";import t from"../../../components/SVGLoader/SVGLoader.js";import r from"../../../assets/icons/copy.svg.js";import{copyToClipboard as m}from"../../../utils/index.js";import i from"../../../../node_modules/react-syntax-highlighter/dist/esm/light.js";import l from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js";import a from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js";const d=({code:d})=>{const[c,h]=o("DARK");return e.jsxs("div",{className:s.codebox,children:[e.jsxs("div",{className:s.codebox_header,children:[e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"LIGHT"!==c&&h("LIGHT"),className:`${s.codebox_header_themeToggle} ${s.codebox_header_themeToggle_light}`,title:"Light theme"}),e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"DARK"!==c&&h("DARK"),className:`${s.codebox_header_themeToggle} ${s.codebox_header_themeToggle_dark}`,title:"Dark theme"}),e.jsx(t,{src:r,width:"0.75rem",height:"0.75rem",className:s.codebox_header_copyIcon,onClick:()=>m(d)})]}),e.jsx(i,{language:"json",style:"LIGHT"===c?l:a,showLineNumbers:!0,wrapLines:!0,customStyle:{margin:0,height:"13.75rem",overflowY:"auto",padding:"0.75rem 1rem 0 1.5rem",backgroundColor:"DARK"===c?"#455162":"#F7F7F7",fontSize:"0.75rem"},lineProps:{className:"custom-code-line"},children:d})]})};export{d as default};
1
+ import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as o}from"react";import s from"../../../../_virtual/json.js";import t from"./style.module.scss.js";import r from"../../../components/SVGLoader/SVGLoader.js";import i from"../../../assets/icons/copy.svg.js";import{copyToClipboard as m}from"../../../utils/index.js";import a from"../../../../node_modules/react-syntax-highlighter/dist/esm/light.js";import l from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js";import d from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js";a.registerLanguage("json",s);const c=({code:s})=>{const[c,n]=o("DARK");return e.jsxs("div",{className:t.codebox,children:[e.jsxs("div",{className:t.codebox_header,children:[e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"LIGHT"!==c&&n("LIGHT"),className:`${t.codebox_header_themeToggle} ${t.codebox_header_themeToggle_light}`,title:"Light theme"}),e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"DARK"!==c&&n("DARK"),className:`${t.codebox_header_themeToggle} ${t.codebox_header_themeToggle_dark}`,title:"Dark theme"}),e.jsx(r,{src:i,width:"0.75rem",height:"0.75rem",className:t.codebox_header_copyIcon,onClick:()=>m(s)})]}),e.jsx(a,{language:"json",style:"LIGHT"===c?l:d,showLineNumbers:!0,wrapLines:!0,customStyle:{margin:0,height:"13.75rem",overflowY:"auto",padding:"0.75rem 1rem 0 1.5rem",backgroundColor:"DARK"===c?"#455162":"#F7F7F7",fontSize:"0.75rem"},lineProps:{className:"custom-code-line"},children:s})]})};export{c as default};
2
2
  //# sourceMappingURL=Codebox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Codebox.js","sources":["../../../../../src/layout/docsComponents/Codebox/Codebox.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport {\n stackoverflowDark,\n stackoverflowLight,\n} from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport styles from './style.module.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { Copy } from '../../../assets/icons'\nimport { copyToClipboard } from '../../../utils'\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className={styles.codebox}>\n <div className={styles.codebox_header}>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_light}`}\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_dark}`}\n title=\"Dark theme\"\n ></div>\n <SVGLoader\n src={Copy}\n width=\"0.75rem\"\n height=\"0.75rem\"\n className={styles.codebox_header_copyIcon}\n onClick={() => copyToClipboard(code)}\n />\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? stackoverflowLight : stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n height: '13.75rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0 1.5rem',\n backgroundColor: theme === 'DARK' ? '#455162' : '#F7F7F7',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n"],"names":["Codebox","code","theme","setTheme","useState","_jsxs","className","styles","codebox","children","codebox_header","_jsx","role","tabIndex","onClick","codebox_header_themeToggle","codebox_header_themeToggle_light","title","jsx","codebox_header_themeToggle_dark","SVGLoader","src","Copy","width","height","codebox_header_copyIcon","copyToClipboard","SyntaxHighlighter","language","style","stackoverflowLight","stackoverflowDark","showLineNumbers","wrapLines","customStyle","margin","overflowY","padding","backgroundColor","fontSize","lineProps"],"mappings":"glBAWA,MAAMA,EAAU,EAAGC,WACjB,MAAOC,EAAOC,GAAYC,EAA2B,QAErD,OACEC,OAAK,MAAA,CAAAC,UAAWC,EAAOC,QAAOC,SAAA,CAC5BJ,EAAAA,KAAK,MAAA,CAAAC,UAAWC,EAAOG,eAAcD,SAAA,CACnCE,aACEC,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,UAAVZ,GAAqBC,EAAS,SAC7CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOS,mCAC1DC,MAAM,gBAERN,EACEO,IAAA,MAAA,CAAAN,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,SAAVZ,GAAoBC,EAAS,QAC5CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOY,kCAC1DF,MAAM,eAERN,EAAAO,IAACE,EAAS,CACRC,IAAKC,EACLC,MAAM,UACNC,OAAO,UACPlB,UAAWC,EAAOkB,wBAClBX,QAAS,IAAMY,EAAgBzB,QAGnCU,MAACgB,EAAiB,CAChBC,SAAS,OACTC,MAAiB,UAAV3B,EAAoB4B,EAAqBC,EAChDC,iBAAe,EACfC,WAAS,EACTC,YAAa,CACXC,OAAQ,EACRX,OAAQ,WACRY,UAAW,OACXC,QAAS,wBACTC,gBAA2B,SAAVpC,EAAmB,UAAY,UAChDqC,SAAU,WAEZC,UAAW,CAAElC,UAAW,oBAAoBG,SAE3CR"}
1
+ {"version":3,"file":"Codebox.js","sources":["../../../../../src/layout/docsComponents/Codebox/Codebox.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport styles from './style.module.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { Copy } from '../../../assets/icons'\nimport { copyToClipboard } from '../../../utils'\n\nSyntaxHighlighter.registerLanguage('json', json)\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className={styles.codebox}>\n <div className={styles.codebox_header}>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_light}`}\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_dark}`}\n title=\"Dark theme\"\n ></div>\n <SVGLoader\n src={Copy}\n width=\"0.75rem\"\n height=\"0.75rem\"\n className={styles.codebox_header_copyIcon}\n onClick={() => copyToClipboard(code)}\n />\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n height: '13.75rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0 1.5rem',\n backgroundColor: theme === 'DARK' ? '#455162' : '#F7F7F7',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n"],"names":["SyntaxHighlighter","registerLanguage","json","Codebox","code","theme","setTheme","useState","_jsxs","className","styles","codebox","children","codebox_header","_jsx","role","tabIndex","onClick","codebox_header_themeToggle","codebox_header_themeToggle_light","title","codebox_header_themeToggle_dark","SVGLoader","src","Copy","width","height","codebox_header_copyIcon","copyToClipboard","jsx","language","style","hljs.stackoverflowLight","hljs.stackoverflowDark","showLineNumbers","wrapLines","customStyle","margin","overflowY","padding","backgroundColor","fontSize","lineProps"],"mappings":"4nBASAA,EAAkBC,iBAAiB,OAAQC,GAE3C,MAAMC,EAAU,EAAGC,WACjB,MAAOC,EAAOC,GAAYC,EAA2B,QAErD,OACEC,OAAK,MAAA,CAAAC,UAAWC,EAAOC,QAAOC,SAAA,CAC5BJ,EAAAA,KAAK,MAAA,CAAAC,UAAWC,EAAOG,eAAcD,SAAA,CACnCE,aACEC,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,UAAVZ,GAAqBC,EAAS,SAC7CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOS,mCAC1DC,MAAM,gBAERN,aACEC,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,SAAVZ,GAAoBC,EAAS,QAC5CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOW,kCAC1DD,MAAM,eAERN,MAACQ,EAAS,CACRC,IAAKC,EACLC,MAAM,UACNC,OAAO,UACPjB,UAAWC,EAAOiB,wBAClBV,QAAS,IAAMW,EAAgBxB,QAGnCU,EAAAe,IAAC7B,EAAiB,CAChB8B,SAAS,OACTC,MAAiB,UAAV1B,EAAoB2B,EAA0BC,EACrDC,mBACAC,WAAS,EACTC,YAAa,CACXC,OAAQ,EACRX,OAAQ,WACRY,UAAW,OACXC,QAAS,wBACTC,gBAA2B,SAAVnC,EAAmB,UAAY,UAChDoC,SAAU,WAEZC,UAAW,CAAEjC,UAAW,oBAAoBG,SAE3CR"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import l from"../../../../assets/icons/DownArrow.svg.js";import i from"../../../../assets/icons/CopySticker.svg.js";import a from"../../../../assets/icons/RequestOption.svg.js";import t from"../../../../assets/icons/ArrowBack.svg.js";import{d}from"../../../../../_virtual/index.js";import{useState as o,useEffect as r}from"react";import{handleStatusColor as n}from"../../../../helpers/methodAccordion.helper.js";import{httpStatusCodes as c}from"../../../../constants/index.js";import h from"../../Codebox/style.module.scss.js";import m from"../../../../components/Tooltip/Tooltip.js";import{useSectionToggle as v,SectionEnum as p}from"../../../../context/SectionToggleContext.js";import{capitalizeFirstLetter as j}from"../../../../utils/index.js";const x=({data:x,setActiveType:u,setActiveItemData:b})=>{var N,y,f;const[C,g]=o("header"),{toggleSection:w}=v(),S=c.map((s=>({label:e.jsxs("div",{className:"statusCodeOptionContainer",children:[e.jsx("div",{className:"statusCodeOptionCircle",style:{backgroundColor:n(s)}}),e.jsx("span",{children:s})]}),value:s}))),[T,k]=o(null),[q,O]=o(S[4]),[R,A]=o({});return((null==x?void 0:x.parameters)||[]).filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===C.toLowerCase()})),r((()=>{if(q&&q.value){const e=null==x?void 0:x.responses[q.value];A(null==e?void 0:e.headers)}}),[q]),e.jsxs("div",{className:"api-details-expanded",children:[e.jsxs("div",{className:"test-button",children:[e.jsx("button",{className:"back-button",onClick:()=>{w(x.api.apiSpecId,[{type:p.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[p.RESOURCE]}),u("OVERVIEW"),b(x.api)},children:e.jsx(s,{src:t})}),e.jsx(m,{content:"Comming soon",children:e.jsx("button",{className:"disabled",children:"Test"})})]}),e.jsx("h3",{children:x.api.title}),e.jsx("h1",{className:"api-title",children:null==x?void 0:x.summary}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:`method-label ${null===(N=null==x?void 0:x.method)||void 0===N?void 0:N.toLowerCase()}`,children:x.method}),e.jsx("span",{className:"url-text",children:null==x?void 0:x.path})]}),e.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText(null==x?void 0:x.path),children:e.jsx(s,{src:i})})]}),e.jsx("p",{className:"api-desc",children:(null==x?void 0:x.description)||"No Description"}),e.jsx("h3",{children:"Request"}),e.jsxs("div",{className:"request-section",children:[e.jsx("div",{className:"request-tabs",children:["header","path","query","Body"].map((l=>e.jsxs("button",{className:"tab "+(C===l?"active":""),onClick:()=>g(l),children:[e.jsx(s,{src:a,className:"icon-left"}),e.jsx("span",{className:"tab-label",children:"requestBody"===l?"Request Body":l.charAt(0).toUpperCase()+l.slice(1)})]},l)))}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Parameter Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:null===(y=x.parameters)||void 0===y?void 0:y.filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===C.toLowerCase()})).map(((i,a)=>{var t,d,o,r,n,c,h;return e.jsxs("tr",{children:[e.jsx("td",{children:i.name}),e.jsx("td",{children:i.required?"True":"False"}),e.jsxs("td",{style:{textTransform:"capitalize"},children:[e.jsx("span",{children:(null===(t=null==i?void 0:i.schema)||void 0===t?void 0:t.type)||"-"}),"array"===(null===(d=null==i?void 0:i.schema)||void 0===d?void 0:d.type)&&(null===(r=null===(o=null==i?void 0:i.schema)||void 0===o?void 0:o.items)||void 0===r?void 0:r.type)&&e.jsxs("span",{style:{color:"#616874",fontSize:"0.75rem"},children:["_",j(null===(c=null===(n=i.schema)||void 0===n?void 0:n.items)||void 0===c?void 0:c.type)]})]}),e.jsx("td",{children:Array.isArray(null===(h=i.schema)||void 0===h?void 0:h.enum)?i.schema.enum.join(" / "):"-"}),e.jsxs("td",{className:"desc-cell",children:[e.jsx("div",{className:"desc-text "+(T===a?"expanded":""),children:i.description||"No description"}),e.jsx("button",{className:"desc-toggle",onClick:()=>k(T===a?null:a),children:e.jsx(s,{src:l,className:T===a?"rotated":""})})]})]},a)}))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("h3",{children:"Response"}),e.jsx("div",{style:{width:"7.5rem",marginLeft:"auto"},children:(null===(f=Object.keys((null==x?void 0:x.responses)||{}))||void 0===f?void 0:f.length)>0&&e.jsx("div",{className:h.codeboxSection,children:e.jsx("div",{className:`${h.codeboxHeader}`,children:e.jsx(d.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:S}],value:q,onChange:e=>{O(e)}})})})}),e.jsxs("button",{className:"tab active ",children:[e.jsx(s,{src:a,className:"icon-left"}),"Header"]}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Header Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:!!R&&Object.keys(R)&&Object.keys(R).map((s=>{var l,i,a,t,d,o,r,n,c,h,m,v,p,x,u;return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{children:null===(l=R[s])||void 0===l?void 0:l.required.toString()}),e.jsxs("td",{style:{textTransform:"capitalize"},children:[e.jsx("span",{children:(null===(a=null===(i=R[s])||void 0===i?void 0:i.schema)||void 0===a?void 0:a.type)||"-"}),"array"===(null===(d=null===(t=R[s])||void 0===t?void 0:t.schema)||void 0===d?void 0:d.type)&&(null===(n=null===(r=null===(o=R[s])||void 0===o?void 0:o.schema)||void 0===r?void 0:r.items)||void 0===n?void 0:n.type)&&e.jsxs("span",{style:{color:"#616874",fontSize:"0.75rem"},children:["_",j(null===(m=null===(h=null===(c=R[s])||void 0===c?void 0:c.schema)||void 0===h?void 0:h.items)||void 0===m?void 0:m.type)]})]}),e.jsx("td",{children:null===(x=null===(p=null===(v=R[s])||void 0===v?void 0:v.schema)||void 0===p?void 0:p.enum)||void 0===x?void 0:x.join("/")}),e.jsx("td",{children:null===(u=R[s])||void 0===u?void 0:u.description})]})}))})]})})]})]})};export{x as EndpointPage};
1
+ import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import l from"../../../../assets/icons/DownArrow.svg.js";import i from"../../../../assets/icons/CopySticker.svg.js";import a from"../../../../assets/icons/RequestOption.svg.js";import t from"../../../../assets/icons/ArrowBack.svg.js";import{d}from"../../../../../_virtual/index.js";import{useState as o,useEffect as r}from"react";import{handleStatusColor as n}from"../../../../helpers/methodAccordion.helper.js";import{httpStatusCodes as c}from"../../../../constants/index.js";import h from"../../Codebox/style.module.scss.js";import m from"../../../../components/Tooltip/Tooltip.js";import{useSectionToggle as v,SectionEnum as p}from"../../../../context/SectionToggleContext.js";import{capitalizeFirstLetter as j}from"../../../../utils/index.js";const x=({data:x,setActiveType:u,setActiveItemData:b})=>{var N,y,f;const[C,g]=o("header"),{toggleSection:w}=v(),S=c.map((s=>({label:e.jsxs("div",{className:"statusCodeOptionContainer",children:[e.jsx("div",{className:"statusCodeOptionCircle",style:{backgroundColor:n(s)}}),e.jsx("span",{children:s})]}),value:s}))),[T,k]=o(null),[q,O]=o(S[4]),[R,A]=o({});return((null==x?void 0:x.parameters)||[]).filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===C.toLowerCase()})),r((()=>{if(q&&q.value){const e=null==x?void 0:x.responses[q.value];A(null==e?void 0:e.headers)}}),[q]),e.jsxs("div",{className:"api-details-expanded",children:[e.jsxs("div",{className:"test-button",children:[e.jsx("button",{className:"back-button",onClick:()=>{w(x.api.apiSpecId,[{type:p.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[p.RESOURCE]}),u("OVERVIEW"),b(x.api)},children:e.jsx(s,{src:t})}),e.jsx(m,{content:"Comming soon",children:e.jsx("button",{className:"disabled",children:"Test"})})]}),e.jsx("h3",{children:x.api.title}),e.jsx("h1",{className:"api-title",children:null==x?void 0:x.summary}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:`method-label ${null===(N=null==x?void 0:x.method)||void 0===N?void 0:N.toLowerCase()}`,children:x.method}),e.jsx("span",{className:"url-text",children:null==x?void 0:x.path})]}),e.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText(null==x?void 0:x.path),children:e.jsx(s,{src:i})})]}),e.jsx("p",{className:"api-desc",children:(null==x?void 0:x.description)||"No Description"}),e.jsx("h3",{children:"Request"}),e.jsxs("div",{className:"request-section",children:[e.jsx("div",{className:"request-tabs",children:["header","path","query"].map((l=>e.jsxs("button",{className:"tab "+(C===l?"active":""),onClick:()=>g(l),children:[e.jsx(s,{src:a,className:"icon-left"}),e.jsx("span",{className:"tab-label",children:"requestBody"===l?"Request Body":l.charAt(0).toUpperCase()+l.slice(1)})]},l)))}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Parameter Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:null===(y=x.parameters)||void 0===y?void 0:y.filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===C.toLowerCase()})).map(((i,a)=>{var t,d,o,r,n,c,h;return e.jsxs("tr",{children:[e.jsx("td",{children:i.name}),e.jsx("td",{children:i.required?"True":"False"}),e.jsxs("td",{style:{textTransform:"capitalize"},children:[e.jsx("span",{children:(null===(t=null==i?void 0:i.schema)||void 0===t?void 0:t.type)||"-"}),"array"===(null===(d=null==i?void 0:i.schema)||void 0===d?void 0:d.type)&&(null===(r=null===(o=null==i?void 0:i.schema)||void 0===o?void 0:o.items)||void 0===r?void 0:r.type)&&e.jsxs("span",{style:{color:"#616874",fontSize:"0.75rem"},children:["_",j(null===(c=null===(n=i.schema)||void 0===n?void 0:n.items)||void 0===c?void 0:c.type)]})]}),e.jsx("td",{children:Array.isArray(null===(h=i.schema)||void 0===h?void 0:h.enum)?i.schema.enum.join(" / "):"-"}),e.jsxs("td",{className:"desc-cell",children:[e.jsx("div",{className:"desc-text "+(T===a?"expanded":""),children:i.description||"No description"}),e.jsx("button",{className:"desc-toggle",onClick:()=>k(T===a?null:a),children:e.jsx(s,{src:l,className:T===a?"rotated":""})})]})]},a)}))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("h3",{children:"Response"}),e.jsx("div",{style:{width:"7.5rem",marginLeft:"auto"},children:(null===(f=Object.keys((null==x?void 0:x.responses)||{}))||void 0===f?void 0:f.length)>0&&e.jsx("div",{className:h.codeboxSection,children:e.jsx("div",{className:`${h.codeboxHeader}`,children:e.jsx(d.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:S}],value:q,onChange:e=>{O(e)}})})})}),e.jsxs("button",{className:"tab active ",children:[e.jsx(s,{src:a,className:"icon-left"}),"Header"]}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Header Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:!!R&&Object.keys(R)&&Object.keys(R).map((s=>{var l,i,a,t,d,o,r,n,c,h,m,v,p,x,u;return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{children:null===(l=R[s])||void 0===l?void 0:l.required.toString()}),e.jsxs("td",{style:{textTransform:"capitalize"},children:[e.jsx("span",{children:(null===(a=null===(i=R[s])||void 0===i?void 0:i.schema)||void 0===a?void 0:a.type)||"-"}),"array"===(null===(d=null===(t=R[s])||void 0===t?void 0:t.schema)||void 0===d?void 0:d.type)&&(null===(n=null===(r=null===(o=R[s])||void 0===o?void 0:o.schema)||void 0===r?void 0:r.items)||void 0===n?void 0:n.type)&&e.jsxs("span",{style:{color:"#616874",fontSize:"0.75rem"},children:["_",j(null===(m=null===(h=null===(c=R[s])||void 0===c?void 0:c.schema)||void 0===h?void 0:h.items)||void 0===m?void 0:m.type)]})]}),e.jsx("td",{children:null===(x=null===(p=null===(v=R[s])||void 0===v?void 0:v.schema)||void 0===p?void 0:p.enum)||void 0===x?void 0:x.join("/")}),e.jsx("td",{children:null===(u=R[s])||void 0===u?void 0:u.description})]})}))})]})})]})]})};export{x as EndpointPage};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx"],"sourcesContent":["import SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n ArrowBack,\n CopySticker,\n DownArrowIcon,\n RequestOption,\n} from '../../../../assets/icons/index'\nimport { SelectGroup } from 'digitinary-ui'\nimport { useEffect, useState } from 'react'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\nimport { httpStatusCodes } from '../../../../constants/index'\nimport styles from '../../Codebox/style.module.scss'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport './style.scss'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\nimport { capitalizeFirstLetter } from '../../../../../src/utils'\n\nexport const EndpointPage = ({\n data,\n setActiveType,\n setActiveItemData,\n}: {\n data: EndpointData\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n}) => {\n const [activeTab, setActiveTab] = useState('header')\n const { toggleSection } = useSectionToggle()\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button\n className=\"back-button\"\n onClick={() => {\n toggleSection(data.api.apiSpecId, [{ type: SectionEnum.OVERVIEW, setTo: true }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE],\n })\n setActiveType('OVERVIEW')\n setActiveItemData(data.api)\n }}\n >\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3>{data.api.title}</h3>\n <h1 className=\"api-title\">{data?.summary}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query', 'Body'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td style={{ textTransform: 'capitalize' }}>\n <span>{row?.schema?.type || '-'}</span>\n {row?.schema?.type === 'array' && row?.schema?.items?.type && (\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\n _{capitalizeFirstLetter(row.schema?.items?.type)}\n </span>\n )}\n </td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {!!headersList &&\n Object.keys(headersList) &&\n Object.keys(headersList).map((key) => (\n <tr>\n <td>{key}</td>\n <td>{headersList[key]?.required.toString()}</td>\n <td style={{ textTransform: 'capitalize' }}>\n <span>{headersList[key]?.schema?.type || '-'}</span>\n {headersList[key]?.schema?.type === 'array' &&\n headersList[key]?.schema?.items?.type && (\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\n _{capitalizeFirstLetter(headersList[key]?.schema?.items?.type)}\n </span>\n )}\n </td>\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\n <td>{headersList[key]?.description}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","data","setActiveType","setActiveItemData","activeTab","setActiveTab","useState","toggleSection","useSectionToggle","httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","jsxs","className","children","_jsx","style","backgroundColor","handleStatusColor","value","expanded","setExpanded","selectedResStatusCode","setSelectedResStatusCode","headersList","setHeadersList","parameters","filter","param","in","_a","toLowerCase","useEffect","headerObj","responses","headers","onClick","api","apiSpecId","type","SectionEnum","OVERVIEW","setTo","resetOthers","filterKeys","RESOURCE","SVGLoader","src","ArrowBack","Tooltip","content","jsx","title","summary","textAlign","method","path","navigator","clipboard","writeText","CopySticker","description","tab","RequestOption","charAt","toUpperCase","slice","_b","p","row","index","name","required","textTransform","schema","_d","_c","items","color","fontSize","capitalizeFirstLetter","_f","_e","Array","isArray","_g","enum","join","DownArrowIcon","width","marginLeft","Object","keys","length","styles","codeboxSection","codeboxHeader","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_h","_k","_j","_p","_o","_q"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx"],"sourcesContent":["import SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n ArrowBack,\n CopySticker,\n DownArrowIcon,\n RequestOption,\n} from '../../../../assets/icons/index'\nimport { SelectGroup } from 'digitinary-ui'\nimport { useEffect, useState } from 'react'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\nimport { httpStatusCodes } from '../../../../constants/index'\nimport styles from '../../Codebox/style.module.scss'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\nimport './style.scss'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\nimport { capitalizeFirstLetter } from '../../../../../src/utils'\n\nexport const EndpointPage = ({\n data,\n setActiveType,\n setActiveItemData,\n}: {\n data: EndpointData\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n}) => {\n const [activeTab, setActiveTab] = useState('header')\n const { toggleSection } = useSectionToggle()\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n // ? TODO: 'body' should be returned after discussing with PO\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button\n className=\"back-button\"\n onClick={() => {\n toggleSection(data.api.apiSpecId, [{ type: SectionEnum.OVERVIEW, setTo: true }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE],\n })\n setActiveType('OVERVIEW')\n setActiveItemData(data.api)\n }}\n >\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3>{data.api.title}</h3>\n <h1 className=\"api-title\">{data?.summary}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td style={{ textTransform: 'capitalize' }}>\n <span>{row?.schema?.type || '-'}</span>\n {row?.schema?.type === 'array' && row?.schema?.items?.type && (\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\n _{capitalizeFirstLetter(row.schema?.items?.type)}\n </span>\n )}\n </td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {!!headersList &&\n Object.keys(headersList) &&\n Object.keys(headersList).map((key) => (\n <tr>\n <td>{key}</td>\n <td>{headersList[key]?.required.toString()}</td>\n <td style={{ textTransform: 'capitalize' }}>\n <span>{headersList[key]?.schema?.type || '-'}</span>\n {headersList[key]?.schema?.type === 'array' &&\n headersList[key]?.schema?.items?.type && (\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\n _{capitalizeFirstLetter(headersList[key]?.schema?.items?.type)}\n </span>\n )}\n </td>\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\n <td>{headersList[key]?.description}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","data","setActiveType","setActiveItemData","activeTab","setActiveTab","useState","toggleSection","useSectionToggle","httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","jsxs","className","children","_jsx","style","backgroundColor","handleStatusColor","value","expanded","setExpanded","selectedResStatusCode","setSelectedResStatusCode","headersList","setHeadersList","parameters","filter","param","in","_a","toLowerCase","useEffect","headerObj","responses","headers","onClick","api","apiSpecId","type","SectionEnum","OVERVIEW","setTo","resetOthers","filterKeys","RESOURCE","SVGLoader","src","ArrowBack","Tooltip","content","jsx","title","summary","textAlign","method","path","navigator","clipboard","writeText","CopySticker","description","tab","RequestOption","charAt","toUpperCase","slice","_b","p","row","index","name","required","textTransform","schema","_d","_c","items","color","fontSize","capitalizeFirstLetter","_f","_e","Array","isArray","_g","enum","join","DownArrowIcon","width","marginLeft","Object","keys","length","styles","codeboxSection","codeboxHeader","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_h","_k","_j","_p","_o","_q"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -256,6 +256,9 @@
256
256
  flex-direction: column;
257
257
  padding-inline: 1.875rem;
258
258
  }
259
+ .methodAccordion .methodAccordionContent .multiLineText {
260
+ word-break: break-word;
261
+ }
259
262
  .methodAccordion .methodAccordionContent .methodDesc {
260
263
  margin-top: 1.25rem;
261
264
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digi-frontend/dgate-api-documentation",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
4
4
  "main": "dist/src/index.js",
5
5
  "module": "dist/src/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -183,39 +183,36 @@ const LivePreview: React.FC<LivePreviewProps> = ({ transformedData, openApiError
183
183
  />
184
184
 
185
185
  <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />
186
- {values.paths.map((path) => (
187
- <div className={styles.methodsContainer} key={path.path}>
188
- {Object.entries(
189
- path.methods
190
- .sort(
191
- (a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order
192
- )
193
- .reduce((groupedMethods, method) => {
194
- // Handle methods without tags
195
- const tags = method.tags?.length ? method?.tags : ['default']
196
-
197
- tags.forEach((tag) => {
198
- if (!groupedMethods[tag]) {
199
- groupedMethods[tag] = []
200
- }
201
- groupedMethods[tag].push(method)
202
- })
203
-
204
- return groupedMethods
205
- }, {})
206
- ).map(([tag, methods]) => (
207
- <div key={tag}>
208
- <h3>{tag}</h3>
209
- {methods?.map((method, methodIndex) => (
210
- <MethodsAccordion
211
- readOnly
212
- method={method}
213
- path={path.path}
214
- tags={values.tags}
215
- />
216
- ))}
217
- </div>
218
- ))}
186
+ {Object.entries(
187
+ values.paths
188
+ .flatMap((path) =>
189
+ path.methods.map((method) => ({
190
+ ...method,
191
+ path: path.path,
192
+ tags: method.tags?.length ? method.tags : ['default'],
193
+ }))
194
+ )
195
+ .reduce((acc, method) => {
196
+ method.tags.forEach((tag) => {
197
+ if (!acc[tag]) acc[tag] = []
198
+ acc[tag].push(method)
199
+ })
200
+ return acc
201
+ }, {} as Record<string, any[]>)
202
+ ).map(([tag, methods]) => (
203
+ <div className={styles.methodsContainer} key={tag}>
204
+ <h3>{tag}</h3>
205
+ {methods
206
+ .sort((a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order)
207
+ .map((method) => (
208
+ <MethodsAccordion
209
+ key={`${method.path}_${method.type}`}
210
+ readOnly
211
+ method={method}
212
+ path={method.path}
213
+ tags={values.tags}
214
+ />
215
+ ))}
219
216
  </div>
220
217
  ))}
221
218
  </div>
@@ -87,6 +87,10 @@
87
87
  flex-direction: column;
88
88
  padding-inline: 1.875rem;
89
89
 
90
+ .multiLineText {
91
+ word-break: break-word;
92
+ }
93
+
90
94
  .methodDesc {
91
95
  margin-top: 1.25rem;
92
96
  }
@@ -813,6 +813,7 @@ const MethodsAccordion = ({
813
813
  key={'description'}
814
814
  label={'Description: '}
815
815
  value={method?.description || '-'}
816
+ className={styles.multiLineText}
816
817
  />
817
818
  )}
818
819
  <div className={styles.paramsTable}>
@@ -177,7 +177,6 @@ const ParamterTable = ({
177
177
  { label: 'Query', value: 'query' },
178
178
  { label: 'Header', value: 'header' },
179
179
  { label: 'Path', value: 'path' },
180
- { label: 'Body', value: 'body' },
181
180
  ]
182
181
  : [{ label: 'Header', value: 'header' }],
183
182
  },
@@ -471,7 +470,7 @@ const ParamterTable = ({
471
470
  <>
472
471
  {!readOnly && (
473
472
  <tr key={'addNew'} data-i={'addNew'} className={`row`}>
474
- <td colSpan={5}>
473
+ <td colSpan={6}>
475
474
  <Button
476
475
  variant="link"
477
476
  color="primary"
@@ -1,14 +1,14 @@
1
1
  import React, { useState } from 'react'
2
2
  import { Light as SyntaxHighlighter } from 'react-syntax-highlighter'
3
- import {
4
- stackoverflowDark,
5
- stackoverflowLight,
6
- } from 'react-syntax-highlighter/dist/esm/styles/hljs'
3
+ import json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'
4
+ import * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'
7
5
  import styles from './style.module.scss'
8
6
  import SVGLoader from '../../../components/SVGLoader/SVGLoader'
9
7
  import { Copy } from '../../../assets/icons'
10
8
  import { copyToClipboard } from '../../../utils'
11
9
 
10
+ SyntaxHighlighter.registerLanguage('json', json)
11
+
12
12
  const Codebox = ({ code }: { code: string }) => {
13
13
  const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')
14
14
 
@@ -39,7 +39,7 @@ const Codebox = ({ code }: { code: string }) => {
39
39
  </div>
40
40
  <SyntaxHighlighter
41
41
  language="json"
42
- style={theme === 'LIGHT' ? stackoverflowLight : stackoverflowDark}
42
+ style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}
43
43
  showLineNumbers
44
44
  wrapLines
45
45
  customStyle={{
@@ -55,6 +55,8 @@ export const EndpointPage = ({
55
55
  }
56
56
  }, [selectedResStatusCode])
57
57
 
58
+ // ? TODO: 'body' should be returned after discussing with PO
59
+
58
60
  return (
59
61
  <div className="api-details-expanded">
60
62
  <div className="test-button">
@@ -94,7 +96,7 @@ export const EndpointPage = ({
94
96
 
95
97
  <div className="request-section">
96
98
  <div className="request-tabs">
97
- {['header', 'path', 'query', 'Body'].map((tab) => (
99
+ {['header', 'path', 'query'].map((tab) => (
98
100
  <button
99
101
  key={tab}
100
102
  className={`tab ${activeTab === tab ? 'active' : ''}`}
package/variables.txt CHANGED
@@ -1,4 +1,4 @@
1
- export APP_VERSION=1.0.59
2
- export ECR_IMAGE=650046438355.dkr.ecr.eu-central-1.amazonaws.com/dgate-api-documentation:1.0.59-31042-develop
3
- export IMAGE_TAG=1.0.59-31042-develop
1
+ export APP_VERSION=1.0.61
2
+ export ECR_IMAGE=650046438355.dkr.ecr.eu-central-1.amazonaws.com/dgate-api-documentation:1.0.61-31065-develop
3
+ export IMAGE_TAG=1.0.61-31065-develop
4
4
  export TARGET_ENV=dev