@digi-frontend/dgate-api-documentation 1.0.7 → 1.0.8

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.
Files changed (35) hide show
  1. package/dist/_virtual/index5.js +1 -1
  2. package/dist/_virtual/index6.js +1 -1
  3. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js +3 -0
  4. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js.map +1 -0
  5. package/dist/node_modules/yup/index.esm.js +1 -1
  6. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  7. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  8. package/dist/src/components/JsonInput/JsonInput.js +2 -0
  9. package/dist/src/components/JsonInput/JsonInput.js.map +1 -0
  10. package/dist/src/components/JsonInput/style.module.scss.js +2 -0
  11. package/dist/src/components/JsonInput/style.module.scss.js.map +1 -0
  12. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  13. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  14. package/dist/src/components/table/table.js +1 -1
  15. package/dist/src/components/table/table.js.map +1 -1
  16. package/dist/src/components/table/tags-table.js +2 -0
  17. package/dist/src/components/table/tags-table.js.map +1 -0
  18. package/dist/src/constants/index.js +1 -1
  19. package/dist/src/constants/index.js.map +1 -1
  20. package/dist/src/helpers/layout.helper.js +1 -1
  21. package/dist/src/helpers/layout.helper.js.map +1 -1
  22. package/dist/src/layout/layout.js +1 -1
  23. package/dist/src/layout/layout.js.map +1 -1
  24. package/dist/src/layout/layout.module.css.js +1 -1
  25. package/dist/styles.css +543 -362
  26. package/dist/types/components/InfoForm/InfoForm.d.ts +3 -1
  27. package/dist/types/components/JsonInput/JsonInput.d.ts +13 -0
  28. package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +1 -2
  29. package/dist/types/components/table/tags-table.d.ts +11 -0
  30. package/dist/types/constants/index.d.ts +18 -4
  31. package/dist/types/layout/layout.d.ts +1 -0
  32. package/dist/types/types/layout.type.d.ts +9 -1
  33. package/dist/types/types/openApi.d.ts +13 -1
  34. package/package.json +2 -2
  35. package/src/components/table/table.tsx +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, 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
+ {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\nimport { capitalize } from '../../helpers/methodAccordion.helper'\r\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 <SelectGroupV2\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.in),\r\n value: capitalize(values.in),\r\n }}\r\n onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'Query', value: 'query' },\r\n { label: 'Header', value: 'header' },\r\n { label: 'Path', value: 'path' },\r\n { label: 'Body', value: 'body' },\r\n ],\r\n },\r\n ]}\r\n errorMsg={!!errors.in && errors.in}\r\n isMultiple={false}\r\n withSearch={false}\r\n clearable={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema type'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n 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","SelectGroupV2","capitalize","item","_a","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","_Fragment","Fragment","Switch","checked","onClick","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","hide","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","colSpan","prev"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as s}from"../../../_virtual/index.js";import a from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import r from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";const p=({id:p,headCells:x,data:u,isFormOpen:j,setIsFormOpen:v,saveNewRow:D,readOnly:N})=>{var b,C,g,T,f,w;const[k,B]=i(""),[_,y]=i(""),[E,I]=i(""),[A,L]=i(null),[O,S]=i(null),{values:W,errors:F,setFieldValue:R,isValid:V,submitForm:P,resetForm:z}=c({initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().required("Tag name is required"),description:h().optional(),externalDocs:m().optional()}),onSubmit:e=>{B(""),y(""),I(""),z(),v(!1),D(e)}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:p||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==x?void 0:x.map((i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==u?void 0:u.map(((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==x?void 0:x.map((t=>{const s="_"!==i[t.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth},children:i[t.id]});return e.jsx("td",{style:{width:t.width,minWidth:t.minWidth},children:s},t.id)}))},t))),j?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(s.Input,{placeholder:"Tag name",size:"large",type:"text",onChange:e=>{R("name",e)},value:W.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>L(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(s.TextArea,{value:k||W.description,onChange:e=>{B(e)},disabled:N,placeholder:"Describe Tag..."}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("description",k),null==A||A.hide()},children:"Apply"})]}),children:e.jsxs(s.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:t.paramDescContainer,children:[e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>S(e),content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(s.TextArea,{placeholder:"Describe External Doc...",value:_||W.externalDocs.description,disabled:N,onChange:e=>y(e)}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(s.TextArea,{placeholder:"External Docs Link...",value:E||W.externalDocs.url,disabled:N,onChange:e=>I(e)}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{R("externalDocs",{description:_,url:E}),y(""),I(""),null==O||O.hide()},children:"Apply"})]}),children:N?e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",onClick:()=>{var e;const i=document.createElement("a");i.href=null===(e=W.externalDocs)||void 0===e?void 0:e.url,i.click()},children:[(null===(b=null==W?void 0:W.externalDocs)||void 0===b?void 0:b.description)?null===(g=null===(C=null==W?void 0:W.externalDocs)||void 0===C?void 0:C.description)||void 0===g?void 0:g.substring(0,12):"-",(null===(T=null==W?void 0:W.externalDocs)||void 0===T?void 0:T.description)&&(null===(w=null===(f=null==W?void 0:W.externalDocs)||void 0===f?void 0:f.description)||void 0===w?void 0:w.length)>12?"...":""]}):e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:o,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:t.paramDescContainer_separator}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{z(),B(""),v(!1)}}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!V,endIcon:e.jsx(n,{src:r,width:"0.125rem",height:"0.125rem"}),onClick:()=>{B(""),P()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(s.Button,{variant:"link",color:"primary",onClick:()=>{v((e=>!e))},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{p as default};
2
+ //# sourceMappingURL=tags-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup.object().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n setText('')\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n saveNewRow(values)\r\n },\r\n })\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setTooltipRef(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe Tag...\"\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue('description', text)\r\n tooltipRef?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) => setExternalTooltipRefs(instance)}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalDesc(value)}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n onChange={(value) => setExternalUrl(value)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={_styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n setExternalDesc('')\r\n setExternalUrl('')\r\n externalTooltipRefs?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n onClick={() => {\r\n const a = document.createElement('a')\r\n a.href = values.externalDocs?.url\r\n a.click()\r\n }}\r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","required","optional","onSubmit","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","onChange","value","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","Button","editDescTooltipContent_btn","variant","onClick","hide","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","a","document","createElement","href","_a","click","_c","_b","substring","_d","_f","_e","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"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"}
@@ -1,2 +1,2 @@
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};
1
+ const e={get:{label:"Get",color:"#3A6CD1",order:1},post:{label:"Post",color:"#3AAA35",order:2},put:{label:"Put",color:"#FAAD14",order:3},delete:{label:"Delete",color:"#DA3F3F",order:4},patch:{label:"Patch",color:"#58E2C2",order:5},options:{label:"Options",color:"#495D97",order:6},trace:{label:"Trace",color:"#FFA28F",order:7},head:{label:"Head",color:"#9461C9",order:8}},r=[{id:"tagName",label:"Tag Name",sortable:!1,classes:"requiredParam"},{id:"description",label:"Description",sortable:!1,classes:"requiredParam"},{id:"externalDocs",label:"External Docs",sortable:!1,classes:"requiredParam"}],a=[{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}],l=[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{l as httpStatusCodes,e as methodColorMapping,a as paramsTableHeaders,r as tagsTableHeaders};
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 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"}
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 order: 1,\r\n },\r\n post: {\r\n label: 'Post',\r\n color: '#3AAA35',\r\n order: 2,\r\n },\r\n put: {\r\n label: 'Put',\r\n color: '#FAAD14',\r\n order: 3,\r\n },\r\n delete: {\r\n label: 'Delete',\r\n color: '#DA3F3F',\r\n order: 4,\r\n },\r\n patch: {\r\n label: 'Patch',\r\n color: '#58E2C2',\r\n order: 5,\r\n },\r\n options: {\r\n label: 'Options',\r\n color: '#495D97',\r\n order: 6,\r\n },\r\n trace: {\r\n label: 'Trace',\r\n color: '#FFA28F',\r\n order: 7,\r\n },\r\n head: {\r\n label: 'Head',\r\n color: '#9461C9',\r\n order: 8,\r\n },\r\n}\r\n\r\nexport const tagsTableHeaders = [\r\n {\r\n id: 'tagName',\r\n label: 'Tag Name',\r\n sortable: false,\r\n classes:'requiredParam'\r\n },\r\n {\r\n id: 'description',\r\n label: 'Description',\r\n sortable: false,\r\n classes:'requiredParam'\r\n },\r\n {\r\n id: 'externalDocs',\r\n label: 'External Docs',\r\n sortable: false,\r\n classes:'requiredParam'\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","order","post","put","delete","patch","options","trace","head","tagsTableHeaders","id","sortable","classes","paramsTableHeaders","required","httpStatusCodes"],"mappings":"AAAa,MAAAA,EAAqB,CAChCC,IAAK,CACHC,MAAO,MACPC,MAAO,UACPC,MAAO,GAETC,KAAM,CACJH,MAAO,OACPC,MAAO,UACPC,MAAO,GAETE,IAAK,CACHJ,MAAO,MACPC,MAAO,UACPC,MAAO,GAETG,OAAQ,CACNL,MAAO,SACPC,MAAO,UACPC,MAAO,GAETI,MAAO,CACLN,MAAO,QACPC,MAAO,UACPC,MAAO,GAETK,QAAS,CACPP,MAAO,UACPC,MAAO,UACPC,MAAO,GAETM,MAAO,CACLR,MAAO,QACPC,MAAO,UACPC,MAAO,GAETO,KAAM,CACJT,MAAO,OACPC,MAAO,UACPC,MAAO,IAIEQ,EAAmB,CAC9B,CACEC,GAAI,UACJX,MAAO,WACPY,UAAU,EACVC,QAAQ,iBAEV,CACEF,GAAI,cACJX,MAAO,cACPY,UAAU,EACVC,QAAQ,iBAEV,CACEF,GAAI,eACJX,MAAO,gBACPY,UAAU,EACVC,QAAQ,kBAICC,EAAqB,CAChC,CACEH,GAAI,YACJX,MAAO,iBACPY,UAAU,EACVG,UAAU,EACVF,QAAS,iBAEX,CAAEF,GAAI,YAAaX,MAAO,KAAMY,UAAU,EAAOC,QAAS,iBAC1D,CAAEF,GAAI,aAAcX,MAAO,cAAeY,UAAU,EAAOC,QAAS,iBACpE,CAAEF,GAAI,WAAYX,MAAO,WAAYY,UAAU,EAAOC,QAAS,iBAC/D,CAAEF,GAAI,cAAeX,MAAO,cAAeY,UAAU,IAG1CI,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"}
@@ -1,2 +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};
1
+ import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const t=e=>{var t,s,n,c,i;if(e.components&&e.components.securitySchemes){const o=null===(t=Object.keys(e.components.securitySchemes))||void 0===t?void 0:t.at(0);o&&(e.components.securitySchemes[o].type=null===(i=null===(c=null===(n=null===(s=null==e?void 0:e.components)||void 0===s?void 0:s.securitySchemes)||void 0===n?void 0:n[o])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return Object.assign(Object.assign({},e),{paths:o(e.paths)})},s=e=>{var t,s,o,c,i;const r=Object.assign(Object.assign({},e),{paths:n(e.paths)});if(r.components&&r.components.securitySchemes){const e=null===(t=Object.keys(r.components.securitySchemes))||void 0===t?void 0:t.at(0);e&&(r.components.securitySchemes[e].type.toLowerCase()=="APIKEY".toLowerCase()&&(r.components.securitySchemes[e].in=r.components.securitySchemes[e].in.toUpperCase()),r.components.securitySchemes[e].type=null===(i=null===(c=null===(o=null===(s=null==r?void 0:r.components)||void 0===s?void 0:s.securitySchemes)||void 0===o?void 0:o[e])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return r},o=e=>Object.entries(e).map((([e,t])=>({path:e,methods:Object.entries(t).map((([e,t])=>{var s,o,n,c,i,r;const p=Object.assign(Object.assign({},t),{type:e,tags:t.tags,responses:Object.entries(t.responses).map((([e,t])=>{var s,o,n,c,i;const r=Object.keys(t.content||{})[0];return{code:e,content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(s=t.content)||void 0===s?void 0:s[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=t.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}}))});if("get"!=e.toLowerCase()){const e=Object.keys((null===(s=null==t?void 0:t.requestBody)||void 0===s?void 0:s.content)||{})[0],d=null===(n=null===(o=null==t?void 0:t.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.schema,l=(null===(r=null===(i=null===(c=null==t?void 0:t.requestBody)||void 0===c?void 0:c.content)||void 0===i?void 0:i.schema)||void 0===r?void 0:r.properties)?{content:{contentType:e,schema:Object.assign(Object.assign({},d),{properties:(null==d?void 0:d.properties)?JSON.stringify(null==d?void 0:d.properties):"{}"})}}:{content:{contentType:"application/json",schema:{properties:"{}",type:"object"}}};p.requestBody=l}return p}))}))),n=t=>t.reduce(((t,{path:s,methods:o})=>(t[s]=o.reduce(((t,s)=>{var{type:o,tags:n,responses:c,requestBody:i}=s,r=e(s,["type","tags","responses","requestBody"]);t[o]=Object.assign(Object.assign({},r),{tags:n,responses:c.reduce(((e,{code:t,content:s})=>{var o;return e[t]={description:"Success",content:s.contentType?{[s.contentType]:{schema:Object.assign(Object.assign({},s.schema),{properties:JSON.parse(null===(o=null==s?void 0:s.schema)||void 0===o?void 0:o.properties)})}}:{}},e}),{})});const p="get"!==o?JSON.parse(i.content.schema.properties):{};return"get"!==o&&(t[o].requestBody={content:{[i.content.contentType]:{schema:Object.assign(Object.assign({},i.content.schema),{properties:p})}}}),t}),{}),t)),{});export{t as transformOpenApiObject,s as transformOpenApiObjectToOrigin,n as transformPathsArrayToOrigin,o as transformPathsToArray};
2
2
  //# sourceMappingURL=layout.helper.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } 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)?.at(0)\r\n\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\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)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\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: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\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 ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\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","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","tags","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","requestBody","reqSchema","requestBodyData","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
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};
1
+ import{j as e}from"../../_virtual/jsx-runtime.js";import{d as o}from"../../_virtual/index.js";import t from"../components/MethodAccordion/MethodAccordion.js";import s from"./layout.module.css.js";import i from"../components/InfoForm/InfoForm.js";import r from"../components/SectionHead/SectionHead.js";import{transformOpenApiObject as a,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";import{methodColorMapping as p}from"../constants/index.js";const u=({openApiJson:u,handleSave:h})=>{const j=structuredClone(u),v=a(j),f=m({initialValues:structuredClone(v),validationSchema:c,validateOnMount:!0,onSubmit:(e,{validateForm:o})=>{const t=d(e);h(t),o(e)}});return e.jsxs("div",{className:s.docsLayout,children:[e.jsx(o.Alert,{className:s.apiDocAlert,color:"info",children:"Changes are saved and published for API information and each endpoint individually as you update."}),e.jsxs("div",{className:s.layoutContainer,children:[e.jsxs("div",{className:`${s.editorSide} ${s.docSide}`,children:[e.jsx(r,{className:s.editorSectionHead,text:e.jsxs("div",{className:s.editorSectionHead_content,children:["API Information",e.jsx(o.Button,{className:s.methodForm_submitBtn,size:"medium",fullWidth:!1,type:"submit",variant:"contained",color:"primary",onClick:f.submitForm,children:"Save"})]})}),e.jsx(l,{value:f,children:e.jsx(i,{})}),e.jsx(r,{className:s.editorSectionHead,text:"API Methods"}),e.jsx(l,{value:f,children:f.values.paths.map(((o,s)=>e.jsx(e.Fragment,{children:o.methods.sort((e=>p[e.type].order+p[e.type].order)).map(((i,r)=>e.jsx(t,{method:i,path:o.path,setFieldValue:(e,o)=>{const t=`paths[${s}].methods[${r}].${e}`;f.setFieldValue(t,o)}})))})))})]}),e.jsx("div",{className:`${s.livePreviewSide} ${s.docSide}`,children:v&&e.jsx(l,{value:f,children:e.jsx(n,{transformedData:v})})})]})]})};export{u as default};
2
2
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX } from 'react'\r\nimport { Alert, Button } 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 { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave }: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\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 const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\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\r\n className={styles.editorSectionHead}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Information\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={formik.submitForm}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\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\r\n .sort(\r\n (method) =>\r\n methodColorMapping[method.type].order + methodColorMapping[method.type].order\r\n )\r\n .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 />\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","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","originalOpenApiForm","transformOpenApiObjectToOrigin","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","jsx","Alert","apiDocAlert","color","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","submitForm","FormikProvider","value","InfoForm","paths","map","path","pathIndex","_Fragment","methods","sort","method","methodColorMapping","order","methodIndex","MethodsAccordion","setFieldValue","key","h","livePreviewSide","LivePreview","transformedData"],"mappings":"sqBAmBM,MAAAA,EAAS,EAAGC,cAAaC,iBAC7B,MAAMC,EAAoBC,gBAAgBH,GACpCI,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeL,gBAAgBC,GAC/BK,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,mBAEnB,MAAMC,EAAsBC,EAA+BH,GAC3DZ,EAAWc,GACXD,EAAaD,EAAO,IAIxB,OACEI,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOC,WACrBC,SAAA,CAAAC,EAAAC,IAACC,EAAKA,MAAC,CAAAN,UAAWC,EAAOM,YAAaC,MAAM,OAAML,SAAA,sGAIlDL,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOQ,0BACrBX,EAAKC,KAAA,MAAA,CAAAC,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,UAASR,SAAA,CACtDC,EAAAA,IAACQ,EAAW,CACVZ,UAAWC,EAAOY,kBAClBC,KACEhB,EAAKC,KAAA,MAAA,CAAAC,UAAWC,EAAOc,0BAAyBZ,SAAA,CAAA,kBAE9CC,MAACY,EAAAA,QACChB,UAAWC,EAAOgB,qBAClBC,KAAK,SACLC,WAAW,EACXC,KAAK,SACLC,QAAQ,YACRb,MAAM,UACNc,QAASnC,EAAOoC,WAGTpB,SAAA,cAIfC,EAAAA,IAACoB,GAAeC,MAAOtC,EAAMgB,SAC3BC,MAACsB,EAAQ,MAEXtB,MAACQ,EAAW,CAACZ,UAAWC,EAAOY,kBAAmBC,KAAK,gBACvDV,MAACoB,EAAc,CAACC,MAAOtC,EACpBgB,SAAAhB,EAAOO,OAAOiC,MAAMC,KAAI,CAACC,EAAMC,IAC9B1B,EAAAA,IACG2B,EAAAA,SAAA,CAAA5B,SAAA0B,EAAKG,QACHC,MACEC,GACCC,EAAmBD,EAAOd,MAAMgB,MAAQD,EAAmBD,EAAOd,MAAMgB,QAE3ER,KAAI,CAACM,EAAQG,IACZjC,EAAAA,IAACkC,EAAgB,CACfJ,OAAQA,EACRL,KAAMA,EAAKA,KACXU,cAAe,CAACC,EAAKf,KACnB,MAAMgB,EAAI,SAASX,cAAsBO,MAAgBG,IACzDrD,EAAOoD,cAAcE,EAAGhB,EAAM,eAQ9CrB,EAAAC,IAAA,MAAA,CAAKL,UAAW,GAAGC,EAAOyC,mBAAmBzC,EAAOU,UAASR,SAC1DlB,GACCmB,MAACoB,EAAc,CAACC,MAAOtC,WACrBiB,EAAAA,IAACuC,GAAYC,gBAAiB3D,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;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};
1
+ import e from"../../node_modules/style-inject/dist/style-inject.es.js";var o={docsLayout:"layout-module_docsLayout__vDeK7",apiDocAlert:"layout-module_apiDocAlert__cSDp2",layoutContainer:"layout-module_layoutContainer__qBWib",editorSide:"layout-module_editorSide__hWc6O",editorSectionHead:"layout-module_editorSectionHead__chDdH",editorSectionHead_content:"layout-module_editorSectionHead_content__DQa6a",livePreviewSide:"layout-module_livePreviewSide__Q5HsZ",docSide:"layout-module_docSide__qLt4E"};e(".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_editorSectionHead__chDdH{span{width:100%}.layout-module_editorSectionHead_content__DQa6a{align-items:center;display:flex;justify-content:space-between;button{width:6.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{o as default};
2
2
  //# sourceMappingURL=layout.module.css.js.map