@digi-frontend/dgate-api-documentation 1.4.7 → 1.4.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index4.js +1 -1
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/_virtual/index7.js +1 -1
- package/dist/node_modules/toposort/index.js +1 -1
- package/dist/node_modules/yup/index.esm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
- package/dist/src/components/InfoForm/InfoForm.module.scss.js +1 -1
- package/dist/src/components/JsonInput/JsonInput.js +1 -1
- package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
- package/dist/src/components/JsonInput/style.module.scss.js +1 -1
- package/dist/src/components/LivePreview/LivePreview.js +1 -1
- package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
- package/dist/src/components/LivePreview/LivePreview.module.scss.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.module.scss.js +1 -1
- package/dist/src/components/SVGLoader/SVGLoader.js +1 -1
- package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
- package/dist/src/components/SectionHead/SectionHead.js +1 -1
- package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -1
- package/dist/src/components/Tooltip/Tooltip.js +1 -1
- package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/src/components/dialog/index.js +1 -1
- package/dist/src/components/dialog/index.js.map +1 -1
- package/dist/src/components/table/table.js +1 -1
- package/dist/src/components/table/table.js.map +1 -1
- package/dist/src/components/table/tags-table.js +1 -1
- package/dist/src/components/table/tags-table.js.map +1 -1
- package/dist/src/context/SectionToggleContext.js +1 -1
- package/dist/src/context/SectionToggleContext.js.map +1 -1
- package/dist/src/layout/docsComponents/Codebox/Codebox.js +1 -1
- package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -1
- package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +1 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
- package/dist/src/layout/docsComponents/index.js +1 -1
- package/dist/src/layout/docsComponents/index.js.map +1 -1
- package/dist/src/layout/docsLayout.js +1 -1
- package/dist/src/layout/docsLayout.js.map +1 -1
- package/dist/src/layout/layout.js +1 -1
- package/dist/src/layout/layout.js.map +1 -1
- package/dist/types/components/Chips/Chips.d.ts +2 -1
- package/dist/types/components/InfoForm/InfoForm.d.ts +1 -1
- package/dist/types/components/JsonInput/JsonInput.d.ts +2 -1
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +1 -1
- package/dist/types/components/dialog/index.d.ts +2 -1
- package/dist/types/components/table/table.d.ts +2 -1
- package/dist/types/components/table/tags-table.d.ts +1 -1
- package/dist/types/context/SectionToggleContext.d.ts +2 -2
- package/dist/types/index.d.ts +2 -27
- package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +1 -1
- package/package.json +6 -2
- package/rollup.config.js +39 -4
- package/tsconfig.json +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"react";import r from"../SVGLoader/SVGLoader.js";const t=({text:t,closeFunction:a,children:l,className:o=""})=>{var c,i;return e.createElement("div",{className:`containerTitleDrawer ${o}`},e.createElement("span",{"data-id":`${null===(i=null===(c=String(t))||void 0===c?void 0:c.toUpperCase())||void 0===i?void 0:i.replaceAll(" ","_")}_ID`},t),l,a&&e.createElement(r,{className:"closeIcon",onClick:a,width:"1.5rem",height:"1.5rem"}))};export{t as default};
|
|
2
2
|
//# sourceMappingURL=SectionHead.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionHead.js","sources":["../../../../src/components/SectionHead/SectionHead.tsx"],"sourcesContent":["import React, { type JSX } from 'react'\nimport './SectionHead.scss'\nimport SVGLoader from '../SVGLoader/SVGLoader'\n\ntype SectionHeadProps = {\n text: string | JSX.Element\n closeFunction?: () => void\n children?: JSX.Element\n className?: string\n}\n\nconst SectionHead: React.FC<SectionHeadProps> = ({ text, closeFunction, children, className = '' }: SectionHeadProps): any => {\n return (\n <div className={`containerTitleDrawer ${className}`}>\n <span data-id={`${String(text)?.toUpperCase()?.replaceAll(' ', '_')}_ID`}>{text}</span>\n {children}\n\n {closeFunction && <SVGLoader className='closeIcon' onClick={closeFunction} width='1.5rem' height='1.5rem' />}\n </div>\n )\n}\nexport default SectionHead\n"],"names":["SectionHead","text","closeFunction","children","className","
|
|
1
|
+
{"version":3,"file":"SectionHead.js","sources":["../../../../src/components/SectionHead/SectionHead.tsx"],"sourcesContent":["import React, { type JSX } from 'react'\nimport './SectionHead.scss'\nimport SVGLoader from '../SVGLoader/SVGLoader'\n\ntype SectionHeadProps = {\n text: string | JSX.Element\n closeFunction?: () => void\n children?: JSX.Element\n className?: string\n}\n\nconst SectionHead: React.FC<SectionHeadProps> = ({ text, closeFunction, children, className = '' }: SectionHeadProps): any => {\n return (\n <div className={`containerTitleDrawer ${className}`}>\n <span data-id={`${String(text)?.toUpperCase()?.replaceAll(' ', '_')}_ID`}>{text}</span>\n {children}\n\n {closeFunction && <SVGLoader className='closeIcon' onClick={closeFunction} width='1.5rem' height='1.5rem' />}\n </div>\n )\n}\nexport default SectionHead\n"],"names":["SectionHead","text","closeFunction","children","className","React","createElement","_a","String","toUpperCase","replaceAll","SVGLoader","onClick","width","height"],"mappings":"8DAWA,MAAMA,EAA0C,EAAGC,OAAMC,gBAAeC,WAAUC,YAAY,eAC5F,OACEC,EAAKC,cAAA,MAAA,CAAAF,UAAW,wBAAwBA,KACtCC,EAAeC,cAAA,OAAA,CAAA,UAAA,qBAAGC,EAAAC,OAAOP,yBAAOQ,oCAAeC,WAAW,IAAK,WAAYT,GAC1EE,EAEAD,GAAiBG,gBAACM,EAAS,CAACP,UAAU,YAAYQ,QAASV,EAAeW,MAAM,SAASC,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"react";const a=({label:a,value:t,color:l,className:r="",dataId:o})=>{var s;const c="string"==typeof a?(null===(s=null==a?void 0:a.toUpperCase())||void 0===s?void 0:s.replaceAll(" ","_"))+"_LABEL_ID":o;return e.createElement("div",{className:`drawerItemContainer ${r}`},e.createElement("span",{className:"title","data-id":c},a),e.createElement("span",{className:"text "+(l?`color-${l}`:"")},t))};export{a as default};
|
|
2
2
|
//# sourceMappingURL=SimpleLabelValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleLabelValue.js","sources":["../../../../src/components/SimpleLabelValue/SimpleLabelValue.tsx"],"sourcesContent":["import React from 'react'\nimport './style.scss'\n\ntype SimpleLabelValueProps = {\n label?: string | JSX.Element\n value?: string | number | JSX.Element | JSX.Element[]\n color?: string\n className?: string\n dataId?: string\n}\n\nconst SimpleLabelValue: React.FC<SimpleLabelValueProps> = ({\n label,\n value,\n color,\n className = '',\n dataId,\n}: SimpleLabelValueProps) => {\n const dataIdLabel =\n typeof label === 'string' ? label?.toUpperCase()?.replaceAll(' ', '_') + '_LABEL_ID' : dataId\n return (\n <div className={`drawerItemContainer ${className}`}>\n <span className=\"title\" data-id={dataIdLabel}>\n {label}\n </span>\n <span className={`text ${color ? `color-${color}` : ''}`}>{value}</span>\n </div>\n )\n}\n\nexport default SimpleLabelValue\n"],"names":["SimpleLabelValue","label","value","color","className","dataId","dataIdLabel","_a","toUpperCase","replaceAll","
|
|
1
|
+
{"version":3,"file":"SimpleLabelValue.js","sources":["../../../../src/components/SimpleLabelValue/SimpleLabelValue.tsx"],"sourcesContent":["import React from 'react'\nimport './style.scss'\n\ntype SimpleLabelValueProps = {\n label?: string | JSX.Element\n value?: string | number | JSX.Element | JSX.Element[]\n color?: string\n className?: string\n dataId?: string\n}\n\nconst SimpleLabelValue: React.FC<SimpleLabelValueProps> = ({\n label,\n value,\n color,\n className = '',\n dataId,\n}: SimpleLabelValueProps) => {\n const dataIdLabel =\n typeof label === 'string' ? label?.toUpperCase()?.replaceAll(' ', '_') + '_LABEL_ID' : dataId\n return (\n <div className={`drawerItemContainer ${className}`}>\n <span className=\"title\" data-id={dataIdLabel}>\n {label}\n </span>\n <span className={`text ${color ? `color-${color}` : ''}`}>{value}</span>\n </div>\n )\n}\n\nexport default SimpleLabelValue\n"],"names":["SimpleLabelValue","label","value","color","className","dataId","dataIdLabel","_a","toUpperCase","replaceAll","React","createElement"],"mappings":"qBAWA,MAAMA,EAAoD,EACxDC,QACAC,QACAC,QACAC,YAAY,GACZC,mBAEA,MAAMC,EACa,iBAAVL,GAAyC,QAApBM,EAAAN,aAAA,EAAAA,EAAOO,qBAAa,IAAAD,OAAA,EAAAA,EAAEE,WAAW,IAAK,MAAO,YAAcJ,EACzF,OACEK,EAAKC,cAAA,MAAA,CAAAP,UAAW,uBAAuBA,KACrCM,EAAAC,cAAA,OAAA,CAAMP,UAAU,kBAAiBE,GAC9BL,GAEHS,EAAMC,cAAA,OAAA,CAAAP,UAAW,SAAQD,EAAQ,SAASA,IAAU,KAAOD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as e}from"../../../node_modules/tslib/tslib.es6.js";import
|
|
1
|
+
import{__rest as e}from"../../../node_modules/tslib/tslib.es6.js";import t,{useState as o,useEffect as a}from"react";import s from"../../../node_modules/@tippyjs/react/dist/tippy-react.esm.js";const n=n=>{var{children:i,content:r,success:c,onMouseEnter:l,onMouseLeave:d,visible:p,delay:m=[200,400],type:u="info",maxWidth:v=390,className:w,arrowWithBorder:b,disabled:y}=n,E=e(n,["children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled"]);const[M,f]=o(16);return a(()=>{const e=e=>{f(t=>t!==e?e:t)};window.applicationUIScaling&&"function"==typeof window.applicationUIScaling.addEventHandler&&window.applicationUIScaling.addEventHandler(e)},[]),t.createElement(s,Object.assign({visible:p,allowHTML:"string"!=typeof r,interactive:!0,maxWidth:v/16*M,delay:m,content:r,placement:"bottom-start",className:`${c?"success":""} ${u} ${w||""} ${b?"arrow-with-border":""}`,disabled:y},E),t.createElement("div",{className:"tooltip-custom-wrapper",onMouseEnter:l,onMouseLeave:d},t.createElement("div",{className:"tooltip-custom-wrapper",onMouseEnter:l,onMouseLeave:d},i)))};export{n as default};
|
|
2
2
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, ReactNode } from 'react'\nimport Tippy, { TippyProps } from '@tippyjs/react'\nimport 'tippy.js/dist/tippy.css'\nimport './Tooltip.scss'\n\ninterface TooltipProps extends TippyProps {\n content: ReactNode\n success?: boolean\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\n visible?: boolean\n delay?: [number, number]\n type?: 'info' | 'function'\n maxWidth?: number\n className?: string\n arrowWithBorder?: boolean\n disabled?: boolean\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n success,\n onMouseEnter,\n onMouseLeave,\n visible,\n delay = [200, 400],\n type = 'info',\n maxWidth = 390,\n className,\n arrowWithBorder,\n disabled,\n ...props\n}) => {\n const [rootFontSize, setRootFontSize] = useState(16)\n\n useEffect(() => {\n const handleFontSizeChange = (fontSize: number) => {\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\n }\n\n if (\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling &&\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n typeof window.applicationUIScaling.addEventHandler === 'function'\n ) {\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\n }\n }, [])\n\n return (\n <Tippy\n visible={visible}\n allowHTML={typeof content !== 'string'}\n interactive\n maxWidth={(maxWidth / 16) * rootFontSize}\n delay={delay}\n content={content}\n placement=\"bottom-start\"\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\n arrowWithBorder ? 'arrow-with-border' : ''\n }`}\n disabled={disabled}\n {...props}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </div>\n </div>\n </Tippy>\n )\n}\n\nexport default Tooltip\n"],"names":["Tooltip","_a","children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled","props","__rest","rootFontSize","setRootFontSize","useState","useEffect","handleFontSizeChange","fontSize","prev","window","applicationUIScaling","addEventHandler","
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, ReactNode } from 'react'\nimport Tippy, { TippyProps } from '@tippyjs/react'\nimport 'tippy.js/dist/tippy.css'\nimport './Tooltip.scss'\n\ninterface TooltipProps extends TippyProps {\n content: ReactNode\n success?: boolean\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\n visible?: boolean\n delay?: [number, number]\n type?: 'info' | 'function'\n maxWidth?: number\n className?: string\n arrowWithBorder?: boolean\n disabled?: boolean\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n success,\n onMouseEnter,\n onMouseLeave,\n visible,\n delay = [200, 400],\n type = 'info',\n maxWidth = 390,\n className,\n arrowWithBorder,\n disabled,\n ...props\n}) => {\n const [rootFontSize, setRootFontSize] = useState(16)\n\n useEffect(() => {\n const handleFontSizeChange = (fontSize: number) => {\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\n }\n\n if (\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling &&\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n typeof window.applicationUIScaling.addEventHandler === 'function'\n ) {\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\n }\n }, [])\n\n return (\n <Tippy\n visible={visible}\n allowHTML={typeof content !== 'string'}\n interactive\n maxWidth={(maxWidth / 16) * rootFontSize}\n delay={delay}\n content={content}\n placement=\"bottom-start\"\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\n arrowWithBorder ? 'arrow-with-border' : ''\n }`}\n disabled={disabled}\n {...props}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </div>\n </div>\n </Tippy>\n )\n}\n\nexport default Tooltip\n"],"names":["Tooltip","_a","children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled","props","__rest","rootFontSize","setRootFontSize","useState","useEffect","handleFontSizeChange","fontSize","prev","window","applicationUIScaling","addEventHandler","React","createElement","Tippy","Object","assign","allowHTML","interactive","placement"],"mappings":"iMAmBA,MAAMA,EAAmCC,IAAA,IAAAC,SACvCA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,aACPA,EAAYC,aACZA,EAAYC,QACZA,EAAOC,MACPA,EAAQ,CAAC,IAAK,KAAIC,KAClBA,EAAO,OAAMC,SACbA,EAAW,IAAGC,UACdA,EAASC,gBACTA,EAAeC,SACfA,GAAQZ,EACLa,EAAKC,EAAAd,EAb+B,6IAevC,MAAOe,EAAcC,GAAmBC,EAAS,IAkBjD,OAhBAC,EAAU,KACR,MAAMC,EAAwBC,IAC5BJ,EAAiBK,GAAUA,IAASD,EAAWA,EAAWC,IAK1DC,OAAOC,sBAEgD,mBAAhDD,OAAOC,qBAAqBC,iBAGnCF,OAAOC,qBAAqBC,gBAAgBL,IAE7C,IAGDM,EAAAC,cAACC,EAAKC,OAAAC,OAAA,CACJvB,QAASA,EACTwB,UAA8B,iBAAZ5B,EAClB6B,aAAW,EACXtB,SAAWA,EAAW,GAAMM,EAC5BR,MAAOA,EACPL,QAASA,EACT8B,UAAU,eACVtB,UAAW,GAAGP,EAAU,UAAY,MAAMK,KAAQE,GAAa,MAC7DC,EAAkB,oBAAsB,KAE1CC,SAAUA,GACNC,GAEJY,EACEC,cAAA,MAAA,CAAAhB,UAAU,yBACVN,aAAcA,EACdC,aAAcA,GAEdoB,EAAAC,cAAA,MAAA,CACEhB,UAAU,yBACVN,aAAcA,EACdC,aAAcA,GAEbJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"react";import{d as o}from"../../../_virtual/index.js";import t from"../SVGLoader/SVGLoader.js";import n from"../../assets/icons/close-circle.svg.js";import a from"../../assets/icons/infoIcon.svg.js";const c=({status:c="info",content:r,onSubmit:i,onCancel:l,onClose:s,open:m,size:d="xs",icon:g=e.createElement(e.Fragment,null,e.createElement(t,{src:a,width:"4.0625rem",height:"4.0625rem"})),noActions:f=!1,closeIcon:u})=>{const v=()=>{s(),l&&l.onClick&&l.onClick()},E=e.createElement("div",{className:"common-dialog"},g&&e.createElement("div",{className:"confirmation-dialog-header"},e.createElement("div",{className:`icon ${c}`},g)),e.createElement("div",{className:"close-icon"},null!=u?u:e.createElement(t,{src:n,width:"1.5rem",height:"1.5rem",onClick:v})),r,f?null:e.createElement("div",{className:"confirmation-dialog-footer",style:{marginBottom:l||i?"1.5rem":"1rem"}},l&&e.createElement(o.Button,Object.assign({},l,{onClick:v,variant:l.variant||"outlined",color:l.color||"normal"}),l.text),i&&e.createElement(o.Button,Object.assign({},i,{variant:i.variant||"contained",color:i.color||"secondary"}),i.text)));return e.createElement(o.Dialog,{open:m,onClose:v,content:E,fullWidth:!1,size:d,id:"common-dialog"})};export{c as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/dialog/index.tsx"],"sourcesContent":["import React from 'react'\n// @ts-ignore\nimport { Dialog, Button } from 'digitinary-ui'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport './style.scss'\nimport { CommonDialogProps } from './dialog'\nimport { Closecircle, InfoIcon } from './../../assets/icons'\n\nconst CommonDialog = ({\n status = 'info',\n content,\n onSubmit,\n onCancel,\n onClose,\n open,\n size = 'xs',\n icon = (\n <>\n <SVGLoader src={InfoIcon} width=\"4.0625rem\" height=\"4.0625rem\" />\n </>\n ),\n noActions = false,\n closeIcon,\n}: CommonDialogProps) => {\n const handleClose = () => {\n onClose() // Always close the dialog first\n\n if (onCancel && onCancel.onClick) {\n onCancel.onClick() // If onCancel.onClick is provided, invoke it after closing the dialog\n }\n }\n\n const body = (\n <div className=\"common-dialog\">\n {icon && (\n <div className=\"confirmation-dialog-header\">\n <div className={`icon ${status}`}>{icon}</div>\n </div>\n )}\n <div className=\"close-icon\">\n {closeIcon ?? (\n <SVGLoader src={Closecircle} width={'1.5rem'} height={'1.5rem'} onClick={handleClose} />\n )}\n </div>\n\n {content}\n {!!noActions ? null : (\n <div\n className=\"confirmation-dialog-footer\"\n style={{ marginBottom: onCancel || onSubmit ? '1.5rem' : '1rem' }}\n >\n {onCancel && (\n <Button\n {...onCancel}\n onClick={handleClose}\n variant={onCancel.variant || 'outlined'}\n color={onCancel.color || 'normal'}\n >\n {onCancel.text}\n </Button>\n )}\n {onSubmit && (\n <Button\n {...onSubmit}\n variant={onSubmit.variant || 'contained'}\n color={onSubmit.color || 'secondary'}\n >\n {onSubmit.text}\n </Button>\n )}\n </div>\n )}\n </div>\n )\n\n return (\n <Dialog\n open={open}\n onClose={handleClose}\n content={body}\n fullWidth={false}\n size={size}\n id=\"common-dialog\"\n />\n )\n}\n\nexport default CommonDialog\n"],"names":["CommonDialog","status","content","onSubmit","onCancel","onClose","open","size","icon","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/dialog/index.tsx"],"sourcesContent":["import React from 'react'\n// @ts-ignore\nimport { Dialog, Button } from 'digitinary-ui'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport './style.scss'\nimport { CommonDialogProps } from './dialog'\nimport { Closecircle, InfoIcon } from './../../assets/icons'\n\nconst CommonDialog = ({\n status = 'info',\n content,\n onSubmit,\n onCancel,\n onClose,\n open,\n size = 'xs',\n icon = (\n <>\n <SVGLoader src={InfoIcon} width=\"4.0625rem\" height=\"4.0625rem\" />\n </>\n ),\n noActions = false,\n closeIcon,\n}: CommonDialogProps) => {\n const handleClose = () => {\n onClose() // Always close the dialog first\n\n if (onCancel && onCancel.onClick) {\n onCancel.onClick() // If onCancel.onClick is provided, invoke it after closing the dialog\n }\n }\n\n const body = (\n <div className=\"common-dialog\">\n {icon && (\n <div className=\"confirmation-dialog-header\">\n <div className={`icon ${status}`}>{icon}</div>\n </div>\n )}\n <div className=\"close-icon\">\n {closeIcon ?? (\n <SVGLoader src={Closecircle} width={'1.5rem'} height={'1.5rem'} onClick={handleClose} />\n )}\n </div>\n\n {content}\n {!!noActions ? null : (\n <div\n className=\"confirmation-dialog-footer\"\n style={{ marginBottom: onCancel || onSubmit ? '1.5rem' : '1rem' }}\n >\n {onCancel && (\n <Button\n {...onCancel}\n onClick={handleClose}\n variant={onCancel.variant || 'outlined'}\n color={onCancel.color || 'normal'}\n >\n {onCancel.text}\n </Button>\n )}\n {onSubmit && (\n <Button\n {...onSubmit}\n variant={onSubmit.variant || 'contained'}\n color={onSubmit.color || 'secondary'}\n >\n {onSubmit.text}\n </Button>\n )}\n </div>\n )}\n </div>\n )\n\n return (\n <Dialog\n open={open}\n onClose={handleClose}\n content={body}\n fullWidth={false}\n size={size}\n id=\"common-dialog\"\n />\n )\n}\n\nexport default CommonDialog\n"],"names":["CommonDialog","status","content","onSubmit","onCancel","onClose","open","size","icon","React","createElement","Fragment","SVGLoader","src","InfoIcon","width","height","noActions","closeIcon","handleClose","onClick","body","className","Closecircle","style","marginBottom","Button","Object","assign","variant","color","text","Dialog","fullWidth","id"],"mappings":"qNAQM,MAAAA,EAAe,EACnBC,SAAS,OACTC,UACAC,WACAC,WACAC,UACAC,OACAC,OAAO,KACPC,OACEC,EAAAC,cAAAD,EAAAE,SAAA,KACEF,EAACC,cAAAE,EAAU,CAAAC,IAAKC,EAAUC,MAAM,YAAYC,OAAO,eAGvDC,aAAY,EACZC,gBAEA,MAAMC,EAAc,KAClBd,IAEID,GAAYA,EAASgB,SACvBhB,EAASgB,WAIPC,EACJZ,EAAKC,cAAA,MAAA,CAAAY,UAAU,iBACZd,GACCC,EAAKC,cAAA,MAAA,CAAAY,UAAU,8BACbb,EAAKC,cAAA,MAAA,CAAAY,UAAW,QAAQrB,KAAWO,IAGvCC,EAAAC,cAAA,MAAA,CAAKY,UAAU,cACZJ,QAAAA,EACCT,EAAAC,cAACE,EAAU,CAAAC,IAAKU,EAAaR,MAAO,SAAUC,OAAQ,SAAUI,QAASD,KAI5EjB,EACEe,EAAY,KACbR,EACEC,cAAA,MAAA,CAAAY,UAAU,6BACVE,MAAO,CAAEC,aAAcrB,GAAYD,EAAW,SAAW,SAExDC,GACCK,EAACC,cAAAgB,SACKC,OAAAC,OAAA,GAAAxB,EACJ,CAAAgB,QAASD,EACTU,QAASzB,EAASyB,SAAW,WAC7BC,MAAO1B,EAAS0B,OAAS,WAExB1B,EAAS2B,MAGb5B,GACCM,EAACC,cAAAgB,EAAAA,wBACKvB,EAAQ,CACZ0B,QAAS1B,EAAS0B,SAAW,YAC7BC,MAAO3B,EAAS2B,OAAS,cAExB3B,EAAS4B,QAQtB,OACEtB,EAAAC,cAACsB,EAAMA,OAAA,CACL1B,KAAMA,EACND,QAASc,EACTjB,QAASmB,EACTY,WAAW,EACX1B,KAAMA,EACN2B,GAAG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as l}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../../assets/icons/Plus.svg.js";import r from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:y,data:C,isFormOpen:N,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:f=!0})=>{var D,I,E,S,q,B,k,L,_,A,P,O,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=a(""),[ae,le]=a(null),[ie,te]=a(null),[se,oe]=a([]),{values:de,errors:ne,setFieldValue:re,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:f?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var a,l,i,t;e&&!(null===(l=null===(a=null==e?void 0:e.schema)||void 0===a?void 0:a.items)||void 0===l?void 0:l.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==y?void 0:y.map(a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==C?void 0:C.map((a,l)=>e.jsx("tr",{"data-i":l,className:"row",children:null==y?void 0:y.map(l=>{const i="_"!==a[l.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:l.width,minWidth:l.minWidth},children:a[l.id]});return e.jsx("td",{style:{width:l.width,minWidth:l.minWidth},children:i},l.id)})},l)),0===(null==C?void 0:C.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==y?void 0:y.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),N&&!T?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(l.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||j.ASCII.test(e))&&re("name",e)},value:de.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(l.SelectGroupV2,{disabled:T,value:{label:b(de.in),value:de.in},onChange:e=>{var a;re("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"in"==(null==e?void 0:e.value)&&re("required",!0)},options:[{list:f?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!ne.in&&ne.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs",children:[e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(D=null==de?void 0:de.schema)||void 0===D?void 0:D.type),value:null===(I=null==de?void 0:de.schema)||void 0===I?void 0:I.type},errorMsg:!!ne.schema&&ne.schema,onChange:e=>{var a,l,i;if(re("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||de.schema.items||re("schema.items",{}),"array"!=(null===(i=e.value)||void 0===i?void 0:i.toLowerCase())&&de.schema.items){const e=Object.assign({},de.schema);delete e.items,re("schema",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(E=null==de?void 0:de.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==de?void 0:de.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==de?void 0:de.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(L=null===(k=de.schema)||void 0===k?void 0:k.items)||void 0===L?void 0:L.type},errorMsg:!!(null===(A=null===(_=null==ne?void 0:ne.schema)||void 0===_?void 0:_.items)||void 0===A?void 0:A.type)&&(null===(O=null===(P=null==ne?void 0:ne.schema)||void 0===P?void 0:P.items)||void 0===O?void 0:O.type),onChange:e=>{var a,l,i,t,s;if(re("schema.items.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||(null===(i=de.schema.items)||void 0===i?void 0:i.items)||re("schema.items.items",{}),"array"!=(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())&&(null===(s=de.schema.items)||void 0===s?void 0:s.items)){const e=Object.assign({},de.schema.items);null==e||delete e.items,re("schema.items",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):""]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==de?void 0:de.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==de?void 0:de.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==de?void 0:de.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==de?void 0:de.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==de?void 0:de.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{re(`schema.enum[${i}]`,e)}},i))),se&&(null==se?void 0:se.map((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{let a=[...se];a[i]=e,oe(a)}},i))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{oe(e=>[...e,""])},children:[e.jsx(t,{src:r}),"Add New Enum"]}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;re("schema.enum",[...null===(e=null==de?void 0:de.schema)||void 0===e?void 0:e.enum,...se]),oe([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter(e=>!e).length)||(null===(H=null==de?void 0:de.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==de?void 0:de.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.filter(e=>!e).length),children:"Apply"})]}),children:e.jsx(l.Button,{className:c.editDescBtn,id:"EnumButton",variant:"link",color:"action",disabled:"array"==(null===(Q=null===(K=null==de?void 0:de.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase())||"object"==(null===(Z=null===(Y=null==de?void 0:de.schema)||void 0===Y?void 0:Y.type)||void 0===Z?void 0:Z.toLowerCase()),endIcon:e.jsx(t,{id:"enumIcon",src:n,width:"1.5rem",height:"1.5rem"}),children:"Add"})})})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:de.required?"True":"False"}):e.jsx(l.Switch,{checked:!(!de||!de.in||"path"!=de.in.toLowerCase())||de.required,disabled:de&&de.in&&"path"==de.in.toLowerCase(),onClick:()=>{T||re("required",!de.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>le(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(l.TextArea,{value:J||de.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{re("description",null==J?void 0:J.trim()),null==ae||ae.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(l.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:o,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!de.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!de.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:6,children:e.jsx(l.Button,{variant:"link",color:"primary",onClick:()=>{g(e=>e?void 0:f?"Req":"Res")},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{x as default};
|
|
1
|
+
import e,{useState as a}from"react";import{d as t}from"../../../_virtual/index.js";import l from"../Tooltip/Tooltip.js";import i from"../SVGLoader/SVGLoader.js";import n 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"../../assets/icons/Plus.svg.js";import s from"../../assets/icons/PlusSquare.svg.js";import m from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import E from"../../constants/regex.js";const y=({id:y,headCells:C,data:N,isFormOpen:g,setIsFormOpen:w,saveNewRow:k,readOnly:T,isRequest:f=!0})=>{var D,I,S,q,j,B,L,A,P,_,O,R,F,M,x,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=a(""),[ae,te]=a(null),[le,ie]=a(null),[ne,oe]=a([]),{values:re,errors:de,setFieldValue:se,isValid:me,submitForm:ce,resetForm:ue}=c({validateOnMount:!0,initialValues:{name:"",in:f?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var a,t,l,i;e&&!(null===(t=null===(a=null==e?void 0:e.schema)||void 0===a?void 0:a.items)||void 0===t?void 0:t.type)&&(null===(i=null===(l=null==e?void 0:e.schema)||void 0===l?void 0:l.items)||void 0===i||delete i.type),k(e),w(void 0),ee(""),ue()}});return e.createElement("div",{className:"tableSectionContainer"},e.createElement("div",{className:"tableContainer"},e.createElement("table",{id:y||"",className:"table borderRadiusTop borderRadiusBottom"},e.createElement("thead",{className:"tableHead"},e.createElement("tr",null,null==C?void 0:C.map(a=>e.createElement("th",{key:a.id,className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth}},e.createElement("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`},a.label))))),e.createElement("tbody",{className:"tableBody","data-id":"TABLE_BODY"},null==N?void 0:N.map((a,t)=>e.createElement("tr",{key:t,"data-i":t,className:"row"},null==C?void 0:C.map(t=>{const l="_"!==a[t.id]&&e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth}},a[t.id]);return e.createElement("td",{key:t.id,style:{width:t.width,minWidth:t.minWidth}},l)}))),0===(null==N?void 0:N.length)&&T&&e.createElement("tr",{className:"fallbackTableRow"},e.createElement("td",{className:"fallbackContainer",colSpan:null==C?void 0:C.length},e.createElement("div",{className:"fallbackTextContainer"},e.createElement("span",{className:"fallbackText"}," No Data Available")))),g&&!T?e.createElement("tr",{className:"row"},e.createElement("td",{key:"Parameter name"},e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},e.createElement(t.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||E.ASCII.test(e))&&se("name",e)},value:re.name,disabled:T}))),e.createElement("td",{key:"parameter in"},e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},e.createElement(t.SelectGroupV2,{disabled:T,value:{label:b(re.in),value:re.in},onChange:e=>{var a;se("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"in"==(null==e?void 0:e.value)&&se("required",!0)},options:[{list:f?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!de.in&&de.in,isMultiple:!1,withSearch:!1,clearable:!1})," ")),e.createElement("td",{key:"parameter schema type"},e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs"},e.createElement(t.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(D=null==re?void 0:re.schema)||void 0===D?void 0:D.type),value:null===(I=null==re?void 0:re.schema)||void 0===I?void 0:I.type},errorMsg:!!de.schema&&de.schema,onChange:e=>{var a,t,l;if(se("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())||re.schema.items||se("schema.items",{}),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())&&re.schema.items){const e=Object.assign({},re.schema);delete e.items,se("schema",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(S=null==re?void 0:re.schema)||void 0===S?void 0:S.type)&&"array"===(null===(q=null==re?void 0:re.schema)||void 0===q?void 0:q.type.toLowerCase())?e.createElement(t.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(j=null==re?void 0:re.schema)||void 0===j?void 0:j.items)||void 0===B?void 0:B.type),value:null===(A=null===(L=re.schema)||void 0===L?void 0:L.items)||void 0===A?void 0:A.type},errorMsg:!!(null===(_=null===(P=null==de?void 0:de.schema)||void 0===P?void 0:P.items)||void 0===_?void 0:_.type)&&(null===(R=null===(O=null==de?void 0:de.schema)||void 0===O?void 0:O.items)||void 0===R?void 0:R.type),onChange:e=>{var a,t,l,i,n;if(se("schema.items.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())||(null===(l=re.schema.items)||void 0===l?void 0:l.items)||se("schema.items.items",{}),"array"!=(null===(i=e.value)||void 0===i?void 0:i.toLowerCase())&&(null===(n=re.schema.items)||void 0===n?void 0:n.items)){const e=Object.assign({},re.schema.items);null==e||delete e.items,se("schema.items",e)}},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}):"")),e.createElement("td",{key:"parameter enum"},e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},e.createElement(l,{disabled:"array"==(null===(M=null===(F=null==re?void 0:re.schema)||void 0===F?void 0:F.type)||void 0===M?void 0:M.toLowerCase())||"object"==(null===(V=null===(x=null==re?void 0:re.schema)||void 0===x?void 0:x.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>ie(e),content:e.createElement("div",{className:m.editDescTooltipContent},e.createElement("p",{className:m.editDescTooltipContent_header},"Enum"),!!(null===(W=null==re?void 0:re.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==re?void 0:re.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==re?void 0:re.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map((a,l)=>e.createElement(t.Input,{key:l,className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{se(`schema.enum[${l}]`,e)}}))),ne&&(null==ne?void 0:ne.map((a,l)=>e.createElement(t.Input,{key:l,className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{let a=[...ne];a[l]=e,oe(a)}}))),e.createElement("p",{className:"addEnumButton",onClick:()=>{oe(e=>[...e,""])}},e.createElement(i,{src:s}),"Add New Enum"),!T&&e.createElement(t.Button,{className:m.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;se("schema.enum",[...null===(e=null==re?void 0:re.schema)||void 0===e?void 0:e.enum,...ne]),oe([]),null==le||le.hide()},disabled:ne.length>0&&(null==ne?void 0:ne.filter(e=>!e).length)||(null===(H=null==re?void 0:re.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==re?void 0:re.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.filter(e=>!e).length)},"Apply"))},e.createElement(t.Button,{className:m.editDescBtn,id:"EnumButton",variant:"link",color:"action",disabled:"array"==(null===(Q=null===(K=null==re?void 0:re.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase())||"object"==(null===(Z=null===(Y=null==re?void 0:re.schema)||void 0===Y?void 0:Y.type)||void 0===Z?void 0:Z.toLowerCase()),endIcon:e.createElement(i,{id:"enumIcon",src:d,width:"1.5rem",height:"1.5rem"})},"Add")))),e.createElement("td",{key:"parameter required"},e.createElement("div",{"data-id":"is required",className:"tableData"},T?e.createElement(e.Fragment,null,re.required?"True":"False"):e.createElement(t.Switch,{checked:!(!re||!re.in||"path"!=re.in.toLowerCase())||re.required,disabled:re&&re.in&&"path"==re.in.toLowerCase(),onClick:()=>{T||se("required",!re.required)}}))),e.createElement("td",{key:"parameter schema desc"},e.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},e.createElement("div",{className:m.paramDescContainer},e.createElement(l,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.createElement("div",{className:m.editDescTooltipContent},e.createElement("p",{className:m.editDescTooltipContent_header},"Description"),e.createElement(t.TextArea,{value:J||re.description,onChange:e=>{(""===e||E.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.createElement(t.Button,{className:m.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{se("description",null==J?void 0:J.trim()),null==ae||ae.hide()},disabled:""===(null==J?void 0:J.trim())},"Apply"))},e.createElement(t.Button,{className:m.editDescBtn,variant:"link",color:"action",endIcon:e.createElement(i,{src:o,width:"1.5rem",height:"1.5rem"})},T?"View ":"Add "," Description")),e.createElement("div",{className:m.paramDescContainer_separator}),!T&&e.createElement(t.Button,{className:m.deleteParamBtn,variant:"link",color:"error",endIcon:e.createElement(i,{src:n,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),w(void 0)}}),!T&&e.createElement(l,{disabled:!!re.name.trim(),content:"Parameter name can't be empty "},e.createElement(t.Button,{className:m.deleteParamBtn,variant:"link",color:"success",disabled:!re.name.trim(),endIcon:e.createElement(i,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),ce()}})))," "))):e.createElement(e.Fragment,null,!T&&e.createElement("tr",{key:"addNew","data-i":"addNew",className:"row"},e.createElement("td",{colSpan:6},e.createElement(t.Button,{variant:"link",color:"primary",onClick:()=>{w(e=>e?void 0:f?"Req":"Res")}},"+ Add Parameter"))))))))};export{y as default};
|
|
2
2
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => {\n setFieldValue('schema.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items) {\n setFieldValue('schema.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items) {\n const newVal = { ...values.schema }\n delete newVal.items\n setFieldValue('schema', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) => {\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items?.items) {\n setFieldValue('schema.items.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items?.items) {\n const newVal = { ...values.schema.items }\n delete newVal?.items\n setFieldValue('schema.items', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.schema?.enum?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder={`Enter Enum value...`}\n value={item}\n onChange={(value) => {\n let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n </Tooltip>\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={6}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","newVal","Object","assign","_f","_e","_g","_h","_k","_m","_l","Tooltip","_p","_o","_q","_r","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","_0","_z","_2","_1","endIcon","PlusIcon","height","_Fragment","Fragment","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => {\n setFieldValue('schema.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items) {\n setFieldValue('schema.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items) {\n const newVal = { ...values.schema }\n delete newVal.items\n setFieldValue('schema', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) => {\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items?.items) {\n setFieldValue('schema.items.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items?.items) {\n const newVal = { ...values.schema.items }\n delete newVal?.items\n setFieldValue('schema.items', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.schema?.enum?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder={`Enter Enum value...`}\n value={item}\n onChange={(value) => {\n let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n </Tooltip>\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={6}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","React","createElement","className","map","headCell","key","classes","style","width","minWidth","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","newVal","Object","assign","_f","_e","_g","_h","_k","_m","_l","Tooltip","_p","_o","_r","_q","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","_0","_z","_1","endIcon","PlusIcon","height","Fragment","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"ovBAcM,MAAAA,EAAgB,EACpBC,KACAC,YACAC,OACAC,aACAC,gBACAC,aACAC,WACAC,aAAY,gEAEZ,MAAOC,EAAMC,IAAWC,EAAS,KAC1BC,GAAYC,IAAiBF,EAAS,OACtCG,GAAgBC,IAAqBJ,EAAS,OAC9CK,GAAYC,IAAiBN,EAAmB,KACjDO,OAAEA,GAAMC,OAAEA,GAAMC,cAAEA,GAAaC,QAAEA,GAAOC,WAAEA,GAAUC,UAAEA,IAAcC,EAAU,CAClFC,iBAAiB,EACjBC,cAAe,CACbC,KAAM,GACNC,GAAIpB,EAAY,QAAU,SAC1BqB,OAAQ,CACNC,KAAM,SACNC,KAAM,GACNC,MAAO,CACLF,KAAM,WAGVG,UAAU,EACVC,YAAa,IAEfC,iBAAkBC,IAAaC,MAAM,CACnCV,KAAMW,IAAaC,QAAQ,IAAIC,OAAOP,SAAS,8BAC/CL,GAAIU,IAAaL,SAAS,6BAC1BJ,OAAQO,IAAaC,MAAM,CACzBP,KAAMQ,IAAaL,SAAS,qCAC5BF,KAAMU,EAAUH,KAAcI,WAC9BV,MAAOI,IAAaC,MAAM,CACxBP,KAAMQ,IAAaI,eAGvBT,SAAUU,IAAcC,KAAK,KAAM,CACjCC,GAAI,OACJC,KAAOjB,GAAWA,EAAOkB,MAAM,EAAC,GAAO,qCACvCC,UAAYnB,GAAWA,EAAOa,aAEhCR,YAAaI,IAAaC,QAAQ,IAAIC,OAAOE,aAE/CO,SAAW/B,gBACLA,aAAWgC,EAAgB,QAAhBC,EAAAjC,eAAAA,EAAQW,cAAQ,IAAAsB,OAAA,EAAAA,EAAAnB,4BAAOF,QACN,QAAvBsB,EAAgB,QAAhBC,EAAAnC,aAAA,EAAAA,EAAQW,cAAQ,IAAAwB,OAAA,EAAAA,EAAArB,aAAO,IAAAoB,UAAAA,EAAAtB,MAEhCxB,EAAWY,GACXb,OAAciD,GACd5C,GAAQ,IACRa,QAIJ,OACEgC,EAAAC,cAAA,MAAA,CAAKC,UAAU,yBACbF,EAAKC,cAAA,MAAA,CAAAC,UAAU,kBACbF,EAAOC,cAAA,QAAA,CAAAvD,GAAIA,GAAM,GAAIwD,UAAW,4CAC9BF,EAAOC,cAAA,QAAA,CAAAC,UAAU,aACfF,EACGC,cAAA,KAAA,KAAAtD,aAAS,EAATA,EAAWwD,IAAKC,GACfJ,EACEC,cAAA,KAAA,CAAAI,IAAKD,EAAS1D,GACdwD,UAAW,iBAAiBE,EAASE,SAAW,KAChDC,MAAO,CAAEC,MAAOJ,EAASI,MAAOC,SAAUL,EAASK,WAEnDT,EACEC,cAAA,MAAA,CAAAC,UAAU,gBACD,UAAA,GACmB,iBAAnBE,EAASM,MACZN,EAASM,MAAMC,cAAcC,QAAQ,iBAAkB,KACvD,0BAGLR,EAASM,WAMpBV,EAAOC,cAAA,QAAA,CAAAC,UAAU,YAAW,UAAS,cAClCtD,aAAI,EAAJA,EAAMuD,IAAI,CAACU,EAAKC,IAEbd,sBAAIK,IAAKS,EAAkB,SAAAA,EAAUZ,UAAW,OAC7CvD,aAAS,EAATA,EAAWwD,IAAKC,IACf,MAAMW,EAAmC,MAArBF,EAAIT,EAAS1D,KAC/BsD,EAAAC,cAAA,MAAA,CAAA,UACU,mBACRC,UAAU,YACVK,MAAO,CACLC,MAAOJ,EAASI,MAChBC,SAAUL,EAASK,WAGpBI,EAAIT,EAAS1D,KAIlB,OACEsD,sBACEK,IAAKD,EAAS1D,GACd6D,MAAO,CACLC,MAAOJ,EAASI,MAChBC,SAAUL,EAASK,WAGpBM,OAOK,KAAjBnE,aAAA,EAAAA,EAAMoE,SAAgBhE,GACrBgD,EAAIC,cAAA,KAAA,CAAAC,UAAU,oBACZF,EAAAC,cAAA,KAAA,CAAIC,UAAU,oBAAoBe,QAAStE,aAAS,EAATA,EAAWqE,QACpDhB,EAAKC,cAAA,MAAA,CAAAC,UAAU,yBACbF,EAAAC,cAAA,OAAA,CAAMC,UAAU,yCAMvBrD,IAAeG,EACdgD,EAAAC,cAAA,KAAA,CAAIC,UAAW,OACbF,EAAIC,cAAA,KAAA,CAAAI,IAAK,kBACPL,EAAAC,cAAA,MAAA,CAAA,UAAa,mBAAmBC,UAAU,aACxCF,EAAAC,cAACiB,QACC,CAAAC,YAAY,iBACZC,KAAK,QACL7C,KAAK,OACL8C,SAAWC,KACK,KAAVA,GAAgBC,EAAMC,MAAMC,KAAKH,KACnCzD,GAAc,OAAQyD,IAE1BA,MAAO3D,GAAOS,KACdsD,SAAU1E,MAKhBgD,EAAIC,cAAA,KAAA,CAAAI,IAAK,gBACPL,EAAAC,cAAA,MAAA,CAAA,UAAa,mBAAmBC,UAAU,aACxCF,EAAAC,cAAC0B,EAAaA,cACZ,CAAAD,SAAU1E,EACVsE,MAAO,CACLZ,MAAOkB,EAAWjE,GAAOU,IACzBiD,MAAO3D,GAAOU,IAEhBgD,SAAWQ,UACThE,GAAc,KAAiB,QAAX+B,EAAAiC,aAAA,EAAAA,EAAMP,aAAK,IAAA1B,OAAA,EAAAA,EAAEkC,eACd,OAAfD,aAAI,EAAJA,EAAMP,QACRzD,GAAc,YAAY,IAG9BkE,QAAS,CACP,CACEC,KAAM/E,EACF,CACE,CAAEyD,MAAO,QAASY,MAAO,SACzB,CAAEZ,MAAO,SAAUY,MAAO,UAC1B,CAAEZ,MAAO,OAAQY,MAAO,SAE1B,CAAC,CAAEZ,MAAO,SAAUY,MAAO,aAGnCW,WAAYrE,GAAOS,IAAMT,GAAOS,GAChC6D,YAAY,EACZC,YAAY,EACZC,WAAW,IACV,MAIPpC,EAAIC,cAAA,KAAA,CAAAI,IAAK,yBACPL,EAAAC,cAAA,MAAA,CAAA,UAAa,mBAAmBC,UAAU,2BACxCF,EAACC,cAAA0B,EAAAA,cACC,CAAAD,SAAU1E,EACVoF,WAAW,EACXd,MAAO,CACLZ,MAAOkB,EAAyB,QAAdhC,EAAAjC,cAAM,EAANA,GAAQW,cAAM,IAAAsB,OAAA,EAAAA,EAAErB,MAClC+C,MAAqB,QAAd3B,EAAAhC,gBAAAA,GAAQW,cAAM,IAAAqB,OAAA,EAAAA,EAAEpB,MAEzB0D,WAAYrE,GAAOU,QAAUV,GAAOU,OACpC+C,SAAWQ,cAKT,GAJAhE,GAAc,cAA0B,QAAX+B,EAAAiC,aAAA,EAAAA,EAAMP,aAAK,IAAA1B,OAAA,EAAAA,EAAEkC,eACT,UAAnB,QAAVnC,EAAAkC,EAAKP,aAAK,IAAA3B,OAAA,EAAAA,EAAEmC,gBAA6BnE,GAAOW,OAAOG,OACzDZ,GAAc,eAAgB,CAAA,GAEC,kBAA7BiC,EAAA+B,EAAKP,4BAAOQ,gBAA4BnE,GAAOW,OAAOG,MAAO,CAC/D,MAAM4D,EAAcC,OAAAC,OAAA,CAAA,EAAA5E,GAAOW,eACpB+D,EAAO5D,MACdZ,GAAc,SAAUwE,EACzB,GAEHN,QAAS,CACP,CACEC,KAAM,CACJ,CAAEtB,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,aAIhCY,YAAY,EACZC,YAAY,IACX,aACArC,EAAAnC,cAAM,EAANA,GAAQW,6BAAQC,OAA+C,mBAAvCsB,EAAAlC,cAAA,EAAAA,GAAQW,6BAAQC,KAAKuD,eAC9C9B,EAAAC,cAAC0B,EAAaA,cACZ,CAAAD,SAAU1E,EACVoF,WAAW,EACXd,MAAO,CACLZ,MAAOkB,EAAgC,QAArBY,EAAc,QAAdC,EAAA9E,cAAA,EAAAA,GAAQW,cAAM,IAAAmE,OAAA,EAAAA,EAAEhE,aAAK,IAAA+D,OAAA,EAAAA,EAAEjE,MACzC+C,MAA2B,UAAP,QAAboB,EAAA/E,GAAOW,cAAM,IAAAoE,OAAA,EAAAA,EAAEjE,aAAK,IAAAkE,OAAA,EAAAA,EAAEpE,MAE/B0D,YAAiC,QAArBW,YAAAhF,cAAM,EAANA,GAAQU,6BAAQG,aAAK,IAAAmE,OAAA,EAAAA,EAAErE,QAA+B,QAAvBsE,EAAgB,QAAhBC,EAAAlF,gBAAAA,GAAQU,cAAQ,IAAAwE,OAAA,EAAAA,EAAArE,aAAO,IAAAoE,OAAA,EAAAA,EAAAtE,MAClE8C,SAAWQ,kBAKT,GAJAhE,GAAc,oBAAgC,QAAX+B,EAAAiC,aAAA,EAAAA,EAAMP,aAAK,IAAA1B,OAAA,EAAAA,EAAEkC,eACf,UAAjB,UAAZD,EAAKP,aAAO,IAAA3B,OAAA,EAAAA,EAAAmC,iBAAkD,QAArBhC,EAAAnC,GAAOW,OAAOG,aAAO,IAAAqB,OAAA,EAAAA,EAAArB,QAChEZ,GAAc,qBAAsB,CAAA,GAEL,UAAjB,UAAZgE,EAAKP,aAAO,IAAAzB,OAAA,EAAAA,EAAAiC,iBAAiD,QAArBW,EAAA9E,GAAOW,OAAOG,aAAO,IAAAgE,OAAA,EAAAA,EAAAhE,OAAO,CACtE,MAAM4D,mBAAc1E,GAAOW,OAAOG,OAC3B4D,gBAAAA,EAAQ5D,MACfZ,GAAc,eAAgBwE,EAC/B,GAEHN,QAAS,CACP,CACEC,KAAM,CACJ,CAAEtB,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,aAIhCY,YAAY,EACZC,YAAY,IACZ,KAORnC,EAAIC,cAAA,KAAA,CAAAI,IAAK,kBACPL,EAAAC,cAAA,MAAA,CAAA,UAAa,mBAAmBC,UAAU,aACxCF,EAACC,cAAA8C,GACCrB,SACyC,kBAAvCsB,EAAgB,QAAhBC,EAAAtF,gBAAAA,GAAQW,cAAQ,IAAA2E,OAAA,EAAAA,EAAA1E,2BAAMuD,gBACiB,WAAjB,QAAtBoB,EAAgB,QAAhBC,EAAAxF,cAAA,EAAAA,GAAQW,cAAQ,IAAA6E,OAAA,EAAAA,EAAA5E,YAAM,IAAA2E,OAAA,EAAAA,EAAApB,eAExBsB,iBAAe,EACfC,UAAU,aACV9E,KAAK,WACL+E,QAAQ,QACRC,MAAO,CAAC,EAAG,GACXC,SAAWC,GAAajG,GAAkBiG,GAC1CC,QACE1D,EAAAC,cAAA,MAAA,CAAKC,UAAWyD,EAAOC,wBACrB5D,EAAAC,cAAA,IAAA,CAAGC,UAAWyD,EAAOE,+BAAuC,WACzC,QAAhBC,EAAAnG,cAAA,EAAAA,GAAQW,cAAQ,IAAAwF,OAAA,EAAAA,EAAAtF,UACD,QAAduF,EAAApG,cAAM,EAANA,GAAQW,cAAM,IAAAyF,OAAA,EAAAA,EAAEvF,KAAKwC,UACH,QAApBgD,EAAc,QAAdC,EAAAtG,gBAAAA,GAAQW,cAAM,IAAA2F,OAAA,EAAAA,EAAEzF,YAAI,IAAAwF,OAAA,EAAAA,EAAE7D,IAAI,CAAC0B,EAAMqC,IAC/BlE,EAACC,cAAAiB,QACC,CAAAb,IAAK6D,EACLhE,UAAW,oBACXxB,UACA,EAAA0D,WAAW,EACXjB,YAAY,sBACZG,MAAOO,EACPR,SAAWC,IACTzD,GAAc,eAAeqG,KAAU5C,QAI9C7D,KACCA,cAAA,EAAAA,GAAY0C,IAAI,CAAC0B,EAAMqC,IACrBlE,EAAAC,cAACiB,EAAKA,MACJ,CAAAb,IAAK6D,EACLhE,UAAW,oBACXxB,UAAQ,EACR0D,WAAW,EACXjB,YAAa,sBACbG,MAAOO,EACPR,SAAWC,IACT,IAAI6C,EAAU,IAAI1G,IAClB0G,EAAQD,GAAS5C,EACjB5D,GAAcyG,QAItBnE,EAAAC,cAAA,IAAA,CACEC,UAAW,gBACXkE,QAAS,KACP1G,GAAe2G,GAAS,IAAIA,EAAM,OAGpCrE,EAAAC,cAACqE,EAAS,CAACC,IAAKC,IAEd,iBACFxH,GACAgD,EAACC,cAAAwE,EAAAA,OACC,CAAAvE,UAAWyD,EAAOe,2BAClBC,QAAQ,WACRvD,KAAK,QACL7C,KAAK,SACL6F,QAAS,WACPvG,GAAc,cAAe,IACV,QAAd+B,EAAAjC,gBAAAA,GAAQW,cAAM,IAAAsB,OAAA,EAAAA,EAAEpB,QAChBf,KAELC,GAAc,IACdH,UAAAA,GAAgBqH,QAElBlD,SACGjE,GAAWuD,OAAS,IACnBvD,cAAU,EAAVA,GAAYoH,OAAQhD,IAAUA,GAAMb,UACrB,QAAhB8D,EAAAnH,cAAA,EAAAA,GAAQW,cAAQ,IAAAwG,OAAA,EAAAA,EAAAtG,KAAKwC,QAAS,IACT,QAApB+D,EAAc,QAAdC,EAAArH,cAAM,EAANA,GAAQW,cAAM,IAAA0G,OAAA,EAAAA,EAAExG,YAAI,IAAAuG,OAAA,EAAAA,EAAEF,OAAQhD,IAAUA,GAAMb,SAI3C,WAKfhB,EAAAC,cAACwE,EAAAA,OACC,CAAAvE,UAAWyD,EAAOsB,YAClBvI,GAAG,aACHiI,QAAQ,OACRO,MAAM,SACNxD,SACyC,kBAAvCyD,EAAgB,QAAhBC,EAAAzH,cAAM,EAANA,GAAQW,cAAQ,IAAA8G,OAAA,EAAAA,EAAA7G,2BAAMuD,gBACiB,qBAAvB,QAAhBuD,EAAA1H,cAAM,EAANA,GAAQW,cAAQ,IAAA+G,OAAA,EAAAA,EAAA9G,2BAAMuD,eAExBwD,QACEtF,EAAAC,cAACqE,EAAS,CAAC5H,GAAG,WAAW6H,IAAKgB,EAAU/E,MAAM,SAASgF,OAAO,YAIzD,UAKfxF,EAAIC,cAAA,KAAA,CAAAI,IAAK,sBACPL,EAAaC,cAAA,MAAA,CAAA,UAAA,cAAcC,UAAU,aAClClD,EACCgD,EAAGC,cAAAD,EAAAyF,SAAA,KAAA9H,GAAOe,SAAW,OAAS,SAE9BsB,gBAAC0F,EAAMA,OAAA,CACLC,WACEhI,KAAUA,GAAOU,IAAiC,QAA3BV,GAAOU,GAAGyD,gBAE7BnE,GAAOe,SAEbgD,SAAU/D,IAAUA,GAAOU,IAAiC,QAA3BV,GAAOU,GAAGyD,cAC3CsC,QAAS,KACHpH,GAGJa,GAAc,YAAaF,GAAOe,eAO5CsB,EAAIC,cAAA,KAAA,CAAAI,IAAK,yBACPL,EAAAC,cAAA,MAAA,CAAA,UAAa,mBAAmBC,UAAU,aACxCF,EAAAC,cAAA,MAAA,CAAKC,UAAWyD,EAAOiC,oBACrB5F,EAAAC,cAAC8C,EACC,CAAAK,mBACAC,UAAU,aACV9E,KAAK,WACL+E,QAAQ,QACRC,MAAO,CAAC,EAAG,GACXC,SAAWC,GAAanG,GAAcmG,GACtCC,QACE1D,EAAAC,cAAA,MAAA,CAAKC,UAAWyD,EAAOC,wBACrB5D,EAAAC,cAAA,IAAA,CAAGC,UAAWyD,EAAOE,+BAA8C,eACnE7D,EAAAC,cAAC4F,EAAQA,SAAA,CACPvE,MAAOpE,GAAQS,GAAOgB,YACtB0C,SAAWC,KACK,KAAVA,GAAgBC,EAAMC,MAAMC,KAAKH,KAAQnE,GAAQmE,IAEvDI,SAAU1E,EACVmE,YAAY,wBACZ2E,UAAW,OAEX9I,GACAgD,EAAAC,cAACwE,EAAMA,OACL,CAAAvE,UAAWyD,EAAOe,2BAClBC,QAAQ,WACRvD,KAAK,QACLgD,QAAS,KACPvG,GAAc,cAAeX,aAAA,EAAAA,EAAM+B,QACnC5B,UAAAA,GAAYuH,QAEdlD,SAA2B,MAAjBxE,aAAI,EAAJA,EAAM+B,SAAa,WAQrCe,EAAAC,cAACwE,EAAMA,OAAA,CACLvE,UAAWyD,EAAOsB,YAClBN,QAAQ,OACRO,MAAM,SACNI,QAAStF,EAACC,cAAAqE,EAAU,CAAAC,IAAKwB,EAAUvF,MAAM,SAASgF,OAAO,YAExDxI,EAAW,QAAU,wBAI1BgD,EAAAC,cAAA,MAAA,CAAKC,UAAWyD,EAAOqC,gCACrBhJ,GACAgD,gBAACyE,EAAMA,OAAA,CACLvE,UAAWyD,EAAOsC,eAClBtB,QAAQ,OACRO,MAAM,QACNI,QACEtF,gBAACsE,EAAS,CAACC,IAAK2B,EAAY1F,MAAM,WAAWgF,OAAO,aAEtDpB,QAAS,KACPpG,KACAb,GAAQ,IACRL,OAAciD,OAKlB/C,GACAgD,gBAAC+C,EAAO,CACNrB,WAAY/D,GAAOS,KAAKa,OACxByE,QAAS,kCAET1D,EAACC,cAAAwE,EAAAA,QACCvE,UAAWyD,EAAOsC,eAClBtB,QAAQ,OACRO,MAAM,UACNxD,UAAW/D,GAAOS,KAAKa,OACvBqG,QAAStF,EAAAC,cAACqE,EAAU,CAAAC,IAAK4B,EAAQ3F,MAAM,WAAWgF,OAAO,aACzDpB,QAAS,KACPjH,GAAQ,IACRY,UAKH,OAKbiC,EAAAC,cAAAD,EAAAyF,SAAA,MACIzI,GACAgD,EAAAC,cAAA,KAAA,CAAII,IAAK,kBAAkB,SAAUH,UAAW,OAC9CF,EAAIC,cAAA,KAAA,CAAAgB,QAAS,GACXjB,EAAAC,cAACwE,EAAAA,OAAM,CACLE,QAAQ,OACRO,MAAM,UACNd,QAAS,KACPtH,EAAeuH,GAAWA,OAAqCtE,EAA7B9C,EAAY,MAAQ,SACvD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useState as e}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as a}from"../../../_virtual/index.js";import n from"../Tooltip/Tooltip.js";import l from"../SVGLoader/SVGLoader.js";import i from"../../assets/icons/DeleteIcon.svg.js";import r from"../../assets/icons/EditIcon.svg.js";import o from"../../assets/icons/AddRow.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as s}from"../../../node_modules/formik/dist/formik.esm.js";import{object as d,string as m}from"../../../node_modules/yup/index.esm.js";import p from"../../constants/regex.js";const u=({id:u,headCells:v,data:E,isFormOpen:R,setIsFormOpen:h,saveNewRow:D,readOnly:g})=>{var N,x,b,C,k,T,w,y,I;const[f,B]=e(""),[_,A]=e(""),[L,S]=e(""),[j,O]=e(null),[W,F]=e(null),{values:V,errors:q,setFieldValue:P,isValid:U,submitForm:z,resetForm:H,dirty:M}=s({validateOnMount:!0,initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:d().shape({name:m().trim().required("Tag name is required"),description:m().optional(),externalDocs:d().shape({url:m().trim().matches(p.urlRegex,"Invalid URL").when("description",(e,t)=>(null==e?void 0:e.at(0))?t.required("URL is required when description is provided"):t.optional()),description:m().trim().optional()}).optional()}),onSubmit:e=>{D(e),B(""),H(),h(!1)},validateOnChange:!0});return React.createElement("div",{className:"tableSectionContainer"},React.createElement("div",{className:"tableContainer"},React.createElement("table",{id:u||"",className:"table borderRadiusTop borderRadiusBottom"},React.createElement("thead",{className:"tableHead"},React.createElement("tr",null,null==v?void 0:v.map(e=>React.createElement("th",{key:e.id,className:`tableHeadCell ${e.classes||""}`,style:{width:e.width,minWidth:e.minWidth}},React.createElement("div",{className:"headContainer","data-id":`${"string"==typeof e.label?e.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`},e.label))))),React.createElement("tbody",{className:"tableBody","data-id":"TABLE_BODY"},null==E?void 0:E.map((e,t)=>React.createElement("tr",{key:t,"data-i":t,className:"row"},null==v?void 0:v.map(t=>{const a="_"!==e[t.id]&&React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth}},e[t.id]);return React.createElement("td",{key:t.id,style:{width:t.width,minWidth:t.minWidth}},a)}))),R?React.createElement("tr",{key:"","data-i":"",className:"row"},React.createElement("td",{key:"tag name"},React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},React.createElement(a.Input,{placeholder:"Tag name",size:"large",type:"text",maxLength:25,onChange:e=>{!p.basic.test(e)&&P("name",e)},value:V.name,disabled:g}))),React.createElement("td",{key:"tagDescRequired"},React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},React.createElement("div",{className:c.paramDescContainer},React.createElement(n,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>O(e),onShow:()=>{B(V.description||"")},onHidden:()=>{B(V.description||"")},content:React.createElement("div",{className:t.editDescTooltipContent},React.createElement("p",{className:t.editDescTooltipContent_header},"Description"),React.createElement(a.TextArea,{value:f||V.description,disabled:g,maxLength:25,placeholder:"Describe Tag...",onChange:e=>{(""===e||p.ASCII.test(e))&&B(e)}}),!g&&React.createElement(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{P("description",null==f?void 0:f.trim()),null==j||j.hide()},disabled:!(null===(N=f||V.description)||void 0===N?void 0:N.trim())},"Apply"))},React.createElement(a.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:React.createElement(l,{src:r,width:"1.5rem",height:"1.5rem"})},g?"View ":"Add "," Description")))," ")),React.createElement("td",{key:"tagExternal"},React.createElement("div",{className:"tableData"},React.createElement("div",{className:t.paramDescContainer},React.createElement(n,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>F(e),onShow:()=>{A(V.externalDocs.description||""),S(V.externalDocs.url||"")},onHidden:()=>{A(V.externalDocs.description||""),S(V.externalDocs.url||"")},content:React.createElement("div",{className:t.editDescTooltipContent},React.createElement("p",{className:t.editDescTooltipContent_header},"External Docs Description"),React.createElement(a.TextArea,{placeholder:"Describe External Doc...",value:_||V.externalDocs.description,disabled:g,maxLength:25,onChange:e=>{(""===e||p.ASCII.test(e))&&A(e)}}),React.createElement("p",{className:t.editDescTooltipContent_header},"External Docs Link"),React.createElement(a.TextArea,{placeholder:"External Docs Link...",restrictedCharsRegex:p.urlRegex,value:L||V.externalDocs.url,disabled:g,maxLength:200,onChange:e=>{(""===e||p.ASCII.test(e))&&S(e)}}),!g&&React.createElement(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{P("externalDocs",{description:_,url:L}),null==W||W.hide()},disabled:!(null===(x=L||V.externalDocs.url)||void 0===x?void 0:x.trim())||!p.urlRegex.test(L||V.externalDocs.url)},"Apply"))},g?React.createElement("a",{className:t.editDescBtn,variant:"link",color:"action",href:null===(b=V.externalDocs)||void 0===b?void 0:b.url,target:"_blank"},(null===(C=null==V?void 0:V.externalDocs)||void 0===C?void 0:C.description)?null===(T=null===(k=null==V?void 0:V.externalDocs)||void 0===k?void 0:k.description)||void 0===T?void 0:T.substring(0,12):"-",(null===(w=null==V?void 0:V.externalDocs)||void 0===w?void 0:w.description)&&(null===(I=null===(y=null==V?void 0:V.externalDocs)||void 0===y?void 0:y.description)||void 0===I?void 0:I.length)>12?"...":""):React.createElement(a.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:React.createElement(l,{src:r,width:"1.5rem",height:"1.5rem"})},g?"View ":"Add "," External Docs Link")),React.createElement("div",{className:t.paramDescContainer_separator}),!g&&React.createElement(a.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:React.createElement(l,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>{H(),B(""),h(!1)}}),!g&&React.createElement(a.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!U||!M,endIcon:React.createElement(l,{src:o,width:"0.125rem",height:"0.125rem"}),onClick:()=>{B(""),z()}}))))):React.createElement(React.Fragment,null,!g&&React.createElement("tr",{key:"addNew","data-i":"addNew",className:"row"},React.createElement("td",{colSpan:5},React.createElement(a.Button,{variant:"link",color:"primary",onClick:()=>{h(e=>!e)}},"+ Add Tag"))))))))};export{u 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'\nimport './style.scss'\nimport _styles from '../InfoForm/InfoForm.module.scss'\nimport { Button, Input, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport regex from '../../constants/regex'\n\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\n const [text, setText] = useState('')\n const [externalDesc, setExternalDesc] = useState('')\n const [externalUrl, setExternalUrl] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\n const { values, errors, setFieldValue, isValid, submitForm, resetForm,dirty } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n description: '',\n externalDocs: {\n url: '',\n description: '',\n },\n },\n validationSchema: yup.object().shape({\n name: yup.string().trim().required('Tag name is required'),\n description: yup.string().optional(),\n externalDocs: yup\n .object()\n .shape({\n url: yup\n .string()\n .trim()\n .matches(regex.urlRegex, 'Invalid URL')\n .when('description', (description, schema) => {\n return description?.at(0)\n ? schema.required('URL is required when description is provided')\n : schema.optional()\n }),\n description: yup.string().trim().optional(),\n })\n .optional(),\n }),\n onSubmit: (values) => {\n saveNewRow(values)\n setText('')\n resetForm()\n setIsFormOpen(false)\n },\n validateOnChange: true,\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {isFormOpen ? (\n <tr key={''} data-i={''} className={`row`}>\n <td key={'tag name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Tag name\"\n size=\"large\"\n type=\"text\"\n maxLength={25}\n onChange={(value) => {\n !regex.basic.test(value) && setFieldValue('name', value)\n }} // Pass the value directly\n value={values.name} // Bind value to the state\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'tagDescRequired'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n onShow={() => {\n setText(values.description || '') // Reset to current value when shown\n }}\n onHidden={() => {\n setText(values.description || '') // Reset on close\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n disabled={readOnly}\n maxLength={25}\n placeholder=\"Describe Tag...\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={!(text || values.description)?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={_styles.editDescBtn}\n style={{ paddingLeft: 0 }}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n </div>{' '}\n </div>\n </td>\n <td key={'tagExternal'}>\n <div className=\"tableData\">\n <div className={_styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setExternalTooltipRefs(instance)}\n onShow={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n onHidden={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Description\n </p>\n <TextArea\n placeholder=\"Describe External Doc...\"\n value={externalDesc || values.externalDocs.description}\n disabled={readOnly}\n maxLength={25}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\n }}\n />\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Link\n </p>\n <TextArea\n placeholder=\"External Docs Link...\"\n restrictedCharsRegex={regex.urlRegex}\n value={externalUrl || values.externalDocs.url}\n disabled={readOnly}\n maxLength={200}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`externalDocs`, {\n description: externalDesc,\n url: externalUrl,\n })\n\n externalTooltipRefs?.hide()\n }}\n disabled={\n !(externalUrl || values.externalDocs.url)?.trim() ||\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ? (\n <a\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n href={values.externalDocs?.url}\n target=\"_blank\"\n >\n {values?.externalDocs?.description\n ? values?.externalDocs?.description?.substring(0, 12)\n : '-'}\n {values?.externalDocs?.description &&\n values?.externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n ) : (\n <Button\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} External Docs Link\n </Button>\n )}\n </Tooltip>\n <div className={_styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(false)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!isValid || !dirty}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n )}\n </div>\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={5}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => !prev)\n }}\n >\n + Add Tag\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default TagsTable\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","dirty","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
|
+
{"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport './style.scss'\nimport _styles from '../InfoForm/InfoForm.module.scss'\nimport { Button, Input, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport regex from '../../constants/regex'\n\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\n const [text, setText] = useState('')\n const [externalDesc, setExternalDesc] = useState('')\n const [externalUrl, setExternalUrl] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\n const { values, errors, setFieldValue, isValid, submitForm, resetForm,dirty } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n description: '',\n externalDocs: {\n url: '',\n description: '',\n },\n },\n validationSchema: yup.object().shape({\n name: yup.string().trim().required('Tag name is required'),\n description: yup.string().optional(),\n externalDocs: yup\n .object()\n .shape({\n url: yup\n .string()\n .trim()\n .matches(regex.urlRegex, 'Invalid URL')\n .when('description', (description, schema) => {\n return description?.at(0)\n ? schema.required('URL is required when description is provided')\n : schema.optional()\n }),\n description: yup.string().trim().optional(),\n })\n .optional(),\n }),\n onSubmit: (values) => {\n saveNewRow(values)\n setText('')\n resetForm()\n setIsFormOpen(false)\n },\n validateOnChange: true,\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {isFormOpen ? (\n <tr key={''} data-i={''} className={`row`}>\n <td key={'tag name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Tag name\"\n size=\"large\"\n type=\"text\"\n maxLength={25}\n onChange={(value) => {\n !regex.basic.test(value) && setFieldValue('name', value)\n }} // Pass the value directly\n value={values.name} // Bind value to the state\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'tagDescRequired'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n onShow={() => {\n setText(values.description || '') // Reset to current value when shown\n }}\n onHidden={() => {\n setText(values.description || '') // Reset on close\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n disabled={readOnly}\n maxLength={25}\n placeholder=\"Describe Tag...\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={!(text || values.description)?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={_styles.editDescBtn}\n style={{ paddingLeft: 0 }}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n </div>{' '}\n </div>\n </td>\n <td key={'tagExternal'}>\n <div className=\"tableData\">\n <div className={_styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setExternalTooltipRefs(instance)}\n onShow={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n onHidden={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Description\n </p>\n <TextArea\n placeholder=\"Describe External Doc...\"\n value={externalDesc || values.externalDocs.description}\n disabled={readOnly}\n maxLength={25}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\n }}\n />\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Link\n </p>\n <TextArea\n placeholder=\"External Docs Link...\"\n restrictedCharsRegex={regex.urlRegex}\n value={externalUrl || values.externalDocs.url}\n disabled={readOnly}\n maxLength={200}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`externalDocs`, {\n description: externalDesc,\n url: externalUrl,\n })\n\n externalTooltipRefs?.hide()\n }}\n disabled={\n !(externalUrl || values.externalDocs.url)?.trim() ||\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ? (\n <a\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n href={values.externalDocs?.url}\n target=\"_blank\"\n >\n {values?.externalDocs?.description\n ? values?.externalDocs?.description?.substring(0, 12)\n : '-'}\n {values?.externalDocs?.description &&\n values?.externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n ) : (\n <Button\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} External Docs Link\n </Button>\n )}\n </Tooltip>\n <div className={_styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(false)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!isValid || !dirty}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n )}\n </div>\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={5}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => !prev)\n }}\n >\n + Add Tag\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default TagsTable\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","dirty","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","React","createElement","className","map","headCell","key","classes","style","width","minWidth","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","colSpan","prev"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e,{createContext as t,useState as i,useCallback as n,useMemo as r,useContext as o}from"react";var s;!function(e){e.OVERVIEW="overview",e.RESOURCE="resource",e.API_SECTION="apiSection",e.TAG_SECTION="tagSection",e.ENDPOINTS_SECTION="endpointsSection"}(s||(s={}));const c=t(null),d=()=>{const e=o(c);if(!e)throw new Error("useSectionToggle must be used within SectionToggleProvider");return e},a=({children:t})=>{const[o,s]=i({}),d=({apiId:e,type:t,index:i,id:n})=>{let r=`api_${e}_${t}`;return void 0!==i&&(r+=`_${i}`),void 0!==n&&(r+=`_${n}`),r},a=n((e,t,i={})=>{const{resetOthers:n=!1,filterKeys:r=[]}=i,c=t.map(({type:t,index:i,id:n})=>d({apiId:e,type:t,index:i,id:n})),a=Object.fromEntries(t.map(({type:t,index:i,setTo:n,id:r})=>{const s=d({apiId:e,type:t,index:i,id:r}),c=o[s];return[s,void 0!==n?n:!c]}));if(n&&r.length>0){const t=Object.fromEntries(Object.entries(o).filter(([t])=>t.includes(e)&&!r.some(e=>t.includes(e))||c.includes(t))),i=Object.assign(Object.assign({},t),a);s(i)}else s(e=>Object.assign(Object.assign({},e),a))},[o]),l=r(()=>({expandedSections:o,toggleSection:a,generateSectionKey:d}),[o,a]);return e.createElement(c.Provider,{value:l},t)};export{s as SectionEnum,a as SectionToggleProvider,d as useSectionToggle};
|
|
2
2
|
//# sourceMappingURL=SectionToggleContext.js.map
|