@digi-frontend/dgate-api-documentation 1.0.39 → 1.0.50

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 (430) hide show
  1. package/.editorconfig +12 -12
  2. package/.prettierignore +7 -7
  3. package/.prettierrc +15 -15
  4. package/dist/{a7568b270e175038.svg → 070dc6ecd197bc80.svg} +8 -8
  5. package/dist/16702d92fd6d1730.svg +6 -0
  6. package/dist/2b546d6e9fdf604a.svg +3 -0
  7. package/dist/2c3c6c2c3b835504.svg +5 -0
  8. package/dist/{43595976d1fdccbf.svg → 2e10bbdb265df50e.svg} +4 -4
  9. package/dist/55b5994c5781482b.svg +5 -0
  10. package/dist/60bef8083c55f46b.svg +6 -0
  11. package/dist/68c710e0583e19e6.svg +5 -0
  12. package/dist/731221b3f242672d.svg +4 -0
  13. package/dist/{b82c7612e73342f3.svg → 7f54eeb0bb2d1150.svg} +3 -3
  14. package/dist/8520b6792278d9df.svg +6 -0
  15. package/dist/{56dc416b683db280.svg → 8789eb84283ea95b.svg} +5 -5
  16. package/dist/9506ef7a26a74147.svg +12 -0
  17. package/dist/9b7aee27757b5036.svg +3 -0
  18. package/dist/{af16a554be8c4d69.svg → 9bdff13f8d8fa48a.svg} +3 -3
  19. package/dist/_virtual/core.js +2 -0
  20. package/dist/_virtual/core.js.map +1 -0
  21. package/dist/_virtual/core2.js +2 -0
  22. package/dist/_virtual/core2.js.map +1 -0
  23. package/dist/_virtual/format.js +2 -0
  24. package/dist/_virtual/format.js.map +1 -0
  25. package/dist/_virtual/index3.js +1 -1
  26. package/dist/_virtual/index6.js +1 -1
  27. package/dist/{64efc2716808c4a4.svg → bb8b87cace25e052.svg} +3 -3
  28. package/dist/cceb1e5dc06b0b85.svg +4 -0
  29. package/dist/d140a601c85bac25.svg +3 -0
  30. package/dist/{72db3b05a96dd600.svg → d32ce84bbd78babd.svg} +3 -3
  31. package/dist/{844eba3f2e42a9eb.svg → d501922060662842.svg} +3 -3
  32. package/dist/d6d0a98ec38e6b77.svg +3 -0
  33. package/dist/e04479ad425e7d58.svg +4 -0
  34. package/dist/f4452c3ebcf0d5da.svg +4 -0
  35. package/dist/f4a32992f02af522.svg +5 -0
  36. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +2 -0
  37. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
  38. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +2 -0
  39. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js.map +1 -0
  40. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js +2 -0
  41. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  42. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +2 -0
  43. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  44. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +2 -0
  45. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
  46. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +2 -0
  47. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js.map +1 -0
  48. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +2 -0
  49. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +1 -0
  50. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +2 -0
  51. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  52. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +2 -0
  53. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js.map +1 -0
  54. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +2 -0
  55. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  56. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +2 -0
  57. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  58. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js +2 -0
  59. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  60. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +2 -0
  61. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
  62. package/dist/node_modules/dom-serializer/lib/foreignNames.js +2 -0
  63. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
  64. package/dist/node_modules/dom-serializer/lib/index.js +2 -0
  65. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -0
  66. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +2 -0
  67. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -0
  68. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +2 -0
  69. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  70. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js +2 -0
  71. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +1 -0
  72. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js +2 -0
  73. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +1 -0
  74. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +2 -0
  75. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  76. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +2 -0
  77. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  78. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +2 -0
  79. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  80. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +2 -0
  81. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +1 -0
  82. package/dist/node_modules/domhandler/lib/index.js +2 -0
  83. package/dist/node_modules/domhandler/lib/index.js.map +1 -0
  84. package/dist/node_modules/domhandler/lib/node.js +2 -0
  85. package/dist/node_modules/domhandler/lib/node.js.map +1 -0
  86. package/dist/node_modules/domutils/lib/feeds.js +2 -0
  87. package/dist/node_modules/domutils/lib/feeds.js.map +1 -0
  88. package/dist/node_modules/domutils/lib/helpers.js +2 -0
  89. package/dist/node_modules/domutils/lib/helpers.js.map +1 -0
  90. package/dist/node_modules/domutils/lib/index.js +2 -0
  91. package/dist/node_modules/domutils/lib/index.js.map +1 -0
  92. package/dist/node_modules/domutils/lib/legacy.js +2 -0
  93. package/dist/node_modules/domutils/lib/legacy.js.map +1 -0
  94. package/dist/node_modules/domutils/lib/manipulation.js +2 -0
  95. package/dist/node_modules/domutils/lib/manipulation.js.map +1 -0
  96. package/dist/node_modules/domutils/lib/querying.js +2 -0
  97. package/dist/node_modules/domutils/lib/querying.js.map +1 -0
  98. package/dist/node_modules/domutils/lib/stringify.js +2 -0
  99. package/dist/node_modules/domutils/lib/stringify.js.map +1 -0
  100. package/dist/node_modules/domutils/lib/traversal.js +2 -0
  101. package/dist/node_modules/domutils/lib/traversal.js.map +1 -0
  102. package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js +2 -0
  103. package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  104. package/dist/node_modules/entities/dist/commonjs/decode.js +2 -0
  105. package/dist/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  106. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +2 -0
  107. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  108. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +2 -0
  109. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  110. package/dist/node_modules/fault/index.js +2 -0
  111. package/dist/node_modules/fault/index.js.map +1 -0
  112. package/dist/node_modules/format/format.js +2 -0
  113. package/dist/node_modules/format/format.js.map +1 -0
  114. package/dist/node_modules/highlight.js/lib/core.js +2 -0
  115. package/dist/node_modules/highlight.js/lib/core.js.map +1 -0
  116. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +1 -1
  117. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +1 -1
  118. package/dist/node_modules/html-react-parser/lib/index.js +1 -1
  119. package/dist/node_modules/html-react-parser/lib/index.js.map +1 -1
  120. package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js +1 -1
  121. package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -1
  122. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +1 -1
  123. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -1
  124. package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
  125. package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
  126. package/dist/node_modules/lowlight/lib/core.js +2 -0
  127. package/dist/node_modules/lowlight/lib/core.js.map +1 -0
  128. package/dist/node_modules/nanoid/index.js +2 -0
  129. package/dist/node_modules/nanoid/index.js.map +1 -0
  130. package/dist/node_modules/nanoid/url-alphabet/index.js +2 -0
  131. package/dist/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  132. package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js +2 -0
  133. package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js.map +1 -0
  134. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js +2 -0
  135. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js.map +1 -0
  136. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js +2 -0
  137. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js.map +1 -0
  138. package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js +2 -0
  139. package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js.map +1 -0
  140. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js +2 -0
  141. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js.map +1 -0
  142. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js +2 -0
  143. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js.map +1 -0
  144. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  145. package/dist/node_modules/yup/index.esm.js +1 -1
  146. package/dist/src/assets/icons/AddRow.svg.js +1 -1
  147. package/dist/src/assets/icons/AddRow.svg.js.map +1 -1
  148. package/dist/src/assets/icons/ApiIcon.svg.js +2 -0
  149. package/dist/src/assets/icons/ApiIcon.svg.js.map +1 -0
  150. package/dist/src/assets/icons/ArrowBack.svg.js +2 -0
  151. package/dist/src/assets/icons/ArrowBack.svg.js.map +1 -0
  152. package/dist/src/assets/icons/BookIcon.svg.js +2 -0
  153. package/dist/src/assets/icons/BookIcon.svg.js.map +1 -0
  154. package/dist/src/assets/icons/CopySticker.svg.js +2 -0
  155. package/dist/src/assets/icons/CopySticker.svg.js.map +1 -0
  156. package/dist/src/assets/icons/DeleteIcon.svg.js +1 -1
  157. package/dist/src/assets/icons/DeleteIcon.svg.js.map +1 -1
  158. package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js +2 -0
  159. package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js.map +1 -0
  160. package/dist/src/assets/icons/DownArrow.svg.js +1 -1
  161. package/dist/src/assets/icons/DownArrow.svg.js.map +1 -1
  162. package/dist/src/assets/icons/EditIcon.svg.js +1 -1
  163. package/dist/src/assets/icons/EditIcon.svg.js.map +1 -1
  164. package/dist/src/assets/icons/FilterIcon.svg.js +2 -0
  165. package/dist/src/assets/icons/FilterIcon.svg.js.map +1 -0
  166. package/dist/src/assets/icons/Plus.svg.js +2 -0
  167. package/dist/src/assets/icons/Plus.svg.js.map +1 -0
  168. package/dist/src/assets/icons/PlusSquare.svg.js +2 -0
  169. package/dist/src/assets/icons/PlusSquare.svg.js.map +1 -0
  170. package/dist/src/assets/icons/RequestOption.svg.js +2 -0
  171. package/dist/src/assets/icons/RequestOption.svg.js.map +1 -0
  172. package/dist/src/assets/icons/UpArrow.svg.js +1 -1
  173. package/dist/src/assets/icons/UpArrow.svg.js.map +1 -1
  174. package/dist/src/assets/icons/arrowDownGray.svg.js +2 -0
  175. package/dist/src/assets/icons/arrowDownGray.svg.js.map +1 -0
  176. package/dist/src/assets/icons/arrowRightGray.svg.js +2 -0
  177. package/dist/src/assets/icons/arrowRightGray.svg.js.map +1 -0
  178. package/dist/src/assets/icons/close-circle.svg.js +2 -0
  179. package/dist/src/assets/icons/close-circle.svg.js.map +1 -0
  180. package/dist/src/assets/icons/copy.svg.js +2 -0
  181. package/dist/src/assets/icons/copy.svg.js.map +1 -0
  182. package/dist/src/assets/icons/document.svg.js +2 -0
  183. package/dist/src/assets/icons/document.svg.js.map +1 -0
  184. package/dist/src/assets/icons/eye.svg.js +2 -0
  185. package/dist/src/assets/icons/eye.svg.js.map +1 -0
  186. package/dist/src/assets/icons/infoIcon.svg.js +2 -0
  187. package/dist/src/assets/icons/infoIcon.svg.js.map +1 -0
  188. package/dist/src/assets/icons/searchIcon.svg.js +2 -0
  189. package/dist/src/assets/icons/searchIcon.svg.js.map +1 -0
  190. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  191. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  192. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  193. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  194. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  195. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  196. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  197. package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
  198. package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
  199. package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -1
  200. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  201. package/dist/src/components/dialog/index.js +1 -1
  202. package/dist/src/components/dialog/index.js.map +1 -1
  203. package/dist/src/components/table/table.js +1 -1
  204. package/dist/src/components/table/table.js.map +1 -1
  205. package/dist/src/components/table/tags-table.js.map +1 -1
  206. package/dist/src/constants/index.js +1 -1
  207. package/dist/src/constants/index.js.map +1 -1
  208. package/dist/src/constants/methods.constant.js +2 -0
  209. package/dist/src/constants/methods.constant.js.map +1 -0
  210. package/dist/src/constants/regex.js.map +1 -1
  211. package/dist/src/helpers/docs.helper.js +2 -0
  212. package/dist/src/helpers/docs.helper.js.map +1 -0
  213. package/dist/src/helpers/layout.helper.js +1 -1
  214. package/dist/src/helpers/layout.helper.js.map +1 -1
  215. package/dist/src/helpers/methodAccordion.helper.js.map +1 -1
  216. package/dist/src/index.js +1 -1
  217. package/dist/src/layout/docsComponents/Codebox/Codebox.js +2 -0
  218. package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -0
  219. package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +2 -0
  220. package/dist/src/layout/docsComponents/Codebox/style.module.scss.js.map +1 -0
  221. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +2 -0
  222. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -0
  223. package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +2 -0
  224. package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js.map +1 -0
  225. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +2 -0
  226. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -0
  227. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +2 -0
  228. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -0
  229. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js +2 -0
  230. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js.map +1 -0
  231. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +2 -0
  232. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -0
  233. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +2 -0
  234. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js.map +1 -0
  235. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +2 -0
  236. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -0
  237. package/dist/src/layout/docsComponents/index.js +2 -0
  238. package/dist/src/layout/docsComponents/index.js.map +1 -0
  239. package/dist/src/layout/docsLayout.js +2 -0
  240. package/dist/src/layout/docsLayout.js.map +1 -0
  241. package/dist/src/layout/layout.js +1 -1
  242. package/dist/src/layout/layout.js.map +1 -1
  243. package/dist/src/layout/layout.module.css.js +1 -1
  244. package/dist/src/utils/index.js +2 -0
  245. package/dist/src/utils/index.js.map +1 -0
  246. package/dist/src/validator/form.scheme.js +1 -1
  247. package/dist/src/validator/form.scheme.js.map +1 -1
  248. package/dist/styles.css +1646 -348
  249. package/dist/types/assets/icons/index.d.ts +17 -1
  250. package/dist/types/components/LivePreview/LivePreview.d.ts +1 -0
  251. package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +2 -1
  252. package/dist/types/components/dialog/dialog.d.ts +4 -0
  253. package/dist/types/components/dialog/index.d.ts +1 -1
  254. package/dist/types/components/table/table.d.ts +2 -1
  255. package/dist/types/constants/methods.constant.d.ts +16 -0
  256. package/dist/types/helpers/docs.helper.d.ts +3 -0
  257. package/dist/types/index.d.ts +1 -0
  258. package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +4 -0
  259. package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +5 -0
  260. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +6 -0
  261. package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +4 -0
  262. package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +4 -0
  263. package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +3 -0
  264. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +9 -0
  265. package/dist/types/layout/docsComponents/index.d.ts +17 -0
  266. package/dist/types/layout/docsLayout.d.ts +33 -0
  267. package/dist/types/layout/layout.d.ts +2 -1
  268. package/dist/types/types/layout.type.d.ts +1 -0
  269. package/dist/types/types/openApi.d.ts +4 -4
  270. package/dist/types/utils/index.d.ts +1 -0
  271. package/dist/types/validator/form.scheme.d.ts +10 -2
  272. package/package.json +46 -43
  273. package/rollup.config.js +37 -35
  274. package/src/assets/icons/AddRow.svg +3 -3
  275. package/src/assets/icons/ApiIcon.svg +12 -0
  276. package/src/assets/icons/ArrowBack.svg +3 -0
  277. package/src/assets/icons/BookIcon.svg +6 -0
  278. package/src/assets/icons/CheckMarkSquare.svg +5 -5
  279. package/src/assets/icons/CloseIcon.svg +4 -4
  280. package/src/assets/icons/CopySticker.svg +6 -0
  281. package/src/assets/icons/DeleteIcon.svg +3 -3
  282. package/src/assets/icons/DeleteOutlinedIcon.svg +8 -0
  283. package/src/assets/icons/DownArrow.svg +3 -3
  284. package/src/assets/icons/EditIcon.svg +3 -3
  285. package/src/assets/icons/FilterIcon.svg +4 -0
  286. package/src/assets/icons/Plus.svg +5 -0
  287. package/src/assets/icons/PlusSquare.svg +3 -0
  288. package/src/assets/icons/RequestOption.svg +5 -0
  289. package/src/assets/icons/UpArrow.svg +3 -3
  290. package/src/assets/icons/arrowDownGray.svg +3 -0
  291. package/src/assets/icons/arrowRightGray.svg +3 -0
  292. package/src/assets/icons/close-circle.svg +5 -0
  293. package/src/assets/icons/copy.svg +4 -0
  294. package/src/assets/icons/deleteOutlinedIcon.svg +8 -8
  295. package/src/assets/icons/document.svg +6 -0
  296. package/src/assets/icons/eye.svg +4 -0
  297. package/src/assets/icons/index.ts +24 -8
  298. package/src/assets/icons/infoIcon.svg +5 -0
  299. package/src/assets/icons/searchIcon.svg +4 -0
  300. package/src/components/Chips/Chips.tsx +87 -87
  301. package/src/components/Chips/style.scss +147 -147
  302. package/src/components/InfoForm/InfoForm.module.scss +165 -165
  303. package/src/components/InfoForm/InfoForm.tsx +423 -428
  304. package/src/components/JsonInput/JsonInput.tsx +149 -149
  305. package/src/components/JsonInput/style.module.scss +133 -133
  306. package/src/components/LivePreview/LivePreview.module.scss +180 -24
  307. package/src/components/LivePreview/LivePreview.tsx +226 -191
  308. package/src/components/MethodAccordion/MethodAccordion.module.scss +395 -338
  309. package/src/components/MethodAccordion/MethodAccordion.tsx +678 -514
  310. package/src/components/SVGLoader/SVGLoader.tsx +96 -94
  311. package/src/components/SectionHead/SectionHead.scss +29 -29
  312. package/src/components/SectionHead/SectionHead.tsx +22 -22
  313. package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -31
  314. package/src/components/SimpleLabelValue/index.ts +1 -1
  315. package/src/components/SimpleLabelValue/style.scss +30 -30
  316. package/src/components/Tooltip/Tooltip.scss +133 -133
  317. package/src/components/Tooltip/Tooltip.tsx +85 -85
  318. package/src/components/_global.scss +337 -337
  319. package/src/components/dialog/dialog.ts +58 -54
  320. package/src/components/dialog/index.tsx +89 -85
  321. package/src/components/dialog/style.scss +188 -104
  322. package/src/components/table/style.scss +217 -190
  323. package/src/components/table/table.tsx +493 -327
  324. package/src/components/table/tags-table.tsx +348 -348
  325. package/src/constants/index.ts +95 -93
  326. package/src/constants/methods.constant.ts +26 -0
  327. package/src/constants/regex.ts +7 -7
  328. package/src/global.d.ts +13 -13
  329. package/src/helpers/docs.helper.ts +28 -0
  330. package/src/helpers/layout.helper.ts +176 -174
  331. package/src/helpers/methodAccordion.helper.ts +19 -19
  332. package/src/index.ts +2 -1
  333. package/src/layout/docsComponents/Codebox/Codebox.tsx +61 -0
  334. package/src/layout/docsComponents/Codebox/style.module.scss +43 -0
  335. package/src/layout/docsComponents/DocsAside/DocsAside.tsx +94 -0
  336. package/src/layout/docsComponents/DocsAside/style.module.scss +113 -0
  337. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +14 -0
  338. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +184 -0
  339. package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +230 -0
  340. package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +82 -0
  341. package/src/layout/docsComponents/DocsContent/TagPage/style.scss +283 -0
  342. package/src/layout/docsComponents/DocsContent/style.scss +0 -0
  343. package/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss +271 -0
  344. package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +156 -0
  345. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +188 -0
  346. package/src/layout/docsComponents/DocsSideMenuTree/style.scss +195 -0
  347. package/src/layout/docsComponents/index.scss +49 -0
  348. package/src/layout/docsComponents/index.tsx +28 -0
  349. package/src/layout/docsLayout.tsx +72 -0
  350. package/src/layout/layout.module.css +65 -62
  351. package/src/layout/layout.tsx +162 -150
  352. package/src/types/layout.type.ts +31 -30
  353. package/src/types/openApi.ts +108 -108
  354. package/src/types/transformedOpenApi.ts +52 -52
  355. package/src/utils/index.ts +7 -0
  356. package/src/validator/form.scheme.ts +88 -70
  357. package/tsconfig.json +33 -33
  358. package/dist/_virtual/index20.js +0 -2
  359. package/dist/_virtual/index20.js.map +0 -1
  360. package/dist/_virtual/index21.js +0 -2
  361. package/dist/_virtual/index21.js.map +0 -1
  362. package/dist/_virtual/node2.js +0 -2
  363. package/dist/_virtual/node2.js.map +0 -1
  364. package/dist/_virtual/node3.js +0 -2
  365. package/dist/_virtual/node3.js.map +0 -1
  366. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +0 -2
  367. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js.map +0 -1
  368. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +0 -2
  369. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js.map +0 -1
  370. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +0 -2
  371. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js.map +0 -1
  372. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +0 -2
  373. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js.map +0 -1
  374. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js +0 -2
  375. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
  376. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js +0 -2
  377. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js.map +0 -1
  378. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -2
  379. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +0 -1
  380. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -2
  381. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  382. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -2
  383. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +0 -1
  384. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js +0 -2
  385. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +0 -1
  386. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +0 -2
  387. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  388. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
  389. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  390. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +0 -2
  391. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  392. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -2
  393. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +0 -1
  394. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js +0 -2
  395. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js.map +0 -1
  396. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js +0 -2
  397. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js.map +0 -1
  398. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js +0 -2
  399. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js.map +0 -1
  400. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +0 -2
  401. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js.map +0 -1
  402. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js +0 -2
  403. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js.map +0 -1
  404. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +0 -2
  405. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js.map +0 -1
  406. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +0 -2
  407. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js.map +0 -1
  408. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +0 -2
  409. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js.map +0 -1
  410. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +0 -2
  411. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js.map +0 -1
  412. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +0 -2
  413. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js.map +0 -1
  414. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -2
  415. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
  416. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +0 -2
  417. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +0 -1
  418. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -2
  419. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
  420. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -2
  421. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
  422. package/dist/src/assets/icons/CheckMarkSquare.svg.js +0 -2
  423. package/dist/src/assets/icons/CheckMarkSquare.svg.js.map +0 -1
  424. package/dist/src/assets/icons/CloseIcon.svg.js +0 -2
  425. package/dist/src/assets/icons/CloseIcon.svg.js.map +0 -1
  426. package/dist/src/assets/icons/deleteOutlinedIcon.svg.js +0 -2
  427. package/dist/src/assets/icons/deleteOutlinedIcon.svg.js.map +0 -1
  428. package/dist/src/components/Chips/Chips.js +0 -2
  429. package/dist/src/components/Chips/Chips.js.map +0 -1
  430. package/dist/types/types/index.d.ts +0 -18
@@ -1,327 +1,493 @@
1
- import React, { useState } from 'react'
2
- import './style.scss'
3
- import { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'
4
- import Tooltip from '../Tooltip/Tooltip'
5
- import SVGLoader from '../SVGLoader/SVGLoader'
6
- import { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'
7
- import styles from '../MethodAccordion/MethodAccordion.module.scss'
8
- import { useFormik } from 'formik'
9
- import * as yup from 'yup'
10
- import { capitalize } from '../../helpers/methodAccordion.helper'
11
- import regex from '../../constants/regex'
12
-
13
- const ParamterTable = ({
14
- id,
15
- headCells,
16
- data,
17
- isFormOpen,
18
- setIsFormOpen,
19
- saveNewRow,
20
- readOnly,
21
- }) => {
22
- const [text, setText] = useState('')
23
- const [tooltipRef, setTooltipRef] = useState(null)
24
- const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({
25
- validateOnMount: true,
26
- initialValues: {
27
- name: '',
28
- in: 'Query',
29
- schema: {
30
- type: 'String',
31
- },
32
- required: true,
33
- description: '',
34
- },
35
- validationSchema: yup.object().shape({
36
- name: yup.string().trim().required('Parameter name is required'),
37
- in: yup.string().required('Paramter type is required'),
38
- schema: yup.object().shape({
39
- type: yup.string().required('Parameter schema type is required'),
40
- }),
41
- required: yup.boolean().optional(),
42
- description: yup.string().trim().optional(),
43
- }),
44
- onSubmit: (values) => {
45
- saveNewRow(values)
46
- setIsFormOpen(false)
47
- setText('')
48
- resetForm()
49
- },
50
- })
51
-
52
- return (
53
- <div className="tableSectionContainer">
54
- <div className="tableContainer">
55
- <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>
56
- <thead className="tableHead">
57
- <tr>
58
- {headCells?.map((headCell) => (
59
- <th
60
- key={headCell.id}
61
- className={`tableHeadCell ${headCell.classes || ''}`}
62
- style={{ width: headCell.width, minWidth: headCell.minWidth }}
63
- >
64
- <div
65
- className="headContainer"
66
- data-id={`${
67
- typeof headCell.label === 'string'
68
- ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')
69
- : 'UNKNOWN_LABEL'
70
- }_COLUMN`}
71
- >
72
- {headCell.label}
73
- </div>
74
- </th>
75
- ))}
76
- </tr>
77
- </thead>
78
- <tbody className="tableBody" data-id="TABLE_BODY">
79
- {data?.map((row, rowIndex) => {
80
- return (
81
- <tr key={rowIndex} data-i={rowIndex} className={`row`}>
82
- {headCells?.map((headCell) => {
83
- const cellContent = row[headCell.id] !== '_' && (
84
- <div
85
- data-id="TEXT_DESCRIPTION"
86
- className="tableData"
87
- style={{
88
- width: headCell.width,
89
- minWidth: headCell.minWidth,
90
- }}
91
- >
92
- {row[headCell.id]}
93
- </div>
94
- )
95
-
96
- return (
97
- <td
98
- key={headCell.id}
99
- style={{
100
- width: headCell.width,
101
- minWidth: headCell.minWidth,
102
- }}
103
- >
104
- {cellContent}
105
- </td>
106
- )
107
- })}
108
- </tr>
109
- )
110
- })}
111
- {data?.length === 0 && readOnly && (
112
- <tr className="fallbackTableRow">
113
- <td className="fallbackContainer" colSpan={headCells?.length}>
114
- <div className="fallbackTextContainer">
115
- <span className="fallbackText"> No Data Available</span>
116
- </div>
117
- </td>
118
- </tr>
119
- )}
120
-
121
- {isFormOpen && !readOnly ? (
122
- <tr className={`row`}>
123
- <td key={'Parameter name'}>
124
- <div data-id="TEXT_DESCRIPTION" className="tableData">
125
- <Input
126
- placeholder="Parameter name"
127
- size="large"
128
- type="text"
129
- onChange={(value) => {
130
- if (value === '' || regex.ASCII.test(value as string))
131
- setFieldValue('name', value)
132
- }}
133
- value={values.name}
134
- disabled={readOnly}
135
- />
136
- </div>
137
- </td>
138
-
139
- <td key={'parameter in'}>
140
- <div data-id="TEXT_DESCRIPTION" className="tableData">
141
- <SelectGroupV2
142
- disabled={readOnly}
143
- value={{
144
- label: capitalize(values.in),
145
- value: capitalize(values.in),
146
- }}
147
- onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection
148
- options={[
149
- {
150
- list: [
151
- { label: 'Query', value: 'query' },
152
- { label: 'Header', value: 'header' },
153
- { label: 'Path', value: 'path' },
154
- { label: 'Body', value: 'body' },
155
- ],
156
- },
157
- ]}
158
- errorMsg={!!errors.in && errors.in}
159
- isMultiple={false}
160
- withSearch={false}
161
- clearable={false}
162
- />{' '}
163
- </div>
164
- </td>
165
-
166
- <td key={'parameter schema type'}>
167
- <div data-id="TEXT_DESCRIPTION" className="tableData">
168
- <SelectGroupV2
169
- disabled={readOnly}
170
- clearable={false}
171
- value={{
172
- label: capitalize(values.schema.type),
173
- value: capitalize(values.schema.type),
174
- }}
175
- errorMsg={!!errors.schema && errors.schema}
176
- onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection
177
- options={[
178
- {
179
- list: [
180
- { label: 'String', value: 'string' },
181
- { label: 'Integer', value: 'integer' },
182
- { label: 'Boolean', value: 'boolean' },
183
- { label: 'Object', value: 'object' },
184
- { label: 'Array', value: 'array' },
185
- { label: 'Number', value: 'number' },
186
- ],
187
- },
188
- ]}
189
- isMultiple={false}
190
- withSearch={false}
191
- />{' '}
192
- </div>
193
- </td>
194
-
195
- <td key={'parameter required'}>
196
- <div data-id="is required" className="tableData">
197
- {readOnly ? (
198
- <>{values.required ? 'True' : 'False'}</>
199
- ) : (
200
- <Switch
201
- checked={values.required}
202
- onClick={() => {
203
- if (readOnly) {
204
- return
205
- }
206
- setFieldValue('required', !values.required)
207
- }}
208
- />
209
- )}
210
- </div>
211
- </td>
212
-
213
- <td key={'parameter schema desc'}>
214
- <div data-id="TEXT_DESCRIPTION" className="tableData">
215
- <div className={styles.paramDescContainer}>
216
- <Tooltip
217
- arrowWithBorder
218
- placement="bottom-end"
219
- type="function"
220
- trigger="click"
221
- delay={[0, 0]}
222
- onCreate={(instance) => setTooltipRef(instance)}
223
- content={
224
- <div className={styles.editDescTooltipContent}>
225
- <p className={styles.editDescTooltipContent_header}>Description</p>
226
- <TextArea
227
- value={text || values.description}
228
- onChange={(value) => {
229
- if (value === '' || regex.ASCII.test(value)) setText(value)
230
- }}
231
- disabled={readOnly}
232
- placeholder="Describe parameter..."
233
- maxLength={120}
234
- />
235
- {!readOnly && (
236
- <Button
237
- className={styles.editDescTooltipContent_btn}
238
- variant="outlined"
239
- size="small"
240
- onClick={() => {
241
- setFieldValue('description', text?.trim())
242
- tooltipRef?.hide()
243
- }}
244
- disabled={text?.trim() === ''}
245
- >
246
- Apply
247
- </Button>
248
- )}
249
- </div>
250
- }
251
- >
252
- <Button
253
- className={styles.editDescBtn}
254
- variant="link"
255
- color="action"
256
- endIcon={<SVGLoader src={EditIcon} width="1.5rem" height="1.5rem" />}
257
- >
258
- {readOnly ? 'View ' : 'Add '} Description
259
- </Button>
260
- </Tooltip>
261
-
262
- <div className={styles.paramDescContainer_separator}></div>
263
- {!readOnly && (
264
- <Button
265
- className={styles.deleteParamBtn}
266
- variant="link"
267
- color="error"
268
- endIcon={
269
- <SVGLoader src={DeleteIcon} width="1.125rem" height="1.125rem" />
270
- }
271
- onClick={() => {
272
- resetForm()
273
- setText('')
274
- setIsFormOpen(false)
275
- }} // Correctly delete the new row
276
- />
277
- )}
278
-
279
- {!readOnly && (
280
- <Tooltip
281
- disabled={!!values.name.trim()}
282
- content={`Parameter name can't be empty `}
283
- >
284
- <Button
285
- className={styles.deleteParamBtn}
286
- variant="link"
287
- color="success"
288
- disabled={!values.name.trim()}
289
- endIcon={<SVGLoader src={AddRow} width="0.125rem" height="0.125rem" />}
290
- onClick={() => {
291
- setText('')
292
- submitForm()
293
- }} // Save the new row when clicked
294
- />
295
- </Tooltip>
296
- )}
297
- </div>{' '}
298
- </div>
299
- </td>
300
- </tr>
301
- ) : (
302
- <>
303
- {!readOnly && (
304
- <tr key={'addNew'} data-i={'addNew'} className={`row`}>
305
- <td colSpan={5}>
306
- <Button
307
- variant="link"
308
- color="primary"
309
- onClick={() => {
310
- setIsFormOpen((prev) => !prev)
311
- }}
312
- >
313
- + Add Parameter
314
- </Button>
315
- </td>
316
- </tr>
317
- )}
318
- </>
319
- )}
320
- </tbody>
321
- </table>
322
- </div>
323
- </div>
324
- )
325
- }
326
-
327
- export default ParamterTable
1
+ import React, { useState } from 'react'
2
+ import './style.scss'
3
+ import { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'
4
+ import Tooltip from '../Tooltip/Tooltip'
5
+ import SVGLoader from '../SVGLoader/SVGLoader'
6
+ import { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'
7
+ import PlusIcon from '../../assets/icons/Plus.svg'
8
+ import PlusSquare from '../../assets/icons/PlusSquare.svg'
9
+ import styles from '../MethodAccordion/MethodAccordion.module.scss'
10
+ import { useFormik } from 'formik'
11
+ import * as yup from 'yup'
12
+ import { capitalize } from '../../helpers/methodAccordion.helper'
13
+ import regex from '../../constants/regex'
14
+
15
+ const ParamterTable = ({
16
+ id,
17
+ headCells,
18
+ data,
19
+ isFormOpen,
20
+ setIsFormOpen,
21
+ saveNewRow,
22
+ readOnly,
23
+ isRequest = true,
24
+ }) => {
25
+ const [text, setText] = useState('')
26
+ const [tooltipRef, setTooltipRef] = useState(null)
27
+ const [tooltipEnumRef, setTooltipEnumRef] = useState(null)
28
+ const [enumFields, setEnumFields] = useState<string[]>([])
29
+ const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({
30
+ validateOnMount: true,
31
+ initialValues: {
32
+ name: '',
33
+ in: isRequest ? 'query' : 'header',
34
+ schema: {
35
+ type: 'string',
36
+ enum: [],
37
+ items: {
38
+ type: 'string',
39
+ },
40
+ },
41
+ required: true,
42
+ description: '',
43
+ },
44
+ validationSchema: yup.object().shape({
45
+ name: yup.string().default('').trim().required('Parameter name is required'),
46
+ in: yup.string().required('Paramter type is required'),
47
+ schema: yup.object().shape({
48
+ type: yup.string().required('Parameter schema type is required'),
49
+ enum: yup.array(yup.string()).optional(),
50
+ items: yup.object().shape({
51
+ type: yup.string().optional(),
52
+ }),
53
+ }),
54
+ required: yup.boolean().when('in', {
55
+ is: 'path',
56
+ then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),
57
+ otherwise: (schema) => schema.optional(),
58
+ }),
59
+ description: yup.string().default('').trim().optional(),
60
+ }),
61
+ onSubmit: (values) => {
62
+ if (values && !values?.schema?.items?.type) {
63
+ delete values?.schema?.items?.type
64
+ }
65
+ saveNewRow(values)
66
+ setIsFormOpen(undefined)
67
+ setText('')
68
+ resetForm()
69
+ },
70
+ })
71
+
72
+ return (
73
+ <div className="tableSectionContainer">
74
+ <div className="tableContainer">
75
+ <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>
76
+ <thead className="tableHead">
77
+ <tr>
78
+ {headCells?.map((headCell) => (
79
+ <th
80
+ key={headCell.id}
81
+ className={`tableHeadCell ${headCell.classes || ''}`}
82
+ style={{ width: headCell.width, minWidth: headCell.minWidth }}
83
+ >
84
+ <div
85
+ className="headContainer"
86
+ data-id={`${
87
+ typeof headCell.label === 'string'
88
+ ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')
89
+ : 'UNKNOWN_LABEL'
90
+ }_COLUMN`}
91
+ >
92
+ {headCell.label}
93
+ </div>
94
+ </th>
95
+ ))}
96
+ </tr>
97
+ </thead>
98
+ <tbody className="tableBody" data-id="TABLE_BODY">
99
+ {data?.map((row, rowIndex) => {
100
+ return (
101
+ <tr key={rowIndex} data-i={rowIndex} className={`row`}>
102
+ {headCells?.map((headCell) => {
103
+ const cellContent = row[headCell.id] !== '_' && (
104
+ <div
105
+ data-id="TEXT_DESCRIPTION"
106
+ className="tableData"
107
+ style={{
108
+ width: headCell.width,
109
+ minWidth: headCell.minWidth,
110
+ }}
111
+ >
112
+ {row[headCell.id]}
113
+ </div>
114
+ )
115
+
116
+ return (
117
+ <td
118
+ key={headCell.id}
119
+ style={{
120
+ width: headCell.width,
121
+ minWidth: headCell.minWidth,
122
+ }}
123
+ >
124
+ {cellContent}
125
+ </td>
126
+ )
127
+ })}
128
+ </tr>
129
+ )
130
+ })}
131
+ {data?.length === 0 && readOnly && (
132
+ <tr className="fallbackTableRow">
133
+ <td className="fallbackContainer" colSpan={headCells?.length}>
134
+ <div className="fallbackTextContainer">
135
+ <span className="fallbackText"> No Data Available</span>
136
+ </div>
137
+ </td>
138
+ </tr>
139
+ )}
140
+
141
+ {isFormOpen && !readOnly ? (
142
+ <tr className={`row`}>
143
+ <td key={'Parameter name'}>
144
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
145
+ <Input
146
+ placeholder="Parameter name"
147
+ size="large"
148
+ type="text"
149
+ onChange={(value) => {
150
+ if (value === '' || regex.ASCII.test(value as string))
151
+ setFieldValue('name', value)
152
+ }}
153
+ value={values.name}
154
+ disabled={readOnly}
155
+ />
156
+ </div>
157
+ </td>
158
+
159
+ <td key={'parameter in'}>
160
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
161
+ <SelectGroupV2
162
+ disabled={readOnly}
163
+ value={{
164
+ label: capitalize(values.in),
165
+ value: values.in,
166
+ }}
167
+ onChange={(item) => setFieldValue('in', item?.value?.toLowerCase())} // Updates state on selection
168
+ options={[
169
+ {
170
+ list: isRequest
171
+ ? [
172
+ { label: 'Query', value: 'query' },
173
+ { label: 'Header', value: 'header' },
174
+ { label: 'Path', value: 'path' },
175
+ { label: 'Body', value: 'body' },
176
+ ]
177
+ : [{ label: 'Header', value: 'header' }],
178
+ },
179
+ ]}
180
+ errorMsg={!!errors.in && errors.in}
181
+ isMultiple={false}
182
+ withSearch={false}
183
+ clearable={false}
184
+ />{' '}
185
+ </div>
186
+ </td>
187
+
188
+ <td key={'parameter schema type'}>
189
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
190
+ <SelectGroupV2
191
+ disabled={readOnly}
192
+ clearable={false}
193
+ value={{
194
+ label: capitalize(values?.schema?.type),
195
+ value: values?.schema?.type,
196
+ }}
197
+ errorMsg={!!errors.schema && errors.schema}
198
+ onChange={(item) => setFieldValue('schema.type', item?.value?.toLowerCase())} // Updates state on selection
199
+ options={[
200
+ {
201
+ list: [
202
+ { label: 'String', value: 'string' },
203
+ { label: 'Integer', value: 'integer' },
204
+ { label: 'Boolean', value: 'boolean' },
205
+ { label: 'Object', value: 'object' },
206
+ { label: 'Array', value: 'array' },
207
+ { label: 'Number', value: 'number' },
208
+ ],
209
+ },
210
+ ]}
211
+ isMultiple={false}
212
+ withSearch={false}
213
+ />{' '}
214
+ </div>
215
+ </td>
216
+
217
+ <td key={'parameter array schema type'}>
218
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
219
+ {values.schema && values.schema?.type?.toLowerCase() == 'array' ? (
220
+ <SelectGroupV2
221
+ disabled={readOnly}
222
+ clearable={false}
223
+ value={{
224
+ label: capitalize(values?.schema?.items?.type),
225
+ value: values.schema?.items?.type,
226
+ }}
227
+ errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}
228
+ onChange={(item) =>
229
+ setFieldValue('schema.items.type', item?.value?.toLowerCase())
230
+ } // Updates state on selection
231
+ options={[
232
+ {
233
+ list: [
234
+ { label: 'String', value: 'string' },
235
+ { label: 'Integer', value: 'integer' },
236
+ { label: 'Boolean', value: 'boolean' },
237
+ { label: 'Object', value: 'object' },
238
+ { label: 'Array', value: 'array' },
239
+ { label: 'Number', value: 'number' },
240
+ ],
241
+ },
242
+ ]}
243
+ isMultiple={false}
244
+ withSearch={false}
245
+ />
246
+ ) : (
247
+ '-'
248
+ )}{' '}
249
+ </div>
250
+ </td>
251
+
252
+ <td key={'parameter enum'}>
253
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
254
+ {values?.schema &&
255
+ values?.schema?.type?.toLowerCase() != 'array' &&
256
+ values?.schema?.type?.toLowerCase() != 'object' ? (
257
+ <Tooltip
258
+ disabled={
259
+ values?.schema?.type?.toLowerCase() == 'array' ||
260
+ values?.schema?.type?.toLowerCase() == 'object'
261
+ }
262
+ arrowWithBorder
263
+ placement="bottom-end"
264
+ type="function"
265
+ trigger="click"
266
+ delay={[0, 0]}
267
+ onCreate={(instance) => setTooltipEnumRef(instance)}
268
+ content={
269
+ <div className={styles.editDescTooltipContent}>
270
+ <p className={styles.editDescTooltipContent_header}>Enum</p>
271
+ {!!values?.schema?.enum &&
272
+ !!values?.schema?.enum.length &&
273
+ values?.schema?.enum?.map((item, index) => (
274
+ <Input
275
+ key={index}
276
+ className={'methodDescForEnum'}
277
+ required
278
+ clearable={false}
279
+ placeholder="Enter Enum value..."
280
+ value={item}
281
+ onChange={(value) => {
282
+ setFieldValue(`schema.enum[${index}]`, value)
283
+ }}
284
+ />
285
+ ))}
286
+ {enumFields &&
287
+ enumFields?.map((item, index) => (
288
+ <Input
289
+ key={index}
290
+ className={'methodDescForEnum'}
291
+ required
292
+ clearable={false}
293
+ placeholder={`Enter Enum value...`}
294
+ value={item}
295
+ onChange={(value) => {
296
+ let _values = [...enumFields]
297
+ _values[index] = value
298
+ setEnumFields(_values)
299
+ }}
300
+ />
301
+ ))}
302
+ <p
303
+ className={'addEnumButton'}
304
+ onClick={() => {
305
+ setEnumFields((prev) => [...prev, ''])
306
+ }}
307
+ >
308
+ <SVGLoader src={PlusSquare} />
309
+ Add New Enum
310
+ </p>
311
+ {!readOnly && (
312
+ <Button
313
+ className={styles.editDescTooltipContent_btn}
314
+ variant="outlined"
315
+ size="small"
316
+ type="button"
317
+ onClick={() => {
318
+ setFieldValue('schema.enum', [
319
+ ...values?.schema?.enum,
320
+ ...enumFields,
321
+ ])
322
+ setEnumFields([])
323
+ tooltipEnumRef?.hide()
324
+ }}
325
+ disabled={
326
+ (enumFields.length > 0 &&
327
+ enumFields?.filter((item) => !item).length) ||
328
+ (values?.schema?.enum.length > 0 &&
329
+ values?.schema?.enum?.filter((item) => !item).length)
330
+ }
331
+ >
332
+ Apply
333
+ </Button>
334
+ )}
335
+ </div>
336
+ }
337
+ >
338
+ <Button
339
+ className={styles.editDescBtn}
340
+ id="EnumButton"
341
+ variant="link"
342
+ color="action"
343
+ endIcon={
344
+ <SVGLoader
345
+ id="enumIcon"
346
+ src={PlusIcon}
347
+ width="1.5rem"
348
+ height="1.5rem"
349
+ />
350
+ }
351
+ >
352
+ Add
353
+ </Button>
354
+ </Tooltip>
355
+ ) : (
356
+ '-'
357
+ )}{' '}
358
+ </div>
359
+ </td>
360
+
361
+ <td key={'parameter required'}>
362
+ <div data-id="is required" className="tableData">
363
+ {readOnly ? (
364
+ <>{values.required ? 'True' : 'False'}</>
365
+ ) : (
366
+ <Switch
367
+ checked={values.required}
368
+ onClick={() => {
369
+ if (readOnly) {
370
+ return
371
+ }
372
+ setFieldValue('required', !values.required)
373
+ }}
374
+ />
375
+ )}
376
+ </div>
377
+ </td>
378
+
379
+ <td key={'parameter schema desc'}>
380
+ <div data-id="TEXT_DESCRIPTION" className="tableData">
381
+ <div className={styles.paramDescContainer}>
382
+ <Tooltip
383
+ arrowWithBorder
384
+ placement="bottom-end"
385
+ type="function"
386
+ trigger="click"
387
+ delay={[0, 0]}
388
+ onCreate={(instance) => setTooltipRef(instance)}
389
+ content={
390
+ <div className={styles.editDescTooltipContent}>
391
+ <p className={styles.editDescTooltipContent_header}>Description</p>
392
+ <TextArea
393
+ value={text || values.description}
394
+ onChange={(value) => {
395
+ if (value === '' || regex.ASCII.test(value)) setText(value)
396
+ }}
397
+ disabled={readOnly}
398
+ placeholder="Describe parameter..."
399
+ maxLength={120}
400
+ />
401
+ {!readOnly && (
402
+ <Button
403
+ className={styles.editDescTooltipContent_btn}
404
+ variant="outlined"
405
+ size="small"
406
+ onClick={() => {
407
+ setFieldValue('description', text?.trim())
408
+ tooltipRef?.hide()
409
+ }}
410
+ disabled={text?.trim() === ''}
411
+ >
412
+ Apply
413
+ </Button>
414
+ )}
415
+ </div>
416
+ }
417
+ >
418
+ <Button
419
+ className={styles.editDescBtn}
420
+ variant="link"
421
+ color="action"
422
+ endIcon={<SVGLoader src={EditIcon} width="1.5rem" height="1.5rem" />}
423
+ >
424
+ {readOnly ? 'View ' : 'Add '} Description
425
+ </Button>
426
+ </Tooltip>
427
+
428
+ <div className={styles.paramDescContainer_separator}></div>
429
+ {!readOnly && (
430
+ <Button
431
+ className={styles.deleteParamBtn}
432
+ variant="link"
433
+ color="error"
434
+ endIcon={
435
+ <SVGLoader src={DeleteIcon} width="1.125rem" height="1.125rem" />
436
+ }
437
+ onClick={() => {
438
+ resetForm()
439
+ setText('')
440
+ setIsFormOpen(undefined)
441
+ }} // Correctly delete the new row
442
+ />
443
+ )}
444
+
445
+ {!readOnly && (
446
+ <Tooltip
447
+ disabled={!!values.name.trim()}
448
+ content={`Parameter name can't be empty `}
449
+ >
450
+ <Button
451
+ className={styles.deleteParamBtn}
452
+ variant="link"
453
+ color="success"
454
+ disabled={!values.name.trim()}
455
+ endIcon={<SVGLoader src={AddRow} width="0.125rem" height="0.125rem" />}
456
+ onClick={() => {
457
+ setText('')
458
+ submitForm()
459
+ }} // Save the new row when clicked
460
+ />
461
+ </Tooltip>
462
+ )}
463
+ </div>{' '}
464
+ </div>
465
+ </td>
466
+ </tr>
467
+ ) : (
468
+ <>
469
+ {!readOnly && (
470
+ <tr key={'addNew'} data-i={'addNew'} className={`row`}>
471
+ <td colSpan={5}>
472
+ <Button
473
+ variant="link"
474
+ color="primary"
475
+ onClick={() => {
476
+ setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))
477
+ }}
478
+ >
479
+ + Add Parameter
480
+ </Button>
481
+ </td>
482
+ </tr>
483
+ )}
484
+ </>
485
+ )}
486
+ </tbody>
487
+ </table>
488
+ </div>
489
+ </div>
490
+ )
491
+ }
492
+
493
+ export default ParamterTable