@digi-frontend/dgate-api-documentation 1.0.0 → 1.0.4
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/.editorconfig +13 -0
- package/.prettierignore +8 -0
- package/.prettierrc +15 -0
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/a7568b270e175038.svg +8 -0
- package/dist/b82c7612e73342f3.svg +3 -0
- package/dist/node_modules/@popperjs/core/lib/createPopper.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/createPopper.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/enums.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/enums.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/popper.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/popper.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/math.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/math.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -0
- package/dist/node_modules/@popperjs/core/lib/utils/within.js +2 -0
- package/dist/node_modules/@popperjs/core/lib/utils/within.js.map +1 -0
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js +2 -0
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js.map +1 -0
- package/dist/node_modules/digitinary-ui/dist/index.js +1 -1
- package/dist/node_modules/digitinary-ui/dist/index.js.map +1 -1
- package/dist/node_modules/formik/dist/formik.esm.js +1 -1
- package/dist/node_modules/formik/dist/formik.esm.js.map +1 -1
- package/dist/node_modules/tippy.js/dist/tippy.css.js +2 -0
- package/dist/node_modules/tippy.js/dist/tippy.css.js.map +1 -0
- package/dist/node_modules/tippy.js/dist/tippy.esm.js +7 -0
- package/dist/node_modules/tippy.js/dist/tippy.esm.js.map +1 -0
- package/dist/node_modules/yup/index.esm.js +1 -1
- package/dist/node_modules/yup/index.esm.js.map +1 -1
- package/dist/src/assets/icons/AddRow.svg.js +2 -0
- package/dist/src/assets/icons/AddRow.svg.js.map +1 -0
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js +2 -0
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js.map +1 -0
- package/dist/src/components/InfoForm/InfoForm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
- package/dist/src/components/LivePreview/LivePreview.js +2 -0
- package/dist/src/components/LivePreview/LivePreview.js.map +1 -0
- package/dist/src/components/LivePreview/LivePreview.module.scss.js +2 -0
- package/dist/src/components/LivePreview/LivePreview.module.scss.js.map +1 -0
- package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +2 -0
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -0
- package/dist/src/components/Tooltip/Tooltip.js +2 -0
- package/dist/src/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/src/components/dialog/index.js +2 -0
- package/dist/src/components/dialog/index.js.map +1 -0
- package/dist/src/components/table/table.js +2 -0
- package/dist/src/components/table/table.js.map +1 -0
- package/dist/src/constants/index.js +1 -1
- package/dist/src/constants/index.js.map +1 -1
- package/dist/src/helpers/layout.helper.js +2 -0
- package/dist/src/helpers/layout.helper.js.map +1 -0
- package/dist/src/helpers/methodAccordion.helper.js +2 -0
- package/dist/src/helpers/methodAccordion.helper.js.map +1 -0
- package/dist/src/layout/layout.js +1 -1
- package/dist/src/layout/layout.js.map +1 -1
- package/dist/src/layout/layout.module.css.js +1 -1
- package/dist/src/validator/form.scheme.js +2 -0
- package/dist/src/validator/form.scheme.js.map +1 -0
- package/dist/styles.css +673 -63
- package/dist/types/assets/icons/index.d.ts +2 -0
- package/dist/types/components/LivePreview/LivePreview.d.ts +7 -0
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +8 -1
- package/dist/types/components/SimpleLabelValue/SimpleLabelValue.d.ts +11 -0
- package/dist/types/components/SimpleLabelValue/index.d.ts +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +19 -0
- package/dist/types/components/dialog/dialog.d.ts +41 -0
- package/dist/types/components/dialog/index.d.ts +4 -0
- package/dist/types/components/table/table.d.ts +11 -0
- package/dist/types/constants/index.d.ts +20 -4
- package/dist/types/helpers/layout.helper.d.ts +7 -0
- package/dist/types/helpers/methodAccordion.helper.d.ts +2 -0
- package/dist/types/layout/layout.d.ts +5 -1
- package/dist/types/types/layout.type.d.ts +19 -0
- package/dist/types/types/openApi.d.ts +85 -0
- package/dist/types/types/transformedOpenApi.d.ts +50 -0
- package/dist/types/validator/form.scheme.d.ts +40 -0
- package/package.json +1 -1
- package/src/assets/icons/AddRow.svg +3 -0
- package/src/assets/icons/deleteOutlinedIcon.svg +8 -0
- package/src/assets/icons/index.ts +2 -0
- package/src/components/Chips/style.scss +1 -1
- package/src/components/InfoForm/InfoForm.module.scss +1 -0
- package/src/components/InfoForm/InfoForm.tsx +94 -59
- package/src/components/LivePreview/LivePreview.module.scss +5 -0
- package/src/components/LivePreview/LivePreview.tsx +80 -0
- package/src/components/MethodAccordion/MethodAccordion.module.scss +232 -125
- package/src/components/MethodAccordion/MethodAccordion.tsx +404 -57
- package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -0
- package/src/components/SimpleLabelValue/index.ts +1 -0
- package/src/components/SimpleLabelValue/style.scss +30 -0
- package/src/components/Tooltip/Tooltip.scss +130 -0
- package/src/components/Tooltip/Tooltip.tsx +86 -0
- package/src/components/_global.scss +338 -0
- package/src/components/dialog/dialog.ts +54 -0
- package/src/components/dialog/index.tsx +85 -0
- package/src/components/dialog/style.scss +104 -0
- package/src/components/table/style.scss +179 -0
- package/src/components/table/table.tsx +307 -0
- package/src/constants/index.ts +23 -6
- package/src/helpers/layout.helper.ts +118 -0
- package/src/helpers/methodAccordion.helper.ts +20 -0
- package/src/layout/layout.module.css +1 -0
- package/src/layout/layout.tsx +57 -9
- package/src/types/index.ts +0 -20
- package/src/types/layout.type.ts +22 -0
- package/src/types/openApi.ts +95 -0
- package/src/types/transformedOpenApi.ts +52 -0
- package/src/validator/form.scheme.ts +70 -0
- package/tsconfig.json +4 -1
- package/dist/src/components/Button/Button.js +0 -2
- package/dist/src/components/Button/Button.js.map +0 -1
- package/dist/src/components/Button/Button.module.css.js +0 -2
- package/dist/src/components/Button/Button.module.css.js.map +0 -1
- package/dist/types/components/Button/Button.d.ts +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddRow.svg.js","sources":["../../../../src/assets/icons/AddRow.svg"],"sourcesContent":["export default \"b82c7612e73342f3.svg\""],"names":["AddRow"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteOutlinedIcon.svg.js","sources":["../../../../src/assets/icons/deleteOutlinedIcon.svg"],"sourcesContent":["export default \"a7568b270e175038.svg\""],"names":["deleteOutlinedIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as s}from"react";import{useFormikContext as o}from"../../../node_modules/formik/dist/formik.esm.js";import{d as t}from"../../../_virtual/index.js";import r from"./InfoForm.module.scss.js";import n from"../Chips/Chips.js";import a from"../../assets/icons/CheckMarkSquare.svg.js";import l from"../SVGLoader/SVGLoader.js";import m from"../../constants/regex.js";const c=()=>{var c,d,p,u,v;const[f,h]=i([]),[g,j]=i(""),{values:x,setFieldValue:b,errors:C,submitForm:I}=o();s((()=>{if(x&&x.tags&&h(x.tags),x&&x.components&&x.components.securitySchemes){const e=Object.keys(x.components.securitySchemes);e.length&&j(x.components.securitySchemes[e[0]].scheme)}}),[]);return e.jsxs("form",{className:r.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(t.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(c=null==x?void 0:x.info)||void 0===c?void 0:c.title,maxLength:25,onChange:e=>{b("info.title",e)},onClear:()=>{b("info.title","")},errorMsg:null===(d=null==C?void 0:C.info)||void 0===d?void 0:d.title,restrictedCharsRegex:m.basic}),e.jsxs("div",{className:r.apiDocRow,children:[e.jsx(t.Input,{size:"large",label:"API Authentication Type",required:!0,value:(S=g,S?S.charAt(0).toUpperCase()+S.slice(1):""),disabled:!0}),e.jsx(t.Input,{size:"large",label:"Version",required:!0,value:null===(p=null==x?void 0:x.info)||void 0===p?void 0:p.version,disabled:!0})]}),e.jsx(t.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(u=null==x?void 0:x.info)||void 0===u?void 0:u.description,maxLength:120,onChange:e=>{b("info.description",e)},onClear:()=>{b("info.description","")},errorMessage:null===(v=null==C?void 0:C.info)||void 0===v?void 0:v.description,restrictedCharsRegex:m.restrictNone}),e.jsx(t.SelectGroup,{value:x.tags.map((e=>({label:e.name,value:e.name,description:e.description||""}))),onChange:e=>b("tags",e.map((e=>({name:e.label,description:e.description||""})))),label:"Tags",options:[{list:null==f?void 0:f.map((e=>({label:e.name,value:e.name,description:e.description||""})))}]}),x.tags.length>0&&e.jsx(n,{className:r.apiInfoForm_tagsChips,items:x.tags.map((e=>({id:e.name,label:e.name,description:e.description||""}))),onDelete:e=>b("tags",e.map((e=>({name:e.label,description:e.description||""}))))}),e.jsx(t.Button,{className:r.apiInfoForm_submitBtn,size:"small",fullWidth:!1,onClick:I,type:"submit",variant:"link",color:"success",startIcon:e.jsx(l,{src:a,width:"1.5rem",height:"1.5rem"}),children:"Save"})]});var S};export{c as default};
|
|
2
2
|
//# sourceMappingURL=InfoForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport * as Yup from 'yup'\r\nimport { Button, Input, SelectGroup, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport Chips from '../../components/Chips/Chips'\r\nimport { CheckMarkSquare } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\n\r\nconst InfoForm = () => {\r\n const [tagsList, setTagsList] = useState([])\r\n const [authType, setAuthType] = useState('')\r\n const { values, setFieldValue, errors, submitForm } = useFormikContext<TransformedOpenApi>()\r\n useEffect(() => {\r\n if (values && values.tags) {\r\n setTagsList(values.tags)\r\n }\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n setAuthType(values.components.securitySchemes[authenticatorKeys[0]].scheme)\r\n }\r\n }\r\n }, [])\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\r\n\r\n return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={25}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharsRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n onChange={(value: string) => {\r\n setFieldValue('info.description', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMessage={errors?.info?.description}\r\n restrictedCharsRegex={regex.restrictNone}\r\n />\r\n <SelectGroup\r\n value={values.tags.map((item) => ({\r\n label: item.name,\r\n value: item.name,\r\n description: item.description || '',\r\n }))}\r\n onChange={(items) =>\r\n setFieldValue(\r\n 'tags',\r\n items.map((item) => ({\r\n name: item.label,\r\n description: item.description || '',\r\n }))\r\n )\r\n }\r\n label=\"Tags\"\r\n options={[\r\n {\r\n list: tagsList?.map((item) => ({\r\n label: item.name,\r\n value: item.name,\r\n description: item.description || '',\r\n })),\r\n },\r\n ]}\r\n />\r\n {values.tags.length > 0 && (\r\n <Chips\r\n className={styles.apiInfoForm_tagsChips}\r\n items={values.tags.map((t) => ({\r\n id: t.name,\r\n label: t.name,\r\n description: t.description || '',\r\n }))}\r\n onDelete={(items) =>\r\n setFieldValue(\r\n 'tags',\r\n items.map((item) => ({\r\n name: item.label,\r\n description: item.description || '',\r\n }))\r\n )\r\n }\r\n />\r\n )}\r\n <Button\r\n className={styles.apiInfoForm_submitBtn}\r\n size=\"small\"\r\n fullWidth={false}\r\n onClick={submitForm}\r\n type=\"submit\"\r\n variant=\"link\"\r\n color=\"success\"\r\n startIcon={<SVGLoader src={CheckMarkSquare} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n Save\r\n </Button>\r\n </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","tagsList","setTagsList","useState","authType","setAuthType","values","setFieldValue","errors","submitForm","useFormikContext","useEffect","tags","components","securitySchemes","authenticatorKeys","Object","keys","length","scheme","_jsxs","jsxs","className","styles","apiInfoForm","onSubmit","e","preventDefault","children","_jsx","Input","size","placeholder","label","required","value","_a","info","title","maxLength","onChange","onClear","errorMsg","_b","restrictedCharsRegex","regex","basic","apiDocRow","str","charAt","toUpperCase","slice","disabled","jsx","_c","version","TextArea","_d","description","errorMessage","_e","restrictNone","SelectGroup","map","item","name","items","options","list","Chips","apiInfoForm_tagsChips","t","id","onDelete","Button","apiInfoForm_submitBtn","fullWidth","onClick","type","variant","color","startIcon","SVGLoader","src","CheckMarkSquare","width","height"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import s from"./LivePreview.module.scss.js";import l from"../SimpleLabelValue/SimpleLabelValue.js";import a from"../Chips/Chips.js";import i from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as t}from"../../../node_modules/formik/dist/formik.esm.js";const o=({transformedData:o})=>{const{values:n,setFieldValue:m}=t(),{info:r,components:d,tags:p,paths:c}=n,{securitySchemes:h}=d,j=h&&"object"==typeof h&&Object.keys(h).length?Object.keys(h)[0]:null;return e.jsx("div",{children:e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsx("p",{className:s.apiName,children:null==r?void 0:r.title}),e.jsx(l,{label:"API authentication type: ",value:j?h[j].scheme:"-"},"APIAuthenticationType"),e.jsx(l,{label:"Version: ",value:(null==r?void 0:r.version)||"-"},"version"),e.jsx(l,{label:"Description: ",value:(null==r?void 0:r.description)||"-"},"description"),e.jsx(l,{label:"Tags: ",value:p&&p.length?e.jsx(a,{className:s.tagsChips,items:p.map((e=>({id:e.name,label:e.name,disabled:!0})))}):"-"},"tags"),e.jsx(l,{label:"Endpoints "},"endpoints"),n.paths.map(((s,l)=>e.jsx(e.Fragment,{children:s.methods.map(((a,t)=>e.jsx(i,{readOnly:!0,method:a,path:s.path,setFieldValue:(e,s)=>{m(`paths[${l}].methods[${t}].${e}`,s)},handleSave:()=>null})))})))]})})})};export{o as default};
|
|
2
|
+
//# sourceMappingURL=LivePreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport Chips from '../../components/Chips/Chips'\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const { values, setFieldValue } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags, paths } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n return (\r\n <div>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <p className={styles.apiName}>{info?.title}</p>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={!!securityKey ? securitySchemes[securityKey].scheme : '-'}\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description || '-'}\r\n />\r\n\r\n <SimpleLabelValue\r\n key={'tags'}\r\n label={'Tags: '}\r\n value={\r\n tags && tags.length ? (\r\n <Chips\r\n className={styles.tagsChips}\r\n items={tags.map((t) => ({\r\n id: t.name,\r\n label: t.name,\r\n disabled: true,\r\n }))}\r\n />\r\n ) : (\r\n '-'\r\n )\r\n }\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods.map((method, methodIndex) => (\r\n <MethodsAccordion\r\n readOnly\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n setFieldValue(h, value)\r\n }}\r\n handleSave={()=>null}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","values","setFieldValue","useFormikContext","info","components","tags","paths","securitySchemes","securityKey","Object","keys","length","_jsx","children","jsx","className","_jsxs","styles","apiName","title","SimpleLabelValue","label","value","scheme","version","description","Chips","tagsChips","items","map","t","id","name","disabled","path","pathIndex","_Fragment","methods","method","methodIndex","MethodsAccordion","readOnly","key","handleSave"],"mappings":"iUAYA,MAAMA,EAA0C,EAAGC,sBACjD,MAAMC,OAAEA,EAAMC,cAAEA,GAAkBC,KAC5BC,KAAEA,EAAIC,WAAEA,EAAUC,KAAEA,EAAIC,MAAEA,GAAUN,GACpCO,gBAAEA,GAAoBH,EACtBI,EACJD,GAA6C,iBAAnBA,GAA+BE,OAAOC,KAAKH,GAAiBI,OAClFF,OAAOC,KAAKH,GAAiB,GAC7B,KACN,OACEK,MAAA,MAAA,CAAAC,SACED,EAAKE,IAAA,MAAA,CAAAC,UAAU,MAAKF,SAClBG,OAAK,MAAA,CAAAD,UAAU,YACbF,SAAA,CAAAD,MAAA,IAAA,CAAGG,UAAWE,EAAOC,QAAUL,SAAAV,eAAAA,EAAMgB,QACrCP,MAACQ,EAAgB,CAEfC,MAAO,4BACPC,MAASd,EAAcD,EAAgBC,GAAae,OAAS,KAFxD,yBAIPX,MAACQ,EAAiC,CAAAC,MAAO,YAAaC,OAAOnB,aAAA,EAAAA,EAAMqB,UAAW,KAAvD,WACvBZ,MAACQ,EAAgB,CAEfC,MAAO,gBACPC,OAAOnB,aAAI,EAAJA,EAAMsB,cAAe,KAFvB,eAKPb,MAACQ,EAAgB,CAEfC,MAAO,SACPC,MACEjB,GAAQA,EAAKM,OACXC,MAACc,EAAK,CACJX,UAAWE,EAAOU,UAClBC,MAAOvB,EAAKwB,KAAKC,IAAO,CACtBC,GAAID,EAAEE,KACNX,MAAOS,EAAEE,KACTC,UAAU,QAEZ,KAXD,QAkBPrB,EAAAA,IAACQ,EAAmC,CAAAC,MAAO,cAApB,aACtBrB,EAAOM,MAAMuB,KAAI,CAACK,EAAMC,IACvBvB,MACGwB,EAAAA,SAAA,CAAAvB,SAAAqB,EAAKG,QAAQR,KAAI,CAACS,EAAQC,IACzB3B,MAAC4B,EACC,CAAAC,UACA,EAAAH,OAAQA,EACRJ,KAAMA,EAAKA,KACXjC,cAAe,CAACyC,EAAKpB,KAEnBrB,EADU,SAASkC,cAAsBI,MAAgBG,IACxCpB,EAAM,EAEzBqB,WAAY,IAAI,mBAQ/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LivePreview.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as r}from"react";import{d as o}from"../../../_virtual/index.js";import t from"../SVGLoader/SVGLoader.js";import n from"../../assets/icons/DownArrow.svg.js";import i from"../../assets/icons/CheckMarkSquare.svg.js";import a from"../../assets/icons/DeleteIcon.svg.js";import l from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as c,methodColorMapping as m,paramsTableHeaders as p}from"../../constants/index.js";import u from"../Tooltip/Tooltip.js";import h from"./MethodAccordion.module.scss.js";import v from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as j,capitalize as x}from"../../helpers/methodAccordion.helper.js";import g from"../table/table.js";import y from"../dialog/index.js";const b=c.map((s=>({label:e.jsxs("div",{className:h.statusCodeOptionContainer,children:[e.jsx("div",{className:h.statusCodeOptionCircle,style:{backgroundColor:j(s)}}),e.jsx("span",{children:s})]}),value:s}))),N=({method:c,path:j,setFieldValue:N,readOnly:C,handleSave:f})=>{var A,S,O,q,k,w,D,T;const[B,_]=s({request:!1,response:!1,method:!1}),[I,F]=s(!1),[V,J]=s({}),[L,W]=s([]),[$,E]=s(!1),[z,G]=s(null),[M,P]=s(null),R=(e,s,r)=>{const o=L.map(((o,t)=>t===r?Object.assign(Object.assign({},o),{[e]:s}):o));W(o)},H=s=>s.map(((s,r)=>{var n;return{id:r,paramName:s.name,paramType:x(s.in),schemaType:x(null===(n=s.schema)||void 0===n?void 0:n.type)||"",required:e.jsx(e.Fragment,{children:C?s.required?"True":"False":e.jsx(o.Switch,{checked:s.required,onClick:()=>{if(C)return null;R("required",!s.required,r),N(`parameters[${r}][required]`,!s.required)}})}),description:e.jsxs("div",{className:h.paramDescContainer,children:[e.jsx(u,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>J((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:h.editDescTooltipContent,children:[e.jsx("p",{className:h.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:C,onChange:e=>R("description",e,r)}),!C&&e.jsx(o.Button,{className:h.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;N(`parameters[${r}].description`,s.description),null===(e=V[r])||void 0===e||e.hide()},children:"Apply"})]}),children:C?e.jsxs(o.Button,{className:h.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}):e.jsxs(o.Button,{className:h.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:l,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),!C&&e.jsx("div",{className:h.paramDescContainer_separator}),!C&&e.jsx(o.Button,{className:h.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>Q(r,s.name)})]})}})),[Y,K]=s(),Q=(e,s)=>{G(e),P(s),E(!0)};return r((()=>{K(H(L))}),[L]),r((()=>{(null==c?void 0:c.parameters)&&(K(H(c.parameters)),W(c.parameters))}),[c,j]),e.jsxs("div",{children:[e.jsx(o.Accordion,{expanded:B.method,onChange:()=>_((e=>Object.assign(Object.assign({},e),{method:!e.method}))),className:h.methodAccordion,summary:e.jsxs("div",{className:h.methodSummaryContainer,children:[e.jsxs("div",{className:h.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(A=null==m?void 0:m[null==c?void 0:c.type])||void 0===A?void 0:A.color)||"#3A6CD1"},className:h.methodLabel,children:(null===(S=null==m?void 0:m[null==c?void 0:c.type])||void 0===S?void 0:S.label)||(null==c?void 0:c.type)}),e.jsx("span",{className:h.methodPath,children:j})]}),e.jsx("div",{className:`${h.methodExpandArrowContainer} ${B.method?h.expanded:""}`,children:e.jsx(t,{src:n,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:h.methodAccordionContent,children:[C?e.jsx(v,{label:"Description: ",value:(null==c?void 0:c.description)||"-"},"description"):e.jsx(o.TextArea,{className:h.methodDesc,label:"Description",placeholder:"Describe the endpoint's purpose and functionality...",value:null==c?void 0:c.description,onChange:e=>N("description",e)}),e.jsx("div",{className:h.paramsTable,children:e.jsx(g,{id:"paramter-table",data:Y,headCells:p,isFormOpen:I,setIsFormOpen:F,saveNewRow:e=>{W([...L,e]),N("parameters",[...c.parameters,e])},readOnly:C})}),"get"!==(null==c?void 0:c.type)&&e.jsx(o.Accordion,{expanded:B.request,onChange:()=>null,className:h.requestAccordion,summary:e.jsx("span",{className:h.requestAccordionSummary,children:e.jsxs("div",{className:h.requestAccordionSummary_title,onClick:()=>_((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(t,{className:B.request?h.expanded:"",src:n,width:"2rem",height:"2rem"}),"Request","delete"!==(null==c?void 0:c.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(o.TextArea,{disabled:C,value:(()=>{var e,s,r,o;const t=null===(o=null===(r=null===(s=null===(e=null==c?void 0:c.requestBody)||void 0===e?void 0:e.at(0))||void 0===s?void 0:s.content)||void 0===r?void 0:r.schema)||void 0===o?void 0:o.properties;return"string"!=typeof t?JSON.stringify(t):t})(),onChange:e=>{N("requestBody[0].content.schema.properties",e)},placeholder:"Enter your request body as a JSON object..."})}),e.jsx(o.Accordion,{expanded:B.response,onChange:()=>null,className:h.responseAccordion,summary:e.jsxs("span",{className:h.responseAccordionSummary,children:[e.jsxs("div",{className:h.responseAccordionSummary_title,onClick:()=>_((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(t,{className:B.response?h.expanded:"",src:n,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(o.SelectGroup,{withSearch:!1,isMultiple:!1,placeholder:"200",disabled:!0,options:[{list:b}],value:b[4]})]}),children:e.jsx(o.TextArea,{disabled:C,value:"string"!=typeof(null===(q=null===(O=c.responses)||void 0===O?void 0:O.at(0))||void 0===q?void 0:q.content.schema.properties)?JSON.stringify(null===(w=null===(k=c.responses)||void 0===k?void 0:k.at(0))||void 0===w?void 0:w.content.schema.properties):null===(T=null===(D=c.responses)||void 0===D?void 0:D.at(0))||void 0===T?void 0:T.content.schema.properties,onChange:e=>{let s={content:""};try{s=JSON.parse(e)}catch(e){console.log(e)}N("responses[0].content.schema.properties",s)},placeholder:"Enter your response as a JSON object..."})}),!C&&e.jsx(o.Button,{className:h.methodForm_submitBtn,size:"small",fullWidth:!1,type:"submit",variant:"link",color:"success",onClick:f,startIcon:e.jsx(t,{src:i,width:"1.5rem",height:"1.5rem"}),children:"Save"})]})}),e.jsx(y,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsx("span",{className:"plan-name",children:` Parameter ${M} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==z&&(W((e=>e.filter(((e,s)=>s!==z)))),N("parameters",null===(e=null==c?void 0:c.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==z)))),E(!1),G(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>E(!1),open:$,icon:e.jsx(t,{src:d,width:"4.0625rem",height:"4.0625rem"})})]})};export{N as default};
|
|
2
2
|
//# sourceMappingURL=MethodAccordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Accordion, Button, SelectGroup, Switch, Table, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport { DeleteIcon, DownArrowIcon, EditIcon } from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport styles from './MethodAccordion.module.scss'\r\n\r\nconst data = Array(4).fill({\r\n paramName: 'search',\r\n paramType: 'Query',\r\n schemaType: 'String',\r\n isRequired: <Switch checked />,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Button className={styles.editDescBtn} variant='link' color='action' endIcon={<SVGLoader src={EditIcon} width='1.5rem' height='1.5rem' />}>\r\n Add Description\r\n </Button>\r\n <div className={styles.paramDescContainer_separator}></div>\r\n <Button className={styles.deleteParamBtn} variant='link' color='error' endIcon={<SVGLoader src={DeleteIcon} width='1.125rem' height='1.125rem' />}></Button>\r\n </div>\r\n ),\r\n})\r\n\r\nconst MethodsAccordion = () => {\r\n return (\r\n <div className={styles.methodAccordionContainer}>\r\n <Accordion\r\n className={styles.methodAccordion}\r\n children={<TextArea label='Description' />}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span style={{ backgroundColor: methodColorMapping?.POST?.color ?? '#3A6CD1' }} className={styles.methodLabel}>\r\n {methodColorMapping.POST.label}\r\n </span>\r\n <span className={styles.methodPath}>/auth/login</span>\r\n </div>\r\n <div className={styles.methodExpandArrowContainer}>\r\n <SVGLoader src={DownArrowIcon} width='2rem' height='2rem' />\r\n </div>\r\n </div>\r\n }\r\n />\r\n <div className={styles.paramsTable}>\r\n <Table data={data} headCells={paramsTableHeaders} />\r\n </div>\r\n <Accordion\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n Request<span style={{ color: 'red' }}>*</span>\r\n </span>\r\n }\r\n children={<TextArea />}\r\n />\r\n <Accordion\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n Response<span style={{ color: 'red' }}>*</span>\r\n <SelectGroup\r\n options={[\r\n {\r\n list: httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className='statusCodeOptionContainer'>\r\n <div className='statusCodeOptionCircle'></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n })),\r\n },\r\n ]}\r\n />\r\n </span>\r\n }\r\n children={<TextArea />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["data","Array","fill","paramName","paramType","schemaType","isRequired","_jsx","Switch","checked","description","_jsxs","className","styles","paramDescContainer","children","Button","editDescBtn","variant","color","endIcon","jsx","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","MethodsAccordion","methodAccordionContainer","Accordion","methodAccordion","TextArea","label","summary","methodSummaryContainer","methodSummary","style","backgroundColor","_a","methodColorMapping","POST","_b","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","paramsTable","Table","headCells","paramsTableHeaders","requestAccordion","requestAccordionSummary","responseAccordion","responseAccordionSummary","SelectGroup","options","list","httpStatusCodes","map","code","value"],"mappings":"icAOA,MAAMA,EAAOC,MAAM,GAAGC,KAAK,CACzBC,UAAW,SACXC,UAAW,QACXC,WAAY,SACZC,WAAYC,EAAAA,IAACC,EAAAA,OAAM,CAACC,SAAU,IAC9BC,YACEC,EAAAA,KAAA,MAAA,CAAKC,UAAWC,EAAOC,mBAAkBC,SAAA,CACvCR,MAACS,EAAMA,OAAA,CAACJ,UAAWC,EAAOI,YAAaC,QAAQ,OAAOC,MAAM,SAASC,QAASb,EAAAc,IAACC,EAAU,CAAAC,IAAKC,EAAUC,MAAM,SAASC,OAAO,WAAWX,SAAA,oBAGzIR,EAAAc,IAAA,MAAA,CAAKT,UAAWC,EAAOc,+BACvBpB,EAAAA,IAACS,EAAAA,QAAOJ,UAAWC,EAAOe,eAAgBV,QAAQ,OAAOC,MAAM,QAAQC,QAASb,EAAAA,IAACe,EAAU,CAAAC,IAAKM,EAAYJ,MAAM,WAAWC,OAAO,oBAKpII,EAAmB,aACvB,OACEnB,cAAKC,UAAWC,EAAOkB,mCACrBxB,EAACc,IAAAW,aACCpB,UAAWC,EAAOoB,gBAClBlB,SAAUR,MAAC2B,EAAAA,SAAS,CAAAC,MAAM,gBAC1BC,QACEzB,EAAAA,YAAKC,UAAWC,EAAOwB,uBAAsBtB,SAAA,CAC3CJ,cAAKC,UAAWC,EAAOyB,wBACrB/B,MAAM,OAAA,CAAAgC,MAAO,CAAEC,gBAAgD,kBAA/BC,EAAAC,aAAkB,EAAlBA,EAAoBC,2BAAMxB,aAAK,IAAAyB,EAAAA,EAAI,WAAahC,UAAWC,EAAOgC,YAAW9B,SAC1G2B,EAAmBC,KAAKR,QAE3B5B,cAAMK,UAAWC,EAAOiC,WAA8B/B,SAAA,mBAExDR,EAAAc,IAAA,MAAA,CAAKT,UAAWC,EAAOkC,2BAA0BhC,SAC/CR,MAACe,EAAS,CAACC,IAAKyB,EAAevB,MAAM,OAAOC,OAAO,gBAK3DnB,aAAKK,UAAWC,EAAOoC,qBACrB1C,MAAC2C,EAAAA,MAAM,CAAAlD,KAAMA,EAAMmD,UAAWC,MAEhC7C,EAACc,IAAAW,YACC,CAAApB,UAAWC,EAAOwC,iBAClBjB,QACEzB,OAAA,OAAA,CAAMC,UAAWC,EAAOyC,wBACfvC,SAAA,CAAA,UAAAR,EAAAA,IAAA,OAAA,CAAMgC,MAAO,CAAEpB,MAAO,OAAiBJ,SAAA,SAGlDA,SAAUR,EAAAA,IAAC2B,EAAQA,SAAA,MAErB3B,EAAAA,IAACyB,EAAAA,UACC,CAAApB,UAAWC,EAAO0C,kBAClBnB,QACEzB,EAAAA,aAAMC,UAAWC,EAAO2C,yBACdzC,SAAA,CAAA,WAAAR,EAAAc,IAAA,OAAA,CAAMkB,MAAO,CAAEpB,MAAO,OAAOJ,SAAA,MACrCR,EAACc,IAAAoC,cACC,CAAAC,QAAS,CACP,CACEC,KAAMC,EAAgBC,KAAKC,IAAU,CACnC3B,MACExB,EAAAA,KAAA,MAAA,CAAKC,UAAU,4BACbG,SAAA,CAAAR,EAAAc,IAAA,MAAA,CAAKT,UAAU,2BACfL,EAAAA,qBAAOuD,OAGXC,MAAOD,aAOnB/C,SAAUR,EAAAA,IAAC2B,EAAQA,SAAG,QAG3B"}
|
|
1
|
+
{"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n CheckMarkSquare,\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n deleteOutlinedIcon,\r\n} from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport styles from './MethodAccordion.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n handleSave,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue: (key: string, value: string) => void\r\n readOnly?: boolean\r\n handleSave: (data: any) => unknown\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: capitalize(item.schema?.type) || '',\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => onTableChange('description', value, index)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`parameters[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n // endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {\r\n !readOnly&&\r\n <div className={styles.paramDescContainer_separator}></div>\r\n }\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const [tableRecords, setTableRecords] = useState()\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableRecords(generateTableData(method.parameters))\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isExpanded.method}\r\n onChange={() => setIsExpanded((prev) => ({ ...prev, method: !prev.method }))}\r\n className={styles.methodAccordion}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${\r\n isExpanded.method ? styles.expanded : ''\r\n }`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the endpoint's purpose and functionality...\"\r\n value={method?.description}\r\n onChange={(value) => setFieldValue('description', value)}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <ParamterTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n\r\n {method?.type !== 'get' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <TextArea\r\n disabled={readOnly}\r\n value={(() => {\r\n const requestBody = method?.requestBody?.at(0)?.content?.schema?.properties\r\n\r\n if (typeof requestBody !== 'string') {\r\n return JSON.stringify(requestBody)\r\n } else return requestBody\r\n })()}\r\n onChange={(value) => {\r\n setFieldValue('requestBody[0].content.schema.properties', value)\r\n }}\r\n placeholder=\"Enter your request body as a JSON object...\"\r\n />\r\n }\r\n />\r\n )}\r\n\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n placeholder=\"200\"\r\n disabled={true}\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={httpStatusCodeOptions[4]}\r\n />\r\n </span>\r\n }\r\n children={\r\n <TextArea\r\n disabled={readOnly}\r\n value={\r\n typeof method.responses?.at(0)?.content.schema.properties !== 'string'\r\n ? JSON.stringify(method.responses?.at(0)?.content.schema.properties)\r\n : method.responses?.at(0)?.content.schema.properties\r\n }\r\n onChange={(value) => {\r\n let parsedValue = { content: '' }\r\n try {\r\n parsedValue = JSON.parse(value)\r\n } catch (err) {\r\n console.log(err)\r\n }\r\n setFieldValue('responses[0].content.schema.properties', parsedValue as any)\r\n }}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n />\r\n }\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"small\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"link\"\r\n color=\"success\"\r\n onClick={handleSave}\r\n startIcon={<SVGLoader src={CheckMarkSquare} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n Save\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n />\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">{` Parameter ${selectedParamName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","handleSave","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateTableData","items","id","paramName","name","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","prev","content","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","hide","editDescBtn","color","substring","length","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","tableRecords","setTableRecords","useEffect","parameters","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","_b","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","requestBody","_d","_c","at","properties","JSON","stringify","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","SelectGroup","withSearch","isMultiple","options","list","responses","_f","_e","_g","parsedValue","parse","err","console","log","methodForm_submitBtn","fullWidth","startIcon","CheckMarkSquare","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","filter","_","i","text","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as a}from"../../../_virtual/jsx-runtime.js";const e=({label:e,value:l,color:s,className:r="",dataId:t})=>{var o;const i="string"==typeof e?(null===(o=null==e?void 0:e.toUpperCase())||void 0===o?void 0:o.replaceAll(" ","_"))+"_LABEL_ID":t;return a.jsxs("div",{className:`drawerItemContainer ${r}`,children:[a.jsx("span",{className:"title","data-id":i,children:e}),a.jsx("span",{className:"text "+(s?`color-${s}`:""),children:l})]})};export{e as default};
|
|
2
|
+
//# sourceMappingURL=SimpleLabelValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleLabelValue.js","sources":["../../../../src/components/SimpleLabelValue/SimpleLabelValue.tsx"],"sourcesContent":["import React from 'react'\r\nimport './style.scss'\r\n\r\ntype SimpleLabelValueProps = {\r\n label?: string | JSX.Element\r\n value?: string | number | JSX.Element | JSX.Element[]\r\n color?: string\r\n className?: string\r\n dataId?: string\r\n}\r\n\r\nconst SimpleLabelValue: React.FC<SimpleLabelValueProps> = ({\r\n label,\r\n value,\r\n color,\r\n className = '',\r\n dataId,\r\n}: SimpleLabelValueProps) => {\r\n const dataIdLabel =\r\n typeof label === 'string' ? label?.toUpperCase()?.replaceAll(' ', '_') + '_LABEL_ID' : dataId\r\n return (\r\n <div className={`drawerItemContainer ${className}`}>\r\n <span className=\"title\" data-id={dataIdLabel}>\r\n {label}\r\n </span>\r\n <span className={`text ${color ? `color-${color}` : ''}`}>{value}</span>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SimpleLabelValue\r\n"],"names":["SimpleLabelValue","label","value","color","className","dataId","dataIdLabel","_a","toUpperCase","replaceAll","_jsxs","children","_jsx","jsx"],"mappings":"qDAWA,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,EAAAA,KAAK,MAAA,CAAAN,UAAW,uBAAuBA,IAAWO,SAAA,CAChDC,EAAMC,IAAA,OAAA,CAAAT,UAAU,QAAO,UAAUE,EAC9BK,SAAAV,IAEHW,EAAAA,IAAA,OAAA,CAAMR,UAAW,SAAQD,EAAQ,SAASA,IAAU,IAAIQ,SAAGT,MAE9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e}from"../../../node_modules/tslib/tslib.es6.js";import{j as s}from"../../../_virtual/jsx-runtime.js";import{useState as t,useEffect as o}from"react";import i from"../../../node_modules/@tippyjs/react/dist/tippy-react.esm.js";import"../../../node_modules/tippy.js/dist/tippy.css.js";const a=a=>{var{children:n,content:r,success:d,onMouseEnter:l,onMouseLeave:c,visible:p,delay:m=[200,400],type:u="info",maxWidth:v=390,className:w,arrowWithBorder:j,disabled:b}=a,h=e(a,["children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled"]);const[y,f]=t(16);return o((()=>{const e=e=>{f((s=>s!==e?e:s))};window.applicationUIScaling&&"function"==typeof window.applicationUIScaling.addEventHandler&&window.applicationUIScaling.addEventHandler(e)}),[]),s.jsx(i,Object.assign({visible:p,allowHTML:"string"!=typeof r,interactive:!0,maxWidth:v/16*y,delay:m,content:r,placement:"bottom-start",className:`${d?"success":""} ${u} ${w||""} ${j?"arrow-with-border":""}`,disabled:b},h,{children:s.jsx("div",{className:"tooltip-custom-wrapper",onMouseEnter:l,onMouseLeave:c,children:s.jsx("div",{className:"tooltip-custom-wrapper",onMouseEnter:l,onMouseLeave:c,children:n})})}))};export{a as default};
|
|
2
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, ReactNode } from 'react'\r\nimport Tippy from '@tippyjs/react'\r\nimport 'tippy.js/dist/tippy.css'\r\nimport './Tooltip.scss'\r\n\r\ninterface TooltipProps {\r\n children: ReactNode\r\n content: ReactNode\r\n success?: boolean\r\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\r\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\r\n visible?: boolean\r\n delay?: [number, number]\r\n type?: 'info' | 'function'\r\n maxWidth?: number\r\n className?: string\r\n arrowWithBorder?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst Tooltip: React.FC<TooltipProps> = ({\r\n children,\r\n content,\r\n success,\r\n onMouseEnter,\r\n onMouseLeave,\r\n visible,\r\n delay = [200, 400],\r\n type = 'info',\r\n maxWidth = 390,\r\n className,\r\n arrowWithBorder,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [rootFontSize, setRootFontSize] = useState(16)\r\n\r\n useEffect(() => {\r\n const handleFontSizeChange = (fontSize: number) => {\r\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\r\n }\r\n\r\n if (\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n window.applicationUIScaling &&\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n typeof window.applicationUIScaling.addEventHandler === 'function'\r\n ) {\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\r\n }\r\n }, [])\r\n\r\n return (\r\n <Tippy\r\n visible={visible}\r\n allowHTML={typeof content !== 'string'}\r\n interactive\r\n maxWidth={(maxWidth / 16) * rootFontSize}\r\n delay={delay}\r\n content={content}\r\n placement=\"bottom-start\"\r\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\r\n arrowWithBorder ? 'arrow-with-border' : ''\r\n }`}\r\n disabled={disabled}\r\n {...props}\r\n >\r\n <div\r\n className=\"tooltip-custom-wrapper\"\r\n onMouseEnter={onMouseEnter}\r\n onMouseLeave={onMouseLeave}\r\n >\r\n <div\r\n className=\"tooltip-custom-wrapper\"\r\n onMouseEnter={onMouseEnter}\r\n onMouseLeave={onMouseLeave}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </Tippy>\r\n )\r\n}\r\n\r\nexport default Tooltip\r\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","_jsx","Tippy","Object","assign","allowHTML","interactive","placement"],"mappings":"4SAoBA,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,GAAU,KACR,MAAMC,EAAwBC,IAC5BJ,GAAiBK,GAAUA,IAASD,EAAWA,EAAWC,GAAM,EAKhEC,OAAOC,sBAEgD,mBAAhDD,OAAOC,qBAAqBC,iBAGnCF,OAAOC,qBAAqBC,gBAAgBL,EAC7C,GACA,IAGDM,EAAAA,IAACC,EAAKC,OAAAC,OAAA,CACJtB,QAASA,EACTuB,UAA8B,iBAAZ3B,EAClB4B,aACA,EAAArB,SAAWA,EAAW,GAAMM,EAC5BR,MAAOA,EACPL,QAASA,EACT6B,UAAU,eACVrB,UAAW,GAAGP,EAAU,UAAY,MAAMK,KAAQE,GAAa,MAC7DC,EAAkB,oBAAsB,KAE1CC,SAAUA,GACNC,EAEJ,CAAAZ,SAAAwB,EAAAA,IAAA,MAAA,CACEf,UAAU,yBACVN,aAAcA,EACdC,aAAcA,WAEdoB,EAAAA,IACE,MAAA,CAAAf,UAAU,yBACVN,aAAcA,EACdC,aAAcA,EAAYJ,SAEzBA,QAIR"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as o}from"../../../_virtual/jsx-runtime.js";import{CloseIcon as i,Button as n,Dialog as e,infoIcon as r}from"@digi-frontend/dgate-ui";import s from"../SVGLoader/SVGLoader.js";const t=({status:t="info",content:a,onSubmit:c,onCancel:l,onClose:d,open:m,size:j="xs",icon:h=o.jsx(o.Fragment,{children:o.jsx(s,{src:r,width:"4.0625rem",height:"4.0625rem"})})})=>{const x=()=>{d(),l&&l.onClick&&l.onClick()},g=o.jsxs("div",{className:"common-dialog",children:[h&&o.jsx("div",{className:"confirmation-dialog-header",children:o.jsx("div",{className:`icon ${t}`,children:h})}),o.jsx(s,{src:i,width:"1.5rem",height:"1.5rem",onClick:x,className:"close-icon"}),a,o.jsxs("div",{className:"confirmation-dialog-footer",style:{marginBottom:l||c?"1.5rem":"1rem"},children:[l&&o.jsx(n,Object.assign({},l,{onClick:x,variant:l.variant||"outlined",color:l.color||"normal",children:l.text})),c&&o.jsx(n,Object.assign({},c,{variant:c.variant||"contained",color:c.color||"secondary",children:c.text}))]})]});return o.jsx(e,{open:m,onClose:x,content:g,fullWidth:!1,size:j,id:"common-dialog"})};export{t as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/dialog/index.tsx"],"sourcesContent":["import React from 'react'\r\n// @ts-ignore\r\nimport { Dialog, Button, CloseIcon, infoIcon } from '@digi-frontend/dgate-ui'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport './style.scss'\r\nimport { CommonDialogProps } from './dialog'\r\n\r\nconst CommonDialog = ({\r\n status = 'info',\r\n content,\r\n onSubmit,\r\n onCancel,\r\n onClose,\r\n open,\r\n size = 'xs',\r\n icon = (\r\n <>\r\n <SVGLoader src={infoIcon} width=\"4.0625rem\" height=\"4.0625rem\" />\r\n </>\r\n ),\r\n}: CommonDialogProps) => {\r\n const handleClose = () => {\r\n onClose() // Always close the dialog first\r\n\r\n if (onCancel && onCancel.onClick) {\r\n onCancel.onClick() // If onCancel.onClick is provided, invoke it after closing the dialog\r\n }\r\n }\r\n\r\n const body = (\r\n <div className=\"common-dialog\">\r\n {icon && (\r\n <div className=\"confirmation-dialog-header\">\r\n <div className={`icon ${status}`}>{icon}</div>\r\n </div>\r\n )}\r\n <SVGLoader\r\n src={CloseIcon}\r\n width={'1.5rem'}\r\n height={'1.5rem'}\r\n onClick={handleClose}\r\n className=\"close-icon\"\r\n />\r\n\r\n {content}\r\n <div\r\n className=\"confirmation-dialog-footer\"\r\n style={{ marginBottom: onCancel || onSubmit ? '1.5rem' : '1rem' }}\r\n >\r\n {onCancel && (\r\n <Button\r\n {...onCancel}\r\n onClick={handleClose}\r\n variant={onCancel.variant || 'outlined'}\r\n color={onCancel.color || 'normal'}\r\n >\r\n {onCancel.text}\r\n </Button>\r\n )}\r\n {onSubmit && (\r\n <Button\r\n {...onSubmit}\r\n variant={onSubmit.variant || 'contained'}\r\n color={onSubmit.color || 'secondary'}\r\n >\r\n {onSubmit.text}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n content={body}\r\n fullWidth={false}\r\n size={size}\r\n id=\"common-dialog\"\r\n />\r\n )\r\n}\r\n\r\nexport default CommonDialog\r\n"],"names":["CommonDialog","status","content","onSubmit","onCancel","onClose","open","size","icon","_jsx","jsx","SVGLoader","src","infoIcon","width","height","handleClose","onClick","body","_jsxs","className","children","CloseIcon","jsxs","style","marginBottom","Button","Object","assign","variant","color","text","Dialog","fullWidth","id"],"mappings":"wLAOM,MAAAA,EAAe,EACnBC,SAAS,OACTC,UACAC,WACAC,WACAC,UACAC,OACAC,OAAO,KACPC,OACEC,2BACEA,EAACC,IAAAC,GAAUC,IAAKC,EAAUC,MAAM,YAAYC,OAAO,oBAIvD,MAAMC,EAAc,KAClBX,IAEID,GAAYA,EAASa,SACvBb,EAASa,SACV,EAGGC,EACJC,EAAAA,KAAA,MAAA,CAAKC,UAAU,gBACZC,SAAA,CAAAb,GACCC,EAAKC,IAAA,MAAA,CAAAU,UAAU,6BAA4BC,SACzCZ,EAAAA,IAAK,MAAA,CAAAW,UAAW,QAAQnB,aAAWO,MAGvCC,MAACE,EAAS,CACRC,IAAKU,EACLR,MAAO,SACPC,OAAQ,SACRE,QAASD,EACTI,UAAU,eAGXlB,EACDiB,EACEI,KAAA,MAAA,CAAAH,UAAU,6BACVI,MAAO,CAAEC,aAAcrB,GAAYD,EAAW,SAAW,QAAQkB,SAAA,CAEhEjB,GACCK,MAACiB,EACKC,OAAAC,OAAA,CAAA,EAAAxB,EACJ,CAAAa,QAASD,EACTa,QAASzB,EAASyB,SAAW,WAC7BC,MAAO1B,EAAS0B,OAAS,SAAQT,SAEhCjB,EAAS2B,QAGb5B,GACCM,MAACiB,EAAMC,OAAAC,OAAA,GACDzB,EAAQ,CACZ0B,QAAS1B,EAAS0B,SAAW,YAC7BC,MAAO3B,EAAS2B,OAAS,YAAWT,SAEnClB,EAAS4B,cAOpB,OACEtB,EAAAA,IAACuB,EAAM,CACL1B,KAAMA,EACND,QAASW,EACTd,QAASgB,EACTe,WAAW,EACX1B,KAAMA,EACN2B,GAAG,iBAEN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as r}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import s from"../SVGLoader/SVGLoader.js";import t from"../../assets/icons/DeleteIcon.svg.js";import l from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as o}from"../../../node_modules/formik/dist/formik.esm.js";import{object as c,string as m,bool as h}from"../../../node_modules/yup/index.esm.js";import{capitalize as u}from"../../helpers/methodAccordion.helper.js";const p=({id:p,headCells:j,data:v,isFormOpen:b,setIsFormOpen:x,saveNewRow:N,readOnly:C})=>{const[y,g]=a(""),[w,T]=a(null),{values:D,errors:I,setFieldValue:S,isValid:f,submitForm:_,resetForm:B}=o({initialValues:{name:"",in:"Query",schema:{type:"String"},required:!0,description:""},validationSchema:c().shape({name:m().required("Parameter name is required"),in:m().required("Paramter type is required"),schema:c().shape({type:m().required("Parameter schema type is required")}),required:h().optional(),description:m().optional()}),onSubmit:e=>{N(e),x(!1),g(""),B()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==j?void 0:j.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==v?void 0:v.map(((a,r)=>e.jsx("tr",{"data-i":r,className:"row",children:null==j?void 0:j.map((r=>{const i="_"!==a[r.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:r.width,minWidth:r.minWidth},children:a[r.id]});return e.jsx("td",{style:{width:r.width,minWidth:r.minWidth},children:i},r.id)}))},r))),b?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(r.Input,{placeholder:"paramter name",size:"large",type:"text",onChange:e=>{S("name",e)},value:D.name,disabled:C})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(r.SelectGroup,{disabled:C,value:{label:u(D.in),value:u(D.in)},onChange:e=>{var a;return S("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"},{label:"Body",value:"body"}]}],errorMsg:!!I.in&&I.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(r.SelectGroup,{disabled:C,value:{label:u(D.schema.type),value:u(D.schema.type)},errorMsg:!!I.schema&&I.schema,onChange:e=>{var a;return S("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase())},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," "]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:C?e.jsx(e.Fragment,{children:D.required?"True":"False"}):e.jsx(r.Switch,{checked:D.required,onClick:()=>{C||S("required",!D.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:n.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>T(e),content:e.jsxs("div",{className:n.editDescTooltipContent,children:[e.jsx("p",{className:n.editDescTooltipContent_header,children:"Description"}),e.jsx(r.TextArea,{value:y||D.description,onChange:e=>{g(e)},disabled:C,placeholder:"Describe parameter..."}),!C&&e.jsx(r.Button,{className:n.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{S("description",y),null==w||w.hide()},children:"Apply"})]}),children:e.jsxs(r.Button,{className:n.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(s,{src:l,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),e.jsx("div",{className:n.paramDescContainer_separator}),!C&&e.jsx(r.Button,{className:n.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(s,{src:t,width:"1.125rem",height:"1.125rem"}),onClick:()=>{B(),g(""),x(!1)}}),!C&&e.jsx(r.Button,{className:n.deleteParamBtn,variant:"link",color:"success",disabled:!f,endIcon:e.jsx(s,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{g(""),_()}})]})," "]})},"parameter schema desc")]},""):e.jsx(e.Fragment,{children:!C&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(r.Button,{variant:"link",color:"primary",onClick:()=>{x((e=>!e))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{p as default};
|
|
2
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\nimport { capitalize } from '../../helpers/methodAccordion.helper'\r\n\r\nconst ParamterTable = ({\r\n id,\r\n headCells,\r\n data,\r\n isFormOpen,\r\n setIsFormOpen,\r\n saveNewRow,\r\n readOnly,\r\n}) => {\r\n const [text, setText] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n in: 'Query',\r\n schema: {\r\n type: 'String',\r\n },\r\n required: true,\r\n description: '',\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Parameter name is required'),\r\n in: yup.string().required('Paramter type is required'),\r\n schema: yup.object().shape({\r\n type: yup.string().required('Parameter schema type is required'),\r\n }),\r\n required: yup.boolean().optional(),\r\n description: yup.string().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setIsFormOpen(false)\r\n setText('')\r\n resetForm()\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'Parameter name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"paramter name\"\r\n size=\"large\"\r\n type=\"text\"\r\n // errorMsg={!!errors.name && errors.name}\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter in'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroup\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.in),\r\n value: capitalize(values.in),\r\n }}\r\n onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'Query', value: 'query' },\r\n { label: 'Header', value: 'header' },\r\n { label: 'Path', value: 'path' },\r\n { label: 'Body', value: 'body' },\r\n ],\r\n },\r\n ]}\r\n errorMsg={!!errors.in && errors.in}\r\n isMultiple={false}\r\n withSearch={false}\r\n clearable={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema type'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroup\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.schema.type),\r\n value: capitalize(values.schema.type),\r\n }}\r\n errorMsg={!!errors.schema && errors.schema}\r\n onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'String', value: 'string' },\r\n { label: 'Integer', value: 'integer' },\r\n { label: 'Boolean', value: 'boolean' },\r\n { label: 'Object', value: 'object' },\r\n { label: 'Array', value: 'array' },\r\n { label: 'Number', value: 'number' },\r\n ],\r\n },\r\n ]}\r\n isMultiple={false}\r\n withSearch={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter required'}>\r\n <div data-id=\"is required\" className=\"tableData\">\r\n {\r\n readOnly ?\r\n <>{values.required ? 'True': 'False'}</>\r\n :\r\n <Switch\r\n checked={values.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return\r\n }\r\n setFieldValue('required', !values.required)\r\n }}\r\n />\r\n }\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema desc'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setTooltipRef(instance)}\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe parameter...\"\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n\r\n <div className={styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>{' '}\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Parameter\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ParamterTable\r\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","tooltipRef","setTooltipRef","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","in","schema","type","required","description","validationSchema","yup.object","shape","yup.string","yup.boolean","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","onChange","value","disabled","SelectGroup","capitalize","item","_a","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_Fragment","Fragment","Switch","checked","onClick","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","hide","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","colSpan","prev"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e={
|
|
1
|
+
const e={get:{label:"Get",color:"#3A6CD1"},post:{label:"Post",color:"#3AAA35"},put:{label:"Put",color:"#FAAD14"},delete:{label:"Delete",color:"#DA3F3F"},PATCH:{label:"Patch",color:"#FAAD14"},OPTIONS:{label:"Options",color:"#FAAD14"},TRACE:{label:"Trace",color:"#FAAD14"},HEAD:{label:"Head",color:"#FAAD14"}},l=[{id:"paramName",label:"Parameter Name",sortable:!1,required:!0,classes:"requiredParam"},{id:"paramType",label:"In",sortable:!1,classes:"requiredParam"},{id:"schemaType",label:"Schema-Type",sortable:!1,classes:"requiredParam"},{id:"required",label:"Required",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1}],a=[100,101,102,103,200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451,500,501,502,503,504,505,506,507,508,510,511];export{a as httpStatusCodes,e as methodColorMapping,l as paramsTableHeaders};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/constants/index.ts"],"sourcesContent":["export const methodColorMapping = {\r\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/constants/index.ts"],"sourcesContent":["export const methodColorMapping = {\r\n get: {\r\n label: 'Get',\r\n color: '#3A6CD1',\r\n },\r\n post: {\r\n label: 'Post',\r\n color: '#3AAA35',\r\n },\r\n put: {\r\n label: 'Put',\r\n color: '#FAAD14',\r\n },\r\n delete: {\r\n label: 'Delete',\r\n color: '#DA3F3F',\r\n },\r\n PATCH: {\r\n label: 'Patch',\r\n color: '#FAAD14',\r\n },\r\n OPTIONS: {\r\n label: 'Options',\r\n color: '#FAAD14',\r\n },\r\n TRACE: {\r\n label: 'Trace',\r\n color: '#FAAD14',\r\n },\r\n HEAD: {\r\n label: 'Head',\r\n color: '#FAAD14',\r\n },\r\n}\r\n\r\nexport const paramsTableHeaders = [\r\n {\r\n id: 'paramName',\r\n label: 'Parameter Name',\r\n sortable: false,\r\n required: true,\r\n classes: 'requiredParam',\r\n },\r\n { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },\r\n { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },\r\n { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },\r\n { id: 'description', label: 'Description', sortable: false },\r\n]\r\n\r\nexport const httpStatusCodes = [\r\n // 1xx: Informational responses\r\n 100, 101, 102, 103,\r\n\r\n // 2xx: Success\r\n 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,\r\n\r\n // 3xx: Redirection\r\n 300, 301, 302, 303, 304, 305, 306, 307, 308,\r\n\r\n // 4xx: Client errors\r\n 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,\r\n 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,\r\n\r\n // 5xx: Server errors\r\n 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,\r\n]\r\n"],"names":["methodColorMapping","get","label","color","post","put","delete","PATCH","OPTIONS","TRACE","HEAD","paramsTableHeaders","id","sortable","required","classes","httpStatusCodes"],"mappings":"AAAa,MAAAA,EAAqB,CAChCC,IAAK,CACHC,MAAO,MACPC,MAAO,WAETC,KAAM,CACJF,MAAO,OACPC,MAAO,WAETE,IAAK,CACHH,MAAO,MACPC,MAAO,WAETG,OAAQ,CACNJ,MAAO,SACPC,MAAO,WAETI,MAAO,CACLL,MAAO,QACPC,MAAO,WAETK,QAAS,CACPN,MAAO,UACPC,MAAO,WAETM,MAAO,CACLP,MAAO,QACPC,MAAO,WAETO,KAAM,CACJR,MAAO,OACPC,MAAO,YAIEQ,EAAqB,CAChC,CACEC,GAAI,YACJV,MAAO,iBACPW,UAAU,EACVC,UAAU,EACVC,QAAS,iBAEX,CAAEH,GAAI,YAAaV,MAAO,KAAMW,UAAU,EAAOE,QAAS,iBAC1D,CAAEH,GAAI,aAAcV,MAAO,cAAeW,UAAU,EAAOE,QAAS,iBACpE,CAAEH,GAAI,WAAYV,MAAO,WAAYW,UAAU,EAAOE,QAAS,iBAC/D,CAAEH,GAAI,cAAeV,MAAO,cAAeW,UAAU,IAG1CG,EAAkB,CAE7B,IAAK,IAAK,IAAK,IAGf,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAGxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1F,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const t=e=>{var t,s,o,c;if(e.components&&e.components.securitySchemes){const n=Object.keys(e.components.securitySchemes);n&&n.length&&(e.components.securitySchemes[n[0]].type=null===(c=null===(o=null===(s=null===(t=null==e?void 0:e.components)||void 0===t?void 0:t.securitySchemes)||void 0===s?void 0:s[n[0]])||void 0===o?void 0:o.type)||void 0===c?void 0:c.toUpperCase())}return Object.assign(Object.assign({},e),{paths:n(e.paths)})},s=e=>{var t,s,n,c;const i=Object.assign(Object.assign({},e),{paths:o(e.paths)});if(i.components&&i.components.securitySchemes){const e=Object.keys(i.components.securitySchemes);e&&e.length&&(i.components.securitySchemes[e[0]].type.toLowerCase()=="APIKEY".toLowerCase()&&(i.components.securitySchemes[e[0]].in=i.components.securitySchemes[e[0]].in.toUpperCase()),i.components.securitySchemes[e[0]].type=null===(c=null===(n=null===(s=null===(t=null==i?void 0:i.components)||void 0===t?void 0:t.securitySchemes)||void 0===s?void 0:s[e[0]])||void 0===n?void 0:n.type)||void 0===c?void 0:c.toUpperCase())}return i},n=e=>Object.entries(e).map((([e,t])=>({path:e,methods:Object.entries(t).map((([e,t])=>{const s=Object.assign(Object.assign({},t),{type:e,tags:t.tags,responses:Object.entries(t.responses).map((([e,t])=>{var s,n;const o=Object.keys(t.content||{})[0];return{code:e,content:{contentType:o,schema:null===(n=null===(s=t.content)||void 0===s?void 0:s[o])||void 0===n?void 0:n.schema}}}))});return"get"!=e.toLowerCase()&&(s.requestBody=t.requestBody?Object.entries(t.responses).map((([e,t])=>{var s,n;const o=Object.keys(t.content||{})[0];return{content:{contentType:o,schema:null===(n=null===(s=t.content)||void 0===s?void 0:s[o])||void 0===n?void 0:n.schema}}})):{}),s}))}))),o=t=>t.reduce(((t,{path:s,methods:n})=>(t[s]=n.reduce(((t,s)=>{var{type:n,tags:o,responses:c,requestBody:i}=s,r=e(s,["type","tags","responses","requestBody"]);return t[n]=Object.assign(Object.assign({},r),{tags:o,responses:c.reduce(((e,{code:t,content:s})=>(e[t]={description:"Success",content:s.contentType?{[s.contentType]:{schema:s.schema}}:{}},e)),{})}),"get"!==n&&(null==i?void 0:i.length)>0&&(t[n].requestBody={content:{[i[0].content.contentType]:{schema:Object.assign(Object.assign({},i[0].content.schema),{properties:"string"==typeof i[0].content.schema.properties?JSON.parse(i[0].content.schema.properties):i[0].content.schema.properties})}}}),t}),{}),t)),{});export{t as transformOpenApiObject,s as transformOpenApiObjectToOrigin,o as transformPathsArrayToOrigin,n as transformPathsToArray};
|
|
2
|
+
//# sourceMappingURL=layout.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)\r\n if (authKey && authKey.length) {\r\n openApiJson.components.securitySchemes[authKey[0]].type =\r\n openApiJson?.components?.securitySchemes?.[authKey[0]]?.type?.toUpperCase()\r\n }\r\n }\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)\r\n if (authKey && authKey.length) {\r\n if (\r\n object.components.securitySchemes[authKey[0]].type.toLowerCase() == 'APIKEY'.toLowerCase()\r\n ) {\r\n object.components.securitySchemes[authKey[0]].in =\r\n object.components.securitySchemes[authKey[0]].in.toUpperCase()\r\n }\r\n object.components.securitySchemes[authKey[0]].type =\r\n object?.components?.securitySchemes?.[authKey[0]]?.type?.toUpperCase()\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags,\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: codeProps.content?.[contentType]?.schema,\r\n },\r\n }\r\n }),\r\n }\r\n if (method.toLowerCase() != 'get') {\r\n obj['requestBody'] = methodProps.requestBody\r\n ? Object.entries(methodProps.responses).map(([_, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n content: {\r\n contentType,\r\n schema: codeProps.content?.[contentType]?.schema,\r\n },\r\n }\r\n })\r\n : {}\r\n }\r\n return obj\r\n }),\r\n }))\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? { [content.contentType]: { schema: content.schema } }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get' && requestBody?.length > 0) {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody[0].content.contentType]: {\r\n schema: {\r\n ...requestBody[0].content.schema,\r\n properties:\r\n typeof requestBody[0].content.schema.properties === 'string'\r\n ? JSON.parse(requestBody[0].content.schema.properties)\r\n : requestBody[0].content.schema.properties,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","Object","keys","length","type","_d","_c","_a","_b","toUpperCase","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","tags","responses","code","codeProps","contentType","content","schema","requestBody","_","reduce","acc","methodAcc","rest","__rest","respAcc","description","properties","JSON","parse"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodAccordion.helper.js","sources":["../../../src/helpers/methodAccordion.helper.ts"],"sourcesContent":["export const handleStatusColor = (code: number): string => {\r\n if (code >= 200 && code < 300) {\r\n return 'green' // 2xx codes\r\n } else if (code >= 400 && code < 500) {\r\n return 'red' // 4xx codes\r\n } else if (code >= 500 && code < 600) {\r\n return 'red' // 5xx codes\r\n } else if (code >= 100 && code < 200) {\r\n return 'blue' // 1xx codes (Informational)\r\n } else if (code >= 300 && code < 400) {\r\n return 'orange' // 3xx codes (Redirection)\r\n } else {\r\n return 'gray' // Default or invalid status codes\r\n }\r\n}\r\n\r\nexport const capitalize = (str)=> {\r\n if (!str) return \"\";\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}"],"names":["handleStatusColor","code","capitalize","str","charAt","toUpperCase","slice"],"mappings":"AAAa,MAAAA,EAAqBC,GAC5BA,GAAQ,KAAOA,EAAO,IACjB,QACEA,GAAQ,KAAOA,EAAO,KAEtBA,GAAQ,KAAOA,EAAO,IADxB,MAGEA,GAAQ,KAAOA,EAAO,IACxB,OACEA,GAAQ,KAAOA,EAAO,IACxB,SAEA,OAIGC,EAAcC,GACrBA,EACEA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIG,MAAM,GAD9B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as e}from"../../_virtual/jsx-runtime.js";import{d as o}from"../../_virtual/index.js";import s from"../components/MethodAccordion/MethodAccordion.js";import i from"./layout.module.css.js";import a from"../components/InfoForm/InfoForm.js";import t from"../components/SectionHead/SectionHead.js";import{transformOpenApiObject as r,transformOpenApiObjectToOrigin as d}from"../helpers/layout.helper.js";import n from"../components/LivePreview/LivePreview.js";import{useFormik as m,FormikProvider as l}from"../../node_modules/formik/dist/formik.esm.js";import{schemaValidation as c}from"../validator/form.scheme.js";const p=({openApiJson:p,handleSave:h})=>{const u=r(p),j=m({initialValues:structuredClone(u),validationSchema:c,validateOnMount:!0,onSubmit:(e,{validateForm:o})=>{h(d(e)),o(e)}});return e.jsxs("div",{className:i.docsLayout,children:[e.jsx(o.Alert,{className:i.apiDocAlert,color:"info",children:"Changes are saved and published for API information and each endpoint individually as you update."}),e.jsxs("div",{className:i.layoutContainer,children:[e.jsxs("div",{className:`${i.editorSide} ${i.docSide}`,children:[e.jsx(t,{className:i.editorSectionHead,text:"API Information"}),e.jsx(l,{value:j,children:e.jsx(a,{})}),e.jsx(t,{className:i.editorSectionHead,text:"API Methods"}),e.jsx(l,{value:j,children:j.values.paths.map(((o,i)=>e.jsx(e.Fragment,{children:o.methods.map(((a,t)=>e.jsx(s,{method:a,path:o.path,setFieldValue:(e,o)=>{const s=`paths[${i}].methods[${t}].${e}`;j.setFieldValue(s,o)},handleSave:j.submitForm})))})))})]}),e.jsx("div",{className:`${i.livePreviewSide} ${i.docSide}`,children:u&&e.jsx(l,{value:j,children:e.jsx(n,{transformedData:u})})})]})]})};export{p as default};
|
|
2
2
|
//# sourceMappingURL=layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX } from 'react'\r\nimport { Alert } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport * as Yup from 'yup'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave }: ILayoutProps): JSX.Element => {\r\n const transformedOpenApi = transformOpenApiObject(openApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm }) => {\r\n // Handle save logic\r\n handleSave(transformOpenApiObjectToOrigin(values))\r\n validateForm(values)\r\n },\r\n })\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n <Alert className={styles.apiDocAlert} color=\"info\">\r\n Changes are saved and published for API information and each endpoint individually as you\r\n update.\r\n </Alert>\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead className={styles.editorSectionHead} text=\"API Information\" />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"API Methods\" />\r\n <FormikProvider value={formik}>\r\n {formik.values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods.map((method, methodIndex) => (\r\n <MethodsAccordion\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n formik.setFieldValue(h, value)\r\n }}\r\n handleSave={formik.submitForm}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["Layout","openApiJson","handleSave","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","structuredClone","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","transformOpenApiObjectToOrigin","_jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","layoutContainer","jsxs","editorSide","docSide","jsx","SectionHead","editorSectionHead","text","FormikProvider","value","InfoForm","paths","map","path","pathIndex","_Fragment","Fragment","methods","method","methodIndex","MethodsAccordion","setFieldValue","key","h","submitForm","livePreviewSide","LivePreview","transformedData"],"mappings":"2mBAkBM,MAAAA,EAAS,EAAGC,cAAaC,iBAC7B,MAAMC,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeC,gBAAgBL,GAC/BM,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,mBAEnBZ,EAAWa,EAA+BF,IAC1CC,EAAaD,EAAO,IAIxB,OACEG,OAAA,MAAA,CAAKC,UAAWC,EAAOC,WACrBC,SAAA,CAAAC,EAAAA,IAACC,EAAKA,MAAA,CAACL,UAAWC,EAAOK,YAAaC,MAAM,OAGpCJ,SAAA,sGACRJ,EAAAA,YAAKC,UAAWC,EAAOO,gBAAeL,SAAA,CACpCJ,EAAKU,KAAA,MAAA,CAAAT,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,UAC7CR,SAAA,CAAAC,EAAAQ,IAACC,EAAW,CAACb,UAAWC,EAAOa,kBAAmBC,KAAK,oBACvDX,EAACQ,IAAAI,GAAeC,MAAO7B,EAAMe,SAC3BC,EAACQ,IAAAM,EAAW,CAAA,KAEdd,EAACQ,IAAAC,EAAY,CAAAb,UAAWC,EAAOa,kBAAmBC,KAAK,gBACvDX,MAACY,EAAc,CAACC,MAAO7B,EACpBe,SAAAf,EAAOQ,OAAOuB,MAAMC,KAAI,CAACC,EAAMC,IAC9BlB,EAAAA,IAAAmB,EAAAC,SAAA,CAAArB,SACGkB,EAAKI,QAAQL,KAAI,CAACM,EAAQC,IACzBvB,EAAAA,IAACwB,EACC,CAAAF,OAAQA,EACRL,KAAMA,EAAKA,KACXQ,cAAe,CAACC,EAAKb,KACnB,MAAMc,EAAI,SAAST,cAAsBK,MAAgBG,IACzD1C,EAAOyC,cAAcE,EAAGd,EAAM,EAEhChC,WAAYG,EAAO4C,wBAO/B5B,MAAA,MAAA,CAAKJ,UAAW,GAAGC,EAAOgC,mBAAmBhC,EAAOU,UAASR,SAC1DjB,GACCkB,MAACY,EAAe,CAAAC,MAAO7B,EACrBe,SAAAC,EAAAQ,IAACsB,EAAY,CAAAC,gBAAiBjD,aAMzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"../../node_modules/style-inject/dist/style-inject.es.js";var e={docsLayout:"layout-module_docsLayout__vDeK7",apiDocAlert:"layout-module_apiDocAlert__cSDp2",layoutContainer:"layout-module_layoutContainer__qBWib",editorSide:"layout-module_editorSide__hWc6O",livePreviewSide:"layout-module_livePreviewSide__Q5HsZ",docSide:"layout-module_docSide__qLt4E"};o(".layout-module_docsLayout__vDeK7{display:flex;flex-direction:column;height:100vh;max-height:100%;overflow:hidden;.layout-module_apiDocAlert__cSDp2{border-radius:0}.layout-module_layoutContainer__qBWib{display:grid;grid-template-columns:60% 40%;height:100%;max-height:100%;max-width:100%;overflow:hidden;width:100%;.layout-module_editorSide__hWc6O{background-color:#fff}.layout-module_livePreviewSide__Q5HsZ{background-color:#f8f9fb;padding:1.875rem}.layout-module_docSide__qLt4E{max-height:100%;overflow-x:clip;overflow-y:overlay;scroll-behavior:smooth}}}");export{e as default};
|
|
1
|
+
import o from"../../node_modules/style-inject/dist/style-inject.es.js";var e={docsLayout:"layout-module_docsLayout__vDeK7",apiDocAlert:"layout-module_apiDocAlert__cSDp2",layoutContainer:"layout-module_layoutContainer__qBWib",editorSide:"layout-module_editorSide__hWc6O",livePreviewSide:"layout-module_livePreviewSide__Q5HsZ",docSide:"layout-module_docSide__qLt4E"};o(".layout-module_docsLayout__vDeK7{display:flex;flex-direction:column;height:100vh;max-height:100%;overflow:hidden;.layout-module_apiDocAlert__cSDp2{border-radius:0}.layout-module_layoutContainer__qBWib{display:grid;grid-template-columns:60% 40%;height:100%;max-height:100%;max-width:100%;overflow:hidden;width:100%;.layout-module_editorSide__hWc6O{background-color:#fff;padding-bottom:1.25rem}.layout-module_livePreviewSide__Q5HsZ{background-color:#f8f9fb;padding:1.875rem}.layout-module_docSide__qLt4E{max-height:100%;overflow-x:clip;overflow-y:overlay;scroll-behavior:smooth}}}");export{e as default};
|
|
2
2
|
//# sourceMappingURL=layout.module.css.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{object as e,string as o,array as i,mixed as r,lazy as t}from"../../node_modules/yup/index.esm.js";const a=e({openapi:o().required(),info:e({title:o().required("API Name is required."),description:o().optional(),version:o().required("API Version is required")}).required(),servers:i(e({url:o().url().required(),description:o().optional()})).optional(),paths:r().required(),components:e({schemas:t((a=>e(a?Object.keys(a).reduce(((a,s)=>(a[s]=e({type:o().optional(),format:o().optional(),properties:t((o=>e(o?Object.keys(o).reduce(((e,o)=>(e[o]=r(),e)),{}):{}))).optional(),items:r().optional(),enum:i(o()).optional(),required:i(o()).optional()}),a)),{}):{}))).optional(),securitySchemes:e().optional()}).optional(),security:i(e().shape({schemeName:i(o()).optional()})).optional(),tags:i(e({name:o().required(),description:o().optional()})).optional()});export{a as schemaValidation};
|
|
2
|
+
//# sourceMappingURL=form.scheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.scheme.js","sources":["../../../src/validator/form.scheme.ts"],"sourcesContent":["import * as yup from \"yup\";\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().required(\"API Name is required.\"),\r\n description: yup.string().optional(),\r\n version: yup.string().required(\"API Version is required\"),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup.string().url().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup.mixed().required(), // Assuming TransformedPathsArray is validated elsewhere\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed();\r\n return acc;\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n });\r\n return acc;\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n});\r\n"],"names":["schemaValidation","yup.object","openapi","yup.string","required","info","yup\n .object","title","description","optional","version","servers","yup\n .array","url","paths","yup.mixed","components","schemas","yup\n .lazy","value","Object","keys","reduce","acc","key","type","format","properties","yup\n .lazy","props","propKey","items","enum","yup.array","securitySchemes","security","shape","schemeName","tags","name"],"mappings":"yGACa,MAAAA,EAAmBC,EAAW,CACzCC,QAASC,IAAaC,WACtBC,KAAMC,EACI,CACNC,MAAOJ,IAAaC,SAAS,yBAC7BI,YAAaL,IAAaM,WAC1BC,QAASP,IAAaC,SAAS,6BAEhCA,WACHO,QAASC,EAELX,EAAW,CACTY,IAAKV,IAAaU,MAAMT,WACxBI,YAAaL,IAAaM,cAG7BA,WACHK,MAAOC,IAAYX,WACnBY,WAAYV,EACF,CACNW,QAASC,GACAC,GACLlB,EACEkB,EACIC,OAAOC,KAAKF,GAAOG,QAAO,CAACC,EAAKC,KAC9BD,EAAIC,GAAOvB,EAAW,CACpBwB,KAAMtB,IAAaM,WACnBiB,OAAQvB,IAAaM,WACrBkB,WAAYC,GACHC,GACL5B,EACE4B,EACIT,OAAOC,KAAKQ,GAAOP,QAAO,CAACC,EAAKO,KAC9BP,EAAIO,GAAWf,IACRQ,IACN,IACH,CAAA,KAGPd,WACHsB,MAAOhB,IAAYN,WACnBuB,KAAMC,EAAU9B,KAAcM,WAC9BL,SAAU6B,EAAU9B,KAAcM,aAE7Bc,IACN,IACH,CAAA,KAGPd,WACHyB,gBAAiBjC,IAAaQ,aAE/BA,WACH0B,SAAUvB,EAENX,IAAamC,MAAM,CACjBC,WAAYJ,EAAU9B,KAAcM,cAGvCA,WACH6B,KAAM1B,EAEFX,EAAW,CACTsC,KAAMpC,IAAaC,WACnBI,YAAaL,IAAaM,cAG7BA"}
|