@digi-frontend/dgate-api-documentation 1.0.30 → 1.0.32

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 t,useEffect as i}from"react";import{useFormikContext as n}from"../../../node_modules/formik/dist/formik.esm.js";import{d as o}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import l from"../../constants/regex.js";import r from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import c from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import v from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import p from"../table/tags-table.js";const g=({readOnly:g})=>{var x,h,j,D,f;const[b,C]=t([]),[y,I]=t(),[N,k]=t(""),[A,w]=t(""),[T,O]=t(""),{values:S,setFieldValue:B,errors:L}=n(),[_,E]=t({}),[z,W]=t({}),[P,V]=t(null),[F,q]=t(null),[R,M]=t(!1),[$,G]=t(!1);i((()=>{if(S&&S.components&&S.components.securitySchemes){const e=Object.keys(S.components.securitySchemes);e.length&&k(S.components.securitySchemes[e[0]].scheme||S.components.securitySchemes[e[0]].type)}}),[]),i((()=>{I(U(b))}),[b]),i((()=>{S.tags&&S.tags.length&&C(S.tags)}),[S.tags]);const H=(e,t,i)=>{const n=b.map(((n,o)=>o===i?Object.assign(Object.assign({},n),{[e]:t}):n));C(n)},U=t=>t.map(((t,i)=>{var n,c,v,u,p,x,h,j,D,f,b,C,y,I,N,k,L,P,F,R,$;return{id:i,tagName:t.name,description:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(r,{allowHTML:!0,disabled:(null===(n=S.tags[i].description)||void 0===n?void 0:n.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:S.tags[i].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=z[i])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center",fontWeight:600,fontSize:"1rem"},children:[S.tags[i].description?S.tags[i].description.substring(0,12):g&&"-",S.tags[i].description&&S.tags[i].description.length>12?"...":""]})},`${i}-description`),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W((t=>Object.assign(Object.assign({},t),{[i]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe tag...",value:t.description,disabled:g,onChange:e=>{(""===e||l.ASCII.test(e))&&H("description",e,i)},maxLength:25}),!g&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,n;B(`tags[${i}].description`,null===(e=t.description)||void 0===e?void 0:e.trim()),null===(n=z[i])||void 0===n||n.hide()},disabled:!(null===(c=t.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:g||S.tags[i].description?e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"})}):e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"}),children:g||S.tags[i].description?"View Description":"Add Description"})})]}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[(null===(v=S.tags[i].externalDocs)||void 0===v?void 0:v.description)&&(null===(u=S.tags[i].externalDocs)||void 0===u?void 0:u.url)&&e.jsxs("a",{className:s.externalDocsLink,href:null===(p=S.tags[i].externalDocs)||void 0===p?void 0:p.url,target:"_blank",style:(null===(x=S.tags[i].externalDocs)||void 0===x?void 0:x.description)?{}:{textDecoration:"none",pointerEvents:"none"},children:[(null===(h=S.tags[i].externalDocs)||void 0===h?void 0:h.description)?null===(D=null===(j=S.tags[i].externalDocs)||void 0===j?void 0:j.description)||void 0===D?void 0:D.substring(0,12):g&&"-",(null===(f=S.tags[i].externalDocs)||void 0===f?void 0:f.description)&&(null===(C=null===(b=S.tags[i].externalDocs)||void 0===b?void 0:b.description)||void 0===C?void 0:C.length)>12?"...":""]}),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>E((t=>Object.assign(Object.assign({},t),{[i]: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===(y=t.externalDocs)||void 0===y?void 0:y.description,disabled:g,maxLength:25,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},t.externalDocs),{description:e}),i),w(e))}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(o.TextArea,{placeholder:"External Docs Link...",value:null===(I=t.externalDocs)||void 0===I?void 0:I.url,disabled:g,maxLength:200,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},t.externalDocs),{url:e}),i),O(e))}}),!g&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;B(`tags[${i}].externalDocs`,{description:null==A?void 0:A.trim(),url:null==T?void 0:T.trim()}),w(""),O(""),null===(e=_[i])||void 0===e||e.hide()},disabled:!((null===(N=S.tags[i].externalDocs)||void 0===N?void 0:N.description)&&(null===(k=S.tags[i].externalDocs)||void 0===k?void 0:k.url)&&!(null==A?void 0:A.trim())&&!(null==T?void 0:T.trim())||(null==A?void 0:A.trim())&&(null==T?void 0:T.trim())&&l.urlRegex.test(T)),children:"Apply"})]}),children:g||(null===(L=S.tags[i].externalDocs)||void 0===L?void 0:L.description)?e.jsx("div",{className:s.editExternalDocs,children:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem",onClick:e=>{var i,n;null==e||e.stopPropagation(),w(null===(i=t.externalDocs)||void 0===i?void 0:i.description),O(null===(n=t.externalDocs)||void 0===n?void 0:n.url)}})}):e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"}),onClick:()=>{var e,i;w(null===(e=t.externalDocs)||void 0===e?void 0:e.description),O(null===(i=t.externalDocs)||void 0===i?void 0:i.url)},children:[g||(null===(P=S.tags[i])||void 0===P?void 0:P.externalDocs)&&((null===(R=null===(F=S.tags[i])||void 0===F?void 0:F.externalDocs)||void 0===R?void 0:R.url)||(null===($=S.tags[i].externalDocs)||void 0===$?void 0:$.description))?"View ":"Add "," ","External Docs Link"]})}),!g&&e.jsx("div",{className:s.paramDescContainer_separator}),!g&&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=i,n=t.name,V(e),q(n),void M(!0);var e,n}})]})}}));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===(x=null==S?void 0:S.info)||void 0===x?void 0:x.title,maxLength:35,onChange:e=>{B("info.title",e)},onClear:()=>{B("info.title","")},errorMsg:null===(h=null==L?void 0:L.info)||void 0===h?void 0:h.title,restrictedCharactersRegex:l.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(o.Input,{size:"large",label:"API Authentication Type",required:!0,value:(J=N,J?J.charAt(0).toUpperCase()+J.slice(1):""),disabled:!0}),e.jsx(o.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==S?void 0:S.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==S?void 0:S.info)||void 0===D?void 0:D.description,maxLength:120,required:!0,onChange:e=>{(""===e||l.ASCII.test(e))&&B("info.description",e)},onClear:()=>{B("info.description","")},errorMsg:null===(f=null==L?void 0:L.info)||void 0===f?void 0:f.description}),e.jsx("div",{className:s.paramsTable,children:e.jsx(p,{id:"paramter-table",data:y,headCells:u,isFormOpen:$,setIsFormOpen:G,saveNewRow:e=>{C([...b,e]);const t=S.tags||[];B("tags",[...t,e])},readOnly:g})}),e.jsx(v,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Tag ",e.jsx("strong",{children:F})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(C((e=>e.filter(((e,t)=>t!==P)))),B("tags",null===(e=S.tags)||void 0===e?void 0:e.filter(((e,t)=>t!==P)))),M(!1),V(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>M(!1),open:R,icon:e.jsx(m,{src:c,width:"4.0625rem",height:"4.0625rem"})})]});var J};export{g as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as t,useEffect as i}from"react";import{useFormikContext as n}from"../../../node_modules/formik/dist/formik.esm.js";import{d as o}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import l from"../../constants/regex.js";import r from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import c from"../../assets/icons/deleteOutlinedIcon.svg.js";import m from"../SVGLoader/SVGLoader.js";import v from"../dialog/index.js";import{tagsTableHeaders as p}from"../../constants/index.js";import u from"../table/tags-table.js";const g=({readOnly:g})=>{var x,h,j,D,f;const[b,C]=t([]),[y,I]=t(),[N,k]=t(""),[A,w]=t(""),[T,O]=t(""),{values:S,setFieldValue:B,errors:L}=n(),[_,E]=t({}),[z,W]=t({}),[P,R]=t(null),[V,F]=t(null),[q,M]=t(!1),[$,G]=t(!1);i((()=>{if(S&&S.components&&S.components.securitySchemes){const e=Object.keys(S.components.securitySchemes);e.length&&k(S.components.securitySchemes[e[0]].scheme||S.components.securitySchemes[e[0]].type)}}),[]),i((()=>{I(U(b))}),[b]),i((()=>{S.tags&&S.tags.length&&C(S.tags)}),[S.tags]);const H=(e,t,i)=>{const n=b.map(((n,o)=>o===i?Object.assign(Object.assign({},n),{[e]:t}):n));C(n)},U=t=>t.map(((t,i)=>{var n,c,v,p,u,x,h,j,D,f,b,C,y,I,N,k,L,P,V,q;return{id:i,tagName:t.name,description:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(r,{allowHTML:!0,disabled:(null===(n=S.tags[i].description)||void 0===n?void 0:n.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:S.tags[i].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=z[i])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center",fontWeight:600,fontSize:"1rem"},children:[S.tags[i].description?S.tags[i].description.substring(0,12):g&&"-",S.tags[i].description&&S.tags[i].description.length>12?"...":""]})},`${i}-description`),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W((t=>Object.assign(Object.assign({},t),{[i]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe tag...",value:t.description,disabled:g,onChange:e=>{(""===e||l.ASCII.test(e))&&H("description",e,i)},maxLength:25}),!g&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,n;B(`tags[${i}].description`,null===(e=t.description)||void 0===e?void 0:e.trim()),null===(n=z[i])||void 0===n||n.hide()},disabled:!(null===(c=t.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:g||S.tags[i].description?e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"})}):e.jsx(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"}),children:g||S.tags[i].description?"View Description":"Add Description"})})]}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[(null===(v=S.tags[i].externalDocs)||void 0===v?void 0:v.description)&&(null===(p=S.tags[i].externalDocs)||void 0===p?void 0:p.url)&&e.jsxs("a",{className:s.externalDocsLink,href:null===(u=S.tags[i].externalDocs)||void 0===u?void 0:u.url,target:"_blank",style:(null===(x=S.tags[i].externalDocs)||void 0===x?void 0:x.description)?{}:{textDecoration:"none",pointerEvents:"none"},children:[(null===(h=S.tags[i].externalDocs)||void 0===h?void 0:h.description)?null===(D=null===(j=S.tags[i].externalDocs)||void 0===j?void 0:j.description)||void 0===D?void 0:D.substring(0,12):g&&"-",(null===(f=S.tags[i].externalDocs)||void 0===f?void 0:f.description)&&(null===(C=null===(b=S.tags[i].externalDocs)||void 0===b?void 0:b.description)||void 0===C?void 0:C.length)>12?"...":""]}),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>E((t=>Object.assign(Object.assign({},t),{[i]: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===(y=t.externalDocs)||void 0===y?void 0:y.description,disabled:g,maxLength:25,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},t.externalDocs),{description:e}),i),w(e))}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(o.TextArea,{placeholder:"External Docs Link...",value:null===(I=t.externalDocs)||void 0===I?void 0:I.url,disabled:g,maxLength:200,restrictedCharsRegex:l.urlRegex,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},t.externalDocs),{url:e}),i),O(e))}}),!g&&e.jsx(o.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;B(`tags[${i}].externalDocs`,{description:null==A?void 0:A.trim(),url:null==T?void 0:T.trim()}),w(""),O(""),null===(e=_[i])||void 0===e||e.hide()},disabled:!((null===(N=S.tags[i].externalDocs)||void 0===N?void 0:N.url)&&!(null==T?void 0:T.trim())||(null==T?void 0:T.trim())&&l.urlRegex.test(T)),children:"Apply"})]}),children:g||(null===(k=S.tags[i].externalDocs)||void 0===k?void 0:k.description)?e.jsx("div",{className:s.editExternalDocs,children:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem",onClick:e=>{var i,n;null==e||e.stopPropagation(),w(null===(i=t.externalDocs)||void 0===i?void 0:i.description),O(null===(n=t.externalDocs)||void 0===n?void 0:n.url)}})}):e.jsxs(o.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(m,{src:d,width:"1.5rem",height:"1.5rem"}),onClick:()=>{var e,i;w(null===(e=t.externalDocs)||void 0===e?void 0:e.description),O(null===(i=t.externalDocs)||void 0===i?void 0:i.url)},children:[g||(null===(L=S.tags[i])||void 0===L?void 0:L.externalDocs)&&((null===(V=null===(P=S.tags[i])||void 0===P?void 0:P.externalDocs)||void 0===V?void 0:V.url)||(null===(q=S.tags[i].externalDocs)||void 0===q?void 0:q.description))?"View ":"Add "," ","External Docs Link"]})}),!g&&e.jsx("div",{className:s.paramDescContainer_separator}),!g&&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=i,n=t.name,R(e),F(n),void M(!0);var e,n}})]})}}));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===(x=null==S?void 0:S.info)||void 0===x?void 0:x.title,maxLength:35,onChange:e=>{B("info.title",e)},onClear:()=>{B("info.title","")},errorMsg:null===(h=null==L?void 0:L.info)||void 0===h?void 0:h.title,restrictedCharactersRegex:l.basic}),e.jsxs("div",{className:s.apiDocRow,children:[e.jsx(o.Input,{size:"large",label:"API Authentication Type",required:!0,value:(J=N,J?J.charAt(0).toUpperCase()+J.slice(1):""),disabled:!0}),e.jsx(o.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==S?void 0:S.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==S?void 0:S.info)||void 0===D?void 0:D.description,maxLength:120,required:!0,onChange:e=>{(""===e||l.ASCII.test(e))&&B("info.description",e)},onClear:()=>{B("info.description","")},errorMsg:null===(f=null==L?void 0:L.info)||void 0===f?void 0:f.description}),e.jsx("div",{className:s.paramsTable,children:e.jsx(u,{id:"paramter-table",data:y,headCells:p,isFormOpen:$,setIsFormOpen:G,saveNewRow:e=>{C([...b,e]);const t=S.tags||[];B("tags",[...t,e])},readOnly:g})}),e.jsx(v,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Tag ",e.jsx("strong",{children:V})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(C((e=>e.filter(((e,t)=>t!==P)))),B("tags",null===(e=S.tags)||void 0===e?void 0:e.filter(((e,t)=>t!==P)))),M(!1),R(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>M(!1),open:q,icon:e.jsx(m,{src:c,width:"4.0625rem",height:"4.0625rem"})})]});var J};export{g 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 [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(\r\n values.components.securitySchemes[authenticatorKeys[0]].scheme ||\r\n values.components.securitySchemes[authenticatorKeys[0]].type\r\n )\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableRecords(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n setFieldValue(\r\n `tags`,\r\n values.tags?.filter((_, i) => i !== selectedTagIndex)\r\n )\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 const oldTags = values.tags || []\r\n setFieldValue(`tags`, [...oldTags, 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 generateTableRecords = (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 key={`${index}-description`}\r\n allowHTML\r\n disabled={values.tags[index].description?.length <= 12}\r\n content={<div style={{ padding: '0.625rem' }}>{values.tags[index].description}</div>}\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n onShow={() => tooltipRefs[index]?.hide()}\r\n >\r\n <p style={{ alignSelf: 'center', fontWeight: 600, fontSize: '1rem' }}>\r\n {values.tags[index].description\r\n ? values.tags[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].description && values.tags[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\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 tag...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\r\n }}\r\n maxLength={25}\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?.trim())\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!item.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].description ? (\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 ></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 || values.tags[index].description\r\n ? 'View Description'\r\n : '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 {values.tags[index].externalDocs?.description && values.tags[index].externalDocs?.url && (\r\n <a\r\n className={styles.externalDocsLink}\r\n href={values.tags[index].externalDocs?.url}\r\n target=\"_blank\"\r\n style={\r\n !values.tags[index].externalDocs?.description\r\n ? { textDecoration: 'none', pointerEvents: 'none' }\r\n : {}\r\n }\r\n >\r\n {values.tags[index].externalDocs?.description\r\n ? values.tags[index].externalDocs?.description?.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].externalDocs?.description &&\r\n values.tags[index].externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n )}\r\n\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 maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(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 />\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 maxLength={200}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\r\n }\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?.trim(),\r\n url: url?.trim(),\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n disabled={\r\n !(\r\n (values.tags[index].externalDocs?.description &&\r\n values.tags[index].externalDocs?.url &&\r\n !description?.trim() &&\r\n !url?.trim()) ||\r\n (description?.trim() && url?.trim() && regex.urlRegex.test(url))\r\n )\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].externalDocs?.description ? (\r\n <div className={styles.editExternalDocs}>\r\n <SVGLoader\r\n src={EditIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={(e) => {\r\n e?.stopPropagation()\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n />\r\n </div>\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 setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n >\r\n {readOnly ||\r\n (values.tags[index]?.externalDocs &&\r\n (values.tags[index]?.externalDocs?.url ||\r\n values.tags[index].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={35}\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 restrictedCharactersRegex={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 required\r\n onChange={(value: string) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n setFieldValue('info.description', value)\r\n }\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMsg={errors?.info?.description}\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\">\r\n {' '}\r\n Tag <strong>{selectedTagName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\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","type","generateTableRecords","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsxs","className","styles","paramDescContainer","children","_jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","arrowWithBorder","placement","delay","onShow","hide","jsxs","alignSelf","fontWeight","fontSize","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","onChange","regex","ASCII","test","maxLength","jsx","Button","editDescTooltipContent_btn","variant","size","onClick","trim","_b","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_c","_d","externalDocsLink","href","_e","target","_f","textDecoration","pointerEvents","_j","_h","_k","_m","_l","_o","_p","_q","_r","urlRegex","_s","editExternalDocs","e","stopPropagation","_t","_v","_u","_w","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","preventDefault","Input","label","required","info","title","onClear","errorMsg","restrictedCharactersRegex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","oldTags","CommonDialog","status","textAlign","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(\r\n values.components.securitySchemes[authenticatorKeys[0]].scheme ||\r\n values.components.securitySchemes[authenticatorKeys[0]].type\r\n )\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableRecords(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n setFieldValue(\r\n `tags`,\r\n values.tags?.filter((_, i) => i !== selectedTagIndex)\r\n )\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 const oldTags = values.tags || []\r\n setFieldValue(`tags`, [...oldTags, 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 generateTableRecords = (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 key={`${index}-description`}\r\n allowHTML\r\n disabled={values.tags[index].description?.length <= 12}\r\n content={<div style={{ padding: '0.625rem' }}>{values.tags[index].description}</div>}\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n onShow={() => tooltipRefs[index]?.hide()}\r\n >\r\n <p style={{ alignSelf: 'center', fontWeight: 600, fontSize: '1rem' }}>\r\n {values.tags[index].description\r\n ? values.tags[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].description && values.tags[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\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 tag...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\r\n }}\r\n maxLength={25}\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?.trim())\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!item.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].description ? (\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 ></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 || values.tags[index].description\r\n ? 'View Description'\r\n : '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 {values.tags[index].externalDocs?.description && values.tags[index].externalDocs?.url && (\r\n <a\r\n className={styles.externalDocsLink}\r\n href={values.tags[index].externalDocs?.url}\r\n target=\"_blank\"\r\n style={\r\n !values.tags[index].externalDocs?.description\r\n ? { textDecoration: 'none', pointerEvents: 'none' }\r\n : {}\r\n }\r\n >\r\n {values.tags[index].externalDocs?.description\r\n ? values.tags[index].externalDocs?.description?.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].externalDocs?.description &&\r\n values.tags[index].externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n )}\r\n\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 maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(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 />\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 maxLength={200}\r\n restrictedCharsRegex={regex.urlRegex}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\r\n }\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?.trim(),\r\n url: url?.trim(),\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n disabled={\r\n !(\r\n (values.tags[index].externalDocs?.url && !url?.trim()) ||\r\n (url?.trim() && regex.urlRegex.test(url))\r\n )\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].externalDocs?.description ? (\r\n <div className={styles.editExternalDocs}>\r\n <SVGLoader\r\n src={EditIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={(e) => {\r\n e?.stopPropagation()\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n />\r\n </div>\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 setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n >\r\n {readOnly ||\r\n (values.tags[index]?.externalDocs &&\r\n (values.tags[index]?.externalDocs?.url ||\r\n values.tags[index].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={35}\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 restrictedCharactersRegex={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 required\r\n onChange={(value: string) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n setFieldValue('info.description', value)\r\n }\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMsg={errors?.info?.description}\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\">\r\n {' '}\r\n Tag <strong>{selectedTagName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\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","type","generateTableRecords","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsxs","className","styles","paramDescContainer","children","_jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","arrowWithBorder","placement","delay","onShow","hide","jsxs","alignSelf","fontWeight","fontSize","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","onChange","regex","ASCII","test","maxLength","jsx","Button","editDescTooltipContent_btn","variant","size","onClick","trim","_b","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_c","_d","externalDocsLink","href","_e","target","_f","textDecoration","pointerEvents","_j","_h","_k","_m","_l","_o","_p","restrictedCharsRegex","urlRegex","_q","_r","editExternalDocs","e","stopPropagation","_s","_u","_t","_v","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","preventDefault","Input","label","required","info","title","onClear","errorMsg","restrictedCharactersRegex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","oldTags","CommonDialog","status","textAlign","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{useState as a}from"react";import{d as i}from"../../../_virtual/index.js";import r from"../Tooltip/Tooltip.js";import l from"../SVGLoader/SVGLoader.js";import t from"../../assets/icons/DeleteIcon.svg.js";import s from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as o}from"../../../node_modules/formik/dist/formik.esm.js";import{object as c,string as m,bool as h}from"../../../node_modules/yup/index.esm.js";import{capitalize as u}from"../../helpers/methodAccordion.helper.js";import p from"../../constants/regex.js";const j=({id:j,headCells:v,data:b,isFormOpen:x,setIsFormOpen:N,saveNewRow:C,readOnly:g})=>{const[y,T]=a(""),[w,D]=a(null),{values:f,errors:I,setFieldValue:S,isValid:k,submitForm:_,resetForm:B}=o({validateOnMount:!0,initialValues:{name:"",in:"Query",schema:{type:"String"},required:!0,description:""},validationSchema:c().shape({name:m().trim().required("Parameter name is required"),in:m().required("Paramter type is required"),schema:c().shape({type:m().required("Parameter schema type is required")}),required:h().optional(),description:m().trim().optional()}),onSubmit:e=>{C(e),N(!1),T(""),B()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:j||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==v?void 0:v.map((a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==b?void 0:b.map(((a,i)=>e.jsx("tr",{"data-i":i,className:"row",children:null==v?void 0:v.map((i=>{const r="_"!==a[i.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:i.width,minWidth:i.minWidth},children:a[i.id]});return e.jsx("td",{style:{width:i.width,minWidth:i.minWidth},children:r},i.id)}))},i))),0===(null==b?void 0:b.length)&&g&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==v?void 0:v.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),x&&!g?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||p.ASCII.test(e))&&S("name",e)},value:f.name,disabled:g})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(i.SelectGroupV2,{disabled:g,value:{label:u(f.in),value:u(f.in)},onChange:e=>{var a;return S("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]}],errorMsg:!!I.in&&I.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(i.SelectGroupV2,{disabled:g,clearable:!1,value:{label:u(f.schema.type),value:u(f.schema.type)},errorMsg:!!I.schema&&I.schema,onChange:e=>{var a;return S("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," "]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:g?e.jsx(e.Fragment,{children:f.required?"True":"False"}):e.jsx(i.Switch,{checked:f.required,onClick:()=>{g||S("required",!f.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:n.paramDescContainer,children:[e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>D(e),content:e.jsxs("div",{className:n.editDescTooltipContent,children:[e.jsx("p",{className:n.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{value:y||f.description,onChange:e=>{(""===e||p.ASCII.test(e))&&T(e)},disabled:g,placeholder:"Describe parameter...",maxLength:120}),!g&&e.jsx(i.Button,{className:n.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{S("description",null==y?void 0:y.trim()),null==w||w.hide()},disabled:""===(null==y?void 0:y.trim()),children:"Apply"})]}),children:e.jsxs(i.Button,{className:n.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(l,{src:s,width:"1.5rem",height:"1.5rem"}),children:[g?"View ":"Add "," Description"]})}),e.jsx("div",{className:n.paramDescContainer_separator}),!g&&e.jsx(i.Button,{className:n.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(l,{src:t,width:"1.125rem",height:"1.125rem"}),onClick:()=>{B(),T(""),N(!1)}}),!g&&e.jsx(i.Button,{className:n.deleteParamBtn,variant:"link",color:"success",disabled:!k,endIcon:e.jsx(l,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{T(""),_()}})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!g&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(i.Button,{variant:"link",color:"primary",onClick:()=>{N((e=>!e))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{j as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as i}from"../../../_virtual/index.js";import r from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import s from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as o}from"../../../node_modules/formik/dist/formik.esm.js";import{object as c,string as m,bool as h}from"../../../node_modules/yup/index.esm.js";import{capitalize as u}from"../../helpers/methodAccordion.helper.js";import p from"../../constants/regex.js";const j=({id:j,headCells:v,data:b,isFormOpen:x,setIsFormOpen:N,saveNewRow:C,readOnly:g})=>{const[y,T]=a(""),[w,D]=a(null),{values:f,errors:I,setFieldValue:S,isValid:k,submitForm:_,resetForm:B}=o({validateOnMount:!0,initialValues:{name:"",in:"Query",schema:{type:"String"},required:!0,description:""},validationSchema:c().shape({name:m().trim().required("Parameter name is required"),in:m().required("Paramter type is required"),schema:c().shape({type:m().required("Parameter schema type is required")}),required:h().optional(),description:m().trim().optional()}),onSubmit:e=>{C(e),N(!1),T(""),B()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:j||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==v?void 0:v.map((a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==b?void 0:b.map(((a,i)=>e.jsx("tr",{"data-i":i,className:"row",children:null==v?void 0:v.map((i=>{const r="_"!==a[i.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:i.width,minWidth:i.minWidth},children:a[i.id]});return e.jsx("td",{style:{width:i.width,minWidth:i.minWidth},children:r},i.id)}))},i))),0===(null==b?void 0:b.length)&&g&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==v?void 0:v.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),x&&!g?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||p.ASCII.test(e))&&S("name",e)},value:f.name,disabled:g})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(i.SelectGroupV2,{disabled:g,value:{label:u(f.in),value:u(f.in)},onChange:e=>{var a;return S("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]}],errorMsg:!!I.in&&I.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(i.SelectGroupV2,{disabled:g,clearable:!1,value:{label:u(f.schema.type),value:u(f.schema.type)},errorMsg:!!I.schema&&I.schema,onChange:e=>{var a;return S("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," "]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:g?e.jsx(e.Fragment,{children:f.required?"True":"False"}):e.jsx(i.Switch,{checked:f.required,onClick:()=>{g||S("required",!f.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:n.paramDescContainer,children:[e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>D(e),content:e.jsxs("div",{className:n.editDescTooltipContent,children:[e.jsx("p",{className:n.editDescTooltipContent_header,children:"Description"}),e.jsx(i.TextArea,{value:y||f.description,onChange:e=>{(""===e||p.ASCII.test(e))&&T(e)},disabled:g,placeholder:"Describe parameter...",maxLength:120}),!g&&e.jsx(i.Button,{className:n.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{S("description",null==y?void 0:y.trim()),null==w||w.hide()},disabled:""===(null==y?void 0:y.trim()),children:"Apply"})]}),children:e.jsxs(i.Button,{className:n.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:s,width:"1.5rem",height:"1.5rem"}),children:[g?"View ":"Add "," Description"]})}),e.jsx("div",{className:n.paramDescContainer_separator}),!g&&e.jsx(i.Button,{className:n.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{B(),T(""),N(!1)}}),!g&&e.jsx(r,{disabled:!!f.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(i.Button,{className:n.deleteParamBtn,variant:"link",color:"success",disabled:!f.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{T(""),_()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!g&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(i.Button,{variant:"link",color:"primary",onClick:()=>{N((e=>!e))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{j as default};
2
2
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, SelectGroupV2, Switch, 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\nimport { capitalize } from '../../helpers/methodAccordion.helper'\r\nimport regex from '../../constants/regex'\r\n\r\nconst ParamterTable = ({\r\n id,\r\n headCells,\r\n data,\r\n isFormOpen,\r\n setIsFormOpen,\r\n saveNewRow,\r\n readOnly,\r\n}) => {\r\n const [text, setText] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n validateOnMount: true,\r\n initialValues: {\r\n name: '',\r\n in: 'Query',\r\n schema: {\r\n type: 'String',\r\n },\r\n required: true,\r\n description: '',\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().trim().required('Parameter name is required'),\r\n in: yup.string().required('Paramter type is required'),\r\n schema: yup.object().shape({\r\n type: yup.string().required('Parameter schema type is required'),\r\n }),\r\n required: yup.boolean().optional(),\r\n description: yup.string().trim().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setIsFormOpen(false)\r\n setText('')\r\n resetForm()\r\n },\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 {data?.length === 0 && readOnly && (\r\n <tr className=\"fallbackTableRow\">\r\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\r\n <div className=\"fallbackTextContainer\">\r\n <span className=\"fallbackText\"> No Data Available</span>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n {isFormOpen && !readOnly ? (\r\n <tr className={`row`}>\r\n <td key={'Parameter name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Parameter name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value as string))\r\n setFieldValue('name', value)\r\n }}\r\n value={values.name}\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter in'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.in),\r\n value: capitalize(values.in),\r\n }}\r\n onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'Query', value: 'query' },\r\n { label: 'Header', value: 'header' },\r\n { label: 'Path', value: 'path' },\r\n { label: 'Body', value: 'body' },\r\n ],\r\n },\r\n ]}\r\n errorMsg={!!errors.in && errors.in}\r\n isMultiple={false}\r\n withSearch={false}\r\n clearable={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema type'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n clearable={false}\r\n value={{\r\n label: capitalize(values.schema.type),\r\n value: capitalize(values.schema.type),\r\n }}\r\n errorMsg={!!errors.schema && errors.schema}\r\n onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'String', value: 'string' },\r\n { label: 'Integer', value: 'integer' },\r\n { label: 'Boolean', value: 'boolean' },\r\n { label: 'Object', value: 'object' },\r\n { label: 'Array', value: 'array' },\r\n { label: 'Number', value: 'number' },\r\n ],\r\n },\r\n ]}\r\n isMultiple={false}\r\n withSearch={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter required'}>\r\n <div data-id=\"is required\" className=\"tableData\">\r\n {readOnly ? (\r\n <>{values.required ? 'True' : 'False'}</>\r\n ) : (\r\n <Switch\r\n checked={values.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return\r\n }\r\n setFieldValue('required', !values.required)\r\n }}\r\n />\r\n )}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema desc'}>\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 if (value === '' || regex.ASCII.test(value)) setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe parameter...\"\r\n maxLength={120}\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?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={text?.trim() === ''}\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 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\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 Parameter\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 ParamterTable\r\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","tooltipRef","setTooltipRef","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","required","description","validationSchema","yup.object","shape","yup.string","trim","yup.boolean","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","_a","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_Fragment","Fragment","Switch","checked","onClick","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","editDescTooltipContent","editDescTooltipContent_header","TextArea","maxLength","Button","editDescTooltipContent_btn","variant","hide","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","prev"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, SelectGroupV2, Switch, 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\nimport { capitalize } from '../../helpers/methodAccordion.helper'\r\nimport regex from '../../constants/regex'\r\n\r\nconst ParamterTable = ({\r\n id,\r\n headCells,\r\n data,\r\n isFormOpen,\r\n setIsFormOpen,\r\n saveNewRow,\r\n readOnly,\r\n}) => {\r\n const [text, setText] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n validateOnMount: true,\r\n initialValues: {\r\n name: '',\r\n in: 'Query',\r\n schema: {\r\n type: 'String',\r\n },\r\n required: true,\r\n description: '',\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().trim().required('Parameter name is required'),\r\n in: yup.string().required('Paramter type is required'),\r\n schema: yup.object().shape({\r\n type: yup.string().required('Parameter schema type is required'),\r\n }),\r\n required: yup.boolean().optional(),\r\n description: yup.string().trim().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setIsFormOpen(false)\r\n setText('')\r\n resetForm()\r\n },\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 {data?.length === 0 && readOnly && (\r\n <tr className=\"fallbackTableRow\">\r\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\r\n <div className=\"fallbackTextContainer\">\r\n <span className=\"fallbackText\"> No Data Available</span>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n {isFormOpen && !readOnly ? (\r\n <tr className={`row`}>\r\n <td key={'Parameter name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Parameter name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value as string))\r\n setFieldValue('name', value)\r\n }}\r\n value={values.name}\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter in'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.in),\r\n value: capitalize(values.in),\r\n }}\r\n onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'Query', value: 'query' },\r\n { label: 'Header', value: 'header' },\r\n { label: 'Path', value: 'path' },\r\n { label: 'Body', value: 'body' },\r\n ],\r\n },\r\n ]}\r\n errorMsg={!!errors.in && errors.in}\r\n isMultiple={false}\r\n withSearch={false}\r\n clearable={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema type'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n clearable={false}\r\n value={{\r\n label: capitalize(values.schema.type),\r\n value: capitalize(values.schema.type),\r\n }}\r\n errorMsg={!!errors.schema && errors.schema}\r\n onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'String', value: 'string' },\r\n { label: 'Integer', value: 'integer' },\r\n { label: 'Boolean', value: 'boolean' },\r\n { label: 'Object', value: 'object' },\r\n { label: 'Array', value: 'array' },\r\n { label: 'Number', value: 'number' },\r\n ],\r\n },\r\n ]}\r\n isMultiple={false}\r\n withSearch={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter required'}>\r\n <div data-id=\"is required\" className=\"tableData\">\r\n {readOnly ? (\r\n <>{values.required ? 'True' : 'False'}</>\r\n ) : (\r\n <Switch\r\n checked={values.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return\r\n }\r\n setFieldValue('required', !values.required)\r\n }}\r\n />\r\n )}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema desc'}>\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 if (value === '' || regex.ASCII.test(value)) setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe parameter...\"\r\n maxLength={120}\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?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={text?.trim() === ''}\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 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\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 <Tooltip\r\n disabled={!!values.name.trim()}\r\n content={`Parameter name can't be empty `}\r\n >\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!values.name.trim()}\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 </Tooltip>\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 Parameter\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 ParamterTable\r\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","tooltipRef","setTooltipRef","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","required","description","validationSchema","yup.object","shape","yup.string","trim","yup.boolean","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","_a","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_Fragment","Fragment","Switch","checked","onClick","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","editDescTooltipContent","editDescTooltipContent_header","TextArea","maxLength","Button","editDescTooltipContent_btn","variant","hide","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","prev"],"mappings":"yrBAYA,MAAMA,EAAgB,EACpBC,KACAC,YACAC,OACAC,aACAC,gBACAC,aACAC,eAEA,MAAOC,EAAMC,GAAWC,EAAS,KAC1BC,EAAYC,GAAiBF,EAAS,OACvCG,OAAEA,EAAMC,OAAEA,EAAMC,cAAEA,EAAaC,QAAEA,EAAOC,WAAEA,EAAUC,UAAEA,GAAcC,EAAU,CAClFC,iBAAiB,EACjBC,cAAe,CACbC,KAAM,GACNC,GAAI,QACJC,OAAQ,CACNC,KAAM,UAERC,UAAU,EACVC,YAAa,IAEfC,iBAAkBC,IAAaC,MAAM,CACnCR,KAAMS,IAAaC,OAAON,SAAS,8BACnCH,GAAIQ,IAAaL,SAAS,6BAC1BF,OAAQK,IAAaC,MAAM,CACzBL,KAAMM,IAAaL,SAAS,uCAE9BA,SAAUO,IAAcC,WACxBP,YAAaI,IAAaC,OAAOE,aAEnCC,SAAWtB,IACTP,EAAWO,GACXR,GAAc,GACdI,EAAQ,IACRS,GAAW,IAIf,OACEkB,EAAAA,IAAK,MAAA,CAAAC,UAAU,iCACbD,MAAK,MAAA,CAAAC,UAAU,0BACbC,EAAOC,KAAA,QAAA,CAAAtC,GAAIA,GAAM,GAAIoC,UAAW,qDAC9BD,EAAAA,IAAO,QAAA,CAAAC,UAAU,qBACfD,EAAAA,IACG,KAAA,CAAAI,SAAAtC,eAAAA,EAAWuC,KAAKC,GACfN,EAAAA,UAEEC,UAAW,iBAAiBK,EAASC,SAAW,KAChDC,MAAO,CAAEC,MAAOH,EAASG,MAAOC,SAAUJ,EAASI,mBAEnDV,EACEW,IAAA,MAAA,CAAAV,UAAU,0BACD,GACmB,iBAAnBK,EAASM,MACZN,EAASM,MAAMC,cAAcC,QAAQ,iBAAkB,KACvD,yBAGLV,SAAAE,EAASM,SAZPN,EAASzC,UAkBtBqC,EAAAA,KAAA,QAAA,CAAOD,UAAU,YAAoB,UAAA,aAClCG,SAAA,CAAArC,aAAI,EAAJA,EAAMsC,KAAI,CAACU,EAAKC,IAEbhB,EAA2BW,IAAA,KAAA,CAAA,SAAAK,EAAUf,UAAW,MAC7CG,SAAAtC,aAAS,EAATA,EAAWuC,KAAKC,IACf,MAAMW,EAAmC,MAArBF,EAAIT,EAASzC,KAC/BmC,EAAAA,IAAA,MAAA,CAAA,UACU,mBACRC,UAAU,YACVO,MAAO,CACLC,MAAOH,EAASG,MAChBC,SAAUJ,EAASI,UAGpBN,SAAAW,EAAIT,EAASzC,MAIlB,OACEmC,EAEEW,IAAA,KAAA,CAAAH,MAAO,CACLC,MAAOH,EAASG,MAChBC,SAAUJ,EAASI,UACpBN,SAEAa,GANIX,EAASzC,GAQjB,KAzBImD,KA8BK,KAAjBjD,aAAI,EAAJA,EAAMmD,SAAgB/C,GACrB6B,YAAIC,UAAU,mBACZG,SAAAJ,EAAAA,IAAA,KAAA,CAAIC,UAAU,oBAAoBkB,QAASrD,eAAAA,EAAWoD,OACpDd,SAAAJ,EAAAW,IAAA,MAAA,CAAKV,UAAU,iCACbD,EAAMW,IAAA,OAAA,CAAAV,UAAU,eAAcG,SAAA,6BAMrCpC,IAAeG,EACd+B,OAAI,KAAA,CAAAD,UAAW,MAAKG,SAAA,CAClBJ,EAAAA,mBACEA,EAAaW,IAAA,MAAA,CAAA,UAAA,mBAAmBV,UAAU,YACxCG,SAAAJ,EAAAW,IAACS,EAAKA,MACJ,CAAAC,YAAY,iBACZC,KAAK,QACLjC,KAAK,OACLkC,SAAWC,KACK,KAAVA,GAAgBC,EAAMC,MAAMC,KAAKH,KACnC7C,EAAc,OAAQ6C,EAAM,EAEhCA,MAAO/C,EAAOS,KACd0C,SAAUzD,OAXP,kBAgBT6B,MACE,KAAA,CAAAI,SAAAF,OAAA,MAAA,CAAA,UAAa,mBAAmBD,UAAU,YACxCG,SAAA,CAAAJ,EAAAA,IAAC6B,EAAAA,cAAa,CACZD,SAAUzD,EACVqD,MAAO,CACLZ,MAAOkB,EAAWrD,EAAOU,IACzBqC,MAAOM,EAAWrD,EAAOU,KAE3BoC,SAAWQ,IAAS,IAAAC,EAAA,OAAArD,EAAc,KAAmB,QAAbqD,EAAAD,aAAA,EAAAA,EAAMP,aAAO,IAAAQ,OAAA,EAAAA,EAAAC,cAAc,EACnEC,QAAS,CACP,CACEC,KAAM,CACJ,CAAEvB,MAAO,QAASY,MAAO,SACzB,CAAEZ,MAAO,SAAUY,MAAO,UAC1B,CAAEZ,MAAO,OAAQY,MAAO,QACxB,CAAEZ,MAAO,OAAQY,MAAO,WAI9BY,WAAY1D,EAAOS,IAAMT,EAAOS,GAChCkD,YAAY,EACZC,YAAY,EACZC,WAAW,IACV,QAvBE,gBA2BTvC,EAAAW,IAAA,KAAA,CAAAP,SACEF,wBAAa,mBAAmBD,UAAU,YAAWG,SAAA,CACnDJ,EAAAA,IAAC6B,EAAAA,cAAa,CACZD,SAAUzD,EACVoE,WAAW,EACXf,MAAO,CACLZ,MAAOkB,EAAWrD,EAAOW,OAAOC,MAChCmC,MAAOM,EAAWrD,EAAOW,OAAOC,OAElC+C,WAAY1D,EAAOU,QAAUV,EAAOU,OACpCmC,SAAWQ,IAAS,IAAAC,EAAA,OAAArD,EAAc,cAA0B,QAAXqD,EAAAD,eAAAA,EAAMP,aAAK,IAAAQ,OAAA,EAAAA,EAAEC,cAAc,EAC5EC,QAAS,CACP,CACEC,KAAM,CACJ,CAAEvB,MAAO,SAAUY,MAAO,UAC1B,CAAEZ,MAAO,UAAWY,MAAO,WAC3B,CAAEZ,MAAO,UAAWY,MAAO,WAC3B,CAAEZ,MAAO,SAAUY,MAAO,UAC1B,CAAEZ,MAAO,QAASY,MAAO,SACzB,CAAEZ,MAAO,SAAUY,MAAO,aAIhCa,YAAY,EACZC,YAAY,IACX,QAzBE,yBA6BTtC,EACEW,IAAA,KAAA,CAAAP,SAAAJ,EAAAW,IAAA,MAAA,CAAA,UAAa,cAAcV,UAAU,YAAWG,SAC7CjC,EACC6B,EAAAW,IAAA6B,EAAAC,SAAA,CAAArC,SAAG3B,EAAOa,SAAW,OAAS,UAE9BU,EAACW,IAAA+B,SACC,CAAAC,QAASlE,EAAOa,SAChBsD,QAAS,KACHzE,GAGJQ,EAAc,YAAaF,EAAOa,SAAS,OAX5C,sBAkBTU,qBACEE,EAAaC,KAAA,MAAA,CAAA,UAAA,mBAAmBF,UAAU,YACxCG,SAAA,CAAAF,EAAAC,KAAA,MAAA,CAAKF,UAAW4C,EAAOC,mBAAkB1C,SAAA,CACvCJ,MAAC+C,EAAO,CACNC,iBACA,EAAAC,UAAU,aACV5D,KAAK,WACL6D,QAAQ,QACRC,MAAO,CAAC,EAAG,GACXC,SAAWC,GAAa7E,EAAc6E,GACtCC,QACEpD,EAAAA,YAAKD,UAAW4C,EAAOU,iCACrBvD,EAAAA,IAAG,IAAA,CAAAC,UAAW4C,EAAOW,8BAA8CpD,SAAA,gBACnEJ,EAAAA,IAACyD,EAAAA,SAAQ,CACPjC,MAAOpD,GAAQK,EAAOc,YACtBgC,SAAWC,KACK,KAAVA,GAAgBC,EAAMC,MAAMC,KAAKH,KAAQnD,EAAQmD,EAAM,EAE7DI,SAAUzD,EACVkD,YAAY,wBACZqC,UAAW,OAEXvF,GACA6B,EAAAA,IAAC2D,EAAAA,OAAM,CACL1D,UAAW4C,EAAOe,2BAClBC,QAAQ,WACRvC,KAAK,QACLsB,QAAS,KACPjE,EAAc,cAAeP,aAAA,EAAAA,EAAMwB,QACnCrB,SAAAA,EAAYuF,MAAM,EAEpBlC,SAA2B,MAAjBxD,aAAI,EAAJA,EAAMwB,QAAaQ,SAAA,aAQrCA,SAAAF,EAAAA,KAACyD,EAAAA,OAAM,CACL1D,UAAW4C,EAAOkB,YAClBF,QAAQ,OACRG,MAAM,SACNC,QAASjE,EAAAA,IAACkE,EAAS,CAACC,IAAKC,EAAU3D,MAAM,SAAS4D,OAAO,WAAWjE,SAAA,CAEnEjC,EAAW,QAAU,OACf,oBAGX6B,EAAAW,IAAA,MAAA,CAAKV,UAAW4C,EAAOyB,gCACrBnG,GACA6B,EAACW,IAAAgD,SACC,CAAA1D,UAAW4C,EAAO0B,eAClBV,QAAQ,OACRG,MAAM,QACNC,QACEjE,MAACkE,EAAU,CAAAC,IAAKK,EAAY/D,MAAM,WAAW4D,OAAO,aAEtDzB,QAAS,KACP9D,IACAT,EAAQ,IACRJ,GAAc,EAAM,KAKxBE,GACA6B,EAAAA,IAAC+C,GACCnB,WAAYnD,EAAOS,KAAKU,OACxB0D,QAAS,iCAETlD,SAAAJ,EAAAA,IAAC2D,EAAMA,OAAA,CACL1D,UAAW4C,EAAO0B,eAClBV,QAAQ,OACRG,MAAM,UACNpC,UAAWnD,EAAOS,KAAKU,OACvBqE,QAASjE,EAAAA,IAACkE,EAAS,CAACC,IAAKM,EAAQhE,MAAM,WAAW4D,OAAO,aACzDzB,QAAS,KACPvE,EAAQ,IACRQ,GAAY,SAKf,QApFF,4BAyFXmB,EAAAA,0BACI7B,GACA6B,EAAAA,IAA2B,KAAA,CAAA,SAAA,SAAUC,UAAW,MAC9CG,SAAAJ,MAAA,KAAA,CAAImB,QAAS,EACXf,SAAAJ,EAAAW,IAACgD,EAAMA,OAAA,CACLE,QAAQ,OACRG,MAAM,UACNpB,QAAS,KACP3E,GAAeyG,IAAUA,GAAK,EAIzBtE,SAAA,uBAVJ,qBAoBxB"}
@@ -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";import p from"../../constants/regex.js";const x=({id:x,headCells:u,data:v,isFormOpen:j,setIsFormOpen:D,saveNewRow:g,readOnly:N})=>{var b,C,T,w,f,I,k,B,_,y;const[A,L]=i(""),[E,R]=i(""),[S,O]=i(""),[W,F]=i(null),[V,q]=i(null),{values:P,errors:U,setFieldValue:z,isValid:H,submitForm:M,resetForm:X}=c({validateOnMount:!0,initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().trim().required("Tag name is required"),description:h().optional(),externalDocs:m().shape({url:h().trim().matches(p.urlRegex,"Invalid URL").when("description",((e,i)=>(null==e?void 0:e.at(0))?i.required("URL is required when description is provided"):i.optional())),description:h().trim().optional()}).optional()}),onSubmit:e=>{g(e),L(""),X(),D(!1)},validateOnChange:!0});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==u?void 0:u.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==v?void 0:v.map(((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==u?void 0:u.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",maxLength:25,onChange:e=>{!p.basic.test(e)&&z("name",e)},value:P.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=>F(e),onHidden:()=>{L(P.description)},content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(s.TextArea,{value:A||P.description,disabled:N,maxLength:25,placeholder:"Describe Tag...",onChange:e=>{(""===e||p.ASCII.test(e))&&L(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{z("description",null==A?void 0:A.trim()),null==W||W.hide()},disabled:!(null===(b=A||P.description)||void 0===b?void 0:b.trim()),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=>q(e),onHidden:()=>{R(P.externalDocs.description),O(P.externalDocs.url)},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:E||P.externalDocs.description,disabled:N,maxLength:25,onChange:e=>{(""===e||p.ASCII.test(e))&&R(e)}}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(s.TextArea,{placeholder:"External Docs Link...",value:S||P.externalDocs.url,disabled:N,maxLength:200,onChange:e=>{(""===e||p.ASCII.test(e))&&O(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{z("externalDocs",{description:E,url:S}),null==V||V.hide()},disabled:!(null===(C=E||P.externalDocs.description)||void 0===C?void 0:C.trim())||!(null===(T=S||P.externalDocs.url)||void 0===T?void 0:T.trim())||!p.urlRegex.test(S||P.externalDocs.url),children:"Apply"})]}),children:N?e.jsxs("a",{className:t.editDescBtn,variant:"link",color:"action",href:null===(w=P.externalDocs)||void 0===w?void 0:w.url,target:"_blank",children:[(null===(f=null==P?void 0:P.externalDocs)||void 0===f?void 0:f.description)?null===(k=null===(I=null==P?void 0:P.externalDocs)||void 0===I?void 0:I.description)||void 0===k?void 0:k.substring(0,12):"-",(null===(B=null==P?void 0:P.externalDocs)||void 0===B?void 0:B.description)&&(null===(y=null===(_=null==P?void 0:P.externalDocs)||void 0===_?void 0:_.description)||void 0===y?void 0:y.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:()=>{X(),L(""),D(!1)}}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!H,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{L(""),M()}})]})})},"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:()=>{D((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{x 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 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 r from"../../assets/icons/EditIcon.svg.js";import o 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";import p from"../../constants/regex.js";const x=({id:x,headCells:u,data:v,isFormOpen:j,setIsFormOpen:D,saveNewRow:g,readOnly:N})=>{var b,C,T,w,f,I,k,B,_;const[y,A]=i(""),[L,E]=i(""),[R,S]=i(""),[O,W]=i(null),[F,V]=i(null),{values:q,errors:P,setFieldValue:U,isValid:z,submitForm:H,resetForm:M}=c({validateOnMount:!0,initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().trim().required("Tag name is required"),description:h().optional(),externalDocs:m().shape({url:h().trim().matches(p.urlRegex,"Invalid URL").when("description",((e,i)=>(null==e?void 0:e.at(0))?i.required("URL is required when description is provided"):i.optional())),description:h().trim().optional()}).optional()}),onSubmit:e=>{g(e),A(""),M(),D(!1)},validateOnChange:!0});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==u?void 0:u.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==v?void 0:v.map(((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==u?void 0:u.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",maxLength:25,onChange:e=>{!p.basic.test(e)&&U("name",e)},value:q.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=>W(e),onShow:()=>{A(q.description||"")},onHidden:()=>{A(q.description||"")},content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(s.TextArea,{value:y||q.description,disabled:N,maxLength:25,placeholder:"Describe Tag...",onChange:e=>{(""===e||p.ASCII.test(e))&&A(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{U("description",null==y?void 0:y.trim()),null==O||O.hide()},disabled:!(null===(b=y||q.description)||void 0===b?void 0:b.trim()),children:"Apply"})]}),children:e.jsxs(s.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:r,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=>V(e),onShow:()=>{E(q.externalDocs.description||""),S(q.externalDocs.url||"")},onHidden:()=>{E(q.externalDocs.description||""),S(q.externalDocs.url||"")},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:L||q.externalDocs.description,disabled:N,maxLength:25,onChange:e=>{(""===e||p.ASCII.test(e))&&E(e)}}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(s.TextArea,{placeholder:"External Docs Link...",restrictedCharsRegex:p.urlRegex,value:R||q.externalDocs.url,disabled:N,maxLength:200,onChange:e=>{(""===e||p.ASCII.test(e))&&S(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{U("externalDocs",{description:L,url:R}),null==F||F.hide()},disabled:!(null===(C=R||q.externalDocs.url)||void 0===C?void 0:C.trim())||!p.urlRegex.test(R||q.externalDocs.url),children:"Apply"})]}),children:N?e.jsxs("a",{className:t.editDescBtn,variant:"link",color:"action",href:null===(T=q.externalDocs)||void 0===T?void 0:T.url,target:"_blank",children:[(null===(w=null==q?void 0:q.externalDocs)||void 0===w?void 0:w.description)?null===(I=null===(f=null==q?void 0:q.externalDocs)||void 0===f?void 0:f.description)||void 0===I?void 0:I.substring(0,12):"-",(null===(k=null==q?void 0:q.externalDocs)||void 0===k?void 0:k.description)&&(null===(_=null===(B=null==q?void 0:q.externalDocs)||void 0===B?void 0:B.description)||void 0===_?void 0:_.length)>12?"...":""]}):e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:r,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:()=>{M(),A(""),D(!1)}}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!z,endIcon:e.jsx(n,{src:o,width:"0.125rem",height:"0.125rem"}),onClick:()=>{A(""),H()}})]})})},"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:()=>{D((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{x 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 { useEffect, 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\nimport regex from '../../constants/regex'\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 validateOnMount: true,\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().trim().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup\r\n .object()\r\n .shape({\r\n url: yup\r\n .string()\r\n .trim()\r\n .matches(regex.urlRegex, 'Invalid URL')\r\n .when('description', (description, schema) => {\r\n return description?.at(0)\r\n ? schema.required('URL is required when description is provided')\r\n : schema.optional()\r\n }),\r\n description: yup.string().trim().optional(),\r\n })\r\n .optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setText('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n },\r\n validateOnChange: true,\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 maxLength={25}\r\n onChange={(value) => {\r\n !regex.basic.test(value) && 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 onHidden={() => {\r\n setText(values.description)\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 value={text || values.description}\r\n disabled={readOnly}\r\n maxLength={25}\r\n placeholder=\"Describe Tag...\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setText(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('description', text?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={!(text || values.description)?.trim()}\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 onHidden={() => {\r\n setExternalDesc(values.externalDocs.description)\r\n setExternalUrl(values.externalDocs.url)\r\n }}\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 maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\r\n }}\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 maxLength={200}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(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(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n\r\n externalTooltipRefs?.hide()\r\n }}\r\n disabled={\r\n !(externalDesc || values.externalDocs.description)?.trim() ||\r\n !(externalUrl || values.externalDocs.url)?.trim() ||\r\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <a\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n href={values.externalDocs?.url}\r\n target=\"_blank\"\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 </a>\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","validateOnMount","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","trim","required","optional","yup\n .object","yup\n .string","matches","regex","urlRegex","when","schema","at","onSubmit","validateOnChange","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","maxLength","onChange","value","basic","test","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","onHidden","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","ASCII","Button","editDescTooltipContent_btn","variant","onClick","hide","_a","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","_b","_c","href","_d","target","_e","_g","_f","substring","_h","_k","_j","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 { useEffect, 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\nimport regex from '../../constants/regex'\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 validateOnMount: true,\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().trim().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup\r\n .object()\r\n .shape({\r\n url: yup\r\n .string()\r\n .trim()\r\n .matches(regex.urlRegex, 'Invalid URL')\r\n .when('description', (description, schema) => {\r\n return description?.at(0)\r\n ? schema.required('URL is required when description is provided')\r\n : schema.optional()\r\n }),\r\n description: yup.string().trim().optional(),\r\n })\r\n .optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setText('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n },\r\n validateOnChange: true,\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 maxLength={25}\r\n onChange={(value) => {\r\n !regex.basic.test(value) && 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 onShow={() => {\r\n setText(values.description || '') // Reset to current value when shown\r\n }}\r\n onHidden={() => {\r\n setText(values.description || '') // Reset on close\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 value={text || values.description}\r\n disabled={readOnly}\r\n maxLength={25}\r\n placeholder=\"Describe Tag...\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setText(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('description', text?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={!(text || values.description)?.trim()}\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 onShow={() => {\r\n setExternalDesc(values.externalDocs.description || '')\r\n setExternalUrl(values.externalDocs.url || '')\r\n }}\r\n onHidden={() => {\r\n setExternalDesc(values.externalDocs.description || '')\r\n setExternalUrl(values.externalDocs.url || '')\r\n }}\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 maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\r\n }}\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 restrictedCharsRegex={regex.urlRegex}\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n maxLength={200}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(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(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n\r\n externalTooltipRefs?.hide()\r\n }}\r\n disabled={\r\n !(externalUrl || values.externalDocs.url)?.trim() ||\r\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <a\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n href={values.externalDocs?.url}\r\n target=\"_blank\"\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 </a>\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","validateOnMount","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","trim","required","optional","yup\n .object","yup\n .string","matches","regex","urlRegex","when","schema","at","onSubmit","validateOnChange","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","maxLength","onChange","value","basic","test","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","onShow","onHidden","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","ASCII","Button","editDescTooltipContent_btn","variant","onClick","hide","_a","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","restrictedCharsRegex","_b","href","_c","target","_d","_f","_e","substring","_g","_j","_h","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const t={basic:/[^a-zA-Z0-9-_ ]/,restrictNone:/^$/,ASCII:/^[\x00-\x7F]+$/,urlRegex:/^(https?:\/\/)?(www\.)?([a-zA-Z0-9-]+(\.[a-zA-Z]{2,})+)(\/[^\s]*)?$/};export{t as default};
1
+ const t={basic:/[^a-zA-Z0-9-_ ]/,restrictNone:/^$/,ASCII:/^[\x00-\x7F]+$/,urlRegex:/^(https?:\/\/|www\.)[a-zA-Z0-9-]+(\.[a-zA-Z]{2,})+(\/[^\s]*)?$/};export{t as default};
2
2
  //# sourceMappingURL=regex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regex.js","sources":["../../../src/constants/regex.ts"],"sourcesContent":["const regex = {\r\n basic: /[^a-zA-Z0-9-_ ]/, // not (alphanumeric + underscore + dash + space)\r\n restrictNone: /^$/, // restrict nothing\r\n ASCII: /^[\\x00-\\x7F]+$/,\r\n urlRegex: /^(https?:\\/\\/)?(www\\.)?([a-zA-Z0-9-]+(\\.[a-zA-Z]{2,})+)(\\/[^\\s]*)?$/,\r\n}\r\nexport default regex\r\n"],"names":["regex","basic","restrictNone","ASCII","urlRegex"],"mappings":"AAAA,MAAMA,EAAQ,CACZC,MAAO,kBACPC,aAAc,KACdC,MAAO,iBACPC,SAAU"}
1
+ {"version":3,"file":"regex.js","sources":["../../../src/constants/regex.ts"],"sourcesContent":["const regex = {\r\n basic: /[^a-zA-Z0-9-_ ]/, // not (alphanumeric + underscore + dash + space)\r\n restrictNone: /^$/, // restrict nothing\r\n ASCII: /^[\\x00-\\x7F]+$/,\r\n urlRegex: /^(https?:\\/\\/|www\\.)[a-zA-Z0-9-]+(\\.[a-zA-Z]{2,})+(\\/[^\\s]*)?$/,\r\n}\r\nexport default regex\r\n"],"names":["regex","basic","restrictNone","ASCII","urlRegex"],"mappings":"AAAA,MAAMA,EAAQ,CACZC,MAAO,kBACPC,aAAc,KACdC,MAAO,iBACPC,SAAU"}