@digi-frontend/dgate-api-documentation 1.1.12 → 1.3.0

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 (240) hide show
  1. package/.editorconfig +13 -0
  2. package/.prettierignore +8 -0
  3. package/.prettierrc +15 -0
  4. package/dist/_virtual/index4.js +1 -1
  5. package/dist/_virtual/index5.js +1 -1
  6. package/dist/_virtual/index6.js +1 -1
  7. package/dist/_virtual/index7.js +1 -1
  8. package/dist/node_modules/@popperjs/core/lib/createPopper.js +1 -1
  9. package/dist/node_modules/@popperjs/core/lib/createPopper.js.map +1 -1
  10. package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +1 -1
  11. package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -1
  12. package/dist/node_modules/@popperjs/core/lib/enums.js +1 -1
  13. package/dist/node_modules/@popperjs/core/lib/enums.js.map +1 -1
  14. package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +1 -1
  15. package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -1
  16. package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +1 -1
  17. package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -1
  18. package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js +1 -1
  19. package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -1
  20. package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js +1 -1
  21. package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -1
  22. package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js +1 -1
  23. package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -1
  24. package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +1 -1
  25. package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -1
  26. package/dist/node_modules/@popperjs/core/lib/utils/debounce.js +1 -1
  27. package/dist/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -1
  28. package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js +1 -1
  29. package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -1
  30. package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +1 -1
  31. package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -1
  32. package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +1 -1
  33. package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -1
  34. package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +1 -1
  35. package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -1
  36. package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js +1 -1
  37. package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -1
  38. package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js +1 -1
  39. package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -1
  40. package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js +1 -1
  41. package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -1
  42. package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js +1 -1
  43. package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js.map +1 -1
  44. package/dist/node_modules/digitinary-ui/dist/index.js +1 -1
  45. package/dist/node_modules/digitinary-ui/dist/index.js.map +1 -1
  46. package/dist/node_modules/dom-serializer/lib/foreignNames.js +1 -1
  47. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -1
  48. package/dist/node_modules/dom-serializer/lib/index.js +1 -1
  49. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -1
  50. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +1 -1
  51. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -1
  52. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +1 -1
  53. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -1
  54. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +1 -1
  55. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -1
  56. package/dist/node_modules/domhandler/lib/node.js +1 -1
  57. package/dist/node_modules/domhandler/lib/node.js.map +1 -1
  58. package/dist/node_modules/domutils/lib/feeds.js +1 -1
  59. package/dist/node_modules/domutils/lib/feeds.js.map +1 -1
  60. package/dist/node_modules/domutils/lib/helpers.js +1 -1
  61. package/dist/node_modules/domutils/lib/helpers.js.map +1 -1
  62. package/dist/node_modules/domutils/lib/legacy.js +1 -1
  63. package/dist/node_modules/domutils/lib/legacy.js.map +1 -1
  64. package/dist/node_modules/domutils/lib/querying.js +1 -1
  65. package/dist/node_modules/domutils/lib/querying.js.map +1 -1
  66. package/dist/node_modules/domutils/lib/stringify.js +1 -1
  67. package/dist/node_modules/domutils/lib/stringify.js.map +1 -1
  68. package/dist/node_modules/entities/dist/commonjs/decode.js +1 -1
  69. package/dist/node_modules/entities/dist/commonjs/decode.js.map +1 -1
  70. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +1 -1
  71. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -1
  72. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +1 -1
  73. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -1
  74. package/dist/node_modules/formik/dist/formik.esm.js +1 -1
  75. package/dist/node_modules/formik/dist/formik.esm.js.map +1 -1
  76. package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js +1 -1
  77. package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js.map +1 -1
  78. package/dist/node_modules/highlight.js/lib/core.js +1 -1
  79. package/dist/node_modules/highlight.js/lib/core.js.map +1 -1
  80. package/dist/node_modules/highlight.js/lib/languages/json.js +1 -1
  81. package/dist/node_modules/highlight.js/lib/languages/json.js.map +1 -1
  82. package/dist/node_modules/html-react-parser/lib/utilities.js.map +1 -1
  83. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +1 -1
  84. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -1
  85. package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
  86. package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
  87. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js +1 -1
  88. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js.map +1 -1
  89. package/dist/node_modules/lodash-es/_baseClone.js +1 -1
  90. package/dist/node_modules/lodash-es/_baseClone.js.map +1 -1
  91. package/dist/node_modules/lodash-es/_getSymbols.js +1 -1
  92. package/dist/node_modules/lodash-es/_getSymbols.js.map +1 -1
  93. package/dist/node_modules/lodash-es/_memoizeCapped.js +1 -1
  94. package/dist/node_modules/lodash-es/_memoizeCapped.js.map +1 -1
  95. package/dist/node_modules/lodash-es/_stringToPath.js +1 -1
  96. package/dist/node_modules/lodash-es/_stringToPath.js.map +1 -1
  97. package/dist/node_modules/property-expr/index.js +1 -1
  98. package/dist/node_modules/property-expr/index.js.map +1 -1
  99. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +1 -1
  100. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -1
  101. package/dist/node_modules/react-property/lib/index.js +1 -1
  102. package/dist/node_modules/react-property/lib/index.js.map +1 -1
  103. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js +1 -1
  104. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js.map +1 -1
  105. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js +1 -1
  106. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js.map +1 -1
  107. package/dist/node_modules/react-toastify/dist/index.mjs.js +1 -1
  108. package/dist/node_modules/react-toastify/dist/index.mjs.js.map +1 -1
  109. package/dist/node_modules/style-to-js/cjs/index.js +1 -1
  110. package/dist/node_modules/style-to-js/cjs/index.js.map +1 -1
  111. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  112. package/dist/node_modules/style-to-object/cjs/index.js.map +1 -1
  113. package/dist/node_modules/tiny-case/index.js +1 -1
  114. package/dist/node_modules/tiny-case/index.js.map +1 -1
  115. package/dist/node_modules/tippy.js/dist/tippy.esm.js +1 -1
  116. package/dist/node_modules/tippy.js/dist/tippy.esm.js.map +1 -1
  117. package/dist/node_modules/toposort/index.js +1 -1
  118. package/dist/node_modules/toposort/index.js.map +1 -1
  119. package/dist/node_modules/tslib/tslib.es6.js +1 -1
  120. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  121. package/dist/node_modules/yup/index.esm.js +1 -1
  122. package/dist/node_modules/yup/index.esm.js.map +1 -1
  123. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  124. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  125. package/dist/src/components/JsonInput/JsonInput.js +1 -1
  126. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  127. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  128. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  129. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  130. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  131. package/dist/src/components/SVGLoader/SVGLoader.js +1 -1
  132. package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
  133. package/dist/src/components/Tooltip/Tooltip.js +1 -1
  134. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  135. package/dist/src/components/table/table.js +1 -1
  136. package/dist/src/components/table/table.js.map +1 -1
  137. package/dist/src/components/table/tags-table.js +1 -1
  138. package/dist/src/components/table/tags-table.js.map +1 -1
  139. package/dist/src/constants/methods.constant.js +1 -1
  140. package/dist/src/constants/methods.constant.js.map +1 -1
  141. package/dist/src/context/SectionToggleContext.js +1 -1
  142. package/dist/src/context/SectionToggleContext.js.map +1 -1
  143. package/dist/src/helpers/docs.helper.js +1 -1
  144. package/dist/src/helpers/docs.helper.js.map +1 -1
  145. package/dist/src/helpers/layout.helper.js +1 -1
  146. package/dist/src/helpers/layout.helper.js.map +1 -1
  147. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
  148. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
  149. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
  150. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  151. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  152. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  153. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
  154. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
  155. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
  156. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
  157. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  158. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  159. package/dist/src/layout/docsLayout.js +1 -1
  160. package/dist/src/layout/docsLayout.js.map +1 -1
  161. package/dist/src/layout/layout.js +1 -1
  162. package/dist/src/layout/layout.js.map +1 -1
  163. package/dist/src/utils/index.js +1 -1
  164. package/dist/src/utils/index.js.map +1 -1
  165. package/dist/src/validator/form.scheme.js +1 -1
  166. package/dist/src/validator/form.scheme.js.map +1 -1
  167. package/dist/styles.css +773 -773
  168. package/index.ts +2 -0
  169. package/package.json +4 -9
  170. package/rollup.config.js +37 -0
  171. package/src/assets/icons/AddRow.svg +3 -0
  172. package/src/assets/icons/ApiIcon.svg +12 -0
  173. package/src/assets/icons/ArrowBack.svg +3 -0
  174. package/src/assets/icons/BookIcon.svg +6 -0
  175. package/src/assets/icons/CheckMarkSquare.svg +5 -0
  176. package/src/assets/icons/CloseIcon.svg +4 -0
  177. package/src/assets/icons/CopySticker.svg +6 -0
  178. package/src/assets/icons/DeleteIcon.svg +3 -0
  179. package/src/assets/icons/DownArrow.svg +3 -0
  180. package/src/assets/icons/EditIcon.svg +3 -0
  181. package/src/assets/icons/FilterIcon.svg +4 -0
  182. package/src/assets/icons/Plus.svg +5 -0
  183. package/src/assets/icons/PlusSquare.svg +3 -0
  184. package/src/assets/icons/RequestOption.svg +5 -0
  185. package/src/assets/icons/UpArrow.svg +3 -0
  186. package/src/assets/icons/arrow-down.svg +3 -0
  187. package/src/assets/icons/arrow-up.svg +10 -0
  188. package/src/assets/icons/arrowDownGray.svg +3 -0
  189. package/src/assets/icons/arrowRightGray.svg +3 -0
  190. package/src/assets/icons/close-circle.svg +5 -0
  191. package/src/assets/icons/copy.svg +4 -0
  192. package/src/assets/icons/deleteOutlinedIcon.svg +8 -0
  193. package/src/assets/icons/document.svg +6 -0
  194. package/src/assets/icons/eye.svg +4 -0
  195. package/src/assets/icons/index.ts +27 -0
  196. package/src/assets/icons/infoIcon.svg +5 -0
  197. package/src/assets/icons/newCopyIcon.svg +4 -0
  198. package/src/assets/icons/searchIcon.svg +4 -0
  199. package/src/components/Chips/Chips.tsx +87 -0
  200. package/src/components/InfoForm/InfoForm.tsx +432 -0
  201. package/src/components/JsonInput/JsonInput.tsx +149 -0
  202. package/src/components/LivePreview/LivePreview.tsx +224 -0
  203. package/src/components/MethodAccordion/MethodAccordion.tsx +1070 -0
  204. package/src/components/SVGLoader/SVGLoader.tsx +96 -0
  205. package/src/components/SectionHead/SectionHead.tsx +22 -0
  206. package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -0
  207. package/src/components/SimpleLabelValue/index.ts +1 -0
  208. package/src/components/Tooltip/Tooltip.tsx +85 -0
  209. package/src/components/dialog/dialog.ts +61 -0
  210. package/src/components/dialog/index.tsx +88 -0
  211. package/src/components/table/table.tsx +508 -0
  212. package/src/components/table/tags-table.tsx +348 -0
  213. package/src/constants/index.ts +95 -0
  214. package/src/constants/methods.constant.ts +26 -0
  215. package/src/constants/regex.ts +7 -0
  216. package/src/context/SectionToggleContext.tsx +121 -0
  217. package/src/global.d.ts +13 -0
  218. package/src/helpers/docs.helper.ts +42 -0
  219. package/src/helpers/layout.helper.ts +290 -0
  220. package/src/helpers/methodAccordion.helper.ts +20 -0
  221. package/src/index.ts +2 -0
  222. package/src/layout/docsComponents/Codebox/Codebox.tsx +61 -0
  223. package/src/layout/docsComponents/DocsAside/DocsAside.tsx +112 -0
  224. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +51 -0
  225. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +307 -0
  226. package/src/layout/docsComponents/DocsContent/OverviewPage/index.tsx +223 -0
  227. package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +188 -0
  228. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +229 -0
  229. package/src/layout/docsComponents/index.tsx +28 -0
  230. package/src/layout/docsLayout.tsx +123 -0
  231. package/src/layout/layout.module.css +65 -0
  232. package/src/layout/layout.tsx +177 -0
  233. package/src/types/docsLayout.type.ts +7 -0
  234. package/src/types/index.ts +28 -0
  235. package/src/types/layout.type.ts +32 -0
  236. package/src/types/openApi.ts +109 -0
  237. package/src/types/transformedOpenApi.ts +52 -0
  238. package/src/utils/index.ts +15 -0
  239. package/src/validator/form.scheme.ts +96 -0
  240. package/tsconfig.json +33 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport {\n DeleteIcon,\n DownArrowIcon,\n EditIcon,\n DeleteOutlinedIcon,\n CloseIcon,\n} from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\n\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n}))\n\nconst MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<boolean>(false)\n const [isHeaderFormOpen, setIsHeaderFormOpen] = useState<boolean>(false)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const activeAccordionRef = useRef<HTMLDivElement | null>(null)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n useEffect(() => {\n if (isOpen && activeAccordionRef.current) {\n activeAccordionRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }\n }, [isOpen])\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\n data?.schema?.type?.toLowerCase() == 'array' &&\n data?.schema?.items &&\n data?.schema?.items?.type\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {(() => {\n const schema = method?.responses[currentResponseIndex]?.headers[item]?.schema\n const schemaType = schema?.type?.toLowerCase()\n const isComplex = schemaType === 'array' || schemaType === 'object'\n const enumList = schema?.enum || []\n\n if (!schema || isComplex) return '-'\n\n return (\n <Tooltip\n disabled={isComplex}\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n\n {enumList.map((enumVal, enumIndex) => (\n <Input\n key={enumIndex}\n className=\"methodDescForEnum\"\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={enumVal}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum[${enumIndex}]`,\n value\n )\n }}\n />\n ))}\n\n <p\n className=\"addEnumButton\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\n [...enumList, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\n [...enumList]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={enumList.length === 0 || enumList.some((val) => !val)}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {enumList.length > 0 ? (\n <span className=\"enumText\">{enumList.join('/\\u200B')}</span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader\n id=\"enumIcon\"\n src={PlusIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n )\n })()}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n return items?.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\n item?.schema?.type?.toLowerCase() == 'array' &&\n item?.schema?.items &&\n item?.schema?.items?.type\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n if (setFieldValue) {\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n if (responseIndex >= 0) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }\n }, [selectedStatusCode, method.responses, setFieldValue])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div ref={activeAccordionRef}>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n className={styles.multiLineText}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isHeaderFormOpen}\n setIsFormOpen={setIsHeaderFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n closeIcon={\n <SVGLoader\n src={CloseIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n onClick={() => setOpenDeleteDialog(false)}\n />\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n closeIcon={\n <SVGLoader\n src={CloseIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n onClick={() => setOpenDeleteDialog(false)}\n />\n }\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","isHeaderFormOpen","setIsHeaderFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","activeAccordionRef","useRef","currentResponse","responses","find","res","Number","indexRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","useEffect","current","scrollIntoView","behavior","block","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","schema","_a","type","_c","_b","toLowerCase","_d","items","_f","_e","_h","_g","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_j","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","Button","editDescTooltipContent_btn","variant","size","trim","_k","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","_m","_o","join","isComplex","enumList","enumVal","enumIndex","Input","clearable","jsxs","PlusSquare","some","val","PlusIcon","handleDeleteClick","name","in","parameters","_l","_p","_s","_q","_w","_u","_v","_y","_x","_z","_1","_0","_2","_4","_3","_6","_5","_9","_8","_7","_index","filter","_11","_10","_14","_12","_13","_17","_16","_15","_18","_19","_22","_20","_25","_24","_23","findIndex","_r","toString","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","ref","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","multiLineText","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","closeIcon","CloseIcon","fromEntries","entries"],"mappings":"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"}
1
+ {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport {\n DeleteIcon,\n DownArrowIcon,\n EditIcon,\n DeleteOutlinedIcon,\n CloseIcon,\n} from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\n\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n}))\n\nconst MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<boolean>(false)\n const [isHeaderFormOpen, setIsHeaderFormOpen] = useState<boolean>(false)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const activeAccordionRef = useRef<HTMLDivElement | null>(null)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n useEffect(() => {\n if (isOpen && activeAccordionRef.current) {\n activeAccordionRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }\n }, [isOpen])\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\n data?.schema?.type?.toLowerCase() == 'array' &&\n data?.schema?.items &&\n data?.schema?.items?.type\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {(() => {\n const schema = method?.responses[currentResponseIndex]?.headers[item]?.schema\n const schemaType = schema?.type?.toLowerCase()\n const isComplex = schemaType === 'array' || schemaType === 'object'\n const enumList = schema?.enum || []\n\n if (!schema || isComplex) return '-'\n\n return (\n <Tooltip\n disabled={isComplex}\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n\n {enumList.map((enumVal, enumIndex) => (\n <Input\n key={enumIndex}\n className=\"methodDescForEnum\"\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={enumVal}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum[${enumIndex}]`,\n value\n )\n }}\n />\n ))}\n\n <p\n className=\"addEnumButton\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\n [...enumList, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\n [...enumList]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={enumList.length === 0 || enumList.some((val) => !val)}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {enumList.length > 0 ? (\n <span className=\"enumText\">{enumList.join('/\\u200B')}</span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader\n id=\"enumIcon\"\n src={PlusIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n )\n })()}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n return items?.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\n item?.schema?.type?.toLowerCase() == 'array' &&\n item?.schema?.items &&\n item?.schema?.items?.type\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n if (setFieldValue) {\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n if (responseIndex >= 0) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }\n }, [selectedStatusCode, method.responses, setFieldValue])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div ref={activeAccordionRef}>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n className={styles.multiLineText}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isHeaderFormOpen}\n setIsFormOpen={setIsHeaderFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n closeIcon={\n <SVGLoader\n src={CloseIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n onClick={() => setOpenDeleteDialog(false)}\n />\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n closeIcon={\n <SVGLoader\n src={CloseIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n onClick={() => setOpenDeleteDialog(false)}\n />\n }\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","isHeaderFormOpen","setIsHeaderFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","activeAccordionRef","useRef","currentResponse","responses","find","res","Number","indexRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","useEffect","current","scrollIntoView","behavior","block","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","schema","_a","type","_c","_b","toLowerCase","_d","items","_f","_e","_h","_g","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_j","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","Button","editDescTooltipContent_btn","variant","size","trim","_k","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","_m","_o","join","isComplex","enumList","enumVal","enumIndex","Input","clearable","jsxs","PlusSquare","some","val","PlusIcon","handleDeleteClick","name","in","parameters","_l","_p","_s","_q","_w","_u","_v","_y","_x","_z","_1","_0","_2","_4","_3","_6","_5","_9","_8","_7","_index","filter","_11","_10","_14","_12","_13","_17","_16","_15","_18","_19","_22","_20","_25","_24","_23","findIndex","_r","toString","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","ref","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","multiLineText","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","closeIcon","CloseIcon","fromEntries","entries"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as e,__awaiter as r}from"../../../node_modules/tslib/tslib.es6.js";import{j as t}from"../../../_virtual/jsx-runtime.js";import i,{useState as s,useEffect as o}from"react";import n from"../../../node_modules/html-react-parser/esm/index.mjs.js";const c=c=>{var{src:l,cache:a=!0}=c,d=e(c,["src","cache"]);const[m,f]=s(null);if(o((()=>{if(!l)return;"string"!=typeof l&&console.log({src:l});const e=l.startsWith("http")||l.startsWith("/"),t="svg-cache";r(void 0,void 0,void 0,(function*(){try{let r=null;if(a&&e&&"caches"in window){const e=yield caches.open(t),i=yield e.match(l);if(i&&i.ok)return r=yield i.text(),void f(r)}if(e){const e=yield fetch(l),i=e.clone();if(r=yield e.text(),a&&"caches"in window){const e=yield caches.open(t);yield e.put(l,i)}}else r=l;if(r){const e=(e=>(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg"))(r);if(e){const r=(new XMLSerializer).serializeToString(e);f(r)}}}catch(e){console.error("Error loading SVG:",e)}}))}),[l,d]),!m)return null;const h=n(m),u=Array.isArray(h)?h.find((e=>i.isValidElement(e))):h,p=i.cloneElement(u,d);return t.jsx(t.Fragment,{children:p})};export{c as default};
1
+ import{__rest as e,__awaiter as r}from"../../../node_modules/tslib/tslib.es6.js";import{j as t}from"../../../_virtual/jsx-runtime.js";import i,{useState as s,useEffect as o}from"react";import n from"../../../node_modules/html-react-parser/esm/index.mjs.js";const c=c=>{var{src:l,cache:a=!0}=c,d=e(c,["src","cache"]);const[m,f]=s(null);if(o(()=>{if(!l)return;"string"!=typeof l&&console.log({src:l});const e=l.startsWith("http")||l.startsWith("/"),t="svg-cache";r(void 0,void 0,void 0,function*(){try{let r=null;if(a&&e&&"caches"in window){const e=yield caches.open(t),i=yield e.match(l);if(i&&i.ok)return r=yield i.text(),void f(r)}if(e){const e=yield fetch(l),i=e.clone();if(r=yield e.text(),a&&"caches"in window){const e=yield caches.open(t);yield e.put(l,i)}}else r=l;if(r){const e=(e=>(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg"))(r);if(e){const r=(new XMLSerializer).serializeToString(e);f(r)}}}catch(e){console.error("Error loading SVG:",e)}})},[l,d]),!m)return null;const h=n(m),u=Array.isArray(h)?h.find(e=>i.isValidElement(e)):h,p=i.cloneElement(u,d);return t.jsx(t.Fragment,{children:p})};export{c as default};
2
2
  //# sourceMappingURL=SVGLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SVGLoader.js","sources":["../../../../src/components/SVGLoader/SVGLoader.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\n// Utility function to create an SVG element from a string\nconst createSvgElement = (svgString: string): SVGSVGElement | null => {\n const parser = new DOMParser()\n const doc = parser.parseFromString(svgString, 'image/svg+xml')\n return doc.querySelector('svg')\n}\n\n// Define the type for SVG attributes\ntype SVGAttributes = React.SVGProps<SVGSVGElement>\n\ninterface SVGLoaderProps extends SVGAttributes {\n src: string\n cache?: boolean\n}\n\nconst SVGLoader: React.FC<SVGLoaderProps> | any = ({ src, cache = true, ...props }) => {\n const [svgMarkup, setSvgMarkup] = useState<string | null>(null)\n\n useEffect(() => {\n if (!src) return\n if (typeof src !== 'string') console.log({ src })\n const isUrl = src.startsWith('http') || src.startsWith('/')\n\n const cacheName = 'svg-cache'\n\n const fetchSvg = async () => {\n try {\n let svgString: string | null = null\n\n // Use the Cache API if caching is enabled\n if (cache && isUrl && 'caches' in window) {\n const cacheStorage = await caches.open(cacheName)\n const cachedResponse = await cacheStorage.match(src)\n\n // If SVG is found in cache, use it\n if (cachedResponse && cachedResponse.ok) {\n svgString = await cachedResponse.text()\n setSvgMarkup(svgString)\n return\n }\n }\n\n // If not cached, fetch from URL\n if (isUrl) {\n const response = await fetch(src)\n\n // Clone the response before consuming it\n const responseClone = response.clone()\n\n // Consume the response body for the SVG content\n svgString = await response.text()\n\n // Store the cloned response in the cache\n if (cache && 'caches' in window) {\n const cacheStorage = await caches.open(cacheName)\n await cacheStorage.put(src, responseClone)\n }\n } else {\n // If it's not a URL (it's inline), just use the source string\n svgString = src\n }\n\n // If we have valid SVG content, set it\n if (svgString) {\n const svg = createSvgElement(svgString)\n if (svg) {\n const svgStringWithProps = new XMLSerializer().serializeToString(svg)\n setSvgMarkup(svgStringWithProps)\n }\n }\n } catch (error) {\n console.error('Error loading SVG:', error)\n }\n }\n\n fetchSvg()\n }, [src, props])\n\n if (!svgMarkup) return null\n\n // Parse the SVG string and return it as JSX\n const parsedSvg = parse(svgMarkup)\n // Sometimes parse returns an array which includes the element\n const toBeClonedElement = Array.isArray(parsedSvg)\n ? parsedSvg.find((item) => React.isValidElement(item))\n : parsedSvg\n // Clone the parsed SVG element to apply the props\n const clonedSvg = React.cloneElement(toBeClonedElement as React.ReactElement, props)\n\n return <>{clonedSvg}</>\n}\n\nexport default SVGLoader\n"],"names":["SVGLoader","_a","src","cache","props","__rest","svgMarkup","setSvgMarkup","useState","useEffect","console","log","isUrl","startsWith","cacheName","__awaiter","svgString","window","cacheStorage","caches","open","cachedResponse","match","ok","text","response","fetch","responseClone","clone","put","svg","DOMParser","parseFromString","querySelector","createSvgElement","svgStringWithProps","XMLSerializer","serializeToString","error","parsedSvg","parse","toBeClonedElement","Array","isArray","find","item","React","isValidElement","clonedSvg","cloneElement","_jsx","jsx","_Fragment","Fragment","children"],"mappings":"iQAIA,MAcMA,EAA6CC,QAAAC,IAAEA,EAAGC,MAAEA,GAAQ,KAASC,EAAxBC,EAAAJ,EAAA,CAAA,MAAA,UACjD,MAAOK,EAAWC,GAAgBC,EAAwB,MA8D1D,GA5DAC,GAAU,KACR,IAAKP,EAAK,OACS,iBAARA,GAAkBQ,QAAQC,IAAI,CAAET,QAC3C,MAAMU,EAAQV,EAAIW,WAAW,SAAWX,EAAIW,WAAW,KAEjDC,EAAY,YAEUC,OAAA,OAAA,OAAA,GAAA,YAC1B,IACE,IAAIC,EAA2B,KAG/B,GAAIb,GAASS,GAAS,WAAYK,OAAQ,CACxC,MAAMC,QAAqBC,OAAOC,KAAKN,GACjCO,QAAuBH,EAAaI,MAAMpB,GAGhD,GAAImB,GAAkBA,EAAeE,GAGnC,OAFAP,QAAkBK,EAAeG,YACjCjB,EAAaS,EAGhB,CAGD,GAAIJ,EAAO,CACT,MAAMa,QAAiBC,MAAMxB,GAGvByB,EAAgBF,EAASG,QAM/B,GAHAZ,QAAkBS,EAASD,OAGvBrB,GAAS,WAAYc,OAAQ,CAC/B,MAAMC,QAAqBC,OAAOC,KAAKN,SACjCI,EAAaW,IAAI3B,EAAKyB,EAC7B,CACF,MAECX,EAAYd,EAId,GAAIc,EAAW,CACb,MAAMc,EA/DS,CAACd,IACT,IAAIe,WACAC,gBAAgBhB,EAAW,iBACnCiB,cAAc,OA4DLC,CAAiBlB,GAC7B,GAAIc,EAAK,CACP,MAAMK,GAAqB,IAAIC,eAAgBC,kBAAkBP,GACjEvB,EAAa4B,EACd,CACF,CACF,CAAC,MAAOG,GACP5B,QAAQ4B,MAAM,qBAAsBA,EACrC,CACH,MAGC,CAACpC,EAAKE,KAEJE,EAAW,OAAO,KAGvB,MAAMiC,EAAYC,EAAMlC,GAElBmC,EAAoBC,MAAMC,QAAQJ,GACpCA,EAAUK,MAAMC,GAASC,EAAMC,eAAeF,KAC9CN,EAEES,EAAYF,EAAMG,aAAaR,EAAyCrC,GAE9E,OAAO8C,EAAAC,IAAAC,EAAAC,SAAA,CAAAC,SAAGN"}
1
+ {"version":3,"file":"SVGLoader.js","sources":["../../../../src/components/SVGLoader/SVGLoader.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\n// Utility function to create an SVG element from a string\nconst createSvgElement = (svgString: string): SVGSVGElement | null => {\n const parser = new DOMParser()\n const doc = parser.parseFromString(svgString, 'image/svg+xml')\n return doc.querySelector('svg')\n}\n\n// Define the type for SVG attributes\ntype SVGAttributes = React.SVGProps<SVGSVGElement>\n\ninterface SVGLoaderProps extends SVGAttributes {\n src: string\n cache?: boolean\n}\n\nconst SVGLoader: React.FC<SVGLoaderProps> | any = ({ src, cache = true, ...props }) => {\n const [svgMarkup, setSvgMarkup] = useState<string | null>(null)\n\n useEffect(() => {\n if (!src) return\n if (typeof src !== 'string') console.log({ src })\n const isUrl = src.startsWith('http') || src.startsWith('/')\n\n const cacheName = 'svg-cache'\n\n const fetchSvg = async () => {\n try {\n let svgString: string | null = null\n\n // Use the Cache API if caching is enabled\n if (cache && isUrl && 'caches' in window) {\n const cacheStorage = await caches.open(cacheName)\n const cachedResponse = await cacheStorage.match(src)\n\n // If SVG is found in cache, use it\n if (cachedResponse && cachedResponse.ok) {\n svgString = await cachedResponse.text()\n setSvgMarkup(svgString)\n return\n }\n }\n\n // If not cached, fetch from URL\n if (isUrl) {\n const response = await fetch(src)\n\n // Clone the response before consuming it\n const responseClone = response.clone()\n\n // Consume the response body for the SVG content\n svgString = await response.text()\n\n // Store the cloned response in the cache\n if (cache && 'caches' in window) {\n const cacheStorage = await caches.open(cacheName)\n await cacheStorage.put(src, responseClone)\n }\n } else {\n // If it's not a URL (it's inline), just use the source string\n svgString = src\n }\n\n // If we have valid SVG content, set it\n if (svgString) {\n const svg = createSvgElement(svgString)\n if (svg) {\n const svgStringWithProps = new XMLSerializer().serializeToString(svg)\n setSvgMarkup(svgStringWithProps)\n }\n }\n } catch (error) {\n console.error('Error loading SVG:', error)\n }\n }\n\n fetchSvg()\n }, [src, props])\n\n if (!svgMarkup) return null\n\n // Parse the SVG string and return it as JSX\n const parsedSvg = parse(svgMarkup)\n // Sometimes parse returns an array which includes the element\n const toBeClonedElement = Array.isArray(parsedSvg)\n ? parsedSvg.find((item) => React.isValidElement(item))\n : parsedSvg\n // Clone the parsed SVG element to apply the props\n const clonedSvg = React.cloneElement(toBeClonedElement as React.ReactElement, props)\n\n return <>{clonedSvg}</>\n}\n\nexport default SVGLoader\n"],"names":["SVGLoader","_a","src","cache","props","__rest","svgMarkup","setSvgMarkup","useState","useEffect","console","log","isUrl","startsWith","cacheName","__awaiter","svgString","window","cacheStorage","caches","open","cachedResponse","match","ok","text","response","fetch","responseClone","clone","put","svg","DOMParser","parseFromString","querySelector","createSvgElement","svgStringWithProps","XMLSerializer","serializeToString","error","parsedSvg","parse","toBeClonedElement","Array","isArray","find","item","React","isValidElement","clonedSvg","cloneElement","_jsx","jsx","_Fragment","Fragment","children"],"mappings":"iQAIA,MAcMA,EAA6CC,QAAAC,IAAEA,EAAGC,MAAEA,GAAQ,KAASC,EAAxBC,EAAAJ,EAAA,CAAA,MAAA,UACjD,MAAOK,EAAWC,GAAgBC,EAAwB,MA8D1D,GA5DAC,EAAU,KACR,IAAKP,EAAK,OACS,iBAARA,GAAkBQ,QAAQC,IAAI,CAAET,QAC3C,MAAMU,EAAQV,EAAIW,WAAW,SAAWX,EAAIW,WAAW,KAEjDC,EAAY,YAEUC,OAAA,OAAA,OAAA,EAAA,YAC1B,IACE,IAAIC,EAA2B,KAG/B,GAAIb,GAASS,GAAS,WAAYK,OAAQ,CACxC,MAAMC,QAAqBC,OAAOC,KAAKN,GACjCO,QAAuBH,EAAaI,MAAMpB,GAGhD,GAAImB,GAAkBA,EAAeE,GAGnC,OAFAP,QAAkBK,EAAeG,YACjCjB,EAAaS,EAGhB,CAGD,GAAIJ,EAAO,CACT,MAAMa,QAAiBC,MAAMxB,GAGvByB,EAAgBF,EAASG,QAM/B,GAHAZ,QAAkBS,EAASD,OAGvBrB,GAAS,WAAYc,OAAQ,CAC/B,MAAMC,QAAqBC,OAAOC,KAAKN,SACjCI,EAAaW,IAAI3B,EAAKyB,EAC7B,CACF,MAECX,EAAYd,EAId,GAAIc,EAAW,CACb,MAAMc,EA/DS,CAACd,IACT,IAAIe,WACAC,gBAAgBhB,EAAW,iBACnCiB,cAAc,OA4DLC,CAAiBlB,GAC7B,GAAIc,EAAK,CACP,MAAMK,GAAqB,IAAIC,eAAgBC,kBAAkBP,GACjEvB,EAAa4B,EACd,CACF,CACF,CAAC,MAAOG,GACP5B,QAAQ4B,MAAM,qBAAsBA,EACrC,CACH,IAGC,CAACpC,EAAKE,KAEJE,EAAW,OAAO,KAGvB,MAAMiC,EAAYC,EAAMlC,GAElBmC,EAAoBC,MAAMC,QAAQJ,GACpCA,EAAUK,KAAMC,GAASC,EAAMC,eAAeF,IAC9CN,EAEES,EAAYF,EAAMG,aAAaR,EAAyCrC,GAE9E,OAAO8C,EAAAC,IAAAC,EAAAC,SAAA,CAAAC,SAAGN"}
@@ -1,2 +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};
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
2
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, ReactNode } from 'react'\nimport Tippy, { TippyProps } from '@tippyjs/react'\nimport 'tippy.js/dist/tippy.css'\nimport './Tooltip.scss'\n\ninterface TooltipProps extends TippyProps {\n content: ReactNode\n success?: boolean\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\n visible?: boolean\n delay?: [number, number]\n type?: 'info' | 'function'\n maxWidth?: number\n className?: string\n arrowWithBorder?: boolean\n disabled?: boolean\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n success,\n onMouseEnter,\n onMouseLeave,\n visible,\n delay = [200, 400],\n type = 'info',\n maxWidth = 390,\n className,\n arrowWithBorder,\n disabled,\n ...props\n}) => {\n const [rootFontSize, setRootFontSize] = useState(16)\n\n useEffect(() => {\n const handleFontSizeChange = (fontSize: number) => {\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\n }\n\n if (\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling &&\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n typeof window.applicationUIScaling.addEventHandler === 'function'\n ) {\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\n }\n }, [])\n\n return (\n <Tippy\n visible={visible}\n allowHTML={typeof content !== 'string'}\n interactive\n maxWidth={(maxWidth / 16) * rootFontSize}\n delay={delay}\n content={content}\n placement=\"bottom-start\"\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\n arrowWithBorder ? 'arrow-with-border' : ''\n }`}\n disabled={disabled}\n {...props}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </div>\n </div>\n </Tippy>\n )\n}\n\nexport default Tooltip\n"],"names":["Tooltip","_a","children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled","props","__rest","rootFontSize","setRootFontSize","useState","useEffect","handleFontSizeChange","fontSize","prev","window","applicationUIScaling","addEventHandler","_jsx","Tippy","Object","assign","allowHTML","interactive","placement"],"mappings":"4SAmBA,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,KAK1DC,OAAOC,sBAEgD,mBAAhDD,OAAOC,qBAAqBC,iBAGnCF,OAAOC,qBAAqBC,gBAAgBL,KAE7C,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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useState, useEffect, ReactNode } from 'react'\nimport Tippy, { TippyProps } from '@tippyjs/react'\nimport 'tippy.js/dist/tippy.css'\nimport './Tooltip.scss'\n\ninterface TooltipProps extends TippyProps {\n content: ReactNode\n success?: boolean\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\n visible?: boolean\n delay?: [number, number]\n type?: 'info' | 'function'\n maxWidth?: number\n className?: string\n arrowWithBorder?: boolean\n disabled?: boolean\n}\n\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n success,\n onMouseEnter,\n onMouseLeave,\n visible,\n delay = [200, 400],\n type = 'info',\n maxWidth = 390,\n className,\n arrowWithBorder,\n disabled,\n ...props\n}) => {\n const [rootFontSize, setRootFontSize] = useState(16)\n\n useEffect(() => {\n const handleFontSizeChange = (fontSize: number) => {\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\n }\n\n if (\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling &&\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n typeof window.applicationUIScaling.addEventHandler === 'function'\n ) {\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\n }\n }, [])\n\n return (\n <Tippy\n visible={visible}\n allowHTML={typeof content !== 'string'}\n interactive\n maxWidth={(maxWidth / 16) * rootFontSize}\n delay={delay}\n content={content}\n placement=\"bottom-start\"\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\n arrowWithBorder ? 'arrow-with-border' : ''\n }`}\n disabled={disabled}\n {...props}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div\n className=\"tooltip-custom-wrapper\"\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </div>\n </div>\n </Tippy>\n )\n}\n\nexport default Tooltip\n"],"names":["Tooltip","_a","children","content","success","onMouseEnter","onMouseLeave","visible","delay","type","maxWidth","className","arrowWithBorder","disabled","props","__rest","rootFontSize","setRootFontSize","useState","useEffect","handleFontSizeChange","fontSize","prev","window","applicationUIScaling","addEventHandler","_jsx","Tippy","Object","assign","allowHTML","interactive","placement"],"mappings":"4SAmBA,MAAMA,EAAmCC,IAAA,IAAAC,SACvCA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,aACPA,EAAYC,aACZA,EAAYC,QACZA,EAAOC,MACPA,EAAQ,CAAC,IAAK,KAAIC,KAClBA,EAAO,OAAMC,SACbA,EAAW,IAAGC,UACdA,EAASC,gBACTA,EAAeC,SACfA,GAAQZ,EACLa,EAAKC,EAAAd,EAb+B,6IAevC,MAAOe,EAAcC,GAAmBC,EAAS,IAkBjD,OAhBAC,EAAU,KACR,MAAMC,EAAwBC,IAC5BJ,EAAiBK,GAAUA,IAASD,EAAWA,EAAWC,IAK1DC,OAAOC,sBAEgD,mBAAhDD,OAAOC,qBAAqBC,iBAGnCF,OAAOC,qBAAqBC,gBAAgBL,IAE7C,IAGDM,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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as l}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../../assets/icons/Plus.svg.js";import r from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:y,data:C,isFormOpen:N,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:f=!0})=>{var D,I,E,S,q,B,k,L,_,A,P,O,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=a(""),[ae,le]=a(null),[ie,te]=a(null),[se,oe]=a([]),{values:de,errors:ne,setFieldValue:re,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:f?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var a,l,i,t;e&&!(null===(l=null===(a=null==e?void 0:e.schema)||void 0===a?void 0:a.items)||void 0===l?void 0:l.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==y?void 0:y.map((a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id)))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==C?void 0:C.map(((a,l)=>e.jsx("tr",{"data-i":l,className:"row",children:null==y?void 0:y.map((l=>{const i="_"!==a[l.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:l.width,minWidth:l.minWidth},children:a[l.id]});return e.jsx("td",{style:{width:l.width,minWidth:l.minWidth},children:i},l.id)}))},l))),0===(null==C?void 0:C.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==y?void 0:y.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),N&&!T?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(l.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||j.ASCII.test(e))&&re("name",e)},value:de.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(l.SelectGroupV2,{disabled:T,value:{label:b(de.in),value:de.in},onChange:e=>{var a;re("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"in"==(null==e?void 0:e.value)&&re("required",!0)},options:[{list:f?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!ne.in&&ne.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs",children:[e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(D=null==de?void 0:de.schema)||void 0===D?void 0:D.type),value:null===(I=null==de?void 0:de.schema)||void 0===I?void 0:I.type},errorMsg:!!ne.schema&&ne.schema,onChange:e=>{var a,l,i;if(re("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||de.schema.items||re("schema.items",{}),"array"!=(null===(i=e.value)||void 0===i?void 0:i.toLowerCase())&&de.schema.items){const e=Object.assign({},de.schema);delete e.items,re("schema",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(E=null==de?void 0:de.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==de?void 0:de.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==de?void 0:de.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(L=null===(k=de.schema)||void 0===k?void 0:k.items)||void 0===L?void 0:L.type},errorMsg:!!(null===(A=null===(_=null==ne?void 0:ne.schema)||void 0===_?void 0:_.items)||void 0===A?void 0:A.type)&&(null===(O=null===(P=null==ne?void 0:ne.schema)||void 0===P?void 0:P.items)||void 0===O?void 0:O.type),onChange:e=>{var a,l,i,t,s;if(re("schema.items.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||(null===(i=de.schema.items)||void 0===i?void 0:i.items)||re("schema.items.items",{}),"array"!=(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())&&(null===(s=de.schema.items)||void 0===s?void 0:s.items)){const e=Object.assign({},de.schema.items);null==e||delete e.items,re("schema.items",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):""]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==de?void 0:de.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==de?void 0:de.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==de?void 0:de.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==de?void 0:de.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==de?void 0:de.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map(((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{re(`schema.enum[${i}]`,e)}},i)))),se&&(null==se?void 0:se.map(((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{let a=[...se];a[i]=e,oe(a)}},i)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{oe((e=>[...e,""]))},children:[e.jsx(t,{src:r}),"Add New Enum"]}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;re("schema.enum",[...null===(e=null==de?void 0:de.schema)||void 0===e?void 0:e.enum,...se]),oe([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter((e=>!e)).length)||(null===(H=null==de?void 0:de.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==de?void 0:de.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.filter((e=>!e)).length),children:"Apply"})]}),children:e.jsx(l.Button,{className:c.editDescBtn,id:"EnumButton",variant:"link",color:"action",disabled:"array"==(null===(Q=null===(K=null==de?void 0:de.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase())||"object"==(null===(Z=null===(Y=null==de?void 0:de.schema)||void 0===Y?void 0:Y.type)||void 0===Z?void 0:Z.toLowerCase()),endIcon:e.jsx(t,{id:"enumIcon",src:n,width:"1.5rem",height:"1.5rem"}),children:"Add"})})})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:de.required?"True":"False"}):e.jsx(l.Switch,{checked:!(!de||!de.in||"path"!=de.in.toLowerCase())||de.required,disabled:de&&de.in&&"path"==de.in.toLowerCase(),onClick:()=>{T||re("required",!de.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>le(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(l.TextArea,{value:J||de.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{re("description",null==J?void 0:J.trim()),null==ae||ae.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(l.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:o,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!de.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!de.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:6,children:e.jsx(l.Button,{variant:"link",color:"primary",onClick:()=>{g((e=>e?void 0:f?"Req":"Res"))},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{x as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a}from"react";import{d as l}from"../../../_virtual/index.js";import i from"../Tooltip/Tooltip.js";import t from"../SVGLoader/SVGLoader.js";import s from"../../assets/icons/DeleteIcon.svg.js";import o from"../../assets/icons/EditIcon.svg.js";import d from"../../assets/icons/AddRow.svg.js";import n from"../../assets/icons/Plus.svg.js";import r from"../../assets/icons/PlusSquare.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as m}from"../../../node_modules/formik/dist/formik.esm.js";import{object as u,string as v,array as h,bool as p}from"../../../node_modules/yup/index.esm.js";import{capitalize as b}from"../../helpers/methodAccordion.helper.js";import j from"../../constants/regex.js";const x=({id:x,headCells:y,data:C,isFormOpen:N,setIsFormOpen:g,saveNewRow:w,readOnly:T,isRequest:f=!0})=>{var D,I,E,S,q,B,k,L,_,A,P,O,R,F,M,V,W,X,G,z,H,U,$,K,Q,Y,Z;const[J,ee]=a(""),[ae,le]=a(null),[ie,te]=a(null),[se,oe]=a([]),{values:de,errors:ne,setFieldValue:re,isValid:ce,submitForm:me,resetForm:ue}=m({validateOnMount:!0,initialValues:{name:"",in:f?"query":"header",schema:{type:"string",enum:[],items:{type:"string"}},required:!0,description:""},validationSchema:u().shape({name:v().default("").trim().required("Parameter name is required"),in:v().required("Paramter type is required"),schema:u().shape({type:v().required("Parameter schema type is required"),enum:h(v()).optional(),items:u().shape({type:v().optional()})}),required:p().when("in",{is:"path",then:e=>e.oneOf([!0],"Path parameters must be required."),otherwise:e=>e.optional()}),description:v().default("").trim().optional()}),onSubmit:e=>{var a,l,i,t;e&&!(null===(l=null===(a=null==e?void 0:e.schema)||void 0===a?void 0:a.items)||void 0===l?void 0:l.type)&&(null===(t=null===(i=null==e?void 0:e.schema)||void 0===i?void 0:i.items)||void 0===t||delete t.type),w(e),g(void 0),ee(""),ue()}});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==y?void 0:y.map(a=>e.jsx("th",{className:`tableHeadCell ${a.classes||""}`,style:{width:a.width,minWidth:a.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof a.label?a.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:a.label})},a.id))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==C?void 0:C.map((a,l)=>e.jsx("tr",{"data-i":l,className:"row",children:null==y?void 0:y.map(l=>{const i="_"!==a[l.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:l.width,minWidth:l.minWidth},children:a[l.id]});return e.jsx("td",{style:{width:l.width,minWidth:l.minWidth},children:i},l.id)})},l)),0===(null==C?void 0:C.length)&&T&&e.jsx("tr",{className:"fallbackTableRow",children:e.jsx("td",{className:"fallbackContainer",colSpan:null==y?void 0:y.length,children:e.jsx("div",{className:"fallbackTextContainer",children:e.jsx("span",{className:"fallbackText",children:" No Data Available"})})})}),N&&!T?e.jsxs("tr",{className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(l.Input,{placeholder:"Parameter name",size:"large",type:"text",onChange:e=>{(""===e||j.ASCII.test(e))&&re("name",e)},value:de.name,disabled:T})})},"Parameter name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx(l.SelectGroupV2,{disabled:T,value:{label:b(de.in),value:de.in},onChange:e=>{var a;re("in",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"in"==(null==e?void 0:e.value)&&re("required",!0)},options:[{list:f?[{label:"Query",value:"query"},{label:"Header",value:"header"},{label:"Path",value:"path"}]:[{label:"Header",value:"header"}]}],errorMsg:!!ne.in&&ne.in,isMultiple:!1,withSearch:!1,clearable:!1})," "]})},"parameter in"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData select-inputs",children:[e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(D=null==de?void 0:de.schema)||void 0===D?void 0:D.type),value:null===(I=null==de?void 0:de.schema)||void 0===I?void 0:I.type},errorMsg:!!ne.schema&&ne.schema,onChange:e=>{var a,l,i;if(re("schema.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||de.schema.items||re("schema.items",{}),"array"!=(null===(i=e.value)||void 0===i?void 0:i.toLowerCase())&&de.schema.items){const e=Object.assign({},de.schema);delete e.items,re("schema",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1})," ",(null===(E=null==de?void 0:de.schema)||void 0===E?void 0:E.type)&&"array"===(null===(S=null==de?void 0:de.schema)||void 0===S?void 0:S.type.toLowerCase())?e.jsx(l.SelectGroupV2,{disabled:T,clearable:!1,value:{label:b(null===(B=null===(q=null==de?void 0:de.schema)||void 0===q?void 0:q.items)||void 0===B?void 0:B.type),value:null===(L=null===(k=de.schema)||void 0===k?void 0:k.items)||void 0===L?void 0:L.type},errorMsg:!!(null===(A=null===(_=null==ne?void 0:ne.schema)||void 0===_?void 0:_.items)||void 0===A?void 0:A.type)&&(null===(O=null===(P=null==ne?void 0:ne.schema)||void 0===P?void 0:P.items)||void 0===O?void 0:O.type),onChange:e=>{var a,l,i,t,s;if(re("schema.items.type",null===(a=null==e?void 0:e.value)||void 0===a?void 0:a.toLowerCase()),"array"!=(null===(l=e.value)||void 0===l?void 0:l.toLowerCase())||(null===(i=de.schema.items)||void 0===i?void 0:i.items)||re("schema.items.items",{}),"array"!=(null===(t=e.value)||void 0===t?void 0:t.toLowerCase())&&(null===(s=de.schema.items)||void 0===s?void 0:s.items)){const e=Object.assign({},de.schema.items);null==e||delete e.items,re("schema.items",e)}},options:[{list:[{label:"String",value:"string"},{label:"Integer",value:"integer"},{label:"Boolean",value:"boolean"},{label:"Object",value:"object"},{label:"Array",value:"array"},{label:"Number",value:"number"}]}],isMultiple:!1,withSearch:!1}):""]})},"parameter schema type"),e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(i,{disabled:"array"==(null===(F=null===(R=null==de?void 0:de.schema)||void 0===R?void 0:R.type)||void 0===F?void 0:F.toLowerCase())||"object"==(null===(V=null===(M=null==de?void 0:de.schema)||void 0===M?void 0:M.type)||void 0===V?void 0:V.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>te(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Enum"}),!!(null===(W=null==de?void 0:de.schema)||void 0===W?void 0:W.enum)&&!!(null===(X=null==de?void 0:de.schema)||void 0===X?void 0:X.enum.length)&&(null===(z=null===(G=null==de?void 0:de.schema)||void 0===G?void 0:G.enum)||void 0===z?void 0:z.map((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{re(`schema.enum[${i}]`,e)}},i))),se&&(null==se?void 0:se.map((a,i)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:a,onChange:e=>{let a=[...se];a[i]=e,oe(a)}},i))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{oe(e=>[...e,""])},children:[e.jsx(t,{src:r}),"Add New Enum"]}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{var e;re("schema.enum",[...null===(e=null==de?void 0:de.schema)||void 0===e?void 0:e.enum,...se]),oe([]),null==ie||ie.hide()},disabled:se.length>0&&(null==se?void 0:se.filter(e=>!e).length)||(null===(H=null==de?void 0:de.schema)||void 0===H?void 0:H.enum.length)>0&&(null===($=null===(U=null==de?void 0:de.schema)||void 0===U?void 0:U.enum)||void 0===$?void 0:$.filter(e=>!e).length),children:"Apply"})]}),children:e.jsx(l.Button,{className:c.editDescBtn,id:"EnumButton",variant:"link",color:"action",disabled:"array"==(null===(Q=null===(K=null==de?void 0:de.schema)||void 0===K?void 0:K.type)||void 0===Q?void 0:Q.toLowerCase())||"object"==(null===(Z=null===(Y=null==de?void 0:de.schema)||void 0===Y?void 0:Y.type)||void 0===Z?void 0:Z.toLowerCase()),endIcon:e.jsx(t,{id:"enumIcon",src:n,width:"1.5rem",height:"1.5rem"}),children:"Add"})})})},"parameter enum"),e.jsx("td",{children:e.jsx("div",{"data-id":"is required",className:"tableData",children:T?e.jsx(e.Fragment,{children:de.required?"True":"False"}):e.jsx(l.Switch,{checked:!(!de||!de.in||"path"!=de.in.toLowerCase())||de.required,disabled:de&&de.in&&"path"==de.in.toLowerCase(),onClick:()=>{T||re("required",!de.required)}})})},"parameter required"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsxs("div",{className:c.paramDescContainer,children:[e.jsx(i,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>le(e),content:e.jsxs("div",{className:c.editDescTooltipContent,children:[e.jsx("p",{className:c.editDescTooltipContent_header,children:"Description"}),e.jsx(l.TextArea,{value:J||de.description,onChange:e=>{(""===e||j.ASCII.test(e))&&ee(e)},disabled:T,placeholder:"Describe parameter...",maxLength:120}),!T&&e.jsx(l.Button,{className:c.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{re("description",null==J?void 0:J.trim()),null==ae||ae.hide()},disabled:""===(null==J?void 0:J.trim()),children:"Apply"})]}),children:e.jsxs(l.Button,{className:c.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(t,{src:o,width:"1.5rem",height:"1.5rem"}),children:[T?"View ":"Add "," Description"]})}),e.jsx("div",{className:c.paramDescContainer_separator}),!T&&e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(t,{src:s,width:"1.125rem",height:"1.125rem"}),onClick:()=>{ue(),ee(""),g(void 0)}}),!T&&e.jsx(i,{disabled:!!de.name.trim(),content:"Parameter name can't be empty ",children:e.jsx(l.Button,{className:c.deleteParamBtn,variant:"link",color:"success",disabled:!de.name.trim(),endIcon:e.jsx(t,{src:d,width:"0.125rem",height:"0.125rem"}),onClick:()=>{ee(""),me()}})})]})," "]})},"parameter schema desc")]}):e.jsx(e.Fragment,{children:!T&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:6,children:e.jsx(l.Button,{variant:"link",color:"primary",onClick:()=>{g(e=>e?void 0:f?"Req":"Res")},children:"+ Add Parameter"})})},"addNew")})]})]})})})};export{x as default};
2
2
  //# sourceMappingURL=table.js.map