@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,243 @@
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, {
9
+ cloneElement,
10
+ useRef,
11
+ useState,
12
+ useEffect,
13
+ ReactElement,
14
+ } from "react";
15
+
16
+ import {
17
+ sanitizeTabsChildren,
18
+ TabProps,
19
+ useScrollPositionBlocker,
20
+ useTabs,
21
+ } from "@docusaurus/theme-common/internal";
22
+ import { TabItemProps } from "@docusaurus/theme-common/lib/utils/tabsUtils";
23
+ import { translate } from "@docusaurus/Translate";
24
+ import useIsBrowser from "@docusaurus/useIsBrowser";
25
+ import Heading from "@theme/Heading";
26
+ import { OPENAPI_TABS } from "@theme/translationIds";
27
+ import clsx from "clsx";
28
+
29
+ export interface TabListProps extends TabProps {
30
+ label: string;
31
+ id: string;
32
+ }
33
+
34
+ function TabList({
35
+ className,
36
+ block,
37
+ selectedValue,
38
+ selectValue,
39
+ tabValues,
40
+ label = translate({
41
+ id: OPENAPI_TABS.RESPONSES_LABEL,
42
+ message: "Responses",
43
+ }),
44
+ id = "responses",
45
+ }: TabListProps & ReturnType<typeof useTabs>) {
46
+ const tabRefs: (HTMLLIElement | null)[] = [];
47
+ const { blockElementScrollPositionUntilNextRender } =
48
+ useScrollPositionBlocker();
49
+
50
+ const handleTabChange = (
51
+ event:
52
+ | React.FocusEvent<HTMLLIElement>
53
+ | React.MouseEvent<HTMLLIElement>
54
+ | React.KeyboardEvent<HTMLLIElement>
55
+ ) => {
56
+ const newTab = event.currentTarget;
57
+ const newTabIndex = tabRefs.indexOf(newTab);
58
+ const newTabValue = tabValues[newTabIndex].value;
59
+
60
+ if (newTabValue !== selectedValue) {
61
+ blockElementScrollPositionUntilNextRender(newTab);
62
+ selectValue(newTabValue);
63
+ }
64
+ };
65
+
66
+ const handleKeydown = (event: React.KeyboardEvent<HTMLLIElement>) => {
67
+ let focusElement: HTMLLIElement | null = null;
68
+
69
+ switch (event.key) {
70
+ case "Enter": {
71
+ handleTabChange(event);
72
+ break;
73
+ }
74
+ case "ArrowRight": {
75
+ const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
76
+ focusElement = tabRefs[nextTab] ?? tabRefs[0]!;
77
+ break;
78
+ }
79
+ case "ArrowLeft": {
80
+ const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
81
+ focusElement = tabRefs[prevTab] ?? tabRefs[tabRefs.length - 1]!;
82
+ break;
83
+ }
84
+ default:
85
+ break;
86
+ }
87
+
88
+ focusElement?.focus();
89
+ };
90
+
91
+ const tabItemListContainerRef = useRef<HTMLUListElement>(null);
92
+ const [showTabArrows, setShowTabArrows] = useState<boolean>(false);
93
+
94
+ useEffect(() => {
95
+ const resizeObserver = new ResizeObserver((entries) => {
96
+ for (let entry of entries) {
97
+ requestAnimationFrame(() => {
98
+ if (entry.target.clientWidth < entry.target.scrollWidth) {
99
+ setShowTabArrows(true);
100
+ } else {
101
+ setShowTabArrows(false);
102
+ }
103
+ });
104
+ }
105
+ });
106
+
107
+ resizeObserver.observe(tabItemListContainerRef.current!);
108
+
109
+ return () => {
110
+ resizeObserver.disconnect();
111
+ };
112
+ }, []);
113
+
114
+ const handleRightClick = () => {
115
+ tabItemListContainerRef.current!.scrollLeft += 90;
116
+ };
117
+
118
+ const handleLeftClick = () => {
119
+ tabItemListContainerRef.current!.scrollLeft -= 90;
120
+ };
121
+
122
+ return (
123
+ <div className="openapi-tabs__response-header-section">
124
+ <Heading
125
+ as="h2"
126
+ id={id}
127
+ className="openapi-tabs__heading openapi-tabs__response-header"
128
+ >
129
+ {label}
130
+ </Heading>
131
+ <div className="openapi-tabs__response-container">
132
+ {showTabArrows && (
133
+ <button
134
+ className="openapi-tabs__arrow left"
135
+ onClick={handleLeftClick}
136
+ />
137
+ )}
138
+ <ul
139
+ ref={tabItemListContainerRef}
140
+ role="tablist"
141
+ aria-orientation="horizontal"
142
+ className={clsx(
143
+ "openapi-tabs__response-list-container",
144
+ "tabs",
145
+ {
146
+ "tabs--block": block,
147
+ },
148
+ className
149
+ )}
150
+ >
151
+ {tabValues.map(({ value, label, attributes }) => (
152
+ <li
153
+ // TODO extract TabListItem
154
+ role="tab"
155
+ tabIndex={selectedValue === value ? 0 : -1}
156
+ aria-selected={selectedValue === value}
157
+ key={value}
158
+ ref={(tabControl) => {
159
+ tabRefs.push(tabControl);
160
+ }}
161
+ onKeyDown={handleKeydown}
162
+ onClick={handleTabChange}
163
+ {...attributes}
164
+ className={clsx(
165
+ "tabs__item",
166
+ "openapi-tabs__response-code-item",
167
+ attributes?.className as string,
168
+ parseInt(value) >= 400
169
+ ? "danger"
170
+ : parseInt(value) >= 200 && parseInt(value) < 300
171
+ ? "success"
172
+ : "info",
173
+ {
174
+ active: selectedValue === value,
175
+ }
176
+ )}
177
+ >
178
+ {label ?? value}
179
+ </li>
180
+ ))}
181
+ </ul>
182
+ {showTabArrows && (
183
+ <button
184
+ className="openapi-tabs__arrow right"
185
+ onClick={handleRightClick}
186
+ />
187
+ )}
188
+ </div>
189
+ </div>
190
+ );
191
+ }
192
+
193
+ function TabContent({
194
+ lazy,
195
+ children,
196
+ selectedValue,
197
+ }: TabProps & ReturnType<typeof useTabs>): React.JSX.Element | null {
198
+ const childTabs = (Array.isArray(children) ? children : [children]).filter(
199
+ Boolean
200
+ ) as ReactElement<TabItemProps>[];
201
+ if (lazy) {
202
+ const selectedTabItem = childTabs.find(
203
+ (tabItem) => tabItem.props.value === selectedValue
204
+ );
205
+ if (!selectedTabItem) {
206
+ // fail-safe or fail-fast? not sure what's best here
207
+ return null;
208
+ }
209
+ return cloneElement(selectedTabItem, { className: "margin-top--md" });
210
+ }
211
+ return (
212
+ <div className="margin-top--md">
213
+ {childTabs.map((tabItem, i) =>
214
+ cloneElement(tabItem, {
215
+ key: i,
216
+ hidden: tabItem.props.value !== selectedValue,
217
+ })
218
+ )}
219
+ </div>
220
+ );
221
+ }
222
+ function TabsComponent(props: TabListProps): React.JSX.Element {
223
+ const tabs = useTabs(props);
224
+ return (
225
+ <div className="openapi-tabs__container">
226
+ <TabList {...props} {...tabs} />
227
+ <TabContent {...props} {...tabs} />
228
+ </div>
229
+ );
230
+ }
231
+ export default function ApiTabs(props: TabListProps): React.JSX.Element {
232
+ const isBrowser = useIsBrowser();
233
+ return (
234
+ <TabsComponent
235
+ // Remount tabs after hydration
236
+ // Temporary fix for https://github.com/facebook/docusaurus/issues/5653
237
+ key={String(isBrowser)}
238
+ {...props}
239
+ >
240
+ {sanitizeTabsChildren(props.children)}
241
+ </TabsComponent>
242
+ );
243
+ }
@@ -0,0 +1,37 @@
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
+ export const OpeningArrayBracket = () => (
11
+ <li>
12
+ <div
13
+ style={{
14
+ fontSize: "var(--ifm-code-font-size)",
15
+ opacity: 0.6,
16
+ marginLeft: "-.5rem",
17
+ paddingBottom: ".5rem",
18
+ }}
19
+ >
20
+ Array [
21
+ </div>
22
+ </li>
23
+ );
24
+
25
+ export const ClosingArrayBracket = () => (
26
+ <li>
27
+ <div
28
+ style={{
29
+ fontSize: "var(--ifm-code-font-size)",
30
+ opacity: 0.6,
31
+ marginLeft: "-.5rem",
32
+ }}
33
+ >
34
+ ]
35
+ </div>
36
+ </li>
37
+ );
@@ -0,0 +1,3 @@
1
+ .openapi-code__code-samples-container {
2
+ margin-top: 2rem;
3
+ }
@@ -0,0 +1,26 @@
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 CodeBlock from "@theme/CodeBlock";
11
+ import { Language } from "prism-react-renderer";
12
+
13
+ export interface Props {
14
+ readonly example: string;
15
+ readonly language: Language;
16
+ }
17
+
18
+ function CodeSamples({ example, language }: Props): React.JSX.Element {
19
+ return (
20
+ <div className="openapi-code__code-samples-container">
21
+ <CodeBlock language={language ? language : "json"}>{example}</CodeBlock>
22
+ </div>
23
+ );
24
+ }
25
+
26
+ export default CodeSamples;
@@ -0,0 +1,98 @@
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
+ .openapi-tabs__discriminator-item {
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ padding: 0.35rem 0.7rem;
12
+ border: 1px solid transparent;
13
+ margin-top: 0 !important;
14
+ margin-right: 0.5rem;
15
+ font-weight: var(--ifm-font-weight-bold);
16
+ font-size: 10px;
17
+ font-family: var(--ifm-font-family-monospace);
18
+ white-space: nowrap;
19
+ transition: 300ms;
20
+
21
+ &:hover {
22
+ background-color: transparent;
23
+ border: 1px solid var(--ifm-toc-border-color);
24
+ }
25
+
26
+ &.active {
27
+ border: 1px solid var(--ifm-color-primary);
28
+ color: var(--ifm-color-primary);
29
+ }
30
+
31
+ &:last-child {
32
+ margin-right: 0 !important;
33
+ }
34
+ }
35
+
36
+ /* Open API Discriminator Tabs */
37
+ .openapi-tabs__discriminator-top-section {
38
+ margin-top: 1rem;
39
+ margin-left: 0.9rem;
40
+ display: flex;
41
+ justify-content: space-between;
42
+ align-items: center;
43
+ }
44
+
45
+ .openapi-tabs__discriminator-top-section + hr {
46
+ display: none;
47
+ }
48
+
49
+ .openapi-tabs__discriminator-container {
50
+ display: flex;
51
+ align-items: center;
52
+ max-width: 600px;
53
+ padding-left: 3px;
54
+ overflow: hidden;
55
+ }
56
+
57
+ .openapi-tabs__discriminator-list-container {
58
+ padding: 0 0.25rem;
59
+ overflow-y: hidden;
60
+ overflow-x: scroll;
61
+ scroll-behavior: smooth;
62
+ scrollbar-width: none;
63
+ }
64
+
65
+ .openapi-tabs__discriminator-list-container::-webkit-scrollbar {
66
+ display: none;
67
+ }
68
+
69
+ .openapi-tabs__discriminator-tab-label {
70
+ white-space: nowrap;
71
+ }
72
+
73
+ .openapi-discriminator__item {
74
+ list-style: none;
75
+ position: relative;
76
+ margin: 0 !important;
77
+ padding: 5px 0 5px 0 !important;
78
+ border-left: thin solid var(--openapi-tree-line-color) !important;
79
+ }
80
+
81
+ .openapi-discriminator__name {
82
+ padding-left: 1rem;
83
+ }
84
+
85
+ @media screen and (max-width: 500px) {
86
+ .openapi-tabs__discriminator-top-section {
87
+ flex-direction: column;
88
+ align-items: flex-start;
89
+ }
90
+
91
+ .openapi-tabs__discriminator-container {
92
+ width: 100%;
93
+ }
94
+
95
+ .openapi-tabs__discriminator-item {
96
+ height: 100%;
97
+ }
98
+ }
@@ -0,0 +1,229 @@
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, {
9
+ cloneElement,
10
+ useRef,
11
+ useEffect,
12
+ useState,
13
+ ReactElement,
14
+ } from "react";
15
+
16
+ import {
17
+ sanitizeTabsChildren,
18
+ TabProps,
19
+ useScrollPositionBlocker,
20
+ useTabs,
21
+ } from "@docusaurus/theme-common/internal";
22
+ import { TabItemProps } from "@docusaurus/theme-common/lib/utils/tabsUtils";
23
+ import useIsBrowser from "@docusaurus/useIsBrowser";
24
+ import clsx from "clsx";
25
+ import flatten from "lodash/flatten";
26
+
27
+ function TabList({
28
+ className,
29
+ block,
30
+ selectedValue,
31
+ selectValue,
32
+ tabValues,
33
+ }: TabProps & ReturnType<typeof useTabs>) {
34
+ const tabRefs: (HTMLLIElement | null)[] = [];
35
+ const { blockElementScrollPositionUntilNextRender } =
36
+ useScrollPositionBlocker();
37
+
38
+ const handleTabChange = (
39
+ event:
40
+ | React.FocusEvent<HTMLLIElement>
41
+ | React.MouseEvent<HTMLLIElement>
42
+ | React.KeyboardEvent<HTMLLIElement>
43
+ ) => {
44
+ const newTab = event.currentTarget;
45
+ const newTabIndex = tabRefs.indexOf(newTab);
46
+ const newTabValue = tabValues[newTabIndex]!.value;
47
+
48
+ if (newTabValue !== selectedValue) {
49
+ blockElementScrollPositionUntilNextRender(newTab);
50
+ selectValue(newTabValue);
51
+ }
52
+ };
53
+
54
+ const handleKeydown = (event: React.KeyboardEvent<HTMLLIElement>) => {
55
+ let focusElement = null;
56
+
57
+ switch (event.key) {
58
+ case "Enter": {
59
+ handleTabChange(event);
60
+ break;
61
+ }
62
+ case "ArrowRight": {
63
+ const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
64
+ focusElement = tabRefs[nextTab] ?? tabRefs[0]!;
65
+ break;
66
+ }
67
+ case "ArrowLeft": {
68
+ const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
69
+ focusElement = tabRefs[prevTab] ?? tabRefs[tabRefs.length - 1]!;
70
+ break;
71
+ }
72
+ default:
73
+ break;
74
+ }
75
+
76
+ focusElement?.focus();
77
+ };
78
+
79
+ const tabItemListContainerRef = useRef<HTMLUListElement>(null);
80
+ const [showTabArrows, setShowTabArrows] = useState<boolean>(false);
81
+
82
+ useEffect(() => {
83
+ const resizeObserver = new ResizeObserver((entries) => {
84
+ for (let entry of entries) {
85
+ requestAnimationFrame(() => {
86
+ if (entry.target.clientWidth < entry.target.scrollWidth) {
87
+ setShowTabArrows(true);
88
+ } else {
89
+ setShowTabArrows(false);
90
+ }
91
+ });
92
+ }
93
+ });
94
+
95
+ resizeObserver.observe(tabItemListContainerRef.current!);
96
+
97
+ return () => {
98
+ resizeObserver.disconnect();
99
+ };
100
+ }, []);
101
+
102
+ const handleRightClick = () => {
103
+ tabItemListContainerRef.current!.scrollLeft += 90;
104
+ };
105
+
106
+ const handleLeftClick = () => {
107
+ tabItemListContainerRef.current!.scrollLeft -= 90;
108
+ };
109
+
110
+ return (
111
+ <div className="openapi-tabs__discriminator-top-section">
112
+ <div className="openapi-tabs__discriminator-container">
113
+ {showTabArrows && (
114
+ <button
115
+ className="openapi-tabs__arrow left"
116
+ onClick={handleLeftClick}
117
+ />
118
+ )}
119
+ <ul
120
+ ref={tabItemListContainerRef}
121
+ role="tablist"
122
+ aria-orientation="horizontal"
123
+ className={clsx(
124
+ "openapi-tabs__discriminator-list-container",
125
+ "tabs",
126
+ {
127
+ "tabs--block": block,
128
+ },
129
+ className
130
+ )}
131
+ >
132
+ {tabValues.map(({ value, label, attributes }) => (
133
+ <li
134
+ // TODO extract TabListItem
135
+ role="tab"
136
+ tabIndex={selectedValue === value ? 0 : -1}
137
+ aria-selected={selectedValue === value}
138
+ key={value}
139
+ ref={(tabControl) => {
140
+ tabRefs.push(tabControl);
141
+ }}
142
+ onKeyDown={handleKeydown}
143
+ onClick={handleTabChange}
144
+ {...attributes}
145
+ className={clsx(
146
+ "tabs__item",
147
+ "openapi-tabs__discriminator-item",
148
+ attributes?.className as string,
149
+ {
150
+ active: selectedValue === value,
151
+ }
152
+ )}
153
+ >
154
+ <span className="openapi-tabs__discriminator-tab-label">
155
+ {label ?? value}
156
+ </span>
157
+ </li>
158
+ ))}
159
+ </ul>
160
+ {showTabArrows && (
161
+ <button
162
+ className="openapi-tabs__arrow right"
163
+ onClick={handleRightClick}
164
+ />
165
+ )}
166
+ </div>
167
+ </div>
168
+ );
169
+ }
170
+
171
+ function TabContent({
172
+ lazy,
173
+ children,
174
+ selectedValue,
175
+ }: TabProps & ReturnType<typeof useTabs>): React.JSX.Element | null {
176
+ const childTabs = (Array.isArray(children) ? children : [children]).filter(
177
+ Boolean
178
+ ) as ReactElement<TabItemProps>[];
179
+ const flattenedChildTabs = flatten(childTabs);
180
+ if (lazy) {
181
+ const selectedTabItem = flattenedChildTabs.find(
182
+ (tabItem) => tabItem.props.value === selectedValue
183
+ );
184
+ if (!selectedTabItem) {
185
+ // fail-safe or fail-fast? not sure what's best here
186
+ return null;
187
+ }
188
+ return cloneElement(selectedTabItem, { className: "margin-top--md" });
189
+ }
190
+ return (
191
+ <div className="margin-top--md">
192
+ {childTabs.map((tabItem, i) =>
193
+ cloneElement(tabItem, {
194
+ key: i,
195
+ hidden: tabItem.props.value !== selectedValue,
196
+ })
197
+ )}
198
+ </div>
199
+ );
200
+ }
201
+ function TabsComponent(props: TabProps): React.JSX.Element {
202
+ const tabs = useTabs(props);
203
+ return (
204
+ <div className="openapi-tabs__container">
205
+ <TabList {...props} {...tabs} />
206
+ <TabContent {...props} {...tabs} />
207
+ </div>
208
+ );
209
+ }
210
+ export default function DiscriminatorTabs(props: TabProps): React.JSX.Element {
211
+ const isBrowser = useIsBrowser();
212
+
213
+ if (
214
+ !props.children ||
215
+ (Array.isArray(props.children) && props.children.length === 0)
216
+ )
217
+ return <React.Fragment />;
218
+
219
+ return (
220
+ <TabsComponent
221
+ // Remount tabs after hydration
222
+ // Temporary fix for https://github.com/facebook/docusaurus/issues/5653
223
+ key={String(isBrowser)}
224
+ {...props}
225
+ >
226
+ {sanitizeTabsChildren(props.children)}
227
+ </TabsComponent>
228
+ );
229
+ }