@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,24 +1,180 @@
1
- .livePreviewContainer {
2
- .titleContainer {
3
- display: flex;
4
- justify-content: space-between;
5
- align-items: center;
6
- flex-wrap: wrap;
7
- max-width: 100%;
8
- gap: 1.25rem;
9
-
10
- p.apiName {
11
- font-size: 40px;
12
- line-height: 30px;
13
- font-weight: 500;
14
- word-wrap: break-word;
15
- overflow-wrap: break-word;
16
- word-break: break-all;
17
- }
18
-
19
- .livePreviewChip {
20
- background-color: #ebecf2;
21
- color: #12131a;
22
- }
23
- }
24
- }
1
+ .livePreviewContainer {
2
+ .titleContainer {
3
+ margin-top: 1.875rem;
4
+ display: flex;
5
+ justify-content: space-between;
6
+ align-items: center;
7
+ flex-wrap: wrap;
8
+ max-width: 100%;
9
+ gap: 1.25rem;
10
+
11
+ p.apiName {
12
+ font-size: 40px;
13
+ line-height: 30px;
14
+ font-weight: 500;
15
+ word-wrap: break-word;
16
+ overflow-wrap: break-word;
17
+ word-break: break-all;
18
+ }
19
+
20
+ .livePreviewChip {
21
+ background-color: #ebecf2;
22
+ color: #12131a;
23
+ }
24
+ }
25
+ }
26
+
27
+ .requestAccordion,
28
+ .responseAccordion {
29
+ background-color: #F4C5C5;
30
+ border: 1px solid #DA3F3F;
31
+ border-radius: 0.3125rem !important;
32
+ box-shadow: none !important;
33
+ margin-bottom: 0 !important;
34
+ cursor: default !important;
35
+ margin-top: .625rem;
36
+
37
+ :global(.accordion-header) {
38
+
39
+ background-color: #F4C5C5;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: space-between;
43
+ margin: 0 !important;
44
+ padding: 0 !important;
45
+ height: 4.0625rem !important;
46
+ border-radius: 0.3125rem !important;
47
+ }
48
+
49
+ :global(.accordion-details.expanded) {
50
+ border-top: 1px solid #000 !important;
51
+ padding: 1.25rem !important;
52
+ padding: 0 !important;
53
+
54
+
55
+ background-color: #F4C5C5;
56
+ :global(.jsonField) {
57
+ div {
58
+ textarea {
59
+ border-top-right-radius: 0;
60
+ border-top-left-radius: 0;
61
+ height: 10rem;
62
+ }
63
+ }
64
+ }
65
+ }
66
+
67
+ :global(.accordion-details.expanded .textArea .containerTextArea) {
68
+ display: flex;
69
+ }
70
+
71
+ :global(.accordion-details.expanded .textArea .containerTextArea .inputField) {
72
+ height: 100%;
73
+ padding: 1.25rem;
74
+ }
75
+
76
+ .accordionContent {
77
+ max-width: 100%;
78
+ padding-left: .625rem;
79
+ padding-right: .625rem;
80
+ padding-top: .9375rem;
81
+
82
+ ol{
83
+ padding-left: 1.7rem;
84
+ li{
85
+ max-width: 100%;
86
+ // white-space: normal;
87
+ word-break: break-all;
88
+ // overflow-wrap: break-word;
89
+ }
90
+ }
91
+ }
92
+
93
+ .requestAccordionSummary,
94
+ .responseAccordionSummary {
95
+ width: 100%;
96
+ cursor: pointer;
97
+ display: flex;
98
+ justify-content: space-between;
99
+ font-weight: 700;
100
+ font-size: 1.125rem;
101
+ line-height: 1.5rem;
102
+ display: flex;
103
+ align-items: center;
104
+ // cursor: default !important;
105
+ margin-inline: 0.625rem 1.25rem;
106
+ }
107
+
108
+ .responseAccordionSummary_title,
109
+ .requestAccordionSummary_title,
110
+ .responseAccordionSummary {
111
+ display: flex;
112
+ align-items: center;
113
+
114
+
115
+ svg {
116
+ transition: rotate 0.2s ease-in-out;
117
+ }
118
+
119
+ .expanded {
120
+ rotate: 180deg;
121
+ }
122
+ }
123
+
124
+ :global(.accordion-details) {
125
+ :global(.textArea .inputField) {
126
+ padding: 0;
127
+ border: none;
128
+ }
129
+ }
130
+
131
+ :global(.accordion-header .iconContainer .dropdownIcon) {
132
+ display: none !important;
133
+ }
134
+
135
+ :global(.accordion-header) {
136
+ cursor: default;
137
+ }
138
+ }
139
+
140
+ .responseAccordion {
141
+ .responseAccordionSummary {
142
+ display: flex;
143
+ align-items: center;
144
+
145
+ :global(.multiSelectGroup .optionsList) {
146
+ width: 8rem !important;
147
+ min-width: 8rem !important;
148
+ }
149
+
150
+ :global(.multiSelectGroup) {
151
+ width: 8rem;
152
+ margin-left: auto;
153
+
154
+ :global(.selectDisplay) {
155
+ height: 2.0625rem !important;
156
+ min-height: 2.0625rem !important;
157
+ padding: 0;
158
+ padding-left: 0.625rem;
159
+ }
160
+ }
161
+ }
162
+
163
+ :global(.accordion-header) {
164
+ overflow: visible;
165
+ cursor: default;
166
+ }
167
+
168
+ .statusCodeOptionContainer {
169
+ display: grid;
170
+ grid-template-columns: min-content min-content;
171
+ align-items: center;
172
+ gap: 0.625rem;
173
+
174
+ .statusCodeOptionCircle {
175
+ width: 0.625rem;
176
+ aspect-ratio: 1 / 1;
177
+ border-radius: 100%;
178
+ }
179
+ }
180
+ }
@@ -1,191 +1,226 @@
1
- import React, { useEffect, useState } from 'react'
2
- import styles from './LivePreview.module.scss'
3
- import SimpleLabelValue from '../../components/SimpleLabelValue'
4
- import MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'
5
- import { TransformedOpenApi } from '../../types/transformedOpenApi'
6
- import { useFormikContext } from 'formik'
7
- import { methodColorMapping, tagsTableHeaders } from '../../constants/index'
8
- import TagsTable from '../table/tags-table'
9
- import { Button, Chip } from 'digitinary-ui'
10
- import Tooltip from '../../components/Tooltip/Tooltip'
11
-
12
- interface LivePreviewProps {
13
- transformedData?: TransformedOpenApi
14
- }
15
-
16
- const LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {
17
- const [tableRecords, setTableRecords] = useState()
18
- const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})
19
- const [tableData, setTableData] = useState([])
20
- const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})
21
- const { values } = useFormikContext<TransformedOpenApi>()
22
- const { info, components, tags } = values
23
- const { securitySchemes } = components
24
- const securityKey =
25
- securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length
26
- ? Object.keys(securitySchemes)[0]
27
- : null
28
-
29
- useEffect(() => {
30
- if (values.tags) {
31
- setTableRecords(generateTableData(values.tags, true))
32
- setTableData(values.tags)
33
- }
34
- }, [values.tags])
35
-
36
- const generateTableData = (items, readOnly) => {
37
- return items.map((item, index) => ({
38
- id: index,
39
- tagName: item.name,
40
- description: (
41
- <Tooltip
42
- key={`${index}-description`}
43
- allowHTML
44
- disabled={item.description?.length <= 12}
45
- content={<div style={{ padding: '0.625rem' }}>{item.description}</div>}
46
- arrowWithBorder
47
- placement="bottom-end"
48
- type="function"
49
- delay={[0, 0]}
50
- >
51
- <div className={styles.paramDescContainer}>
52
- <p className={styles.editDescBtn}>
53
- {item.description ? item.description.substring(0, 12) : '-'}
54
- {item.description && item.description.length > 12 ? '...' : ''}
55
- </p>
56
- </div>
57
- </Tooltip>
58
- ),
59
- externalDocs: (
60
- <div className={styles.paramDescContainer}>
61
- {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (
62
- <a
63
- className={styles.editDescBtn}
64
- href={
65
- item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1
66
- ? item.externalDocs?.url
67
- : `https://${item.externalDocs?.url}`
68
- }
69
- rel="noopener noreferrer"
70
- target="_blank"
71
- >
72
- {item?.externalDocs?.url && !item?.externalDocs?.description
73
- ? item?.externalDocs?.url
74
- : null}
75
- {item?.externalDocs?.description
76
- ? item?.externalDocs?.description?.substring(0, 12)
77
- : !item?.externalDocs?.url ? '-': null}
78
- {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12
79
- ? '...'
80
- : ''}
81
- </a>
82
- ) : (
83
- <Button className={styles.editDescBtn} variant="link" color="action">
84
- {item.externalDocs?.description
85
- ? item.externalDocs?.description.substring(0, 12)
86
- : '-'}
87
- {item.externalDocs?.description && item.externalDocs?.description.length > 12
88
- ? '...'
89
- : ''}
90
- </Button>
91
- )}
92
-
93
- {/* </Tooltip> */}
94
-
95
- {!readOnly && <div className={styles.paramDescContainer_separator}></div>}
96
-
97
- {!readOnly && (
98
- <Button
99
- className={styles.deleteParamBtn}
100
- variant="link"
101
- color="error"
102
- onClick={() => null}
103
- ></Button>
104
- )}
105
- </div>
106
- ),
107
- }))
108
- }
109
-
110
- const securityScheme = !!securityKey
111
- ? securitySchemes[securityKey].scheme || securitySchemes[securityKey].type
112
- : '-'
113
-
114
- return (
115
- <div className={styles.livePreviewContainer}>
116
- <div className="row">
117
- <div className="col-md-12">
118
- <div className={styles.titleContainer}>
119
- <p className={styles.apiName}>{info?.title?.trim() || '-'}</p>
120
- <Chip className={styles.livePreviewChip}>Live Preview</Chip>
121
- </div>
122
- <SimpleLabelValue
123
- key={'APIAuthenticationType'}
124
- label={'API authentication type: '}
125
- value={
126
- !!securityScheme && securityScheme.toLowerCase() === 'public'
127
- ? 'Keyless'
128
- : securityScheme
129
- }
130
- />
131
- <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />
132
- <SimpleLabelValue
133
- key={'description'}
134
- label={'Description: '}
135
- value={info?.description?.trim() || '-'}
136
- />
137
-
138
- <SimpleLabelValue key={'tags'} label={'Tags: '} />
139
- <TagsTable
140
- id="tags-table"
141
- data={tableRecords}
142
- headCells={tagsTableHeaders}
143
- isFormOpen={false}
144
- setIsFormOpen={() => null}
145
- saveNewRow={() => null}
146
- readOnly={true}
147
- />
148
-
149
- <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />
150
- {values.paths.map((path) => (
151
- <div className={styles.methodsContainer} key={path.path}>
152
- {Object.entries(
153
- path.methods
154
- .sort(
155
- (a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order
156
- )
157
- .reduce((groupedMethods, method) => {
158
- // Handle methods without tags
159
- const tags = method.tags?.length ? method?.tags : ['default']
160
-
161
- tags.forEach((tag) => {
162
- if (!groupedMethods[tag]) {
163
- groupedMethods[tag] = []
164
- }
165
- groupedMethods[tag].push(method)
166
- })
167
-
168
- return groupedMethods
169
- }, {})
170
- ).map(([tag, methods]) => (
171
- <div key={tag}>
172
- <h3>{tag}</h3>
173
- {methods?.map((method, methodIndex) => (
174
- <MethodsAccordion
175
- readOnly
176
- method={method}
177
- path={path.path}
178
- tags={values.tags}
179
- />
180
- ))}
181
- </div>
182
- ))}
183
- </div>
184
- ))}
185
- </div>
186
- </div>
187
- </div>
188
- )
189
- }
190
-
191
- export default LivePreview
1
+ import React, { useEffect, useState } from 'react'
2
+ import styles from './LivePreview.module.scss'
3
+ import SimpleLabelValue from '../../components/SimpleLabelValue'
4
+ import MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'
5
+ import { TransformedOpenApi } from '../../types/transformedOpenApi'
6
+ import { useFormikContext } from 'formik'
7
+ import { methodColorMapping, tagsTableHeaders } from '../../constants/index'
8
+ import TagsTable from '../table/tags-table'
9
+ import { Accordion, Button, Chip } from 'digitinary-ui'
10
+ import Tooltip from '../../components/Tooltip/Tooltip'
11
+ import SVGLoader from '../../components/SVGLoader/SVGLoader'
12
+ import { DownArrowIcon } from '../../assets/icons'
13
+
14
+ interface LivePreviewProps {
15
+ transformedData?: TransformedOpenApi
16
+ openApiErrors?: any[]
17
+ }
18
+
19
+ const LivePreview: React.FC<LivePreviewProps> = ({ transformedData, openApiErrors }) => {
20
+ const [tableRecords, setTableRecords] = useState()
21
+ const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})
22
+ const [tableData, setTableData] = useState([])
23
+ const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})
24
+ const [errorExpanded, setErrorExpanded] = useState(openApiErrors.length > 0)
25
+ const { values } = useFormikContext<TransformedOpenApi>()
26
+ const { info, components, tags } = values
27
+ const { securitySchemes } = components
28
+ const securityKey =
29
+ securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length
30
+ ? Object.keys(securitySchemes)[0]
31
+ : null
32
+
33
+ useEffect(() => {
34
+ if (values.tags) {
35
+ setTableRecords(generateTableData(values.tags, true))
36
+ setTableData(values.tags)
37
+ }
38
+ }, [values.tags])
39
+
40
+ const generateTableData = (items, readOnly) => {
41
+ return items.map((item, index) => ({
42
+ id: index,
43
+ tagName: item.name,
44
+ description: (
45
+ <Tooltip
46
+ key={`${index}-description`}
47
+ allowHTML
48
+ disabled={item.description?.length <= 12}
49
+ content={<div style={{ padding: '0.625rem' }}>{item.description}</div>}
50
+ arrowWithBorder
51
+ placement="bottom-end"
52
+ type="function"
53
+ delay={[0, 0]}
54
+ >
55
+ <div className={styles.paramDescContainer}>
56
+ <p className={styles.editDescBtn}>
57
+ {item.description ? item.description.substring(0, 12) : '-'}
58
+ {item.description && item.description.length > 12 ? '...' : ''}
59
+ </p>
60
+ </div>
61
+ </Tooltip>
62
+ ),
63
+ externalDocs: (
64
+ <div className={styles.paramDescContainer}>
65
+ {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (
66
+ <a
67
+ className={styles.editDescBtn}
68
+ href={
69
+ item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1
70
+ ? item.externalDocs?.url
71
+ : `https://${item.externalDocs?.url}`
72
+ }
73
+ rel="noopener noreferrer"
74
+ target="_blank"
75
+ >
76
+ {item?.externalDocs?.url && !item?.externalDocs?.description
77
+ ? item?.externalDocs?.url
78
+ : null}
79
+ {item?.externalDocs?.description
80
+ ? item?.externalDocs?.description?.substring(0, 12)
81
+ : !item?.externalDocs?.url
82
+ ? '-'
83
+ : null}
84
+ {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12
85
+ ? '...'
86
+ : ''}
87
+ </a>
88
+ ) : (
89
+ <Button className={styles.editDescBtn} variant="link" color="action">
90
+ {item.externalDocs?.description
91
+ ? item.externalDocs?.description.substring(0, 12)
92
+ : '-'}
93
+ {item.externalDocs?.description && item.externalDocs?.description.length > 12
94
+ ? '...'
95
+ : ''}
96
+ </Button>
97
+ )}
98
+
99
+ {/* </Tooltip> */}
100
+
101
+ {!readOnly && <div className={styles.paramDescContainer_separator}></div>}
102
+
103
+ {!readOnly && (
104
+ <Button
105
+ className={styles.deleteParamBtn}
106
+ variant="link"
107
+ color="error"
108
+ onClick={() => null}
109
+ ></Button>
110
+ )}
111
+ </div>
112
+ ),
113
+ }))
114
+ }
115
+
116
+ const securityScheme = !!securityKey
117
+ ? securitySchemes[securityKey].scheme || securitySchemes[securityKey].type
118
+ : '-'
119
+
120
+ return (
121
+ <div className={styles.livePreviewContainer}>
122
+ {!!openApiErrors && openApiErrors.length > 0 && (
123
+ <div className="row">
124
+ <div className="col-md-12">
125
+ <Accordion
126
+ expanded={errorExpanded}
127
+ onChange={() => null}
128
+ className={styles.responseAccordion}
129
+ summary={
130
+ <span
131
+ className={styles.responseAccordionSummary}
132
+ onClick={() => setErrorExpanded((prev) => !errorExpanded)}
133
+ >
134
+ <div className={styles.responseAccordionSummary_title}>Errors</div>
135
+ <SVGLoader
136
+ className={errorExpanded ? styles.expanded : ''}
137
+ src={DownArrowIcon}
138
+ width="2rem"
139
+ height="2rem"
140
+ />
141
+ </span>
142
+ }
143
+ children={
144
+ <div className={styles.accordionContent}>
145
+ <span>
146
+ Failed to update the OpenAPI documentation. Please resolve the following issues:
147
+ </span>
148
+ <br />
149
+ <ol>
150
+ {openApiErrors.map((errItem) => (
151
+ <li key={errItem}>{errItem}</li>
152
+ ))}
153
+ </ol>
154
+ </div>
155
+ }
156
+ />
157
+ </div>
158
+ </div>
159
+ )}
160
+ <div className="row">
161
+ <div className="col-md-12">
162
+ <div className={styles.titleContainer}>
163
+ <p className={styles.apiName}>{info?.title?.trim() || '-'}</p>
164
+ <Chip className={styles.livePreviewChip}>Live Preview</Chip>
165
+ </div>
166
+ <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />
167
+ <SimpleLabelValue
168
+ key={'description'}
169
+ label={'Description: '}
170
+ value={info?.description?.trim() || '-'}
171
+ />
172
+
173
+ <SimpleLabelValue key={'tags'} label={'Tags: '} />
174
+ <TagsTable
175
+ id="tags-table"
176
+ data={tableRecords}
177
+ headCells={tagsTableHeaders}
178
+ isFormOpen={false}
179
+ setIsFormOpen={() => null}
180
+ saveNewRow={() => null}
181
+ readOnly={true}
182
+ />
183
+
184
+ <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />
185
+ {values.paths.map((path) => (
186
+ <div className={styles.methodsContainer} key={path.path}>
187
+ {Object.entries(
188
+ path.methods
189
+ .sort(
190
+ (a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order
191
+ )
192
+ .reduce((groupedMethods, method) => {
193
+ // Handle methods without tags
194
+ const tags = method.tags?.length ? method?.tags : ['default']
195
+
196
+ tags.forEach((tag) => {
197
+ if (!groupedMethods[tag]) {
198
+ groupedMethods[tag] = []
199
+ }
200
+ groupedMethods[tag].push(method)
201
+ })
202
+
203
+ return groupedMethods
204
+ }, {})
205
+ ).map(([tag, methods]) => (
206
+ <div key={tag}>
207
+ <h3>{tag}</h3>
208
+ {methods?.map((method, methodIndex) => (
209
+ <MethodsAccordion
210
+ readOnly
211
+ method={method}
212
+ path={path.path}
213
+ tags={values.tags}
214
+ />
215
+ ))}
216
+ </div>
217
+ ))}
218
+ </div>
219
+ ))}
220
+ </div>
221
+ </div>
222
+ </div>
223
+ )
224
+ }
225
+
226
+ export default LivePreview