@camunda8/docusaurus-theme-openapi-docs 4.5.1

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 (312) hide show
  1. package/babel.config.js +35 -0
  2. package/lib/index.d.ts +2 -0
  3. package/lib/index.js +81 -0
  4. package/lib/markdown/createDescription.d.ts +1 -0
  5. package/lib/markdown/createDescription.js +15 -0
  6. package/lib/markdown/schema.d.ts +3 -0
  7. package/lib/markdown/schema.js +154 -0
  8. package/lib/markdown/utils.d.ts +10 -0
  9. package/lib/markdown/utils.js +49 -0
  10. package/lib/markdown/utils.test.d.ts +1 -0
  11. package/lib/markdown/utils.test.js +43 -0
  12. package/lib/theme/ApiExplorer/Accept/index.d.ts +3 -0
  13. package/lib/theme/ApiExplorer/Accept/index.js +38 -0
  14. package/lib/theme/ApiExplorer/Accept/slice.d.ts +11 -0
  15. package/lib/theme/ApiExplorer/Accept/slice.js +22 -0
  16. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/_Container.scss +7 -0
  17. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/index.d.ts +4 -0
  18. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/index.js +35 -0
  19. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/Element.d.ts +3 -0
  20. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/Element.js +41 -0
  21. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/String.d.ts +3 -0
  22. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/String.js +153 -0
  23. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/_Content.scss +91 -0
  24. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/_CopyButton.scss +44 -0
  25. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.d.ts +7 -0
  26. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.js +147 -0
  27. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/_ExitButton.scss +16 -0
  28. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.d.ts +6 -0
  29. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.js +58 -0
  30. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/_ExpandButton.scss +62 -0
  31. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.d.ts +14 -0
  32. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.js +248 -0
  33. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/_Line.scss +34 -0
  34. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/index.d.ts +3 -0
  35. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/index.js +59 -0
  36. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/_WordWrapButton.scss +10 -0
  37. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.d.ts +7 -0
  38. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.js +51 -0
  39. package/lib/theme/ApiExplorer/ApiCodeBlock/index.d.ts +3 -0
  40. package/lib/theme/ApiExplorer/ApiCodeBlock/index.js +110 -0
  41. package/lib/theme/ApiExplorer/Authorization/auth-types.d.ts +3 -0
  42. package/lib/theme/ApiExplorer/Authorization/auth-types.js +28 -0
  43. package/lib/theme/ApiExplorer/Authorization/index.d.ts +3 -0
  44. package/lib/theme/ApiExplorer/Authorization/index.js +201 -0
  45. package/lib/theme/ApiExplorer/Authorization/slice.d.ts +40 -0
  46. package/lib/theme/ApiExplorer/Authorization/slice.js +102 -0
  47. package/lib/theme/ApiExplorer/Body/index.d.ts +10 -0
  48. package/lib/theme/ApiExplorer/Body/index.js +394 -0
  49. package/lib/theme/ApiExplorer/Body/json2xml.js +43 -0
  50. package/lib/theme/ApiExplorer/Body/slice.d.ts +82 -0
  51. package/lib/theme/ApiExplorer/Body/slice.js +97 -0
  52. package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.d.ts +21 -0
  53. package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.js +8 -0
  54. package/lib/theme/ApiExplorer/CodeSnippets/index.d.ts +11 -0
  55. package/lib/theme/ApiExplorer/CodeSnippets/index.js +435 -0
  56. package/lib/theme/ApiExplorer/CodeSnippets/languages.d.ts +5 -0
  57. package/lib/theme/ApiExplorer/CodeSnippets/languages.js +133 -0
  58. package/lib/theme/ApiExplorer/CodeSnippets/languages.json +1290 -0
  59. package/lib/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +505 -0
  60. package/lib/theme/ApiExplorer/CodeTabs/index.d.ts +15 -0
  61. package/lib/theme/ApiExplorer/CodeTabs/index.js +283 -0
  62. package/lib/theme/ApiExplorer/ContentType/index.d.ts +3 -0
  63. package/lib/theme/ApiExplorer/ContentType/index.js +40 -0
  64. package/lib/theme/ApiExplorer/ContentType/slice.d.ts +11 -0
  65. package/lib/theme/ApiExplorer/ContentType/slice.js +22 -0
  66. package/lib/theme/ApiExplorer/Export/index.d.ts +3 -0
  67. package/lib/theme/ApiExplorer/Export/index.js +57 -0
  68. package/lib/theme/ApiExplorer/FloatingButton/_FloatingButton.scss +27 -0
  69. package/lib/theme/ApiExplorer/FloatingButton/index.d.ts +8 -0
  70. package/lib/theme/ApiExplorer/FloatingButton/index.js +28 -0
  71. package/lib/theme/ApiExplorer/FormFileUpload/_FormFileUpload.scss +74 -0
  72. package/lib/theme/ApiExplorer/FormFileUpload/index.d.ts +7 -0
  73. package/lib/theme/ApiExplorer/FormFileUpload/index.js +178 -0
  74. package/lib/theme/ApiExplorer/FormItem/_FormItem.scss +21 -0
  75. package/lib/theme/ApiExplorer/FormItem/index.d.ts +10 -0
  76. package/lib/theme/ApiExplorer/FormItem/index.js +49 -0
  77. package/lib/theme/ApiExplorer/FormMultiSelect/_FormMultiSelect.scss +30 -0
  78. package/lib/theme/ApiExplorer/FormMultiSelect/index.d.ts +9 -0
  79. package/lib/theme/ApiExplorer/FormMultiSelect/index.js +51 -0
  80. package/lib/theme/ApiExplorer/FormSelect/_FormSelect.scss +43 -0
  81. package/lib/theme/ApiExplorer/FormSelect/index.d.ts +8 -0
  82. package/lib/theme/ApiExplorer/FormSelect/index.js +35 -0
  83. package/lib/theme/ApiExplorer/FormTextInput/_FormTextInput.scss +34 -0
  84. package/lib/theme/ApiExplorer/FormTextInput/index.d.ts +11 -0
  85. package/lib/theme/ApiExplorer/FormTextInput/index.js +80 -0
  86. package/lib/theme/ApiExplorer/LiveEditor/_LiveEditor.scss +15 -0
  87. package/lib/theme/ApiExplorer/LiveEditor/index.d.ts +6 -0
  88. package/lib/theme/ApiExplorer/LiveEditor/index.js +176 -0
  89. package/lib/theme/ApiExplorer/MethodEndpoint/_MethodEndpoint.scss +22 -0
  90. package/lib/theme/ApiExplorer/MethodEndpoint/index.d.ts +8 -0
  91. package/lib/theme/ApiExplorer/MethodEndpoint/index.js +86 -0
  92. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.d.ts +6 -0
  93. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.js +230 -0
  94. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.d.ts +6 -0
  95. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.js +71 -0
  96. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.d.ts +6 -0
  97. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.js +97 -0
  98. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.d.ts +6 -0
  99. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.js +72 -0
  100. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.d.ts +6 -0
  101. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.js +38 -0
  102. package/lib/theme/ApiExplorer/ParamOptions/_ParamOptions.scss +123 -0
  103. package/lib/theme/ApiExplorer/ParamOptions/index.d.ts +7 -0
  104. package/lib/theme/ApiExplorer/ParamOptions/index.js +233 -0
  105. package/lib/theme/ApiExplorer/ParamOptions/slice.d.ts +17 -0
  106. package/lib/theme/ApiExplorer/ParamOptions/slice.js +25 -0
  107. package/lib/theme/ApiExplorer/Request/_Request.scss +129 -0
  108. package/lib/theme/ApiExplorer/Request/index.d.ts +6 -0
  109. package/lib/theme/ApiExplorer/Request/index.js +443 -0
  110. package/lib/theme/ApiExplorer/Request/makeRequest.d.ts +4 -0
  111. package/lib/theme/ApiExplorer/Request/makeRequest.js +223 -0
  112. package/lib/theme/ApiExplorer/Response/_Response.scss +121 -0
  113. package/lib/theme/ApiExplorer/Response/index.d.ts +6 -0
  114. package/lib/theme/ApiExplorer/Response/index.js +207 -0
  115. package/lib/theme/ApiExplorer/Response/slice.d.ts +17 -0
  116. package/lib/theme/ApiExplorer/Response/slice.js +51 -0
  117. package/lib/theme/ApiExplorer/SecuritySchemes/index.d.ts +3 -0
  118. package/lib/theme/ApiExplorer/SecuritySchemes/index.js +519 -0
  119. package/lib/theme/ApiExplorer/Server/_Server.scss +26 -0
  120. package/lib/theme/ApiExplorer/Server/index.d.ts +3 -0
  121. package/lib/theme/ApiExplorer/Server/index.js +213 -0
  122. package/lib/theme/ApiExplorer/Server/slice.d.ts +13 -0
  123. package/lib/theme/ApiExplorer/Server/slice.js +33 -0
  124. package/lib/theme/ApiExplorer/buildPostmanRequest.d.ts +20 -0
  125. package/lib/theme/ApiExplorer/buildPostmanRequest.js +511 -0
  126. package/lib/theme/ApiExplorer/index.d.ts +7 -0
  127. package/lib/theme/ApiExplorer/index.js +107 -0
  128. package/lib/theme/ApiExplorer/persistanceMiddleware.d.ts +19 -0
  129. package/lib/theme/ApiExplorer/persistanceMiddleware.js +54 -0
  130. package/lib/theme/ApiExplorer/storage-utils.d.ts +4 -0
  131. package/lib/theme/ApiExplorer/storage-utils.js +41 -0
  132. package/lib/theme/ApiItem/Layout/index.d.ts +3 -0
  133. package/lib/theme/ApiItem/Layout/index.js +121 -0
  134. package/lib/theme/ApiItem/Layout/styles.module.css +17 -0
  135. package/lib/theme/ApiItem/hooks.d.ts +12 -0
  136. package/lib/theme/ApiItem/hooks.js +13 -0
  137. package/lib/theme/ApiItem/index.d.ts +2 -0
  138. package/lib/theme/ApiItem/index.js +238 -0
  139. package/lib/theme/ApiItem/store.d.ts +58 -0
  140. package/lib/theme/ApiItem/store.js +53 -0
  141. package/lib/theme/ApiLogo/index.d.ts +2 -0
  142. package/lib/theme/ApiLogo/index.js +51 -0
  143. package/lib/theme/ApiTabs/_ApiTabs.scss +142 -0
  144. package/lib/theme/ApiTabs/index.d.ts +7 -0
  145. package/lib/theme/ApiTabs/index.js +275 -0
  146. package/lib/theme/ArrayBrackets/index.d.ts +3 -0
  147. package/lib/theme/ArrayBrackets/index.js +50 -0
  148. package/lib/theme/CodeSamples/_CodeSamples.scss +3 -0
  149. package/lib/theme/CodeSamples/index.d.ts +8 -0
  150. package/lib/theme/CodeSamples/index.js +27 -0
  151. package/lib/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +98 -0
  152. package/lib/theme/DiscriminatorTabs/index.d.ts +3 -0
  153. package/lib/theme/DiscriminatorTabs/index.js +258 -0
  154. package/lib/theme/Markdown/Details/_Details.scss +122 -0
  155. package/lib/theme/Markdown/index.js +179 -0
  156. package/lib/theme/MimeTabs/_MimeTabs.scss +70 -0
  157. package/lib/theme/MimeTabs/index.d.ts +6 -0
  158. package/lib/theme/MimeTabs/index.js +286 -0
  159. package/lib/theme/OperationTabs/_OperationTabs.scss +72 -0
  160. package/lib/theme/OperationTabs/index.d.ts +3 -0
  161. package/lib/theme/OperationTabs/index.js +248 -0
  162. package/lib/theme/ParamsDetails/index.d.ts +6 -0
  163. package/lib/theme/ParamsDetails/index.js +93 -0
  164. package/lib/theme/ParamsItem/_ParamsItem.scss +54 -0
  165. package/lib/theme/ParamsItem/index.d.ts +22 -0
  166. package/lib/theme/ParamsItem/index.js +281 -0
  167. package/lib/theme/RequestSchema/index.d.ts +15 -0
  168. package/lib/theme/RequestSchema/index.js +208 -0
  169. package/lib/theme/ResponseExamples/index.d.ts +18 -0
  170. package/lib/theme/ResponseExamples/index.js +213 -0
  171. package/lib/theme/ResponseHeaders/index.d.ts +13 -0
  172. package/lib/theme/ResponseHeaders/index.js +39 -0
  173. package/lib/theme/ResponseSchema/index.d.ts +15 -0
  174. package/lib/theme/ResponseSchema/index.js +165 -0
  175. package/lib/theme/Schema/index.d.ts +8 -0
  176. package/lib/theme/Schema/index.js +853 -0
  177. package/lib/theme/SchemaItem/_SchemaItem.scss +89 -0
  178. package/lib/theme/SchemaItem/index.d.ts +12 -0
  179. package/lib/theme/SchemaItem/index.js +314 -0
  180. package/lib/theme/SchemaTabs/_SchemaTabs.scss +61 -0
  181. package/lib/theme/SchemaTabs/index.d.ts +3 -0
  182. package/lib/theme/SchemaTabs/index.js +255 -0
  183. package/lib/theme/SkeletonLoader/index.d.ts +6 -0
  184. package/lib/theme/SkeletonLoader/index.js +20 -0
  185. package/lib/theme/StatusCodes/index.d.ts +9 -0
  186. package/lib/theme/StatusCodes/index.js +90 -0
  187. package/lib/theme/styles.scss +215 -0
  188. package/lib/theme/translationIds.d.ts +83 -0
  189. package/lib/theme/translationIds.js +106 -0
  190. package/lib/types.d.ts +46 -0
  191. package/lib/types.js +8 -0
  192. package/package.json +85 -0
  193. package/src/index.ts +85 -0
  194. package/src/markdown/createDescription.ts +13 -0
  195. package/src/markdown/schema.ts +186 -0
  196. package/src/markdown/utils.test.ts +49 -0
  197. package/src/markdown/utils.ts +59 -0
  198. package/src/plugin-content-docs.d.ts +20 -0
  199. package/src/postman-code-generators.d.ts +9 -0
  200. package/src/react-magic-dropzone.d.ts +9 -0
  201. package/src/theme/ApiExplorer/Accept/index.tsx +36 -0
  202. package/src/theme/ApiExplorer/Accept/slice.ts +29 -0
  203. package/src/theme/ApiExplorer/ApiCodeBlock/Container/_Container.scss +7 -0
  204. package/src/theme/ApiExplorer/ApiCodeBlock/Container/index.tsx +32 -0
  205. package/src/theme/ApiExplorer/ApiCodeBlock/Content/Element.tsx +34 -0
  206. package/src/theme/ApiExplorer/ApiCodeBlock/Content/String.tsx +134 -0
  207. package/src/theme/ApiExplorer/ApiCodeBlock/Content/_Content.scss +91 -0
  208. package/src/theme/ApiExplorer/ApiCodeBlock/CopyButton/_CopyButton.scss +44 -0
  209. package/src/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.tsx +83 -0
  210. package/src/theme/ApiExplorer/ApiCodeBlock/ExitButton/_ExitButton.scss +16 -0
  211. package/src/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.tsx +55 -0
  212. package/src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/_ExpandButton.scss +62 -0
  213. package/src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.tsx +166 -0
  214. package/src/theme/ApiExplorer/ApiCodeBlock/Line/_Line.scss +34 -0
  215. package/src/theme/ApiExplorer/ApiCodeBlock/Line/index.tsx +48 -0
  216. package/src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/_WordWrapButton.scss +10 -0
  217. package/src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.tsx +54 -0
  218. package/src/theme/ApiExplorer/ApiCodeBlock/index.tsx +45 -0
  219. package/src/theme/ApiExplorer/Authorization/auth-types.ts +30 -0
  220. package/src/theme/ApiExplorer/Authorization/index.tsx +199 -0
  221. package/src/theme/ApiExplorer/Authorization/slice.ts +146 -0
  222. package/src/theme/ApiExplorer/Body/index.tsx +388 -0
  223. package/src/theme/ApiExplorer/Body/json2xml.d.ts +8 -0
  224. package/src/theme/ApiExplorer/Body/json2xml.js +43 -0
  225. package/src/theme/ApiExplorer/Body/slice.ts +133 -0
  226. package/src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts +57 -0
  227. package/src/theme/ApiExplorer/CodeSnippets/index.tsx +383 -0
  228. package/src/theme/ApiExplorer/CodeSnippets/languages.json +1290 -0
  229. package/src/theme/ApiExplorer/CodeSnippets/languages.ts +139 -0
  230. package/src/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +505 -0
  231. package/src/theme/ApiExplorer/CodeTabs/index.tsx +261 -0
  232. package/src/theme/ApiExplorer/ContentType/index.tsx +38 -0
  233. package/src/theme/ApiExplorer/ContentType/slice.ts +29 -0
  234. package/src/theme/ApiExplorer/Export/index.tsx +47 -0
  235. package/src/theme/ApiExplorer/FloatingButton/_FloatingButton.scss +27 -0
  236. package/src/theme/ApiExplorer/FloatingButton/index.tsx +29 -0
  237. package/src/theme/ApiExplorer/FormFileUpload/_FormFileUpload.scss +74 -0
  238. package/src/theme/ApiExplorer/FormFileUpload/index.tsx +124 -0
  239. package/src/theme/ApiExplorer/FormItem/_FormItem.scss +21 -0
  240. package/src/theme/ApiExplorer/FormItem/index.tsx +40 -0
  241. package/src/theme/ApiExplorer/FormMultiSelect/_FormMultiSelect.scss +30 -0
  242. package/src/theme/ApiExplorer/FormMultiSelect/index.tsx +57 -0
  243. package/src/theme/ApiExplorer/FormSelect/_FormSelect.scss +43 -0
  244. package/src/theme/ApiExplorer/FormSelect/index.tsx +38 -0
  245. package/src/theme/ApiExplorer/FormTextInput/_FormTextInput.scss +34 -0
  246. package/src/theme/ApiExplorer/FormTextInput/index.tsx +89 -0
  247. package/src/theme/ApiExplorer/LiveEditor/_LiveEditor.scss +15 -0
  248. package/src/theme/ApiExplorer/LiveEditor/index.tsx +122 -0
  249. package/src/theme/ApiExplorer/MethodEndpoint/_MethodEndpoint.scss +22 -0
  250. package/src/theme/ApiExplorer/MethodEndpoint/index.tsx +91 -0
  251. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx +185 -0
  252. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx +72 -0
  253. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx +94 -0
  254. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx +74 -0
  255. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.tsx +38 -0
  256. package/src/theme/ApiExplorer/ParamOptions/_ParamOptions.scss +123 -0
  257. package/src/theme/ApiExplorer/ParamOptions/index.tsx +154 -0
  258. package/src/theme/ApiExplorer/ParamOptions/slice.ts +37 -0
  259. package/src/theme/ApiExplorer/Request/_Request.scss +129 -0
  260. package/src/theme/ApiExplorer/Request/index.tsx +352 -0
  261. package/src/theme/ApiExplorer/Request/makeRequest.ts +255 -0
  262. package/src/theme/ApiExplorer/Response/_Response.scss +121 -0
  263. package/src/theme/ApiExplorer/Response/index.tsx +173 -0
  264. package/src/theme/ApiExplorer/Response/slice.ts +52 -0
  265. package/src/theme/ApiExplorer/SecuritySchemes/index.tsx +375 -0
  266. package/src/theme/ApiExplorer/Server/_Server.scss +26 -0
  267. package/src/theme/ApiExplorer/Server/index.tsx +138 -0
  268. package/src/theme/ApiExplorer/Server/slice.ts +39 -0
  269. package/src/theme/ApiExplorer/buildPostmanRequest.ts +524 -0
  270. package/src/theme/ApiExplorer/index.tsx +52 -0
  271. package/src/theme/ApiExplorer/persistanceMiddleware.ts +73 -0
  272. package/src/theme/ApiExplorer/storage-utils.ts +39 -0
  273. package/src/theme/ApiItem/Layout/index.tsx +85 -0
  274. package/src/theme/ApiItem/Layout/styles.module.css +17 -0
  275. package/src/theme/ApiItem/hooks.ts +13 -0
  276. package/src/theme/ApiItem/index.tsx +222 -0
  277. package/src/theme/ApiItem/store.ts +51 -0
  278. package/src/theme/ApiLogo/index.tsx +52 -0
  279. package/src/theme/ApiTabs/_ApiTabs.scss +142 -0
  280. package/src/theme/ApiTabs/index.tsx +243 -0
  281. package/src/theme/ArrayBrackets/index.tsx +37 -0
  282. package/src/theme/CodeSamples/_CodeSamples.scss +3 -0
  283. package/src/theme/CodeSamples/index.tsx +26 -0
  284. package/src/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +98 -0
  285. package/src/theme/DiscriminatorTabs/index.tsx +229 -0
  286. package/src/theme/Markdown/Details/_Details.scss +122 -0
  287. package/src/theme/Markdown/index.d.ts +8 -0
  288. package/src/theme/Markdown/index.js +179 -0
  289. package/src/theme/MimeTabs/_MimeTabs.scss +70 -0
  290. package/src/theme/MimeTabs/index.tsx +257 -0
  291. package/src/theme/OperationTabs/_OperationTabs.scss +72 -0
  292. package/src/theme/OperationTabs/index.tsx +220 -0
  293. package/src/theme/ParamsDetails/index.tsx +90 -0
  294. package/src/theme/ParamsItem/_ParamsItem.scss +54 -0
  295. package/src/theme/ParamsItem/index.tsx +246 -0
  296. package/src/theme/RequestSchema/index.tsx +172 -0
  297. package/src/theme/ResponseExamples/index.tsx +209 -0
  298. package/src/theme/ResponseHeaders/index.tsx +49 -0
  299. package/src/theme/ResponseSchema/index.tsx +150 -0
  300. package/src/theme/Schema/index.tsx +938 -0
  301. package/src/theme/SchemaItem/_SchemaItem.scss +89 -0
  302. package/src/theme/SchemaItem/index.tsx +273 -0
  303. package/src/theme/SchemaTabs/_SchemaTabs.scss +61 -0
  304. package/src/theme/SchemaTabs/index.tsx +224 -0
  305. package/src/theme/SkeletonLoader/index.tsx +18 -0
  306. package/src/theme/StatusCodes/index.tsx +83 -0
  307. package/src/theme/styles.scss +215 -0
  308. package/src/theme/translationIds.ts +103 -0
  309. package/src/theme-classic.d.ts +80 -0
  310. package/src/theme-openapi.d.ts +20 -0
  311. package/src/types.ts +72 -0
  312. package/tsconfig.json +16 -0
@@ -0,0 +1,172 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ import React from "react";
9
+
10
+ import { translate } from "@docusaurus/Translate";
11
+ import { OPENAPI_REQUEST, OPENAPI_SCHEMA_ITEM } from "@theme/translationIds";
12
+
13
+ import BrowserOnly from "@docusaurus/BrowserOnly";
14
+ import Details from "@theme/Details";
15
+ import Markdown from "@theme/Markdown";
16
+ import MimeTabs from "@theme/MimeTabs"; // Assume these components exist
17
+ import SchemaNode from "@theme/Schema";
18
+ import SkeletonLoader from "@theme/SkeletonLoader";
19
+ import TabItem from "@theme/TabItem";
20
+ import { MediaTypeObject } from "@camunda8/docusaurus-plugin-openapi-docs/lib/openapi/types";
21
+
22
+ interface Props {
23
+ style?: React.CSSProperties;
24
+ title: string;
25
+ body: {
26
+ content?: {
27
+ [key: string]: MediaTypeObject;
28
+ };
29
+ description?: string;
30
+ required?: string[] | boolean;
31
+ };
32
+ }
33
+
34
+ const RequestSchemaComponent: React.FC<Props> = ({ title, body, style }) => {
35
+ if (
36
+ body === undefined ||
37
+ body.content === undefined ||
38
+ Object.keys(body).length === 0 ||
39
+ Object.keys(body.content).length === 0
40
+ ) {
41
+ return null;
42
+ }
43
+
44
+ const mimeTypes = Object.keys(body.content);
45
+
46
+ if (mimeTypes.length > 1) {
47
+ return (
48
+ <MimeTabs className="openapi-tabs__mime" schemaType="request">
49
+ {mimeTypes.map((mimeType) => {
50
+ const firstBody = body.content![mimeType].schema;
51
+ if (
52
+ firstBody === undefined ||
53
+ (firstBody.properties &&
54
+ Object.keys(firstBody.properties).length === 0)
55
+ ) {
56
+ return null;
57
+ }
58
+ return (
59
+ // @ts-ignore
60
+ <TabItem key={mimeType} label={mimeType} value={mimeType}>
61
+ <Details
62
+ className="openapi-markdown__details mime"
63
+ data-collapsed={false}
64
+ open={true}
65
+ style={style}
66
+ summary={
67
+ <>
68
+ <summary>
69
+ <h3 className="openapi-markdown__details-summary-header-body">
70
+ {translate({
71
+ id: OPENAPI_REQUEST.BODY_TITLE,
72
+ message: title,
73
+ })}
74
+ {body.required === true && (
75
+ <span className="openapi-schema__required">
76
+ {translate({
77
+ id: OPENAPI_SCHEMA_ITEM.REQUIRED,
78
+ message: "required",
79
+ })}
80
+ </span>
81
+ )}
82
+ </h3>
83
+ </summary>
84
+ </>
85
+ }
86
+ >
87
+ <div style={{ textAlign: "left", marginLeft: "1rem" }}>
88
+ {body.description && (
89
+ <div style={{ marginTop: "1rem", marginBottom: "1rem" }}>
90
+ <Markdown>{body.description}</Markdown>
91
+ </div>
92
+ )}
93
+ </div>
94
+ <ul style={{ marginLeft: "1rem" }}>
95
+ <SchemaNode schema={firstBody} schemaType="request" />
96
+ </ul>
97
+ </Details>
98
+ </TabItem>
99
+ );
100
+ })}
101
+ </MimeTabs>
102
+ );
103
+ }
104
+
105
+ const randomFirstKey = mimeTypes[0];
106
+ const firstBody =
107
+ body.content[randomFirstKey].schema ?? body.content![randomFirstKey];
108
+
109
+ if (firstBody === undefined) {
110
+ return null;
111
+ }
112
+
113
+ return (
114
+ <MimeTabs className="openapi-tabs__mime" schemaType="request">
115
+ {/* @ts-ignore */}
116
+ <TabItem label={randomFirstKey} value={`${randomFirstKey}-schema`}>
117
+ <Details
118
+ className="openapi-markdown__details mime"
119
+ data-collapsed={false}
120
+ open={true}
121
+ style={style}
122
+ summary={
123
+ <>
124
+ <summary>
125
+ <h3 className="openapi-markdown__details-summary-header-body">
126
+ {translate({
127
+ id: OPENAPI_REQUEST.BODY_TITLE,
128
+ message: title,
129
+ })}
130
+ {firstBody.type === "array" && (
131
+ <span style={{ opacity: "0.6" }}> array</span>
132
+ )}
133
+ {body.required && (
134
+ <strong className="openapi-schema__required">
135
+ {translate({
136
+ id: OPENAPI_SCHEMA_ITEM.REQUIRED,
137
+ message: "required",
138
+ })}
139
+ </strong>
140
+ )}
141
+ </h3>
142
+ </summary>
143
+ </>
144
+ }
145
+ >
146
+ <div style={{ textAlign: "left", marginLeft: "1rem" }}>
147
+ {body.description && (
148
+ <div style={{ marginTop: "1rem", marginBottom: "1rem" }}>
149
+ <Markdown>{body.description}</Markdown>
150
+ </div>
151
+ )}
152
+ </div>
153
+ <ul style={{ marginLeft: "1rem" }}>
154
+ <SchemaNode schema={firstBody} schemaType="request" />
155
+ </ul>
156
+ </Details>
157
+ </TabItem>
158
+ </MimeTabs>
159
+ );
160
+ };
161
+
162
+ const RequestSchema: React.FC<Props> = (props) => {
163
+ return (
164
+ <BrowserOnly fallback={<SkeletonLoader size="sm" />}>
165
+ {() => {
166
+ return <RequestSchemaComponent {...props} />;
167
+ }}
168
+ </BrowserOnly>
169
+ );
170
+ };
171
+
172
+ export default RequestSchema;
@@ -0,0 +1,209 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ import React from "react";
9
+
10
+ import { translate } from "@docusaurus/Translate";
11
+ import CodeSamples from "@theme/CodeSamples";
12
+ import Markdown from "@theme/Markdown";
13
+ import TabItem from "@theme/TabItem";
14
+ import { OPENAPI_RESPONSE_EXAMPLES } from "@theme/translationIds";
15
+ import { sampleResponseFromSchema } from "@camunda8/docusaurus-plugin-openapi-docs/lib/openapi/createResponseExample";
16
+ import format from "xml-formatter";
17
+
18
+ export function json2xml(o: Record<string, any>, tab: string): string {
19
+ const toXml = (v: any, name: string, ind: string): string => {
20
+ let xml = "";
21
+ if (v instanceof Array) {
22
+ for (let i = 0, n = v.length; i < n; i++) {
23
+ xml += ind + toXml(v[i], name, ind + "\t") + "\n";
24
+ }
25
+ } else if (typeof v === "object") {
26
+ let hasChild = false;
27
+ xml += ind + "<" + name;
28
+ for (const m in v) {
29
+ if (m.charAt(0) === "@") {
30
+ xml += " " + m.substr(1) + '="' + v[m].toString() + '"';
31
+ } else {
32
+ hasChild = true;
33
+ }
34
+ }
35
+ xml += hasChild ? ">" : "/>";
36
+ if (hasChild) {
37
+ for (const m2 in v) {
38
+ if (m2 === "#text") xml += v[m2];
39
+ else if (m2 === "#cdata") xml += "<![CDATA[" + v[m2] + "]]>";
40
+ else if (m2.charAt(0) !== "@") xml += toXml(v[m2], m2, ind + "\t");
41
+ }
42
+ xml +=
43
+ (xml.charAt(xml.length - 1) === "\n" ? ind : "") + "</" + name + ">";
44
+ }
45
+ } else {
46
+ xml += ind + "<" + name + ">" + v.toString() + "</" + name + ">";
47
+ }
48
+ return xml;
49
+ };
50
+ let xml = "";
51
+ for (const m3 in o) xml += toXml(o[m3], m3, "");
52
+ return tab ? xml.replace(/\t/g, tab) : xml.replace(/\t|\n/g, "");
53
+ }
54
+
55
+ interface ResponseExamplesProps {
56
+ responseExamples: any;
57
+ mimeType: string;
58
+ }
59
+ export const ResponseExamples: React.FC<ResponseExamplesProps> = ({
60
+ responseExamples,
61
+ mimeType,
62
+ }): any => {
63
+ let language = "shell";
64
+ if (mimeType.endsWith("json")) language = "json";
65
+ if (mimeType.endsWith("xml")) language = "xml";
66
+
67
+ // Map response examples to an array of TabItem elements
68
+ const examplesArray = Object.entries(responseExamples).map(
69
+ ([exampleName, exampleValue]: any) => {
70
+ const isObject = typeof exampleValue.value === "object";
71
+ const responseExample = isObject
72
+ ? JSON.stringify(exampleValue.value, null, 2)
73
+ : exampleValue.value;
74
+
75
+ return (
76
+ // @ts-ignore
77
+ <TabItem label={exampleName} value={exampleName} key={exampleName}>
78
+ {exampleValue.summary && (
79
+ <Markdown className="openapi-example__summary">
80
+ {exampleValue.summary}
81
+ </Markdown>
82
+ )}
83
+ <CodeSamples example={responseExample} language={language} />
84
+ </TabItem>
85
+ );
86
+ }
87
+ );
88
+
89
+ return examplesArray;
90
+ };
91
+
92
+ interface ResponseExampleProps {
93
+ responseExample: any;
94
+ mimeType: string;
95
+ }
96
+
97
+ export const ResponseExample: React.FC<ResponseExampleProps> = ({
98
+ responseExample,
99
+ mimeType,
100
+ }) => {
101
+ let language = "shell";
102
+ if (mimeType.endsWith("json")) {
103
+ language = "json";
104
+ }
105
+ if (mimeType.endsWith("xml")) {
106
+ language = "xml";
107
+ }
108
+
109
+ const isObject = typeof responseExample === "object";
110
+ const exampleContent = isObject
111
+ ? JSON.stringify(responseExample, null, 2)
112
+ : responseExample;
113
+
114
+ return (
115
+ // @ts-ignore
116
+ <TabItem
117
+ label={translate({
118
+ id: OPENAPI_RESPONSE_EXAMPLES.EXAMPLE,
119
+ message: "Example",
120
+ })}
121
+ value="Example"
122
+ >
123
+ {responseExample.summary && (
124
+ <Markdown className="openapi-example__summary">
125
+ {responseExample.summary}
126
+ </Markdown>
127
+ )}
128
+ <CodeSamples example={exampleContent} language={language} />
129
+ </TabItem>
130
+ );
131
+ };
132
+
133
+ interface ExampleFromSchemaProps {
134
+ schema: any;
135
+ mimeType: string;
136
+ }
137
+
138
+ export const ExampleFromSchema: React.FC<ExampleFromSchemaProps> = ({
139
+ schema,
140
+ mimeType,
141
+ }) => {
142
+ const responseExample = sampleResponseFromSchema(schema);
143
+
144
+ if (mimeType.endsWith("xml")) {
145
+ let responseExampleObject;
146
+ try {
147
+ responseExampleObject = JSON.parse(JSON.stringify(responseExample));
148
+ } catch {
149
+ return null;
150
+ }
151
+
152
+ if (typeof responseExampleObject === "object") {
153
+ let xmlExample;
154
+ try {
155
+ xmlExample = format(json2xml(responseExampleObject, ""), {
156
+ indentation: " ",
157
+ lineSeparator: "\n",
158
+ collapseContent: true,
159
+ });
160
+ } catch {
161
+ const xmlExampleWithRoot = { root: responseExampleObject };
162
+ try {
163
+ xmlExample = format(json2xml(xmlExampleWithRoot, ""), {
164
+ indentation: " ",
165
+ lineSeparator: "\n",
166
+ collapseContent: true,
167
+ });
168
+ } catch {
169
+ xmlExample = json2xml(responseExampleObject, "");
170
+ }
171
+ }
172
+ return (
173
+ // @ts-ignore
174
+ <TabItem
175
+ label={translate({
176
+ id: OPENAPI_RESPONSE_EXAMPLES.AUTO_EXAMPLE,
177
+ message: "Example (auto)",
178
+ })}
179
+ value="Example (auto)"
180
+ >
181
+ <CodeSamples example={xmlExample} language="xml" />
182
+ </TabItem>
183
+ );
184
+ }
185
+ }
186
+
187
+ if (
188
+ typeof responseExample === "object" ||
189
+ typeof responseExample === "string"
190
+ ) {
191
+ return (
192
+ // @ts-ignore
193
+ <TabItem
194
+ label={translate({
195
+ id: OPENAPI_RESPONSE_EXAMPLES.AUTO_EXAMPLE,
196
+ message: "Example (auto)",
197
+ })}
198
+ value="Example (auto)"
199
+ >
200
+ <CodeSamples
201
+ example={JSON.stringify(responseExample, null, 2)}
202
+ language="json"
203
+ />
204
+ </TabItem>
205
+ );
206
+ }
207
+
208
+ return null;
209
+ };
@@ -0,0 +1,49 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ import React from "react";
9
+
10
+ import SchemaItem from "@theme/SchemaItem";
11
+
12
+ import { getQualifierMessage, getSchemaName } from "../../markdown/schema";
13
+
14
+ interface ResponseHeadersProps {
15
+ description?: string;
16
+ example?: string;
17
+ schema?: {
18
+ type?: string;
19
+ format?: string;
20
+ };
21
+ }
22
+
23
+ export const ResponseHeaders: React.FC<{
24
+ responseHeaders?: Record<string, ResponseHeadersProps>;
25
+ }> = ({ responseHeaders }) => {
26
+ if (!responseHeaders) {
27
+ return null;
28
+ }
29
+
30
+ return (
31
+ <ul style={{ marginLeft: "1rem" }}>
32
+ {Object.entries(responseHeaders).map(([name, schema]) => {
33
+ return (
34
+ <SchemaItem
35
+ name={name}
36
+ collapsible={false}
37
+ schemaName={getSchemaName(schema)}
38
+ qualifierMessage={getQualifierMessage(schema)}
39
+ schema={schema}
40
+ discriminator={false}
41
+ children={null}
42
+ />
43
+ );
44
+ })}
45
+ </ul>
46
+ );
47
+ };
48
+
49
+ export default ResponseHeaders;
@@ -0,0 +1,150 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ import React from "react";
9
+
10
+ import { translate } from "@docusaurus/Translate";
11
+ import { OPENAPI_SCHEMA_ITEM } from "@theme/translationIds";
12
+
13
+ import BrowserOnly from "@docusaurus/BrowserOnly";
14
+ import Details from "@theme/Details";
15
+ import Markdown from "@theme/Markdown";
16
+ import MimeTabs from "@theme/MimeTabs"; // Assume these components exist
17
+ import {
18
+ ExampleFromSchema,
19
+ ResponseExample,
20
+ ResponseExamples,
21
+ } from "@theme/ResponseExamples";
22
+ import SchemaNode from "@theme/Schema";
23
+ import SchemaTabs from "@theme/SchemaTabs";
24
+ import SkeletonLoader from "@theme/SkeletonLoader";
25
+ import TabItem from "@theme/TabItem";
26
+ import { MediaTypeObject } from "@camunda8/docusaurus-plugin-openapi-docs/lib/openapi/types";
27
+
28
+ interface Props {
29
+ style?: React.CSSProperties;
30
+ title: string;
31
+ body: {
32
+ content?: {
33
+ [key: string]: MediaTypeObject;
34
+ };
35
+ description?: string;
36
+ required?: string[] | boolean;
37
+ };
38
+ }
39
+
40
+ const ResponseSchemaComponent: React.FC<Props> = ({
41
+ title,
42
+ body,
43
+ style,
44
+ }): any => {
45
+ if (
46
+ body === undefined ||
47
+ body.content === undefined ||
48
+ Object.keys(body).length === 0 ||
49
+ Object.keys(body.content).length === 0
50
+ ) {
51
+ return null;
52
+ }
53
+
54
+ // Get all MIME types, including vendor-specific
55
+ const mimeTypes = Object.keys(body.content);
56
+ if (mimeTypes && mimeTypes.length) {
57
+ return (
58
+ <MimeTabs className="openapi-tabs__mime" schemaType="response">
59
+ {mimeTypes.map((mimeType: any) => {
60
+ const responseExamples = body.content![mimeType].examples;
61
+ const responseExample = body.content![mimeType].example;
62
+ const firstBody: any =
63
+ body.content![mimeType].schema ?? body.content![mimeType];
64
+
65
+ if (
66
+ firstBody === undefined &&
67
+ responseExample === undefined &&
68
+ responseExamples === undefined
69
+ ) {
70
+ return undefined;
71
+ }
72
+
73
+ if (firstBody) {
74
+ return (
75
+ // @ts-ignore
76
+ <TabItem key={mimeType} label={mimeType} value={mimeType}>
77
+ <SchemaTabs className="openapi-tabs__schema">
78
+ {/* @ts-ignore */}
79
+ <TabItem key={title} label={title} value={title}>
80
+ <Details
81
+ className="openapi-markdown__details response"
82
+ data-collapsed={false}
83
+ open={true}
84
+ style={style}
85
+ summary={
86
+ <>
87
+ <summary>
88
+ <strong className="openapi-markdown__details-summary-response">
89
+ {title}
90
+ {body.required === true && (
91
+ <span className="openapi-schema__required">
92
+ {translate({
93
+ id: OPENAPI_SCHEMA_ITEM.REQUIRED,
94
+ message: "required",
95
+ })}
96
+ </span>
97
+ )}
98
+ </strong>
99
+ </summary>
100
+ </>
101
+ }
102
+ >
103
+ <div style={{ textAlign: "left", marginLeft: "1rem" }}>
104
+ {body.description && (
105
+ <div
106
+ style={{ marginTop: "1rem", marginBottom: "1rem" }}
107
+ >
108
+ <Markdown>{body.description}</Markdown>
109
+ </div>
110
+ )}
111
+ </div>
112
+ <ul style={{ marginLeft: "1rem" }}>
113
+ <SchemaNode schema={firstBody} schemaType="response" />
114
+ </ul>
115
+ </Details>
116
+ </TabItem>
117
+ {firstBody &&
118
+ ExampleFromSchema({
119
+ schema: firstBody,
120
+ mimeType: mimeType,
121
+ })}
122
+
123
+ {responseExamples &&
124
+ ResponseExamples({ responseExamples, mimeType })}
125
+
126
+ {responseExample &&
127
+ ResponseExample({ responseExample, mimeType })}
128
+ </SchemaTabs>
129
+ </TabItem>
130
+ );
131
+ }
132
+ return undefined;
133
+ })}
134
+ </MimeTabs>
135
+ );
136
+ }
137
+ return undefined;
138
+ };
139
+
140
+ const ResponseSchema: React.FC<Props> = (props) => {
141
+ return (
142
+ <BrowserOnly fallback={<SkeletonLoader size="md" />}>
143
+ {() => {
144
+ return <ResponseSchemaComponent {...props} />;
145
+ }}
146
+ </BrowserOnly>
147
+ );
148
+ };
149
+
150
+ export default ResponseSchema;