@digi-frontend/dgate-api-documentation 1.0.62 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/table/table.js +1 -1
- package/dist/src/components/table/table.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
- package/dist/styles.css +28 -4
- package/package.json +1 -1
- package/src/components/table/table.tsx +91 -96
- package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +28 -27
- package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +34 -0
- package/src/layout/docsComponents/DocsContent/OverviewPage/index.tsx +7 -3
- package/src/layout/docsComponents/DocsContent/OverviewPage/style.scss +3 -3
- package/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss +0 -1
- package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +1 -0
- package/the_npm_commands.sh +4 -0
- 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:"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};
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as l}from"react";import{d as a}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import n from"../../assets/icons/AddRow.svg.js";import o from"../../assets/icons/Plus.svg.js";import r from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:N,data:y,isFormOpen:C,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:D=!0})=>{var f,I,E,S,q,B,k,_,A,P,L,O,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=l(""),[le,ae]=l(null),[ie,te]=l(null),[se,de]=l([]),{values:ne,errors:oe,setFieldValue:re,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:D?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var l,a,i,t;e&&!(null===(a=null===(l=null==e?void 0:e.schema)||void 0===l?void 0:l.items)||void 0===a?void 0:a.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==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))&&re("name",e)},value:ne.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(a.SelectGroupV2,{disabled:T,value:{label:b(ne.in),value:ne.in},onChange:e=>{var l;re("in",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase()),"in"==(null==e?void 0:e.value)&&re("required",!0)},options:[{list:D?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!oe.in&&oe.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs",children:[e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(f=null==ne?void 0:ne.schema)||void 0===f?void 0:f.type),value:null===(I=null==ne?void 0:ne.schema)||void 0===I?void 0:I.type},errorMsg:!!oe.schema&&oe.schema,onChange:e=>{var l;return re("schema.type",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(E=null==ne?void 0:ne.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==ne?void 0:ne.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(a.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==ne?void 0:ne.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(_=null===(k=ne.schema)||void 0===k?void 0:k.items)||void 0===_?void 0:_.type},errorMsg:!!(null===(P=null===(A=null==oe?void 0:oe.schema)||void 0===A?void 0:A.items)||void 0===P?void 0:P.type)&&(null===(O=null===(L=null==oe?void 0:oe.schema)||void 0===L?void 0:L.items)||void 0===O?void 0:O.type),onChange:e=>{var l;return re("schema.items.type",null===(l=null==e?void 0:e.value)||void 0===l?void 0:l.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):""]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==ne?void 0:ne.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==ne?void 0:ne.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==ne?void 0:ne.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==ne?void 0:ne.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==ne?void 0:ne.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=>{re(`schema.enum[${i}]`,e)}},i)))),se&&(null==se?void 0:se.map(((l,i)=>e.jsx(a.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:l,onChange:e=>{let l=[...se];l[i]=e,de(l)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{de((e=>[...e,""]))},children:[e.jsx(t,{src:r}),"Add New Enum"]}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;re("schema.enum",[...null===(e=null==ne?void 0:ne.schema)||void 0===e?void 0:e.enum,...se]),de([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter((e=>!e)).length)||(null===(H=null==ne?void 0:ne.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==ne?void 0:ne.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",disabled:"array"==(null===(Q=null===(K=null==ne?void 0:ne.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase())||"object"==(null===(Z=null===(Y=null==ne?void 0:ne.schema)||void 0===Y?void 0:Y.type)||void 0===Z?void 0:Z.toLowerCase()),endIcon:e.jsx(t,{id:"enumIcon",src:o,width:"1.5rem",height:"1.5rem"}),children:"Add"})})})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:ne.required?"True":"False"}):e.jsx(a.Switch,{checked:!(!ne||!ne.in||"path"!=ne.in.toLowerCase())||ne.required,disabled:ne&&ne.in&&"path"==ne.in.toLowerCase(),onClick:()=>{T||re("required",!ne.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>ae(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:J||ne.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(a.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{re("description",null==J?void 0:J.trim()),null==le||le.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(a.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:d,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!ne.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(a.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!ne.name.trim(),endIcon:e.jsx(t,{src:n,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan: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 ]\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
|
+
{"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 <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 disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n </Tooltip>\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","_0","_z","_2","_1","endIcon","PlusIcon","height","_Fragment","Fragment","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 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
|
|
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 r,useEffect as o}from"react";import{handleStatusColor as n}from"../../../../helpers/methodAccordion.helper.js";import{httpStatusCodes as c}from"../../../../constants/index.js";import h from"../../../../components/Tooltip/Tooltip.js";import{useSectionToggle as m,SectionEnum as v}from"../../../../context/SectionToggleContext.js";import{capitalizeFirstLetter as j}from"../../../../utils/index.js";const p=({data:p,setActiveType:x,setActiveItemData:u})=>{var b,N,y;const[f,C]=r("header"),{toggleSection:g}=m(),w=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}))),[S,T]=r(null),[k,q]=r(w[4]),[O,R]=r({});return((null==p?void 0:p.parameters)||[]).filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===f.toLowerCase()})),o((()=>{if(k&&k.value){const e=null==p?void 0:p.responses[k.value];R(null==e?void 0:e.headers)}}),[k]),e.jsxs("div",{className:"api-details-expanded",children:[e.jsxs("div",{className:"test-button",children:[e.jsx("button",{className:"back-button",onClick:()=>{g(p.api.apiSpecId,[{type:v.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[v.RESOURCE]}),x("OVERVIEW"),u(p.api)},children:e.jsx(s,{src:t})}),e.jsx(h,{content:"Comming soon",children:e.jsx("button",{className:"disabled",children:"Test"})})]}),e.jsx("h3",{children:p.api.title}),e.jsx("h1",{className:"api-title",children:null==p?void 0:p.summary}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:`method-label ${null===(b=null==p?void 0:p.method)||void 0===b?void 0:b.toLowerCase()}`,children:p.method}),e.jsx("span",{className:"url-text",children:null==p?void 0:p.path})]}),e.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText(null==p?void 0:p.path),children:e.jsx(s,{src:i})})]}),e.jsx("p",{className:"api-desc",children:(null==p?void 0:p.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 "+(f===l?"active":""),onClick:()=>C(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===(N=p.parameters)||void 0===N?void 0:N.filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===f.toLowerCase()})).map(((i,a)=>{var t,d,r,o,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===(o=null===(r=null==i?void 0:i.schema)||void 0===r?void 0:r.items)||void 0===o?void 0:o.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 "+(S===a?"expanded":""),children:i.description||"No description"}),e.jsx("button",{className:"desc-toggle",onClick:()=>T(S===a?null:a),children:e.jsx(s,{src:l,className:S===a?"rotated":""})})]})]},a)}))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("h3",{children:"Response"}),e.jsxs("div",{children:[e.jsx("div",{style:{height:"0.5rem",width:"7.5rem",marginLeft:"auto"},children:(null===(y=Object.keys((null==p?void 0:p.responses)||{}))||void 0===y?void 0:y.length)>0&&e.jsx("div",{className:"codeboxSection",children:e.jsx("div",{className:"codeboxHeader",children:e.jsx(d.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:w}],value:k,onChange:e=>{q(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:!!O&&Object.keys(O)&&Object.keys(O).map((s=>{var l,i,a,t,d,r,o,n,c,h,m,v,p,x,u;return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{children:null===(l=O[s])||void 0===l?void 0:l.required.toString()}),e.jsxs("td",{style:{textTransform:"capitalize"},children:[e.jsx("span",{children:(null===(a=null===(i=O[s])||void 0===i?void 0:i.schema)||void 0===a?void 0:a.type)||"-"}),"array"===(null===(d=null===(t=O[s])||void 0===t?void 0:t.schema)||void 0===d?void 0:d.type)&&(null===(n=null===(o=null===(r=O[s])||void 0===r?void 0:r.schema)||void 0===o?void 0:o.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=O[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=O[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=O[s])||void 0===u?void 0:u.description})]})}))})]})})]})]})};export{p 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 // ? 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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"}
|
|
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>\n <div style={{ height: '0.5rem', width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={'codeboxSection'}>\n <div className={`${'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 <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n </div>\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","height","width","marginLeft","Object","keys","length","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_h","_k","_j","_p","_o","_q"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import i from"../../../../assets/icons/CopySticker.svg.js";import t from"../../../../assets/icons/arrowRightGray.svg.js";import{useSectionToggle as a,SectionEnum as
|
|
1
|
+
import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import i from"../../../../assets/icons/CopySticker.svg.js";import t from"../../../../assets/icons/arrowRightGray.svg.js";import{useSectionToggle as a,SectionEnum as n}from"../../../../context/SectionToggleContext.js";const r=({data:r,setActiveItemData:d,setActiveType:l,onProductNavigate:o,apis:c})=>{var p,m;const{toggleSection:v}=a();return e.jsxs("div",{className:"api-details-page",children:[e.jsx("h2",{className:"welcome",children:"Welcome to"}),e.jsx("h1",{className:"api-title",children:null==r?void 0:r.title}),e.jsxs("p",{className:"api-version",children:["API Version: ",e.jsx("span",{children:null==r?void 0:r.version})]}),e.jsxs("div",{className:"custom-url-input",children:[e.jsx("label",{className:"input-label",children:"API Base URL"}),e.jsxs("div",{className:"input-wrapper",children:[e.jsx("input",{type:"text",value:r&&r.servers&&r.servers.length>0?null===(p=r.servers[0])||void 0===p?void 0:p.url:"-",readOnly:!0}),e.jsx("span",{className:"icon",onClick:()=>{var e;return navigator.clipboard.writeText(`${r&&r.servers&&r.servers.length>0?null===(e=r.servers[0])||void 0===e?void 0:e.url:"-"}`)},children:e.jsx(s,{src:i})})]})]}),e.jsx("p",{className:"api-desc",children:`${r.description||"No Description"}`}),o&&e.jsxs("div",{className:"api-product-tag",children:["Product with this API"," ",e.jsx("span",{className:"product-tag",role:"button",tabIndex:-1,onClick:()=>o(r.associatedProduct.productId),children:r.associatedProduct.name})]}),e.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(null==r?void 0:r.tags).map((([i,a])=>e.jsxs("div",{className:"endpoint-group",children:[e.jsx("h4",{className:"tag-title",children:i}),e.jsx("div",{className:"endpoint-list",children:a.map(((a,o)=>{var c,p,m;return e.jsxs("div",{className:"endpoint-card",onClick:()=>(e=>{d(Object.assign(Object.assign({},e),{api:Object.assign({id:r.apiSpecId,title:r.title,description:r.description,version:r.version},r)})),l("ENDPOINT"),Object.entries((null==r?void 0:r.tags)||{}).findIndex((([,s])=>s.some((s=>s.id===e.id))));const s=Object.entries(r.tags).sort((([e],[s])=>"default"===e?1:"default"===s?-1:e.localeCompare(s))).findIndex((([s,i])=>i.find((s=>s.id===e.id))));v(r.apiSpecId,[{type:n.API_SECTION,setTo:!0},{type:n.ENDPOINTS_SECTION,setTo:!0},{type:n.TAG_SECTION,setTo:!0,index:s},{type:n.RESOURCE,setTo:!0,id:e.id}],{resetOthers:!0,filterKeys:[n.OVERVIEW]})})(a),children:[e.jsxs("div",{children:[e.jsxs("div",{className:"endpoint-card-header",children:[e.jsx("span",{className:`method-label ${a.method.toLowerCase()}`,children:a.method}),e.jsx("div",{className:"title-wrapper",children:e.jsxs("h5",{children:[(a.summary||"Endpoint Name").slice(0,40),(null!==(p=null===(c=a.summary)||void 0===c?void 0:c.length)&&void 0!==p?p:0)>40&&"..."]})})]}),e.jsxs("div",{className:"endpoint-meta",children:[e.jsx("p",{children:a.path}),e.jsx("p",{className:"description",children:null!==(m=a.description)&&void 0!==m?m:"No Description "})]})]}),e.jsx("div",{className:"endpoint-arrow",children:e.jsx(s,{src:t})})]},`${i}-${o}`)}))})]},i))),(null===(m=r.apiVersions)||void 0===m?void 0:m.length)>0&&e.jsxs("div",{className:"versions-section",children:[e.jsx("h4",{children:"API Versions"}),e.jsx("div",{className:"version-list",children:r.apiVersions.map(((s,i)=>{var t;return e.jsx("button",{className:"version-btn",onClick:()=>(e=>{if(e.apiSpecId===r.apiSpecId)return void l("OVERVIEW");const s=r.apiVersions.find((s=>s.apiSpecId===e.apiSpecId));if(!s)return;const i=c.find((e=>e.apiSpecId===s.apiSpecId));d(i),l("OVERVIEW"),v(i.apiSpecId,[{type:n.API_SECTION,setTo:!0},{type:n.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[n.OVERVIEW,n.API_SECTION,n.ENDPOINTS_SECTION,n.TAG_SECTION]})})(s),children:(null===(t=s.metaData)||void 0===t?void 0:t.version)||"N/A"},i)}))})]})]})};export{r as OverviewPage};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/OverviewPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport { arrowRightGray, CopySticker } from '../../../../assets/icons/index'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\n\nexport const OverviewPage = ({\n data,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const { toggleSection } = useSectionToggle()\n\n const handleVersionClick = (verObj) => {\n if (verObj.apiSpecId === data.apiSpecId) {\n setActiveType('OVERVIEW')\n return\n }\n\n const matchedVersion = data.apiVersions.find((v) => v.apiSpecId === verObj.apiSpecId)\n\n if (!matchedVersion) {\n return\n }\n\n const matchedApi = apis.find((api) => api.apiSpecId === matchedVersion.apiSpecId)\n setActiveItemData(matchedApi)\n\n setActiveType('OVERVIEW')\n toggleSection(\n matchedApi.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ],\n {\n resetOthers: true,\n filterKeys: [\n SectionEnum.OVERVIEW,\n SectionEnum.API_SECTION,\n SectionEnum.ENDPOINTS_SECTION,\n SectionEnum.TAG_SECTION,\n ],\n }\n )\n }\n\n const handleClick = (endpoint) => {\n setActiveItemData({\n ...endpoint,\n api: {\n id: data.apiSpecId,\n title: data.title,\n description: data.description,\n version: data.version,\n ...data,\n },\n })\n setActiveType('ENDPOINT')\n\n const tagSectionIndex = Object.entries(data.tags)\n .sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))\n .findIndex(([_, tagData]) => tagData.find((t) => t.id === endpoint.id))\n\n toggleSection(\n data.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.ENDPOINTS_SECTION, setTo: true },\n { type: SectionEnum.TAG_SECTION, setTo: true, index: tagSectionIndex },\n { type: SectionEnum.RESOURCE, setTo: true, id: endpoint.id },\n ],\n { resetOthers: true, filterKeys: [SectionEnum.OVERVIEW] }\n )\n }\n\n return (\n <div className=\"api-details-page\">\n <h2 className=\"welcome\">Welcome to</h2>\n <h1 className=\"api-title\">{data?.title}</h1>\n <p className=\"api-version\">\n API Version: <span>{data?.version}</span>\n </p>\n\n <div className=\"custom-url-input\">\n <label className=\"input-label\">API Base URL</label>\n <div className=\"input-wrapper\">\n <input\n type=\"text\"\n value={!!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'}\n readOnly\n />\n <span\n className=\"icon\"\n onClick={() =>\n navigator.clipboard.writeText(\n `${\n !!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'\n }`\n )\n }\n >\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n </div>\n\n <p className=\"api-desc\">API Description</p>\n {onProductNavigate && (\n <div className=\"api-product-tag\">\n Product with this API{' '}\n <span\n className=\"product-tag\"\n role=\"button\"\n tabIndex={-1}\n onClick={() => onProductNavigate(data.associatedProduct.productId)}\n >\n {data.associatedProduct.name}\n </span>\n </div>\n )}\n\n <h3 className=\"section-title\">Endpoints</h3>\n\n {Object.entries(data?.tags).map(([tag, endpoints]) => (\n <div className=\"endpoint-group\" key={tag}>\n <h4 className=\"tag-title\">{tag}</h4>\n <div className=\"endpoint-list\">\n {endpoints.map((endpoint, idx) => (\n <div\n className=\"endpoint-card\"\n onClick={() => handleClick(endpoint)}\n key={`${tag}-${idx}`}\n >\n <div>\n <div className=\"endpoint-card-header\">\n <span className={`method-label ${endpoint.method.toLowerCase()}`}>\n {endpoint.method}\n </span>\n <div className=\"title-wrapper\">\n <h5>\n {(endpoint.summary || 'Endpoint Name').slice(0, 17)}\n {(endpoint.summary?.length ?? 0) > 17 && '...'}\n </h5>\n </div>\n </div>\n <div className=\"endpoint-meta\">\n <p>{endpoint.path}</p>\n <p className=\"description\">{endpoint.description ?? 'No Description '}</p>\n </div>\n </div>\n\n <div className=\"endpoint-arrow\">\n <SVGLoader src={arrowRightGray} />\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n\n {data.apiVersions?.length > 0 && (\n <div className=\"versions-section\">\n <h4>API Versions</h4>\n <div className=\"version-list\">\n {data.apiVersions.map((verObj, index) => (\n <button\n key={index}\n className=\"version-btn\"\n onClick={() => handleVersionClick(verObj)}\n >\n {verObj.metaData?.version || 'N/A'}\n </button>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["OverviewPage","data","setActiveItemData","setActiveType","onProductNavigate","apis","toggleSection","useSectionToggle","_jsxs","className","_jsx","children","title","version","jsxs","jsx","type","value","servers","length","_a","url","readOnly","onClick","navigator","clipboard","writeText","SVGLoader","src","CopySticker","role","tabIndex","associatedProduct","productId","name","Object","entries","tags","map","tag","endpoints","endpoint","idx","assign","api","id","apiSpecId","description","tagSectionIndex","sort","a","b","localeCompare","findIndex","_","tagData","find","t","SectionEnum","API_SECTION","setTo","ENDPOINTS_SECTION","TAG_SECTION","index","RESOURCE","resetOthers","filterKeys","OVERVIEW","handleClick","method","toLowerCase","summary","slice","_b","path","_c","arrowRightGray","apiVersions","verObj","matchedVersion","v","matchedApi","handleVersionClick","metaData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/OverviewPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport { arrowRightGray, CopySticker } from '../../../../assets/icons/index'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\n\nexport const OverviewPage = ({\n data,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const { toggleSection } = useSectionToggle()\n\n const handleVersionClick = (verObj) => {\n if (verObj.apiSpecId === data.apiSpecId) {\n setActiveType('OVERVIEW')\n return\n }\n\n const matchedVersion = data.apiVersions.find((v) => v.apiSpecId === verObj.apiSpecId)\n\n if (!matchedVersion) {\n return\n }\n\n const matchedApi = apis.find((api) => api.apiSpecId === matchedVersion.apiSpecId)\n setActiveItemData(matchedApi)\n\n setActiveType('OVERVIEW')\n toggleSection(\n matchedApi.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ],\n {\n resetOthers: true,\n filterKeys: [\n SectionEnum.OVERVIEW,\n SectionEnum.API_SECTION,\n SectionEnum.ENDPOINTS_SECTION,\n SectionEnum.TAG_SECTION,\n ],\n }\n )\n }\n\n const handleClick = (endpoint) => {\n setActiveItemData({\n ...endpoint,\n api: {\n id: data.apiSpecId,\n title: data.title,\n description: data.description,\n version: data.version,\n ...data,\n },\n })\n setActiveType('ENDPOINT')\n const tagEntries = Object.entries(data?.tags || {})\n const sectionIndex = tagEntries.findIndex(([, endpoints]) =>\n endpoints.some((e) => e.id === endpoint.id)\n )\n\n const tagSectionIndex = Object.entries(data.tags)\n .sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))\n .findIndex(([_, tagData]) => tagData.find((t) => t.id === endpoint.id))\n\n toggleSection(\n data.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.ENDPOINTS_SECTION, setTo: true },\n { type: SectionEnum.TAG_SECTION, setTo: true, index: tagSectionIndex },\n { type: SectionEnum.RESOURCE, setTo: true, id: endpoint.id },\n ],\n { resetOthers: true, filterKeys: [SectionEnum.OVERVIEW] }\n )\n }\n\n return (\n <div className=\"api-details-page\">\n <h2 className=\"welcome\">Welcome to</h2>\n <h1 className=\"api-title\">{data?.title}</h1>\n <p className=\"api-version\">\n API Version: <span>{data?.version}</span>\n </p>\n\n <div className=\"custom-url-input\">\n <label className=\"input-label\">API Base URL</label>\n <div className=\"input-wrapper\">\n <input\n type=\"text\"\n value={!!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'}\n readOnly\n />\n <span\n className=\"icon\"\n onClick={() =>\n navigator.clipboard.writeText(\n `${\n !!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'\n }`\n )\n }\n >\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n </div>\n\n <p className=\"api-desc\">{`${data.description || 'No Description'}`}</p>\n {onProductNavigate && (\n <div className=\"api-product-tag\">\n Product with this API{' '}\n <span\n className=\"product-tag\"\n role=\"button\"\n tabIndex={-1}\n onClick={() => onProductNavigate(data.associatedProduct.productId)}\n >\n {data.associatedProduct.name}\n </span>\n </div>\n )}\n\n <h3 className=\"section-title\">Endpoints</h3>\n\n {Object.entries(data?.tags).map(([tag, endpoints]) => (\n <div className=\"endpoint-group\" key={tag}>\n <h4 className=\"tag-title\">{tag}</h4>\n <div className=\"endpoint-list\">\n {endpoints.map((endpoint, idx) => (\n <div\n className=\"endpoint-card\"\n onClick={() => handleClick(endpoint)}\n key={`${tag}-${idx}`}\n >\n <div>\n <div className=\"endpoint-card-header\">\n <span className={`method-label ${endpoint.method.toLowerCase()}`}>\n {endpoint.method}\n </span>\n <div className=\"title-wrapper\">\n <h5>\n {(endpoint.summary || 'Endpoint Name').slice(0, 40)}\n {(endpoint.summary?.length ?? 0) > 40 && '...'}\n </h5>\n </div>\n </div>\n <div className=\"endpoint-meta\">\n <p>{endpoint.path}</p>\n <p className=\"description\">{endpoint.description ?? 'No Description '}</p>\n </div>\n </div>\n\n <div className=\"endpoint-arrow\">\n <SVGLoader src={arrowRightGray} />\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n\n {data.apiVersions?.length > 0 && (\n <div className=\"versions-section\">\n <h4>API Versions</h4>\n <div className=\"version-list\">\n {data.apiVersions.map((verObj, index) => (\n <button\n key={index}\n className=\"version-btn\"\n onClick={() => handleVersionClick(verObj)}\n >\n {verObj.metaData?.version || 'N/A'}\n </button>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["OverviewPage","data","setActiveItemData","setActiveType","onProductNavigate","apis","toggleSection","useSectionToggle","_jsxs","className","_jsx","children","title","version","jsxs","jsx","type","value","servers","length","_a","url","readOnly","onClick","navigator","clipboard","writeText","SVGLoader","src","CopySticker","description","role","tabIndex","associatedProduct","productId","name","Object","entries","tags","map","tag","endpoints","endpoint","idx","assign","api","id","apiSpecId","findIndex","some","e","tagSectionIndex","sort","a","b","localeCompare","_","tagData","find","t","SectionEnum","API_SECTION","setTo","ENDPOINTS_SECTION","TAG_SECTION","index","RESOURCE","resetOthers","filterKeys","OVERVIEW","handleClick","method","toLowerCase","summary","slice","_b","path","_c","arrowRightGray","apiVersions","verObj","matchedVersion","v","matchedApi","handleVersionClick","metaData"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useRef as s,useEffect as i}from"react";import t from"../../../components/SVGLoader/SVGLoader.js";import a from"../../../assets/icons/arrowDownGray.svg.js";import c from"../../../assets/icons/arrowRightGray.svg.js";import p from"../../../assets/icons/document.svg.js";import
|
|
1
|
+
import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useRef as s,useEffect as i}from"react";import t from"../../../components/SVGLoader/SVGLoader.js";import a from"../../../assets/icons/arrowDownGray.svg.js";import c from"../../../assets/icons/arrowRightGray.svg.js";import p from"../../../assets/icons/document.svg.js";import n from"../../../assets/icons/eye.svg.js";import{useSectionToggle as o,SectionEnum as r}from"../../../context/SectionToggleContext.js";const d=({apis:d,setActiveItemData:l,isFirstApiExpanded:I,setIsFirstApiExpanded:m,setActiveType:_,canSelectFirstApi:S,canFocusSection:E,setCanFocusSection:j,activeApiId:x,setCanSelectFirstApi:h})=>{const{expandedSections:v,toggleSection:O,generateSectionKey:N}=o(),u=s({});i((()=>{if(S||!(null==d?void 0:d.length)||!I)return;const e=d[0];O(null==e?void 0:e.apiSpecId,[{type:r.API_SECTION,setTo:!0},{type:r.OVERVIEW,setTo:!0}]),l(e),_("OVERVIEW"),m(!1)}),[d,I]),i((()=>{const e=null==d?void 0:d.find((e=>e.apiSpecId===x));x&&d.length>0&&e&&(O(e.apiSpecId,[{type:r.API_SECTION,setTo:!0},{type:r.OVERVIEW,setTo:!0}]),l(e),_("OVERVIEW"),m(!1),h(!0),j(!0))}),[x,d]);const C=(s,i)=>s.map(((s,t)=>{const a=N({apiId:i.apiSpecId,type:r.RESOURCE,id:s.id}),c=v[a];return e.jsxs("div",{className:`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${s.method.toLowerCase()}`,onClick:()=>{c||(l(Object.assign(Object.assign({},s),{api:i})),_("ENDPOINT"),O(i.apiSpecId,[{type:r.RESOURCE,id:s.id}],{resetOthers:!0,filterKeys:[r.RESOURCE,r.OVERVIEW]}))},"data-active":c,children:[e.jsx("span",{className:"api-docs-api-tree__endpoint-method",children:s.method}),e.jsx("span",{className:"api-docs-api-tree__endpoint-name",children:s.path})]},t)})),y=s=>{const i=N({apiId:s.apiSpecId,type:r.API_SECTION}),o=N({apiId:s.apiSpecId,type:r.ENDPOINTS_SECTION}),d=N({apiId:s.apiSpecId,type:r.OVERVIEW}),I=v[i],m=v[o],S=v[d];if(E){const e=u.current[s.apiSpecId];null==e||e.scrollIntoView({behavior:"smooth",block:"start"}),j(!1)}return e.jsxs("div",{className:"api-docs-api-tree__section","data-active":m||S,ref:e=>{u.current[s.apiSpecId]=e},children:[e.jsxs("div",{className:"api-docs-api-tree__section-header",onClick:()=>O(s.apiSpecId,[{type:r.API_SECTION}]),children:[I?e.jsx(t,{src:a}):e.jsx(t,{src:c}),e.jsx(t,{src:p}),e.jsx("span",{className:"api-docs-api-tree__section-title",children:s.title})]}),I&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"api-docs-api-tree__section__overview",onClick:()=>{S||(O(s.apiSpecId,[{type:r.OVERVIEW}],{resetOthers:!0,filterKeys:[r.RESOURCE]}),l(s),_("OVERVIEW"))},"data-active":S,children:[e.jsx(t,{src:n}),e.jsx("span",{children:"Overview"})]}),e.jsxs("div",{className:"api-docs-api-tree__section__endpoints",onClick:()=>O(s.apiSpecId,[{type:r.ENDPOINTS_SECTION}]),"data-active":m&&!S,children:[v[o]?e.jsx(t,{src:a}):e.jsx(t,{src:c}),e.jsx("span",{children:"Endpoints"})]}),v[o]&&e.jsx("div",{className:"api-docs-api-tree__subsections",children:Object.entries(s.tags).filter((([,e])=>e.length>0)).sort((([e],[s])=>"default"===e?1:"default"===s?-1:e.localeCompare(s))).map((([i,p],n)=>((s,i,p,n)=>{const o=N({apiId:p.apiSpecId,type:r.TAG_SECTION,index:n}),d=v[o];return e.jsxs("div",{className:"api-docs-api-tree__subsection",children:[e.jsxs("div",{className:"api-docs-api-tree__subsection-header",onClick:()=>O(p.apiSpecId,[{type:r.TAG_SECTION,index:n}]),children:[d?e.jsx(t,{src:a}):e.jsx(t,{src:c}),e.jsx("span",{className:"api-docs-api-tree__subsection-title",children:s})]}),d&&e.jsx("div",{className:"api-docs-api-tree__endpoints",children:C(i,p)})]},o)})(i,p,s,n)))})]})]},s.apiSpecId)};return e.jsx("aside",{className:"api-docs-api-tree",children:d.map((e=>y(e)))})};export{d as default};
|
|
2
2
|
//# sourceMappingURL=DocsSideMenuTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useEffect, useRef } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../src/context/SectionToggleContext'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n canSelectFirstApi,\n canFocusSection,\n setCanFocusSection,\n activeApiId,\n setCanSelectFirstApi,\n}: {\n apis: OverviewData[]\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n activeItemData: OverviewData | EndpointData\n isFirstApiExpanded: boolean\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n activeType: 'OVERVIEW' | 'ENDPOINT'\n canSelectFirstApi?: boolean\n canFocusSection: boolean\n setCanFocusSection: React.Dispatch<React.SetStateAction<boolean>>\n activeApiId: string\n setCanSelectFirstApi: React.Dispatch<React.SetStateAction<boolean>>\n}) => {\n const { expandedSections, toggleSection, generateSectionKey } = useSectionToggle()\n const sectionRefs = useRef<Record<string, HTMLDivElement | null>>({})\n\n // Auto-expand first API only once\n useEffect(() => {\n if (canSelectFirstApi || !apis?.length || !isFirstApiExpanded) return\n\n const firstApi = apis[0]\n toggleSection(firstApi?.apiSpecId, [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ])\n\n setActiveItemData(firstApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n }, [apis, isFirstApiExpanded])\n\n useEffect(() => {\n const activeApi = apis?.find((api) => api.apiSpecId === activeApiId)\n if (activeApiId && apis.length > 0 && !!activeApi) {\n toggleSection(activeApi.apiSpecId, [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ])\n\n setActiveItemData(activeApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n setCanSelectFirstApi(true)\n setCanFocusSection(true)\n }\n }, [activeApiId, apis])\n\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\n endpoints.map((endpoint, index) => {\n const key = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.RESOURCE,\n id: endpoint.id,\n })\n const isExpanded = expandedSections[key]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isExpanded) {\n setActiveItemData({\n ...endpoint,\n api,\n })\n setActiveType('ENDPOINT')\n toggleSection(api.apiSpecId, [{ type: SectionEnum.RESOURCE, id: endpoint.id }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE, SectionEnum.OVERVIEW],\n })\n }\n }}\n data-active={isExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n\n const renderSubSection = (\n tagName: string,\n data: EndpointData[],\n api: OverviewData,\n sectionIndex: number\n ) => {\n const sectionKey = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.TAG_SECTION,\n index: sectionIndex,\n })\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() =>\n toggleSection(api.apiSpecId, [{ type: SectionEnum.TAG_SECTION, index: sectionIndex }])\n }\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </div>\n )\n }\n\n const renderApiSection = (api: OverviewData) => {\n const sectionKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.API_SECTION })\n const endpointsKey = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.ENDPOINTS_SECTION,\n })\n const overviewKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.OVERVIEW })\n\n const isApiExpanded = expandedSections[sectionKey]\n const isEndpointActive = expandedSections[endpointsKey]\n const isOverviewExpanded = expandedSections[overviewKey]\n // Scroll to the section if it's expanded\n if (canFocusSection) {\n const sectionEl = sectionRefs.current[api.apiSpecId]\n sectionEl?.scrollIntoView({ behavior: 'smooth', block: 'start' })\n setCanFocusSection(false)\n }\n\n return (\n <div\n key={api.apiSpecId}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n ref={(el) => {\n sectionRefs.current[api.apiSpecId] = el\n }}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.apiSpecId, [{ type: SectionEnum.API_SECTION }])}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className=\"api-docs-api-tree__section__overview\"\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.apiSpecId, [{ type: SectionEnum.OVERVIEW }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE],\n })\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n <SVGLoader src={eye} />\n <span>Overview</span>\n </div>\n\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() =>\n toggleSection(api.apiSpecId, [{ type: SectionEnum.ENDPOINTS_SECTION }])\n }\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {expandedSections[endpointsKey] ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n\n {expandedSections[endpointsKey] && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .sort(([a], [b]) =>\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\n )\n .map(([tagName, data], i) =>\n renderSubSection(tagName, data as EndpointData[], api, i)\n )}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","canSelectFirstApi","canFocusSection","setCanFocusSection","activeApiId","setCanSelectFirstApi","expandedSections","toggleSection","generateSectionKey","useSectionToggle","sectionRefs","useRef","useEffect","length","firstApi","apiSpecId","type","SectionEnum","API_SECTION","setTo","OVERVIEW","activeApi","find","api","renderEndpoints","endpoints","map","endpoint","index","key","apiId","RESOURCE","id","isExpanded","_jsxs","className","method","toLowerCase","onClick","Object","assign","resetOthers","filterKeys","children","_jsx","jsx","path","renderApiSection","sectionKey","endpointsKey","ENDPOINTS_SECTION","overviewKey","isApiExpanded","isEndpointActive","isOverviewExpanded","sectionEl","current","scrollIntoView","behavior","block","ref","el","SVGLoader","src","arrowDownGray","arrowRightGray","document","title","jsxs","_Fragment","Fragment","eye","entries","tags","sort","a","b","localeCompare","tagName","data","i","sectionIndex","TAG_SECTION","isSectionExpanded","renderSubSection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useEffect, useRef } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../src/context/SectionToggleContext'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n canSelectFirstApi,\n canFocusSection,\n setCanFocusSection,\n activeApiId,\n setCanSelectFirstApi,\n}: {\n apis: OverviewData[]\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n activeItemData: OverviewData | EndpointData\n isFirstApiExpanded: boolean\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n activeType: 'OVERVIEW' | 'ENDPOINT'\n canSelectFirstApi?: boolean\n canFocusSection: boolean\n setCanFocusSection: React.Dispatch<React.SetStateAction<boolean>>\n activeApiId: string\n setCanSelectFirstApi: React.Dispatch<React.SetStateAction<boolean>>\n}) => {\n const { expandedSections, toggleSection, generateSectionKey } = useSectionToggle()\n const sectionRefs = useRef<Record<string, HTMLDivElement | null>>({})\n\n // Auto-expand first API only once\n useEffect(() => {\n if (canSelectFirstApi || !apis?.length || !isFirstApiExpanded) return\n\n const firstApi = apis[0]\n toggleSection(firstApi?.apiSpecId, [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ])\n\n setActiveItemData(firstApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n }, [apis, isFirstApiExpanded])\n\n useEffect(() => {\n const activeApi = apis?.find((api) => api.apiSpecId === activeApiId)\n if (activeApiId && apis.length > 0 && !!activeApi) {\n toggleSection(activeApi.apiSpecId, [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ])\n\n setActiveItemData(activeApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n setCanSelectFirstApi(true)\n setCanFocusSection(true)\n }\n }, [activeApiId, apis])\n\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\n endpoints.map((endpoint, index) => {\n const key = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.RESOURCE,\n id: endpoint.id,\n })\n const isExpanded = expandedSections[key]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isExpanded) {\n setActiveItemData({\n ...endpoint,\n api,\n })\n setActiveType('ENDPOINT')\n toggleSection(api.apiSpecId, [{ type: SectionEnum.RESOURCE, id: endpoint.id }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE, SectionEnum.OVERVIEW],\n })\n }\n }}\n data-active={isExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n\n const renderSubSection = (\n tagName: string,\n data: EndpointData[],\n api: OverviewData,\n sectionIndex: number\n ) => {\n const sectionKey = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.TAG_SECTION,\n index: sectionIndex,\n })\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() =>\n toggleSection(api.apiSpecId, [{ type: SectionEnum.TAG_SECTION, index: sectionIndex }])\n }\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </div>\n )\n }\n\n const renderApiSection = (api: OverviewData) => {\n const sectionKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.API_SECTION })\n const endpointsKey = generateSectionKey({\n apiId: api.apiSpecId,\n type: SectionEnum.ENDPOINTS_SECTION,\n })\n const overviewKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.OVERVIEW })\n\n const isApiExpanded = expandedSections[sectionKey]\n const isEndpointActive = expandedSections[endpointsKey]\n const isOverviewExpanded = expandedSections[overviewKey]\n // Scroll to the section if it's expanded\n if (canFocusSection) {\n const sectionEl = sectionRefs.current[api.apiSpecId]\n sectionEl?.scrollIntoView({ behavior: 'smooth', block: 'start' })\n setCanFocusSection(false)\n }\n\n return (\n <div\n key={api.apiSpecId}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n ref={(el) => {\n sectionRefs.current[api.apiSpecId] = el\n }}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.apiSpecId, [{ type: SectionEnum.API_SECTION }])}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className=\"api-docs-api-tree__section__overview\"\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.apiSpecId, [{ type: SectionEnum.OVERVIEW }], {\n resetOthers: true,\n filterKeys: [SectionEnum.RESOURCE],\n })\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n <SVGLoader src={eye} />\n <span>Overview</span>\n </div>\n\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() =>\n toggleSection(api.apiSpecId, [{ type: SectionEnum.ENDPOINTS_SECTION }])\n }\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {expandedSections[endpointsKey] ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n\n {expandedSections[endpointsKey] && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .filter(([, endpoints]) => endpoints.length > 0)\n .sort(([a], [b]) =>\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\n )\n .map(([tagName, data], i) =>\n renderSubSection(tagName, data as EndpointData[], api, i)\n )}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","canSelectFirstApi","canFocusSection","setCanFocusSection","activeApiId","setCanSelectFirstApi","expandedSections","toggleSection","generateSectionKey","useSectionToggle","sectionRefs","useRef","useEffect","length","firstApi","apiSpecId","type","SectionEnum","API_SECTION","setTo","OVERVIEW","activeApi","find","api","renderEndpoints","endpoints","map","endpoint","index","key","apiId","RESOURCE","id","isExpanded","_jsxs","className","method","toLowerCase","onClick","Object","assign","resetOthers","filterKeys","children","_jsx","jsx","path","renderApiSection","sectionKey","endpointsKey","ENDPOINTS_SECTION","overviewKey","isApiExpanded","isEndpointActive","isOverviewExpanded","sectionEl","current","scrollIntoView","behavior","block","ref","el","SVGLoader","src","arrowDownGray","arrowRightGray","document","title","jsxs","_Fragment","Fragment","eye","entries","tags","filter","sort","a","b","localeCompare","tagName","data","i","sectionIndex","TAG_SECTION","isSectionExpanded","renderSubSection"],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -1773,7 +1773,6 @@ div.endBtnIcon {
|
|
|
1773
1773
|
font-weight: 400;
|
|
1774
1774
|
}
|
|
1775
1775
|
:global .close-icon {
|
|
1776
|
-
position: absolute !important;
|
|
1777
1776
|
top: 3.2rem !important;
|
|
1778
1777
|
right: 3rem !important;
|
|
1779
1778
|
cursor: pointer !important;
|
|
@@ -2052,13 +2051,13 @@ div.endBtnIcon {
|
|
|
2052
2051
|
}
|
|
2053
2052
|
.api-details-page .endpoint-group .endpoint-card .endpoint-card-header {
|
|
2054
2053
|
display: flex;
|
|
2055
|
-
gap:
|
|
2054
|
+
gap: 0.8rem;
|
|
2056
2055
|
align-items: flex-start;
|
|
2057
2056
|
}
|
|
2058
2057
|
.api-details-page .endpoint-group .endpoint-card .endpoint-card-header .title-wrapper {
|
|
2059
2058
|
flex: 1;
|
|
2060
|
-
width:
|
|
2061
|
-
min-width:
|
|
2059
|
+
max-width: 10rem;
|
|
2060
|
+
min-width: 10rem;
|
|
2062
2061
|
}
|
|
2063
2062
|
.api-details-page .endpoint-group .endpoint-card .endpoint-card-header h5 {
|
|
2064
2063
|
font-size: 1rem;
|
|
@@ -2171,6 +2170,31 @@ div.endBtnIcon {
|
|
|
2171
2170
|
}main {
|
|
2172
2171
|
padding: 2rem;
|
|
2173
2172
|
}
|
|
2173
|
+
main .api-details-expanded .response-section .codeboxSection .codeboxHeader .multiSelectGroup .selectDisplay {
|
|
2174
|
+
padding: 0;
|
|
2175
|
+
width: 7.5rem !important;
|
|
2176
|
+
height: 2rem !important;
|
|
2177
|
+
}
|
|
2178
|
+
main .api-details-expanded .response-section .codeboxSection .codeboxHeader .multiSelectGroup .selectDisplay .select-label-container {
|
|
2179
|
+
min-width: 100%;
|
|
2180
|
+
padding: 0;
|
|
2181
|
+
}
|
|
2182
|
+
main .api-details-expanded .response-section .codeboxSection .codeboxHeader .multiSelectGroup .optionsList .option {
|
|
2183
|
+
height: 1.5rem;
|
|
2184
|
+
padding: 0;
|
|
2185
|
+
}
|
|
2186
|
+
main .api-details-expanded .response-section .codeboxSection .codeboxHeader .multiSelectGroup .statusCodeOptionContainer {
|
|
2187
|
+
display: flex;
|
|
2188
|
+
align-items: center;
|
|
2189
|
+
gap: 0.625rem;
|
|
2190
|
+
padding-left: 0.75rem;
|
|
2191
|
+
}
|
|
2192
|
+
main .api-details-expanded .response-section .codeboxSection .codeboxHeader .multiSelectGroup .statusCodeOptionContainer .statusCodeOptionCircle {
|
|
2193
|
+
width: 0.625rem;
|
|
2194
|
+
min-width: 0.625rem;
|
|
2195
|
+
aspect-ratio: 1/1;
|
|
2196
|
+
border-radius: 100%;
|
|
2197
|
+
}
|
|
2174
2198
|
main .api-details-expanded .api-title {
|
|
2175
2199
|
font-size: 3rem;
|
|
2176
2200
|
font-weight: 600;
|
package/package.json
CHANGED
|
@@ -250,108 +250,103 @@ const ParamterTable = ({
|
|
|
250
250
|
|
|
251
251
|
<td key={'parameter enum'}>
|
|
252
252
|
<div data-id="TEXT_DESCRIPTION" className="tableData">
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
<Tooltip
|
|
254
|
+
disabled={
|
|
255
|
+
values?.schema?.type?.toLowerCase() == 'array' ||
|
|
256
|
+
values?.schema?.type?.toLowerCase() == 'object'
|
|
257
|
+
}
|
|
258
|
+
arrowWithBorder
|
|
259
|
+
placement="bottom-end"
|
|
260
|
+
type="function"
|
|
261
|
+
trigger="click"
|
|
262
|
+
delay={[0, 0]}
|
|
263
|
+
onCreate={(instance) => setTooltipEnumRef(instance)}
|
|
264
|
+
content={
|
|
265
|
+
<div className={styles.editDescTooltipContent}>
|
|
266
|
+
<p className={styles.editDescTooltipContent_header}>Enum</p>
|
|
267
|
+
{!!values?.schema?.enum &&
|
|
268
|
+
!!values?.schema?.enum.length &&
|
|
269
|
+
values?.schema?.enum?.map((item, index) => (
|
|
270
|
+
<Input
|
|
271
|
+
key={index}
|
|
272
|
+
className={'methodDescForEnum'}
|
|
273
|
+
required
|
|
274
|
+
clearable={false}
|
|
275
|
+
placeholder="Enter Enum value..."
|
|
276
|
+
value={item}
|
|
277
|
+
onChange={(value) => {
|
|
278
|
+
setFieldValue(`schema.enum[${index}]`, value)
|
|
279
|
+
}}
|
|
280
|
+
/>
|
|
281
|
+
))}
|
|
282
|
+
{enumFields &&
|
|
283
|
+
enumFields?.map((item, index) => (
|
|
284
|
+
<Input
|
|
285
|
+
key={index}
|
|
286
|
+
className={'methodDescForEnum'}
|
|
287
|
+
required
|
|
288
|
+
clearable={false}
|
|
289
|
+
placeholder={`Enter Enum value...`}
|
|
290
|
+
value={item}
|
|
291
|
+
onChange={(value) => {
|
|
292
|
+
let _values = [...enumFields]
|
|
293
|
+
_values[index] = value
|
|
294
|
+
setEnumFields(_values)
|
|
295
|
+
}}
|
|
296
|
+
/>
|
|
297
|
+
))}
|
|
298
|
+
<p
|
|
299
|
+
className={'addEnumButton'}
|
|
300
|
+
onClick={() => {
|
|
301
|
+
setEnumFields((prev) => [...prev, ''])
|
|
302
|
+
}}
|
|
303
|
+
>
|
|
304
|
+
<SVGLoader src={PlusSquare} />
|
|
305
|
+
Add New Enum
|
|
306
|
+
</p>
|
|
307
|
+
{!readOnly && (
|
|
308
|
+
<Button
|
|
309
|
+
className={styles.editDescTooltipContent_btn}
|
|
310
|
+
variant="outlined"
|
|
311
|
+
size="small"
|
|
312
|
+
type="button"
|
|
313
|
+
onClick={() => {
|
|
314
|
+
setFieldValue('schema.enum', [
|
|
315
|
+
...values?.schema?.enum,
|
|
316
|
+
...enumFields,
|
|
317
|
+
])
|
|
318
|
+
setEnumFields([])
|
|
319
|
+
tooltipEnumRef?.hide()
|
|
320
|
+
}}
|
|
321
|
+
disabled={
|
|
322
|
+
(enumFields.length > 0 &&
|
|
323
|
+
enumFields?.filter((item) => !item).length) ||
|
|
324
|
+
(values?.schema?.enum.length > 0 &&
|
|
325
|
+
values?.schema?.enum?.filter((item) => !item).length)
|
|
326
|
+
}
|
|
327
|
+
>
|
|
328
|
+
Apply
|
|
329
|
+
</Button>
|
|
330
|
+
)}
|
|
331
|
+
</div>
|
|
332
|
+
}
|
|
333
|
+
>
|
|
334
|
+
<Button
|
|
335
|
+
className={styles.editDescBtn}
|
|
336
|
+
id="EnumButton"
|
|
337
|
+
variant="link"
|
|
338
|
+
color="action"
|
|
255
339
|
disabled={
|
|
256
340
|
values?.schema?.type?.toLowerCase() == 'array' ||
|
|
257
341
|
values?.schema?.type?.toLowerCase() == 'object'
|
|
258
342
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
type="function"
|
|
262
|
-
trigger="click"
|
|
263
|
-
delay={[0, 0]}
|
|
264
|
-
onCreate={(instance) => setTooltipEnumRef(instance)}
|
|
265
|
-
content={
|
|
266
|
-
<div className={styles.editDescTooltipContent}>
|
|
267
|
-
<p className={styles.editDescTooltipContent_header}>Enum</p>
|
|
268
|
-
{!!values?.schema?.enum &&
|
|
269
|
-
!!values?.schema?.enum.length &&
|
|
270
|
-
values?.schema?.enum?.map((item, index) => (
|
|
271
|
-
<Input
|
|
272
|
-
key={index}
|
|
273
|
-
className={'methodDescForEnum'}
|
|
274
|
-
required
|
|
275
|
-
clearable={false}
|
|
276
|
-
placeholder="Enter Enum value..."
|
|
277
|
-
value={item}
|
|
278
|
-
onChange={(value) => {
|
|
279
|
-
setFieldValue(`schema.enum[${index}]`, value)
|
|
280
|
-
}}
|
|
281
|
-
/>
|
|
282
|
-
))}
|
|
283
|
-
{enumFields &&
|
|
284
|
-
enumFields?.map((item, index) => (
|
|
285
|
-
<Input
|
|
286
|
-
key={index}
|
|
287
|
-
className={'methodDescForEnum'}
|
|
288
|
-
required
|
|
289
|
-
clearable={false}
|
|
290
|
-
placeholder={`Enter Enum value...`}
|
|
291
|
-
value={item}
|
|
292
|
-
onChange={(value) => {
|
|
293
|
-
let _values = [...enumFields]
|
|
294
|
-
_values[index] = value
|
|
295
|
-
setEnumFields(_values)
|
|
296
|
-
}}
|
|
297
|
-
/>
|
|
298
|
-
))}
|
|
299
|
-
<p
|
|
300
|
-
className={'addEnumButton'}
|
|
301
|
-
onClick={() => {
|
|
302
|
-
setEnumFields((prev) => [...prev, ''])
|
|
303
|
-
}}
|
|
304
|
-
>
|
|
305
|
-
<SVGLoader src={PlusSquare} />
|
|
306
|
-
Add New Enum
|
|
307
|
-
</p>
|
|
308
|
-
{!readOnly && (
|
|
309
|
-
<Button
|
|
310
|
-
className={styles.editDescTooltipContent_btn}
|
|
311
|
-
variant="outlined"
|
|
312
|
-
size="small"
|
|
313
|
-
type="button"
|
|
314
|
-
onClick={() => {
|
|
315
|
-
setFieldValue('schema.enum', [
|
|
316
|
-
...values?.schema?.enum,
|
|
317
|
-
...enumFields,
|
|
318
|
-
])
|
|
319
|
-
setEnumFields([])
|
|
320
|
-
tooltipEnumRef?.hide()
|
|
321
|
-
}}
|
|
322
|
-
disabled={
|
|
323
|
-
(enumFields.length > 0 &&
|
|
324
|
-
enumFields?.filter((item) => !item).length) ||
|
|
325
|
-
(values?.schema?.enum.length > 0 &&
|
|
326
|
-
values?.schema?.enum?.filter((item) => !item).length)
|
|
327
|
-
}
|
|
328
|
-
>
|
|
329
|
-
Apply
|
|
330
|
-
</Button>
|
|
331
|
-
)}
|
|
332
|
-
</div>
|
|
343
|
+
endIcon={
|
|
344
|
+
<SVGLoader id="enumIcon" src={PlusIcon} width="1.5rem" height="1.5rem" />
|
|
333
345
|
}
|
|
334
346
|
>
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
variant="link"
|
|
339
|
-
color="action"
|
|
340
|
-
endIcon={
|
|
341
|
-
<SVGLoader
|
|
342
|
-
id="enumIcon"
|
|
343
|
-
src={PlusIcon}
|
|
344
|
-
width="1.5rem"
|
|
345
|
-
height="1.5rem"
|
|
346
|
-
/>
|
|
347
|
-
}
|
|
348
|
-
>
|
|
349
|
-
Add
|
|
350
|
-
</Button>
|
|
351
|
-
</Tooltip>
|
|
352
|
-
) : (
|
|
353
|
-
'-'
|
|
354
|
-
)}{' '}
|
|
347
|
+
Add
|
|
348
|
+
</Button>
|
|
349
|
+
</Tooltip>
|
|
355
350
|
</div>
|
|
356
351
|
</td>
|
|
357
352
|
|
|
@@ -165,36 +165,37 @@ export const EndpointPage = ({
|
|
|
165
165
|
<div className="response-section">
|
|
166
166
|
<h3>Response</h3>
|
|
167
167
|
|
|
168
|
-
<div
|
|
169
|
-
{
|
|
170
|
-
|
|
171
|
-
<div className={
|
|
172
|
-
<
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
{
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
168
|
+
<div>
|
|
169
|
+
<div style={{ height: '0.5rem', width: '7.5rem', marginLeft: 'auto' }}>
|
|
170
|
+
{Object.keys(data?.responses || {})?.length > 0 && (
|
|
171
|
+
<div className={'codeboxSection'}>
|
|
172
|
+
<div className={`${'codeboxHeader'}`}>
|
|
173
|
+
<SelectGroup
|
|
174
|
+
size="small"
|
|
175
|
+
withSearch={false}
|
|
176
|
+
isMultiple={false}
|
|
177
|
+
clearable={false}
|
|
178
|
+
placeholder="200"
|
|
179
|
+
options={[
|
|
180
|
+
{
|
|
181
|
+
list: httpStatusCodeOptions,
|
|
182
|
+
},
|
|
183
|
+
]}
|
|
184
|
+
value={selectedResStatusCode}
|
|
185
|
+
onChange={(value) => {
|
|
186
|
+
setSelectedResStatusCode(value)
|
|
187
|
+
}}
|
|
188
|
+
/>
|
|
189
|
+
</div>
|
|
188
190
|
</div>
|
|
189
|
-
|
|
190
|
-
|
|
191
|
+
)}
|
|
192
|
+
</div>
|
|
193
|
+
<button className="tab active ">
|
|
194
|
+
<SVGLoader src={RequestOption} className="icon-left" />
|
|
195
|
+
Header
|
|
196
|
+
</button>
|
|
191
197
|
</div>
|
|
192
198
|
|
|
193
|
-
<button className="tab active ">
|
|
194
|
-
<SVGLoader src={RequestOption} className="icon-left" />
|
|
195
|
-
Header
|
|
196
|
-
</button>
|
|
197
|
-
|
|
198
199
|
<div className="table-wrapper">
|
|
199
200
|
<table className="param-table">
|
|
200
201
|
<thead>
|
|
@@ -2,6 +2,40 @@ main {
|
|
|
2
2
|
padding: 2rem;
|
|
3
3
|
|
|
4
4
|
.api-details-expanded {
|
|
5
|
+
.response-section .codeboxSection .codeboxHeader {
|
|
6
|
+
.multiSelectGroup {
|
|
7
|
+
.selectDisplay {
|
|
8
|
+
padding: 0;
|
|
9
|
+
width: 7.5rem !important;
|
|
10
|
+
height: 2rem !important;
|
|
11
|
+
|
|
12
|
+
.select-label-container {
|
|
13
|
+
min-width: 100%;
|
|
14
|
+
padding: 0;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.optionsList .option {
|
|
19
|
+
height: 1.5rem;
|
|
20
|
+
padding: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.statusCodeOptionContainer {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
gap: 0.625rem;
|
|
27
|
+
padding-left: 0.75rem;
|
|
28
|
+
|
|
29
|
+
.statusCodeOptionCircle {
|
|
30
|
+
width: 0.625rem;
|
|
31
|
+
min-width: 0.625rem;
|
|
32
|
+
aspect-ratio: 1 / 1;
|
|
33
|
+
border-radius: 100%;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
5
39
|
.api-title {
|
|
6
40
|
font-size: 3rem;
|
|
7
41
|
font-weight: 600;
|
|
@@ -65,6 +65,10 @@ export const OverviewPage = ({
|
|
|
65
65
|
},
|
|
66
66
|
})
|
|
67
67
|
setActiveType('ENDPOINT')
|
|
68
|
+
const tagEntries = Object.entries(data?.tags || {})
|
|
69
|
+
const sectionIndex = tagEntries.findIndex(([, endpoints]) =>
|
|
70
|
+
endpoints.some((e) => e.id === endpoint.id)
|
|
71
|
+
)
|
|
68
72
|
|
|
69
73
|
const tagSectionIndex = Object.entries(data.tags)
|
|
70
74
|
.sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))
|
|
@@ -113,7 +117,7 @@ export const OverviewPage = ({
|
|
|
113
117
|
</div>
|
|
114
118
|
</div>
|
|
115
119
|
|
|
116
|
-
<p className="api-desc">
|
|
120
|
+
<p className="api-desc">{`${data.description || 'No Description'}`}</p>
|
|
117
121
|
{onProductNavigate && (
|
|
118
122
|
<div className="api-product-tag">
|
|
119
123
|
Product with this API{' '}
|
|
@@ -147,8 +151,8 @@ export const OverviewPage = ({
|
|
|
147
151
|
</span>
|
|
148
152
|
<div className="title-wrapper">
|
|
149
153
|
<h5>
|
|
150
|
-
{(endpoint.summary || 'Endpoint Name').slice(0,
|
|
151
|
-
{(endpoint.summary?.length ?? 0) >
|
|
154
|
+
{(endpoint.summary || 'Endpoint Name').slice(0, 40)}
|
|
155
|
+
{(endpoint.summary?.length ?? 0) > 40 && '...'}
|
|
152
156
|
</h5>
|
|
153
157
|
</div>
|
|
154
158
|
</div>
|
|
@@ -148,13 +148,13 @@
|
|
|
148
148
|
|
|
149
149
|
.endpoint-card-header {
|
|
150
150
|
display: flex;
|
|
151
|
-
gap:
|
|
151
|
+
gap: 0.8rem;
|
|
152
152
|
align-items: flex-start;
|
|
153
153
|
|
|
154
154
|
.title-wrapper {
|
|
155
155
|
flex: 1;
|
|
156
|
-
width:
|
|
157
|
-
min-width:
|
|
156
|
+
max-width: 10rem;
|
|
157
|
+
min-width: 10rem;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
h5 {
|
|
@@ -208,6 +208,7 @@ const DocsSideMenuTree = ({
|
|
|
208
208
|
{expandedSections[endpointsKey] && (
|
|
209
209
|
<div className="api-docs-api-tree__subsections">
|
|
210
210
|
{Object.entries(api.tags)
|
|
211
|
+
.filter(([, endpoints]) => endpoints.length > 0)
|
|
211
212
|
.sort(([a], [b]) =>
|
|
212
213
|
a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)
|
|
213
214
|
)
|
package/the_npm_commands.sh
CHANGED
package/variables.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export APP_VERSION=1.0.
|
|
2
|
-
export ECR_IMAGE=650046438355.dkr.ecr.eu-central-1.amazonaws.com/dgate-api-documentation:1.0.
|
|
3
|
-
export IMAGE_TAG=1.0.
|
|
1
|
+
export APP_VERSION=1.0.64
|
|
2
|
+
export ECR_IMAGE=650046438355.dkr.ecr.eu-central-1.amazonaws.com/dgate-api-documentation:1.0.64-31075-develop
|
|
3
|
+
export IMAGE_TAG=1.0.64-31075-develop
|
|
4
4
|
export TARGET_ENV=dev
|