@digi-frontend/dgate-api-documentation 1.0.10 → 1.0.12

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.
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as n}from"react";import{useFormikContext as o}from"../../../node_modules/formik/dist/formik.esm.js";import{d as t}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import r from"../../constants/regex.js";import l from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import c from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import p from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import v from"../table/tags-table.js";const x=({readOnly:x})=>{var h,g,j,D,f;const[b,C]=i([]),[N,k]=i(),[y,O]=i(""),{values:T,setFieldValue:A,errors:I}=o(),[B,w]=i({}),[_,E]=i({}),[L,S]=i(null),[z,V]=i(null),[F,P]=i(!1),[W,R]=i(!1);n((()=>{if(T&&T.components&&T.components.securitySchemes){const e=Object.keys(T.components.securitySchemes);e.length&&O(T.components.securitySchemes[e[0]].scheme)}}),[]),n((()=>{k(M(b))}),[b]),n((()=>{T.tags&&T.tags.length&&(k(M(T.tags)),C(T.tags))}),[]);const q=(e,i,n)=>{const o=b.map(((o,t)=>t===n?Object.assign(Object.assign({},o),{[e]:i}):o));C(o)},M=i=>i.map(((i,n)=>{var o,r,d,p,u,v,h,g,j,D;return{id:n,tagName:i.name,description:e.jsx("div",{className:s.paramDescContainer,children:e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>E((i=>Object.assign(Object.assign({},i),{[n]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(t.TextArea,{placeholder:"Describe parameter...",value:i.description,disabled:x,onChange:e=>q("description",e,n)}),!x&&e.jsx(t.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;A(`tags[${n}].description`,i.description),null===(e=_[n])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(t.Button,{className:s.editDescBtn,variant:"link",color:"action",children:[i.description?i.description.substring(0,12):"-",i.description&&i.description.length>12?"...":""]}):e.jsx(t.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),children:x||i.description?"View Description":"Add Description"})})}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>w((i=>Object.assign(Object.assign({},i),{[n]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(t.TextArea,{placeholder:"Describe External Doc...",value:null===(o=i.externalDocs)||void 0===o?void 0:o.description,disabled:x,onChange:e=>q("externalDocs",Object.assign(Object.assign({},i.externalDocs),{description:e}),n)}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(t.TextArea,{placeholder:"External Docs Link...",value:null===(r=i.externalDocs)||void 0===r?void 0:r.url,disabled:x,onChange:e=>q("externalDocs",Object.assign(Object.assign({},i.externalDocs),{url:e}),n)}),!x&&e.jsx(t.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;A(`tags[${n}].externalDocs`,{description:i.externalDocDesc,url:i.externalDocLink}),console.log({tags:T.tags}),null===(e=B[n])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(t.Button,{className:s.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const n=document.createElement("a");n.href=null===(e=i.externalDocs)||void 0===e?void 0:e.url,n.click()},children:[(null===(d=null==i?void 0:i.externalDocs)||void 0===d?void 0:d.description)?null===(u=null===(p=null==i?void 0:i.externalDocs)||void 0===p?void 0:p.description)||void 0===u?void 0:u.substring(0,12):"-",(null===(v=null==i?void 0:i.externalDocs)||void 0===v?void 0:v.description)&&(null===(g=null===(h=null==i?void 0:i.externalDocs)||void 0===h?void 0:h.description)||void 0===g?void 0:g.length)>12?"...":""]}):e.jsxs(t.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),onClick:()=>{console.log("Move to url")},children:[x||i.externalDocs&&((null===(j=i.externalDocs)||void 0===j?void 0:j.url)||(null===(D=i.externalDocs)||void 0===D?void 0:D.description))?"View ":"Add "," ","External Docs Link"]})}),!x&&e.jsx("div",{className:s.paramDescContainer_separator}),!x&&e.jsx(t.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(m,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>{return e=n,o=i.name,S(e),V(o),void P(!0);var e,o}})]})}}));return e.jsxs("form",{className:s.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(t.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(h=null==T?void 0:T.info)||void 0===h?void 0:h.title,maxLength:25,onChange:e=>{A("info.title",e)},onClear:()=>{A("info.title","")},errorMsg:null===(g=null==I?void 0:I.info)||void 0===g?void 0:g.title,restrictedCharsRegex:r.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(t.Input,{size:"large",label:"API Authentication Type",required:!0,value:($=y,$?$.charAt(0).toUpperCase()+$.slice(1):""),disabled:!0}),e.jsx(t.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==T?void 0:T.info)||void 0===j?void 0:j.version,disabled:!0})]}),e.jsx(t.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(D=null==T?void 0:T.info)||void 0===D?void 0:D.description,maxLength:120,onChange:e=>{A("info.description",e)},onClear:()=>{A("info.description","")},errorMessage:null===(f=null==I?void 0:I.info)||void 0===f?void 0:f.description,restrictedCharsRegex:r.restrictNone}),e.jsx("div",{className:s.paramsTable,children:e.jsx(v,{id:"paramter-table",data:N,headCells:u,isFormOpen:W,setIsFormOpen:R,saveNewRow:e=>{C([...b,e]),A("tags",[...T.tags,e])},readOnly:x})}),e.jsx(p,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsx("span",{className:"plan-name",children:` Tag ${z} `}),"?"]}),onSubmit:{onClick:()=>{null!==L&&C((e=>e.filter(((e,i)=>i!==L)))),P(!1),S(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>P(!1),open:F,icon:e.jsx(m,{src:d,width:"4.0625rem",height:"4.0625rem"})})]});var $};export{x as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as n}from"react";import{useFormikContext as t}from"../../../node_modules/formik/dist/formik.esm.js";import{d as o}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import r from"../../constants/regex.js";import l from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import c from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import p from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import v from"../table/tags-table.js";const x=({readOnly:x})=>{var h,g,j,D,f;const[b,C]=i([]),[N,k]=i(),[y,O]=i(""),[T,A]=i(""),[I,B]=i(""),{values:w,setFieldValue:_,errors:E}=t(),[S,z]=i({}),[L,V]=i({}),[F,P]=i(null),[W,R]=i(null),[q,M]=i(!1),[$,G]=i(!1);n((()=>{if(w&&w.components&&w.components.securitySchemes){const e=Object.keys(w.components.securitySchemes);e.length&&O(w.components.securitySchemes[e[0]].scheme)}}),[]),n((()=>{k(U(b))}),[b]),n((()=>{w.tags&&w.tags.length&&(k(U(w.tags)),C(w.tags))}),[]);const H=(e,i,n)=>{const t=b.map(((t,o)=>o===n?Object.assign(Object.assign({},t),{[e]:i}):t));C(t)},U=i=>i.map(((i,n)=>{var t,r,d,p,u,v,h,g,j,D;return{id:n,tagName:i.name,description:e.jsx("div",{className:s.paramDescContainer,children:e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V((i=>Object.assign(Object.assign({},i),{[n]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:i.description,disabled:x,onChange:e=>H("description",e,n)}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${n}].description`,i.description),null===(e=L[n])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",children:[i.description?i.description.substring(0,12):"-",i.description&&i.description.length>12?"...":""]}):e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),children:x||i.description?"View Description":"Add Description"})})}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>z((i=>Object.assign(Object.assign({},i),{[n]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(o.TextArea,{placeholder:"Describe External Doc...",value:null===(t=i.externalDocs)||void 0===t?void 0:t.description,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{description:e}),n),A(e)}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(o.TextArea,{placeholder:"External Docs Link...",value:null===(r=i.externalDocs)||void 0===r?void 0:r.url,disabled:x,onChange:e=>{H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{url:e}),n),B(e)}}),!x&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;_(`tags[${n}].externalDocs`,{description:T,url:I}),A(""),B(""),null===(e=S[n])||void 0===e||e.hide()},children:"Apply"})]}),children:x?e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const n=document.createElement("a");n.href=null===(e=i.externalDocs)||void 0===e?void 0:e.url,n.click()},children:[(null===(d=null==i?void 0:i.externalDocs)||void 0===d?void 0:d.description)?null===(u=null===(p=null==i?void 0:i.externalDocs)||void 0===p?void 0:p.description)||void 0===u?void 0:u.substring(0,12):"-",(null===(v=null==i?void 0:i.externalDocs)||void 0===v?void 0:v.description)&&(null===(g=null===(h=null==i?void 0:i.externalDocs)||void 0===h?void 0:h.description)||void 0===g?void 0:g.length)>12?"...":""]}):e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:c,width:"1.5rem",height:"1.5rem"}),onClick:()=>{console.log("Move to url")},children:[x||i.externalDocs&&((null===(j=i.externalDocs)||void 0===j?void 0:j.url)||(null===(D=i.externalDocs)||void 0===D?void 0:D.description))?"View ":"Add "," ","External Docs Link"]})}),!x&&e.jsx("div",{className:s.paramDescContainer_separator}),!x&&e.jsx(o.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(m,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>{return e=n,t=i.name,P(e),R(t),void M(!0);var e,t}})]})}}));return e.jsxs("form",{className:s.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(o.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(h=null==w?void 0:w.info)||void 0===h?void 0:h.title,maxLength:25,onChange:e=>{_("info.title",e)},onClear:()=>{_("info.title","")},errorMsg:null===(g=null==E?void 0:E.info)||void 0===g?void 0:g.title,restrictedCharsRegex:r.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(o.Input,{size:"large",label:"API Authentication Type",required:!0,value:(Y=y,Y?Y.charAt(0).toUpperCase()+Y.slice(1):""),disabled:!0}),e.jsx(o.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==w?void 0:w.info)||void 0===j?void 0:j.version,disabled:!0})]}),e.jsx(o.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(D=null==w?void 0:w.info)||void 0===D?void 0:D.description,maxLength:120,onChange:e=>{_("info.description",e)},onClear:()=>{_("info.description","")},errorMessage:null===(f=null==E?void 0:E.info)||void 0===f?void 0:f.description,restrictedCharsRegex:r.restrictNone}),e.jsx("div",{className:s.paramsTable,children:e.jsx(v,{id:"paramter-table",data:N,headCells:u,isFormOpen:$,setIsFormOpen:G,saveNewRow:e=>{C([...b,e]),_("tags",[...w.tags,e])},readOnly:x})}),e.jsx(p,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsx("span",{className:"plan-name",children:` Tag ${W} `}),"?"]}),onSubmit:{onClick:()=>{null!==F&&C((e=>e.filter(((e,i)=>i!==F)))),M(!1),P(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>M(!1),open:q,icon:e.jsx(m,{src:d,width:"4.0625rem",height:"4.0625rem"})})]});var Y};export{x as default};
2
2
  //# sourceMappingURL=InfoForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport CommonDialog from '../../components/dialog'\r\nimport { tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../../components/table/tags-table'\r\n\r\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\r\n const [tableData, setTableData] = useState([])\r\n const [tableRecords, setTableRecords] = useState()\r\n const [authType, setAuthType] = useState('')\r\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\r\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n setAuthType(values.components.securitySchemes[authenticatorKeys[0]].scheme)\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags))\r\n setTableData(values.tags)\r\n }\r\n }, [])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedTagIndex(null)\r\n }\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const saveNewRow = (tag) => {\r\n setTableData([...tableData, tag])\r\n setFieldValue(`tags`, [...values.tags, tag])\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedTagIndex(id)\r\n setSelectedTagName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => onTableChange('description', value, index)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly || item.description ? 'View Description' : 'Add Description'}\r\n </Button>\r\n )}\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setExternalTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n onChange={(value) =>\r\n onTableChange(\r\n 'externalDocs',\r\n { ...item.externalDocs, description: value },\r\n index\r\n )\r\n }\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n onChange={(value) =>\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n }\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].externalDocs`, {\r\n description: item.externalDocDesc,\r\n url: item.externalDocLink,\r\n })\r\n console.log({ tags: values.tags })\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = item.externalDocs?.url\r\n a.click()\r\n }}\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n onClick={() => {\r\n console.log('Move to url')\r\n }}\r\n >\r\n {readOnly ||\r\n (item.externalDocs && (item.externalDocs?.url || item.externalDocs?.description))\r\n ? 'View '\r\n : 'Add '}{' '}\r\n External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n\r\n return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={25}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharsRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n onChange={(value: string) => {\r\n setFieldValue('info.description', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMessage={errors?.info?.description}\r\n restrictedCharsRegex={regex.restrictNone}\r\n />\r\n <div className={styles.paramsTable}>\r\n <TagsTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">{` Tag ${selectedTagName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","scheme","generateTableData","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","description","_jsx","className","styles","paramDescContainer","children","Tooltip","arrowWithBorder","placement","type","trigger","delay","onCreate","instance","prev","content","_jsxs","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","onClick","_a","hide","editDescBtn","color","substring","jsx","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_b","url","externalDocDesc","externalDocLink","console","log","a","document","createElement","href","click","_c","_e","_d","_f","_h","_g","_j","_k","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","e","preventDefault","Input","label","required","info","title","maxLength","onClear","errorMsg","restrictedCharsRegex","regex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","errorMessage","restrictNone","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","CommonDialog","status","style","textAlign","fontWeight","fontSize","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
1
+ {"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport CommonDialog from '../../components/dialog'\r\nimport { tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../../components/table/tags-table'\r\n\r\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\r\n const [tableData, setTableData] = useState([])\r\n const [tableRecords, setTableRecords] = useState()\r\n const [authType, setAuthType] = useState('')\r\n const [description, setDescription] = useState('')\r\n const [url, setURL] = useState('')\r\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\r\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n setAuthType(values.components.securitySchemes[authenticatorKeys[0]].scheme)\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags))\r\n setTableData(values.tags)\r\n }\r\n }, [])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedTagIndex(null)\r\n }\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const saveNewRow = (tag) => {\r\n setTableData([...tableData, tag])\r\n setFieldValue(`tags`, [...values.tags, tag])\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedTagIndex(id)\r\n setSelectedTagName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => onTableChange('description', value, index)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly || item.description ? 'View Description' : 'Add Description'}\r\n </Button>\r\n )}\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setExternalTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange(\r\n 'externalDocs',\r\n { ...item.externalDocs, description: value },\r\n index\r\n )\r\n setDescription(value)\r\n }}\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\r\n }}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].externalDocs`, {\r\n description: description,\r\n url: url,\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = item.externalDocs?.url\r\n a.click()\r\n }}\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n onClick={() => {\r\n console.log('Move to url')\r\n }}\r\n >\r\n {readOnly ||\r\n (item.externalDocs && (item.externalDocs?.url || item.externalDocs?.description))\r\n ? 'View '\r\n : 'Add '}{' '}\r\n External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n\r\n return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={25}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharsRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n onChange={(value: string) => {\r\n setFieldValue('info.description', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMessage={errors?.info?.description}\r\n restrictedCharsRegex={regex.restrictNone}\r\n />\r\n <div className={styles.paramsTable}>\r\n <TagsTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">{` Tag ${selectedTagName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","description","setDescription","url","setURL","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","scheme","generateTableData","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsx","className","styles","paramDescContainer","children","Tooltip","arrowWithBorder","placement","type","trigger","delay","onCreate","instance","prev","content","_jsxs","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","onClick","_a","hide","editDescBtn","color","substring","jsx","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_b","a","document","createElement","href","click","_c","_e","_d","_f","_h","_g","console","log","_j","_k","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","e","preventDefault","Input","label","required","info","title","maxLength","onClear","errorMsg","restrictedCharsRegex","regex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","errorMessage","restrictNone","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","CommonDialog","status","style","textAlign","fontWeight","fontSize","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import s from"./LivePreview.module.scss.js";import i from"../SimpleLabelValue/SimpleLabelValue.js";import o from"../Chips/Chips.js";import t from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as a}from"../../../node_modules/formik/dist/formik.esm.js";import{methodColorMapping as l}from"../../constants/index.js";const r=({transformedData:r})=>{const{values:n}=a(),{info:m,components:d,tags:p}=n,{securitySchemes:c}=d,j=c&&"object"==typeof c&&Object.keys(c).length?Object.keys(c)[0]:null;return e.jsx("div",{children:e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsx("p",{className:s.apiName,children:null==m?void 0:m.title}),e.jsx(i,{label:"API authentication type: ",value:j?c[j].scheme:"-"},"APIAuthenticationType"),e.jsx(i,{label:"Version: ",value:(null==m?void 0:m.version)||"-"},"version"),e.jsx(i,{label:"Description: ",value:(null==m?void 0:m.description)||"-"},"description"),e.jsx(i,{label:"Tags: ",value:p&&p.length?e.jsx(o,{className:s.tagsChips,items:p.map((e=>({id:e.name,label:e.name,disabled:!0})))}):"-"},"tags"),e.jsx(i,{label:"Endpoints "},"endpoints"),n.paths.map((i=>e.jsx("div",{className:s.methodsContainer,children:i.methods.sort(((e,s)=>l[e.type].order+l[s.type].order)).map(((s,o)=>e.jsx(t,{readOnly:!0,method:s,path:i.path})))})))]})})})};export{r as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as t,useEffect as s}from"react";import o from"./LivePreview.module.scss.js";import i from"../SimpleLabelValue/SimpleLabelValue.js";import n from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as l}from"../../../node_modules/formik/dist/formik.esm.js";import{tagsTableHeaders as a,methodColorMapping as r}from"../../constants/index.js";import c from"../table/tags-table.js";import{d}from"../../../_virtual/index.js";import m from"../Tooltip/Tooltip.js";const p=({transformedData:p})=>{const[u,v]=t(),[x,j]=t({}),[h,g]=t([]),[D,b]=t({}),{values:f}=l(),{info:N,components:C,tags:k}=f,{securitySchemes:y}=C,T=y&&"object"==typeof y&&Object.keys(y).length?Object.keys(y)[0]:null;s((()=>{console.log({updated:f.tags}),f.tags&&f.tags.length&&(v(O(f.tags,!0)),g(f.tags))}),[f.tags]);const O=(t,s)=>t.map(((t,i)=>{var n,l,a,r,c,p,u,v;return{id:i,tagName:t.name,description:e.jsx("div",{className:o.paramDescContainer,children:e.jsx(m,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>j((t=>Object.assign(Object.assign({},t),{[i]:e}))),content:e.jsxs("div",{className:o.editDescTooltipContent,children:[e.jsx("p",{className:o.editDescTooltipContent_header,children:"Description"}),e.jsx(d.TextArea,{placeholder:"Describe parameter...",value:t.description,disabled:s,onChange:e=>null})]}),children:e.jsxs(d.Button,{className:o.editDescBtn,variant:"link",color:"action",children:[t.description?t.description.substring(0,12):"-",t.description&&t.description.length>12?"...":""]})})}),externalDocs:e.jsxs("div",{className:o.paramDescContainer,children:[e.jsx(m,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>b((t=>Object.assign(Object.assign({},t),{[i]:e}))),content:e.jsxs("div",{className:o.editDescTooltipContent,children:[e.jsx("p",{className:o.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(d.TextArea,{placeholder:"Describe External Doc...",value:null===(n=t.externalDocs)||void 0===n?void 0:n.description,disabled:s,onChange:e=>null}),e.jsx("p",{className:o.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(d.TextArea,{placeholder:"External Docs Link...",value:null===(l=t.externalDocs)||void 0===l?void 0:l.url,disabled:s,onChange:e=>null})]}),children:e.jsxs(d.Button,{className:o.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const s=document.createElement("a");s.href=null===(e=t.externalDocs)||void 0===e?void 0:e.url,s.click()},children:[(null===(a=null==t?void 0:t.externalDocs)||void 0===a?void 0:a.description)?null===(c=null===(r=null==t?void 0:t.externalDocs)||void 0===r?void 0:r.description)||void 0===c?void 0:c.substring(0,12):"-",(null===(p=null==t?void 0:t.externalDocs)||void 0===p?void 0:p.description)&&(null===(v=null===(u=null==t?void 0:t.externalDocs)||void 0===u?void 0:u.description)||void 0===v?void 0:v.length)>12?"...":""]})}),!s&&e.jsx("div",{className:o.paramDescContainer_separator}),!s&&e.jsx(d.Button,{className:o.deleteParamBtn,variant:"link",color:"error",onClick:()=>null})]})}}));return e.jsx("div",{children:e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsx("p",{className:o.apiName,children:null==N?void 0:N.title}),e.jsx(i,{label:"API authentication type: ",value:T?y[T].scheme:"-"},"APIAuthenticationType"),e.jsx(i,{label:"Version: ",value:(null==N?void 0:N.version)||"-"},"version"),e.jsx(i,{label:"Description: ",value:(null==N?void 0:N.description)||"-"},"description"),e.jsx(i,{label:"Tags: "},"tags"),e.jsx(c,{id:"tags-table",data:u,headCells:a,isFormOpen:!1,setIsFormOpen:()=>null,saveNewRow:()=>null,readOnly:!0}),e.jsx(i,{label:"Endpoints "},"endpoints"),f.paths.map((t=>e.jsx("div",{className:o.methodsContainer,children:t.methods.sort(((e,t)=>r[e.type].order+r[t.type].order)).map(((s,o)=>e.jsx(n,{readOnly:!0,method:s,path:t.path})))})))]})})})};export{p as default};
2
2
  //# sourceMappingURL=LivePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport Chips from '../../components/Chips/Chips'\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\nimport { methodColorMapping } from '../../constants/index'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const { values } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <p className={styles.apiName}>{info?.title}</p>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={!!securityKey ? securitySchemes[securityKey].scheme : '-'}\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description || '-'}\r\n />\r\n\r\n <SimpleLabelValue\r\n key={'tags'}\r\n label={'Tags: '}\r\n value={\r\n tags && tags.length ? (\r\n <Chips\r\n className={styles.tagsChips}\r\n items={tags.map((t) => ({\r\n id: t.name,\r\n label: t.name,\r\n disabled: true,\r\n }))}\r\n />\r\n ) : (\r\n '-'\r\n )\r\n }\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path) => (\r\n <div className={styles.methodsContainer}>\r\n {path.methods\r\n .sort((a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order)\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion readOnly method={method} path={path.path} />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","length","_jsx","children","jsx","className","_jsxs","styles","apiName","title","SimpleLabelValue","label","value","scheme","version","description","Chips","tagsChips","items","map","t","id","name","disabled","paths","path","methodsContainer","methods","sort","a","b","methodColorMapping","type","order","method","methodIndex","MethodsAccordion","readOnly"],"mappings":"+XAaA,MAAMA,EAA0C,EAAGC,sBACjD,MAAMC,OAAEA,GAAWC,KACbC,KAAEA,EAAIC,WAAEA,EAAUC,KAAEA,GAASJ,GAC7BK,gBAAEA,GAAoBF,EACtBG,EACJD,GAA6C,iBAAnBA,GAA+BE,OAAOC,KAAKH,GAAiBI,OAClFF,OAAOC,KAAKH,GAAiB,GAC7B,KACN,OACEK,MAAA,MAAA,CAAAC,SACED,EAAKE,IAAA,MAAA,CAAAC,UAAU,MAAKF,SAClBG,OAAK,MAAA,CAAAD,UAAU,YACbF,SAAA,CAAAD,MAAA,IAAA,CAAGG,UAAWE,EAAOC,QAAUL,SAAAT,eAAAA,EAAMe,QACrCP,MAACQ,EAAgB,CAEfC,MAAO,4BACPC,MAASd,EAAcD,EAAgBC,GAAae,OAAS,KAFxD,yBAIPX,MAACQ,EAAiC,CAAAC,MAAO,YAAaC,OAAOlB,aAAA,EAAAA,EAAMoB,UAAW,KAAvD,WACvBZ,MAACQ,EAAgB,CAEfC,MAAO,gBACPC,OAAOlB,aAAI,EAAJA,EAAMqB,cAAe,KAFvB,eAKPb,MAACQ,EAAgB,CAEfC,MAAO,SACPC,MACEhB,GAAQA,EAAKK,OACXC,MAACc,EAAK,CACJX,UAAWE,EAAOU,UAClBC,MAAOtB,EAAKuB,KAAKC,IAAO,CACtBC,GAAID,EAAEE,KACNX,MAAOS,EAAEE,KACTC,UAAU,aATb,QAkBPrB,MAACQ,EAAgB,CAAmBC,MAAO,cAApB,aACtBnB,EAAOgC,MAAML,KAAKM,GACjBvB,EAAAA,IAAK,MAAA,CAAAG,UAAWE,EAAOmB,iBACpBvB,SAAAsB,EAAKE,QACHC,MAAK,CAACC,EAAGC,IAAMC,EAAmBF,EAAEG,MAAMC,MAAQF,EAAmBD,EAAEE,MAAMC,QAC7Ed,KAAI,CAACe,EAAQC,IACZjC,EAACE,IAAAgC,EAAiB,CAAAC,YAASH,OAAQA,EAAQT,KAAMA,EAAKA,mBAOrE"}
1
+ {"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\n\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\nimport { methodColorMapping, tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../table/tags-table'\r\nimport { Button, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const [tableRecords, setTableRecords] = useState()\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const { values } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n\r\n useEffect(() => {\r\n console.log({updated: values.tags})\r\n if (values.tags && values.tags.length) {\r\n setTableRecords(generateTableData(values.tags, true))\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const generateTableData = (items, readOnly) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => null}\r\n />\r\n </div>\r\n }\r\n >\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setExternalTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n onChange={(value) => null}\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n onChange={(value) => null}\r\n />\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = item.externalDocs?.url\r\n a.click()\r\n }}\r\n >\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n onClick={() => null}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <p className={styles.apiName}>{info?.title}</p>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={!!securityKey ? securitySchemes[securityKey].scheme : '-'}\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description || '-'}\r\n />\r\n\r\n <SimpleLabelValue\r\n key={'tags'}\r\n label={'Tags: '}\r\n />\r\n <TagsTable\r\n id=\"tags-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={false}\r\n setIsFormOpen={() => null}\r\n saveNewRow={() => null}\r\n readOnly={true}\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path) => (\r\n <div className={styles.methodsContainer}>\r\n {path.methods\r\n .sort((a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order)\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion readOnly method={method} path={path.path} />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","tableRecords","setTableRecords","useState","tooltipRefs","setTooltipRefs","tableData","setTableData","externalTooltipRefs","setExternalTooltipRefs","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","length","useEffect","console","log","updated","generateTableData","items","readOnly","map","item","index","id","tagName","name","description","_jsx","jsx","className","styles","paramDescContainer","children","Tooltip","arrowWithBorder","placement","type","trigger","delay","onCreate","instance","prev","assign","content","_jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","value","disabled","onChange","Button","editDescBtn","variant","color","substring","externalDocs","_a","_b","url","onClick","a","document","createElement","href","click","_c","_e","_d","_f","_h","_g","paramDescContainer_separator","deleteParamBtn","jsxs","apiName","title","SimpleLabelValue","label","scheme","version","TagsTable","data","headCells","tagsTableHeaders","isFormOpen","setIsFormOpen","saveNewRow","paths","path","methodsContainer","methods","sort","b","methodColorMapping","order","method","methodIndex","MethodsAccordion"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as s}from"../../../_virtual/index.js";import a from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";const p=({id:p,headCells:x,data:u,isFormOpen:j,setIsFormOpen:v,saveNewRow:D,readOnly:N})=>{var b,C,g,T,f,w;const[k,B]=i(""),[_,y]=i(""),[E,I]=i(""),[A,L]=i(null),[O,S]=i(null),{values:W,errors:F,setFieldValue:R,isValid:V,submitForm:P,resetForm:z}=c({initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().required("Tag name is required"),description:h().optional(),externalDocs:m().optional()}),onSubmit:e=>{B(""),y(""),I(""),z(),v(!1),D(e)}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==x?void 0:x.map((i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==u?void 0:u.map(((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==x?void 0:x.map((t=>{const s="_"!==i[t.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth},children:i[t.id]});return e.jsx("td",{style:{width:t.width,minWidth:t.minWidth},children:s},t.id)}))},t))),j?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(s.Input,{placeholder:"Tag name",size:"large",type:"text",onChange:e=>{R("name",e)},value:W.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>L(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(s.TextArea,{value:k||W.description,onChange:e=>{B(e)},disabled:N,placeholder:"Describe Tag..."}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("description",k),null==A||A.hide()},children:"Apply"})]}),children:e.jsxs(s.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:t.paramDescContainer,children:[e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>S(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(s.TextArea,{placeholder:"Describe External Doc...",value:_||W.externalDocs.description,disabled:N,onChange:e=>y(e)}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(s.TextArea,{placeholder:"External Docs Link...",value:E||W.externalDocs.url,disabled:N,onChange:e=>I(e)}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("externalDocs",{description:_,url:E}),y(""),I(""),null==O||O.hide()},children:"Apply"})]}),children:N?e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const i=document.createElement("a");i.href=null===(e=W.externalDocs)||void 0===e?void 0:e.url,i.click()},children:[(null===(b=null==W?void 0:W.externalDocs)||void 0===b?void 0:b.description)?null===(g=null===(C=null==W?void 0:W.externalDocs)||void 0===C?void 0:C.description)||void 0===g?void 0:g.substring(0,12):"-",(null===(T=null==W?void 0:W.externalDocs)||void 0===T?void 0:T.description)&&(null===(w=null===(f=null==W?void 0:W.externalDocs)||void 0===f?void 0:f.description)||void 0===w?void 0:w.length)>12?"...":""]}):e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:t.paramDescContainer_separator}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{z(),B(""),v(!1)}}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!V,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{B(""),P()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(s.Button,{variant:"link",color:"primary",onClick:()=>{v((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{p as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as a}from"../../../_virtual/index.js";import s from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";const p=({id:p,headCells:x,data:u,isFormOpen:j,setIsFormOpen:v,saveNewRow:D,readOnly:N})=>{var b,C,g,T,f,w;const[k,B]=i(""),[_,y]=i(""),[E,I]=i(""),[A,L]=i(null),[O,S]=i(null),{values:W,errors:F,setFieldValue:R,isValid:V,submitForm:P,resetForm:z}=c({initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().required("Tag name is required"),description:h().optional(),externalDocs:m().optional()}),onSubmit:e=>{B(""),y(""),I(""),z(),v(!1),D(e)}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==x?void 0:x.map((i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==u?void 0:u.map(((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==x?void 0:x.map((t=>{const a="_"!==i[t.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth},children:i[t.id]});return e.jsx("td",{style:{width:t.width,minWidth:t.minWidth},children:a},t.id)}))},t))),j?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(a.Input,{placeholder:"Tag name",size:"large",type:"text",onChange:e=>{R("name",e)},value:W.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(s,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>L(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(a.TextArea,{value:k||W.description,onChange:e=>{B(e)},disabled:N,placeholder:"Describe Tag..."}),!N&&e.jsx(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("description",k),null==A||A.hide()},children:"Apply"})]}),children:e.jsxs(a.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:t.paramDescContainer,children:[e.jsx(s,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>S(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(a.TextArea,{placeholder:"Describe External Doc...",value:_||W.externalDocs.description,disabled:N,onChange:e=>y(e)}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(a.TextArea,{placeholder:"External Docs Link...",value:E||W.externalDocs.url,disabled:N,onChange:e=>I(e)}),!N&&e.jsx(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("externalDocs",{description:_,url:E}),y(""),I(""),null==O||O.hide()},children:"Apply"})]}),children:N?e.jsxs(a.Button,{className:t.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const i=document.createElement("a");i.href=null===(e=W.externalDocs)||void 0===e?void 0:e.url,i.target="_blank",i.click()},children:[(null===(b=null==W?void 0:W.externalDocs)||void 0===b?void 0:b.description)?null===(g=null===(C=null==W?void 0:W.externalDocs)||void 0===C?void 0:C.description)||void 0===g?void 0:g.substring(0,12):"-",(null===(T=null==W?void 0:W.externalDocs)||void 0===T?void 0:T.description)&&(null===(w=null===(f=null==W?void 0:W.externalDocs)||void 0===f?void 0:f.description)||void 0===w?void 0:w.length)>12?"...":""]}):e.jsxs(a.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:t.paramDescContainer_separator}),!N&&e.jsx(a.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{z(),B(""),v(!1)}}),!N&&e.jsx(a.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!V,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{B(""),P()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(a.Button,{variant:"link",color:"primary",onClick:()=>{v((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{p as default};
2
2
  //# sourceMappingURL=tags-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup.object().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n setText('')\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n saveNewRow(values)\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setTooltipRef(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe Tag...\"\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setExternalTooltipRefs(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalDesc(value)}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalUrl(value)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n externalTooltipRefs?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = values.externalDocs?.url\r\n a.click()\r\n }}\r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","required","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","onChange","value","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","onClick","hide","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","a","document","createElement","href","_a","click","_c","_b","substring","_d","_f","_e","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
1
+ {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup.object().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n setText('')\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n saveNewRow(values)\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setTooltipRef(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe Tag...\"\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setExternalTooltipRefs(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalDesc(value)}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalUrl(value)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n externalTooltipRefs?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = values.externalDocs?.url\r\n a.target = '_blank'\r\n a.click()\r\n }}\r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","required","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","onChange","value","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","onClick","hide","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","a","document","createElement","href","_a","target","click","_c","_b","substring","_d","_f","_e","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1,4 +1,117 @@
1
- .methodAccordion {
1
+ .containerTitleDrawer {
2
+ height: 64px;
3
+ min-height: 64px;
4
+ display: flex;
5
+ flex-direction: row;
6
+ justify-content: space-between;
7
+ align-items: center;
8
+ background-color: #f1f2f6;
9
+ padding: 0 30px 0 30px;
10
+ width: 100%;
11
+ }
12
+ .containerTitleDrawer span {
13
+ color: #12131a;
14
+ font-weight: 600;
15
+ font-size: 18px;
16
+ line-height: 25px;
17
+ letter-spacing: 0em;
18
+ }
19
+ .containerTitleDrawer svg path {
20
+ stroke: #000 !important;
21
+ }
22
+ .containerTitleDrawer .closeIcon {
23
+ cursor: pointer;
24
+ }.tooltip-custom-wrapper {
25
+ display: flex;
26
+ }
27
+
28
+ .tippy-box {
29
+ background-color: #202f5b;
30
+ font-size: 0.875rem;
31
+ border-radius: 0.3125rem;
32
+ width: max-content;
33
+ max-width: 100%;
34
+ overflow-wrap: break-word;
35
+ word-break: break-word;
36
+ position: relative;
37
+ border: 1px solid #d8dae5;
38
+ }
39
+ .tippy-box.function .tippy-content {
40
+ background-color: #fff !important;
41
+ color: #000 !important;
42
+ }
43
+ .tippy-box[data-placement] > .tippy-arrow:before {
44
+ color: #fff !important;
45
+ }
46
+ .tippy-box.info .tippy-arrow {
47
+ color: #202f5b;
48
+ }
49
+ .tippy-box.success {
50
+ border-radius: 1.875rem;
51
+ background-color: #3aaa35;
52
+ padding-inline: 0.625rem;
53
+ }
54
+ .tippy-box .tippy-content {
55
+ text-align: justify;
56
+ font-size: 0.875rem;
57
+ line-height: 1.25rem;
58
+ padding: 0.625rem;
59
+ }
60
+ .tippy-box .tippy-arrow {
61
+ position: relative;
62
+ width: 1rem;
63
+ height: 1rem;
64
+ }
65
+ .tippy-box[data-placement^=top] .tippy-arrow:before {
66
+ bottom: -0.4375rem;
67
+ border-width: 0.5rem 0.5rem 0 !important;
68
+ }
69
+ .tippy-box[data-placement^=right] .tippy-arrow:before {
70
+ left: -0.4375rem;
71
+ border-width: 0.5rem 0.5rem 0.5rem 0 !important;
72
+ }
73
+ .tippy-box[data-placement^=bottom] .tippy-arrow:before {
74
+ top: -0.4375rem;
75
+ border-width: 0 0.5rem 0.5rem !important;
76
+ }
77
+ .tippy-box[data-placement^=left] .tippy-arrow:before {
78
+ right: -0.4375rem;
79
+ border-width: 0.5rem 0 0.5rem 0.5rem !important;
80
+ }
81
+ .tippy-box[data-placement^=bottom-start] .tippy-arrow {
82
+ transform: translate(0.937rem, 0) !important;
83
+ }
84
+ .tippy-box[data-placement^=bottom-end] .tippy-arrow {
85
+ margin-left: calc(100% - 1.937rem);
86
+ transform: translate(0, 0) !important;
87
+ }
88
+ .tippy-box[data-placement^=top-start] .tippy-arrow {
89
+ transform: translate(0.937rem, 0) !important;
90
+ }
91
+ .tippy-box[data-placement^=top-end] .tippy-arrow {
92
+ transform: translate(0.937rem, 0) !important;
93
+ }
94
+ .tippy-box.arrow-with-border {
95
+ border: 1px solid #d8dae5;
96
+ }
97
+ .tippy-box.arrow-with-border[data-placement] .tippy-arrow {
98
+ top: 1px;
99
+ background-color: white;
100
+ z-index: 9999;
101
+ height: 1px;
102
+ }
103
+ .tippy-box.arrow-with-border[data-placement] .tippy-arrow:before {
104
+ width: 1rem;
105
+ height: 1rem;
106
+ background-color: white;
107
+ transform: rotate(45deg);
108
+ border: none;
109
+ border-left: 1px solid #d8dae5 !important;
110
+ border-top: 1px solid #d8dae5 !important;
111
+ z-index: 20000000000;
112
+ top: -0.6rem;
113
+ transform-origin: center !important;
114
+ }.methodAccordion {
2
115
  border: none !important;
3
116
  box-shadow: none !important;
4
117
  margin-bottom: 0 !important;
@@ -262,121 +375,6 @@
262
375
  }
263
376
  .methodAccordion.readOnly .methodSummaryContainer .methodExpandArrowContainer {
264
377
  background-color: #ebecf2;
265
- }p.apiName {
266
- font-size: 40px;
267
- line-height: 30px;
268
- font-weight: 500;
269
- }.json-editor-container {
270
- overflow: hidden;
271
- border-bottom-right-radius: 0.3125rem;
272
- border-bottom-left-radius: 0.3125rem;
273
- }
274
- .json-editor-container .json-editor-label {
275
- font-size: 0.875rem;
276
- font-weight: 600;
277
- line-height: 1.25rem;
278
- margin-bottom: 0.3125rem;
279
- }
280
- .json-editor-container .json-editor {
281
- display: flex;
282
- flex-direction: column;
283
- background-color: #142452;
284
- width: 100%;
285
- outline: 1px solid transparent;
286
- position: relative;
287
- overflow: hidden;
288
- }
289
- .json-editor-container .json-editor .actions-container {
290
- width: 100%;
291
- height: 5rem;
292
- padding: 1.25rem;
293
- border-radius: 0 0 0.3125rem 0.3125rem;
294
- background: #101e47;
295
- display: flex;
296
- flex-direction: row;
297
- gap: 1.25rem;
298
- align-items: center;
299
- }
300
- .json-editor-container .json-editor .actions-container .validate {
301
- color: #fff;
302
- text-align: center;
303
- font-size: 1rem;
304
- font-style: normal;
305
- font-weight: 600;
306
- line-height: 1.25rem;
307
- width: 8.75rem;
308
- padding: 0.625rem 2.25rem;
309
- background-color: rgba(240, 248, 255, 0);
310
- border-radius: 0.3125rem;
311
- border: 0.0625rem solid #4d75d8;
312
- cursor: pointer;
313
- }
314
- .json-editor-container .json-editor .actions-container .validate:disabled {
315
- color: #babdcc;
316
- border-color: #a2a5b6;
317
- }
318
- .json-editor-container .json-editor .actions-container .beautify {
319
- color: #fff;
320
- text-align: center;
321
- font-size: 1rem;
322
- font-style: normal;
323
- font-weight: 600;
324
- line-height: 1.25rem;
325
- width: 8.75rem;
326
- padding: 0.625rem 2.25rem;
327
- background-color: rgba(240, 248, 255, 0);
328
- border-radius: 0.3125rem;
329
- border: 1px solid #babdcc;
330
- cursor: pointer;
331
- }
332
- .json-editor-container .json-editor .actions-container .beautify:disabled {
333
- color: #a2a5b6;
334
- border-color: #a2a5b6;
335
- }
336
- .json-editor-container .json-editor textarea {
337
- width: 100%;
338
- padding: 1.25rem;
339
- font-size: 0.875rem;
340
- font-style: normal;
341
- font-weight: 400;
342
- line-height: 1.25rem;
343
- color: white;
344
- height: 25rem;
345
- background-color: #142452;
346
- border: none;
347
- resize: none;
348
- }
349
- .json-editor-container .json-editor textarea:focus, .json-editor-container .json-editor textarea:focus-within, .json-editor-container .json-editor textarea:focus-visible .json-editor-container .json-editor textarea:active {
350
- outline: none;
351
- border: none;
352
- }
353
- .json-editor-container .json-editor textarea::-webkit-scrollbar {
354
- width: 0.5rem;
355
- }
356
- .json-editor-container .json-editor textarea::-webkit-scrollbar-track {
357
- background-color: #828699;
358
- border: none;
359
- border-color: transparent;
360
- border-top-left-radius: 0;
361
- }
362
- .json-editor-container .json-editor textarea::-webkit-scrollbar-thumb {
363
- background-color: #d8dae5;
364
- border: none;
365
- border-color: transparent;
366
- border-radius: 0;
367
- }
368
- .json-editor-container .json-editor.invalid {
369
- outline: 1px solid #ce2828 !important;
370
- }
371
- .json-editor-container .error-message {
372
- color: #ce2828;
373
- font-size: 0.75rem;
374
- line-height: 1.25rem;
375
- margin-top: 0.625rem;
376
- }
377
- .json-editor-container.disabled .json-editor textarea {
378
- background-color: white;
379
- color: #12131a;
380
378
  }.apiInfoForm {
381
379
  display: grid;
382
380
  padding: 1.25rem 1.875rem;
@@ -467,29 +465,6 @@
467
465
  content: "*";
468
466
  color: red;
469
467
  transform: translateX(0.125rem);
470
- }.containerTitleDrawer {
471
- height: 64px;
472
- min-height: 64px;
473
- display: flex;
474
- flex-direction: row;
475
- justify-content: space-between;
476
- align-items: center;
477
- background-color: #f1f2f6;
478
- padding: 0 30px 0 30px;
479
- width: 100%;
480
- }
481
- .containerTitleDrawer span {
482
- color: #12131a;
483
- font-weight: 600;
484
- font-size: 18px;
485
- line-height: 25px;
486
- letter-spacing: 0em;
487
- }
488
- .containerTitleDrawer svg path {
489
- stroke: #000 !important;
490
- }
491
- .containerTitleDrawer .closeIcon {
492
- cursor: pointer;
493
468
  }:root {
494
469
  --white: #fff;
495
470
  --Gray-5: #f1f2f6;
@@ -719,121 +694,10 @@
719
694
  .tableSectionContainer .descArrow path,
720
695
  .tableSectionContainer .defaultSortArrow path {
721
696
  fill: var(--Gray-50);
722
- }.chips-container {
723
- width: 100%;
724
- }
725
- .chips-container .overflow-dropdown-div {
726
- max-height: 4.25rem;
727
- overflow: hidden;
728
- }
729
- .chips-container .overflow-dropdown-div .dropdown-list {
730
- display: flex;
731
- flex-wrap: wrap;
732
- gap: 0.625rem;
733
- margin-top: 0.625rem;
734
- }
735
- .chips-container .overflow-dropdown-div .dropdown-list .chip {
736
- display: flex;
737
- justify-content: center;
738
- align-items: center;
739
- background: #ebecf2;
740
- border-radius: 3.125rem;
741
- width: max-content;
742
- height: 1.5rem;
743
- overflow: hidden;
744
- transition: all 0.4s ease-in-out;
745
- padding-right: 0.9375rem;
746
- cursor: default;
747
- }
748
- .chips-container .overflow-dropdown-div .dropdown-list .chip:not(.disabled):hover {
749
- background: #d8dae5;
750
- }
751
- .chips-container .overflow-dropdown-div .dropdown-list .chip:not(.disabled):active {
752
- background: #696c80;
753
- color: #fff;
754
- }
755
- .chips-container .overflow-dropdown-div .dropdown-list .chip:not(.disabled):active .chip-close-icon path {
756
- stroke: #fff;
757
- }
758
- .chips-container .overflow-dropdown-div .dropdown-list .chip:not(.disabled) .chip-close-icon {
759
- cursor: pointer;
760
- }
761
- .chips-container .overflow-dropdown-div .dropdown-list .chip.clickable {
762
- cursor: pointer;
763
- }
764
- .chips-container .overflow-dropdown-div .dropdown-list .chip .chip-text {
765
- display: flex;
766
- align-items: center;
767
- font-size: 0.95rem;
768
- height: 100%;
769
- padding-left: 0.9375rem;
770
- margin-top: -0.125rem;
771
- }
772
- .chips-container .overflow-dropdown-div .dropdown-list .chip .chip-close-icon {
773
- display: block;
774
- height: 0.75rem;
775
- width: 0.75rem;
776
- margin-block: auto;
777
- margin-left: 0.625rem;
778
- }
779
- .chips-container .overflow-dropdown-div .dropdown-list .chip .chip-close-icon path {
780
- stroke: #12131a;
781
- }
782
- .chips-container .dropdown-max-height {
783
- max-height: -moz-fit-content;
784
- max-height: fit-content !important;
785
- }
786
- .chips-container .dropdown-overflow {
787
- overflow: visible !important;
788
- }
789
- .chips-container .show-btn {
790
- display: flex;
791
- flex-direction: row;
792
- flex-wrap: nowrap;
793
- justify-content: center;
794
- align-items: center;
795
- width: auto;
796
- height: 1.25rem;
797
- cursor: pointer;
798
- border: none;
799
- margin-top: 0.625rem;
800
- color: #9a9eb2;
801
- background-color: transparent;
802
- }
803
- .chips-container .show-btn .show-btn-text-container {
804
- flex: 1 1 auto;
805
- }
806
- .chips-container .show-btn .show-btn-text-container .show-btn-text {
807
- font-size: 0.75rem;
808
- text-decoration-line: underline;
809
- }
810
- .chips-container .show-btn .show-btn-icon-container {
811
- display: flex;
812
- justify-content: center;
813
- align-items: center;
814
- height: 1.25rem;
815
- width: 1.25rem;
816
- margin-top: 0.1875rem;
817
- margin-left: 0.125rem;
818
- }
819
- .chips-container .show-btn .show-btn-icon-container .show-btn-icon {
820
- height: 1.25rem;
821
- width: 1.25rem;
822
- }
823
- .chips-container .show-btn .show-btn-icon-container .show-btn-icon path {
824
- fill: #9a9eb2;
825
- }
826
- .chips-container .show-btn:hover {
827
- color: #7c9bea;
828
- }
829
- .chips-container .show-btn:hover .show-btn-icon-container .show-btn-icon path {
830
- fill: #7c9bea;
831
- }
832
- .chips-container .show-btn:active {
833
- color: #2c4fa4;
834
- }
835
- .chips-container .show-btn:active .show-btn-icon-container .show-btn-icon path {
836
- fill: #2c4fa4;
697
+ }p.apiName {
698
+ font-size: 40px;
699
+ line-height: 30px;
700
+ font-weight: 500;
837
701
  }#common-dialog.dialog-content-wrapper {
838
702
  overflow: visible !important;
839
703
  max-height: 100%;
@@ -1016,94 +880,115 @@
1016
880
  }
1017
881
  .drawerItemContainer .color-red {
1018
882
  color: var(--color-error);
1019
- }.tooltip-custom-wrapper {
1020
- display: flex;
883
+ }.json-editor-container {
884
+ overflow: hidden;
885
+ border-bottom-right-radius: 0.3125rem;
886
+ border-bottom-left-radius: 0.3125rem;
1021
887
  }
1022
-
1023
- .tippy-box {
1024
- background-color: #202f5b;
888
+ .json-editor-container .json-editor-label {
1025
889
  font-size: 0.875rem;
1026
- border-radius: 0.3125rem;
1027
- width: max-content;
1028
- max-width: 100%;
1029
- overflow-wrap: break-word;
1030
- word-break: break-word;
1031
- position: relative;
1032
- border: 1px solid #d8dae5;
1033
- }
1034
- .tippy-box.function .tippy-content {
1035
- background-color: #fff !important;
1036
- color: #000 !important;
1037
- }
1038
- .tippy-box[data-placement] > .tippy-arrow:before {
1039
- color: #fff !important;
890
+ font-weight: 600;
891
+ line-height: 1.25rem;
892
+ margin-bottom: 0.3125rem;
1040
893
  }
1041
- .tippy-box.info .tippy-arrow {
1042
- color: #202f5b;
894
+ .json-editor-container .json-editor {
895
+ display: flex;
896
+ flex-direction: column;
897
+ background-color: #142452;
898
+ width: 100%;
899
+ outline: 1px solid transparent;
900
+ position: relative;
901
+ overflow: hidden;
1043
902
  }
1044
- .tippy-box.success {
1045
- border-radius: 1.875rem;
1046
- background-color: #3aaa35;
1047
- padding-inline: 0.625rem;
903
+ .json-editor-container .json-editor .actions-container {
904
+ width: 100%;
905
+ height: 5rem;
906
+ padding: 1.25rem;
907
+ border-radius: 0 0 0.3125rem 0.3125rem;
908
+ background: #101e47;
909
+ display: flex;
910
+ flex-direction: row;
911
+ gap: 1.25rem;
912
+ align-items: center;
1048
913
  }
1049
- .tippy-box .tippy-content {
1050
- text-align: justify;
1051
- font-size: 0.875rem;
914
+ .json-editor-container .json-editor .actions-container .validate {
915
+ color: #fff;
916
+ text-align: center;
917
+ font-size: 1rem;
918
+ font-style: normal;
919
+ font-weight: 600;
1052
920
  line-height: 1.25rem;
1053
- padding: 0.625rem;
1054
- }
1055
- .tippy-box .tippy-arrow {
1056
- position: relative;
1057
- width: 1rem;
1058
- height: 1rem;
921
+ width: 8.75rem;
922
+ padding: 0.625rem 2.25rem;
923
+ background-color: rgba(240, 248, 255, 0);
924
+ border-radius: 0.3125rem;
925
+ border: 0.0625rem solid #4d75d8;
926
+ cursor: pointer;
1059
927
  }
1060
- .tippy-box[data-placement^=top] .tippy-arrow:before {
1061
- bottom: -0.4375rem;
1062
- border-width: 0.5rem 0.5rem 0 !important;
928
+ .json-editor-container .json-editor .actions-container .validate:disabled {
929
+ color: #babdcc;
930
+ border-color: #a2a5b6;
1063
931
  }
1064
- .tippy-box[data-placement^=right] .tippy-arrow:before {
1065
- left: -0.4375rem;
1066
- border-width: 0.5rem 0.5rem 0.5rem 0 !important;
932
+ .json-editor-container .json-editor .actions-container .beautify {
933
+ color: #fff;
934
+ text-align: center;
935
+ font-size: 1rem;
936
+ font-style: normal;
937
+ font-weight: 600;
938
+ line-height: 1.25rem;
939
+ width: 8.75rem;
940
+ padding: 0.625rem 2.25rem;
941
+ background-color: rgba(240, 248, 255, 0);
942
+ border-radius: 0.3125rem;
943
+ border: 1px solid #babdcc;
944
+ cursor: pointer;
1067
945
  }
1068
- .tippy-box[data-placement^=bottom] .tippy-arrow:before {
1069
- top: -0.4375rem;
1070
- border-width: 0 0.5rem 0.5rem !important;
946
+ .json-editor-container .json-editor .actions-container .beautify:disabled {
947
+ color: #a2a5b6;
948
+ border-color: #a2a5b6;
1071
949
  }
1072
- .tippy-box[data-placement^=left] .tippy-arrow:before {
1073
- right: -0.4375rem;
1074
- border-width: 0.5rem 0 0.5rem 0.5rem !important;
950
+ .json-editor-container .json-editor textarea {
951
+ width: 100%;
952
+ padding: 1.25rem;
953
+ font-size: 0.875rem;
954
+ font-style: normal;
955
+ font-weight: 400;
956
+ line-height: 1.25rem;
957
+ color: white;
958
+ height: 25rem;
959
+ background-color: #142452;
960
+ border: none;
961
+ resize: none;
1075
962
  }
1076
- .tippy-box[data-placement^=bottom-start] .tippy-arrow {
1077
- transform: translate(0.937rem, 0) !important;
963
+ .json-editor-container .json-editor textarea:focus, .json-editor-container .json-editor textarea:focus-within, .json-editor-container .json-editor textarea:focus-visible .json-editor-container .json-editor textarea:active {
964
+ outline: none;
965
+ border: none;
1078
966
  }
1079
- .tippy-box[data-placement^=bottom-end] .tippy-arrow {
1080
- margin-left: calc(100% - 1.937rem);
1081
- transform: translate(0, 0) !important;
967
+ .json-editor-container .json-editor textarea::-webkit-scrollbar {
968
+ width: 0.5rem;
1082
969
  }
1083
- .tippy-box[data-placement^=top-start] .tippy-arrow {
1084
- transform: translate(0.937rem, 0) !important;
970
+ .json-editor-container .json-editor textarea::-webkit-scrollbar-track {
971
+ background-color: #828699;
972
+ border: none;
973
+ border-color: transparent;
974
+ border-top-left-radius: 0;
1085
975
  }
1086
- .tippy-box[data-placement^=top-end] .tippy-arrow {
1087
- transform: translate(0.937rem, 0) !important;
976
+ .json-editor-container .json-editor textarea::-webkit-scrollbar-thumb {
977
+ background-color: #d8dae5;
978
+ border: none;
979
+ border-color: transparent;
980
+ border-radius: 0;
1088
981
  }
1089
- .tippy-box.arrow-with-border {
1090
- border: 1px solid #d8dae5;
982
+ .json-editor-container .json-editor.invalid {
983
+ outline: 1px solid #ce2828 !important;
1091
984
  }
1092
- .tippy-box.arrow-with-border[data-placement] .tippy-arrow {
1093
- top: 1px;
1094
- background-color: white;
1095
- z-index: 9999;
1096
- height: 1px;
985
+ .json-editor-container .error-message {
986
+ color: #ce2828;
987
+ font-size: 0.75rem;
988
+ line-height: 1.25rem;
989
+ margin-top: 0.625rem;
1097
990
  }
1098
- .tippy-box.arrow-with-border[data-placement] .tippy-arrow:before {
1099
- width: 1rem;
1100
- height: 1rem;
991
+ .json-editor-container.disabled .json-editor textarea {
1101
992
  background-color: white;
1102
- transform: rotate(45deg);
1103
- border: none;
1104
- border-left: 1px solid #d8dae5 !important;
1105
- border-top: 1px solid #d8dae5 !important;
1106
- z-index: 20000000000;
1107
- top: -0.6rem;
1108
- transform-origin: center !important;
993
+ color: #12131a;
1109
994
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digi-frontend/dgate-api-documentation",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "main": "dist/src/index.js",
5
5
  "module": "dist/src/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -16,6 +16,8 @@ const InfoForm = ({ readOnly }: { readOnly?: boolean }) => {
16
16
  const [tableData, setTableData] = useState([])
17
17
  const [tableRecords, setTableRecords] = useState()
18
18
  const [authType, setAuthType] = useState('')
19
+ const [description, setDescription] = useState('')
20
+ const [url, setURL] = useState('')
19
21
  const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()
20
22
  const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})
21
23
  const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})
@@ -163,22 +165,24 @@ const InfoForm = ({ readOnly }: { readOnly?: boolean }) => {
163
165
  placeholder="Describe External Doc..."
164
166
  value={item.externalDocs?.description}
165
167
  disabled={readOnly}
166
- onChange={(value) =>
168
+ onChange={(value) => {
167
169
  onTableChange(
168
170
  'externalDocs',
169
171
  { ...item.externalDocs, description: value },
170
172
  index
171
173
  )
172
- }
174
+ setDescription(value)
175
+ }}
173
176
  />
174
177
  <p className={styles.editDescTooltipContent_header}>External Docs Link</p>
175
178
  <TextArea
176
179
  placeholder="External Docs Link..."
177
180
  value={item.externalDocs?.url}
178
181
  disabled={readOnly}
179
- onChange={(value) =>
182
+ onChange={(value) => {
180
183
  onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)
181
- }
184
+ setURL(value)
185
+ }}
182
186
  />
183
187
  {!readOnly && (
184
188
  <Button
@@ -187,10 +191,11 @@ const InfoForm = ({ readOnly }: { readOnly?: boolean }) => {
187
191
  size="small"
188
192
  onClick={() => {
189
193
  setFieldValue(`tags[${index}].externalDocs`, {
190
- description: item.externalDocDesc,
191
- url: item.externalDocLink,
194
+ description: description,
195
+ url: url,
192
196
  })
193
- console.log({ tags: values.tags })
197
+ setDescription('')
198
+ setURL('')
194
199
  externalTooltipRefs[index]?.hide()
195
200
  }}
196
201
  >
@@ -1,17 +1,25 @@
1
- import React from 'react'
1
+ import React, { useEffect, useState } from 'react'
2
2
  import styles from './LivePreview.module.scss'
3
3
  import SimpleLabelValue from '../../components/SimpleLabelValue'
4
- import Chips from '../../components/Chips/Chips'
4
+
5
5
  import MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'
6
6
  import { TransformedOpenApi } from '../../types/transformedOpenApi'
7
7
  import { useFormikContext } from 'formik'
8
- import { methodColorMapping } from '../../constants/index'
8
+ import { methodColorMapping, tagsTableHeaders } from '../../constants/index'
9
+ import TagsTable from '../table/tags-table'
10
+ import { Button, TextArea } from 'digitinary-ui'
11
+ import Tooltip from '../../components/Tooltip/Tooltip'
12
+ import { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'
9
13
 
10
14
  interface LivePreviewProps {
11
15
  transformedData?: TransformedOpenApi
12
16
  }
13
17
 
14
18
  const LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {
19
+ const [tableRecords, setTableRecords] = useState()
20
+ const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})
21
+ const [tableData, setTableData] = useState([])
22
+ const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})
15
23
  const { values } = useFormikContext<TransformedOpenApi>()
16
24
  const { info, components, tags } = values
17
25
  const { securitySchemes } = components
@@ -19,6 +27,118 @@ const LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {
19
27
  securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length
20
28
  ? Object.keys(securitySchemes)[0]
21
29
  : null
30
+
31
+ useEffect(() => {
32
+ console.log({updated: values.tags})
33
+ if (values.tags && values.tags.length) {
34
+ setTableRecords(generateTableData(values.tags, true))
35
+ setTableData(values.tags)
36
+ }
37
+ }, [values.tags])
38
+
39
+ const generateTableData = (items, readOnly) => {
40
+ return items.map((item, index) => ({
41
+ id: index,
42
+ tagName: item.name,
43
+ description: (
44
+ <div className={styles.paramDescContainer}>
45
+ <Tooltip
46
+ arrowWithBorder
47
+ placement="bottom-end"
48
+ type="function"
49
+ trigger="click"
50
+ delay={[0, 0]}
51
+ onCreate={(instance) =>
52
+ setTooltipRefs((prev) => ({
53
+ ...prev,
54
+ [index]: instance,
55
+ }))
56
+ }
57
+ content={
58
+ <div className={styles.editDescTooltipContent}>
59
+ <p className={styles.editDescTooltipContent_header}>Description</p>
60
+ <TextArea
61
+ placeholder="Describe parameter..."
62
+ value={item.description}
63
+ disabled={readOnly}
64
+ onChange={(value) => null}
65
+ />
66
+ </div>
67
+ }
68
+ >
69
+ <Button className={styles.editDescBtn} variant="link" color="action">
70
+ {item.description ? item.description.substring(0, 12) : '-'}
71
+ {item.description && item.description.length > 12 ? '...' : ''}
72
+ </Button>
73
+ </Tooltip>
74
+ </div>
75
+ ),
76
+ externalDocs: (
77
+ <div className={styles.paramDescContainer}>
78
+ <Tooltip
79
+ arrowWithBorder
80
+ placement="bottom-end"
81
+ type="function"
82
+ trigger="click"
83
+ delay={[0, 0]}
84
+ onCreate={(instance) =>
85
+ setExternalTooltipRefs((prev) => ({
86
+ ...prev,
87
+ [index]: instance,
88
+ }))
89
+ }
90
+ content={
91
+ <div className={styles.editDescTooltipContent}>
92
+ <p className={styles.editDescTooltipContent_header}>External Docs Description</p>
93
+ <TextArea
94
+ placeholder="Describe External Doc..."
95
+ value={item.externalDocs?.description}
96
+ disabled={readOnly}
97
+ onChange={(value) => null}
98
+ />
99
+ <p className={styles.editDescTooltipContent_header}>External Docs Link</p>
100
+ <TextArea
101
+ placeholder="External Docs Link..."
102
+ value={item.externalDocs?.url}
103
+ disabled={readOnly}
104
+ onChange={(value) => null}
105
+ />
106
+ </div>
107
+ }
108
+ >
109
+ <Button
110
+ className={styles.editDescBtn}
111
+ variant="link"
112
+ color="action"
113
+ onClick={() => {
114
+ const a = document.createElement('a')
115
+ a.href = item.externalDocs?.url
116
+ a.click()
117
+ }}
118
+ >
119
+ {item?.externalDocs?.description
120
+ ? item?.externalDocs?.description?.substring(0, 12)
121
+ : '-'}
122
+ {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12
123
+ ? '...'
124
+ : ''}
125
+ </Button>
126
+ </Tooltip>
127
+
128
+ {!readOnly && <div className={styles.paramDescContainer_separator}></div>}
129
+
130
+ {!readOnly && (
131
+ <Button
132
+ className={styles.deleteParamBtn}
133
+ variant="link"
134
+ color="error"
135
+ onClick={() => null}
136
+ ></Button>
137
+ )}
138
+ </div>
139
+ ),
140
+ }))
141
+ }
22
142
  return (
23
143
  <div>
24
144
  <div className="row">
@@ -39,20 +159,15 @@ const LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {
39
159
  <SimpleLabelValue
40
160
  key={'tags'}
41
161
  label={'Tags: '}
42
- value={
43
- tags && tags.length ? (
44
- <Chips
45
- className={styles.tagsChips}
46
- items={tags.map((t) => ({
47
- id: t.name,
48
- label: t.name,
49
- disabled: true,
50
- }))}
51
- />
52
- ) : (
53
- '-'
54
- )
55
- }
162
+ />
163
+ <TagsTable
164
+ id="tags-table"
165
+ data={tableRecords}
166
+ headCells={tagsTableHeaders}
167
+ isFormOpen={false}
168
+ setIsFormOpen={() => null}
169
+ saveNewRow={() => null}
170
+ readOnly={true}
56
171
  />
57
172
 
58
173
  <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />
@@ -223,6 +223,7 @@ const TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow,
223
223
  onClick={() => {
224
224
  const a = document.createElement('a')
225
225
  a.href = values.externalDocs?.url
226
+ a.target = '_blank'
226
227
  a.click()
227
228
  }}
228
229
  >