docusaurus-theme-openapi-docs 0.0.0-618 → 0.0.0-684

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 (390) hide show
  1. package/lib/index.d.ts +2 -0
  2. package/lib/index.js +53 -27
  3. package/lib/markdown/createDescription.d.ts +1 -0
  4. package/lib/markdown/createDescription.js +8 -11
  5. package/lib/markdown/schema.d.ts +3 -0
  6. package/lib/markdown/schema.js +138 -139
  7. package/lib/markdown/utils.d.ts +8 -0
  8. package/lib/markdown/utils.js +36 -42
  9. package/lib/theme/ApiDemoPanel/ApiCodeBlock/ExpandButton/index.js +165 -0
  10. package/lib/theme/ApiDemoPanel/ApiCodeBlock/Line/_Line.scss +46 -0
  11. package/lib/theme/ApiExplorer/Accept/index.d.ts +3 -0
  12. package/lib/theme/ApiExplorer/Accept/index.js +38 -0
  13. package/lib/theme/ApiExplorer/Accept/slice.d.ts +11 -0
  14. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/Accept/slice.js +7 -5
  15. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/_Container.scss +7 -0
  16. package/lib/theme/ApiExplorer/ApiCodeBlock/Container/index.js +29 -0
  17. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/Element.js +30 -0
  18. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/String.js +134 -0
  19. package/lib/theme/ApiExplorer/ApiCodeBlock/Content/_Content.scss +91 -0
  20. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/_CopyButton.scss +44 -0
  21. package/lib/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.js +74 -0
  22. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/_ExitButton.scss +16 -0
  23. package/lib/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.js +47 -0
  24. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/_ExpandButton.scss +62 -0
  25. package/lib/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.js +156 -0
  26. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/_Line.scss +46 -0
  27. package/lib/theme/ApiExplorer/ApiCodeBlock/Line/index.js +47 -0
  28. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/_WordWrapButton.scss +10 -0
  29. package/lib/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.js +44 -0
  30. package/lib/theme/ApiExplorer/ApiCodeBlock/index.js +40 -0
  31. package/lib/theme/ApiExplorer/Authorization/auth-types.d.ts +3 -0
  32. package/lib/theme/{ApiDemoPanel → ApiExplorer}/Authorization/auth-types.js +4 -10
  33. package/lib/theme/ApiExplorer/Authorization/index.d.ts +3 -0
  34. package/lib/theme/ApiExplorer/Authorization/index.js +157 -0
  35. package/lib/theme/ApiExplorer/Authorization/slice.d.ts +40 -0
  36. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/Authorization/slice.js +23 -16
  37. package/lib/theme/ApiExplorer/Body/index.d.ts +10 -0
  38. package/lib/theme/ApiExplorer/Body/index.js +363 -0
  39. package/lib/theme/ApiExplorer/Body/slice.d.ts +82 -0
  40. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/Body/slice.js +21 -12
  41. package/lib/theme/ApiExplorer/CodeSnippets/index.d.ts +20 -0
  42. package/lib/theme/ApiExplorer/CodeSnippets/index.js +406 -0
  43. package/lib/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +291 -0
  44. package/lib/theme/ApiExplorer/CodeTabs/index.js +174 -0
  45. package/lib/theme/ApiExplorer/ContentType/index.d.ts +3 -0
  46. package/lib/theme/ApiExplorer/ContentType/index.js +40 -0
  47. package/lib/theme/ApiExplorer/ContentType/slice.d.ts +11 -0
  48. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/ContentType/slice.js +7 -5
  49. package/lib/theme/ApiExplorer/Export/index.d.ts +3 -0
  50. package/lib/theme/ApiExplorer/Export/index.js +57 -0
  51. package/lib/theme/ApiExplorer/FloatingButton/_FloatingButton.scss +25 -0
  52. package/lib/theme/ApiExplorer/FloatingButton/index.d.ts +8 -0
  53. package/lib/theme/ApiExplorer/FloatingButton/index.js +28 -0
  54. package/{lib-next/theme/ApiDemoPanel/FormFileUpload/styles.module.css → lib/theme/ApiExplorer/FormFileUpload/_FormFileUpload.scss} +32 -35
  55. package/lib/theme/ApiExplorer/FormFileUpload/index.d.ts +7 -0
  56. package/lib/theme/ApiExplorer/FormFileUpload/index.js +161 -0
  57. package/lib/theme/ApiExplorer/FormItem/_FormItem.scss +21 -0
  58. package/lib/theme/ApiExplorer/FormItem/index.d.ts +10 -0
  59. package/lib/theme/ApiExplorer/FormItem/index.js +44 -0
  60. package/lib/theme/ApiExplorer/FormMultiSelect/_FormMultiSelect.scss +30 -0
  61. package/lib/theme/ApiExplorer/FormMultiSelect/index.d.ts +9 -0
  62. package/lib/theme/ApiExplorer/FormMultiSelect/index.js +51 -0
  63. package/{src/theme/ApiDemoPanel/FormSelect/styles.module.css → lib/theme/ApiExplorer/FormSelect/_FormSelect.scss} +15 -23
  64. package/lib/theme/ApiExplorer/FormSelect/index.d.ts +8 -0
  65. package/lib/theme/ApiExplorer/FormSelect/index.js +35 -0
  66. package/lib/theme/ApiExplorer/FormTextInput/_FormTextInput.scss +34 -0
  67. package/lib/theme/ApiExplorer/FormTextInput/index.d.ts +9 -0
  68. package/lib/theme/ApiExplorer/FormTextInput/index.js +73 -0
  69. package/lib/theme/ApiExplorer/LiveEditor/_LiveEditor.scss +15 -0
  70. package/lib/theme/ApiExplorer/LiveEditor/index.d.ts +6 -0
  71. package/lib/theme/ApiExplorer/LiveEditor/index.js +154 -0
  72. package/lib/theme/ApiExplorer/MethodEndpoint/_MethodEndpoint.scss +22 -0
  73. package/lib/theme/ApiExplorer/MethodEndpoint/index.d.ts +7 -0
  74. package/lib/theme/ApiExplorer/MethodEndpoint/index.js +83 -0
  75. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.d.ts +6 -0
  76. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.js +194 -0
  77. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.d.ts +6 -0
  78. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.js +63 -0
  79. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.d.ts +6 -0
  80. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.js +89 -0
  81. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.d.ts +6 -0
  82. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.js +63 -0
  83. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.d.ts +6 -0
  84. package/lib/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.js +38 -0
  85. package/{src/theme/ApiDemoPanel/ParamOptions/styles.module.css → lib/theme/ApiExplorer/ParamOptions/_ParamOptions.scss} +38 -92
  86. package/lib/theme/ApiExplorer/ParamOptions/index.d.ts +7 -0
  87. package/lib/theme/ApiExplorer/ParamOptions/index.js +210 -0
  88. package/lib/theme/ApiExplorer/ParamOptions/slice.d.ts +17 -0
  89. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/ParamOptions/slice.js +7 -5
  90. package/lib/theme/ApiExplorer/Request/_Request.scss +122 -0
  91. package/lib/theme/ApiExplorer/Request/index.d.ts +6 -0
  92. package/lib/theme/ApiExplorer/Request/index.js +365 -0
  93. package/lib/theme/ApiExplorer/Request/makeRequest.d.ts +4 -0
  94. package/{lib-next/theme/ApiDemoPanel/Execute → lib/theme/ApiExplorer/Request}/makeRequest.js +10 -9
  95. package/lib/theme/ApiExplorer/Response/_Response.scss +119 -0
  96. package/lib/theme/ApiExplorer/Response/index.d.ts +6 -0
  97. package/lib/theme/ApiExplorer/Response/index.js +190 -0
  98. package/lib/theme/ApiExplorer/Response/slice.d.ts +17 -0
  99. package/lib/theme/ApiExplorer/Response/slice.js +51 -0
  100. package/lib/theme/ApiExplorer/SecuritySchemes/index.d.ts +3 -0
  101. package/lib/theme/ApiExplorer/SecuritySchemes/index.js +380 -0
  102. package/{src/theme/ApiDemoPanel/Request/styles.module.css → lib/theme/ApiExplorer/Server/_Server.scss} +15 -7
  103. package/lib/theme/ApiExplorer/Server/index.d.ts +3 -0
  104. package/lib/theme/ApiExplorer/Server/index.js +187 -0
  105. package/lib/theme/ApiExplorer/Server/slice.d.ts +13 -0
  106. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/Server/slice.js +10 -5
  107. package/lib/theme/ApiExplorer/buildPostmanRequest.d.ts +20 -0
  108. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/buildPostmanRequest.js +27 -40
  109. package/lib/theme/ApiExplorer/index.d.ts +7 -0
  110. package/lib/theme/ApiExplorer/index.js +37 -0
  111. package/lib/theme/ApiExplorer/persistanceMiddleware.d.ts +3 -0
  112. package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/persistanceMiddleware.js +11 -14
  113. package/lib/theme/ApiExplorer/storage-utils.d.ts +4 -0
  114. package/lib/theme/{ApiDemoPanel → ApiExplorer}/storage-utils.js +14 -13
  115. package/lib/theme/ApiItem/Layout/index.d.ts +4 -0
  116. package/lib/theme/ApiItem/Layout/index.js +78 -56
  117. package/lib/theme/ApiItem/hooks.d.ts +12 -0
  118. package/lib/theme/ApiItem/hooks.js +5 -10
  119. package/lib/theme/ApiItem/index.d.ts +4 -0
  120. package/lib/theme/ApiItem/index.js +141 -118
  121. package/lib/theme/ApiItem/store.d.ts +46 -0
  122. package/lib/theme/ApiItem/store.js +44 -34
  123. package/lib/theme/ApiLogo/index.d.ts +2 -0
  124. package/lib/theme/ApiLogo/index.js +34 -32
  125. package/lib/theme/ApiTabs/_ApiTabs.scss +140 -0
  126. package/lib/theme/ApiTabs/index.js +105 -190
  127. package/lib/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +97 -0
  128. package/lib/theme/DiscriminatorTabs/index.js +102 -189
  129. package/lib/theme/Markdown/Details/_Details.scss +119 -0
  130. package/lib/theme/MimeTabs/_MimeTabs.scss +69 -0
  131. package/lib/theme/MimeTabs/index.js +125 -199
  132. package/lib/theme/ParamsItem/_ParamsItem.scss +54 -0
  133. package/lib/theme/ParamsItem/index.js +9 -8
  134. package/lib/theme/ResponseSamples/_ResponseSamples.scss +3 -0
  135. package/lib/theme/ResponseSamples/index.js +2 -7
  136. package/lib/theme/SchemaItem/_SchemaItem.scss +89 -0
  137. package/lib/theme/SchemaItem/index.js +31 -22
  138. package/lib/theme/SchemaTabs/_SchemaTabs.scss +64 -0
  139. package/lib/theme/SchemaTabs/index.js +97 -185
  140. package/lib/theme/styles.scss +160 -0
  141. package/lib/types.d.ts +157 -0
  142. package/lib/types.js +8 -1
  143. package/package.json +17 -23
  144. package/src/index.ts +33 -3
  145. package/src/theme/ApiDemoPanel/ApiCodeBlock/ExpandButton/index.js +165 -0
  146. package/src/theme/ApiDemoPanel/ApiCodeBlock/Line/_Line.scss +46 -0
  147. package/src/theme/{ApiDemoPanel → ApiExplorer}/Accept/index.tsx +2 -2
  148. package/src/theme/ApiExplorer/ApiCodeBlock/Container/_Container.scss +7 -0
  149. package/src/theme/ApiExplorer/ApiCodeBlock/Container/index.js +29 -0
  150. package/src/theme/ApiExplorer/ApiCodeBlock/Content/Element.js +30 -0
  151. package/src/theme/ApiExplorer/ApiCodeBlock/Content/String.js +134 -0
  152. package/src/theme/ApiExplorer/ApiCodeBlock/Content/_Content.scss +91 -0
  153. package/src/theme/ApiExplorer/ApiCodeBlock/CopyButton/_CopyButton.scss +44 -0
  154. package/src/theme/ApiExplorer/ApiCodeBlock/CopyButton/index.js +74 -0
  155. package/src/theme/ApiExplorer/ApiCodeBlock/ExitButton/_ExitButton.scss +16 -0
  156. package/src/theme/ApiExplorer/ApiCodeBlock/ExitButton/index.js +47 -0
  157. package/src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/_ExpandButton.scss +62 -0
  158. package/src/theme/ApiExplorer/ApiCodeBlock/ExpandButton/index.js +156 -0
  159. package/src/theme/ApiExplorer/ApiCodeBlock/Line/_Line.scss +46 -0
  160. package/src/theme/ApiExplorer/ApiCodeBlock/Line/index.js +47 -0
  161. package/src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/_WordWrapButton.scss +10 -0
  162. package/src/theme/ApiExplorer/ApiCodeBlock/WordWrapButton/index.js +44 -0
  163. package/src/theme/ApiExplorer/ApiCodeBlock/index.js +40 -0
  164. package/src/theme/{ApiDemoPanel → ApiExplorer}/Authorization/index.tsx +3 -3
  165. package/src/theme/{ApiDemoPanel → ApiExplorer}/Authorization/slice.ts +1 -1
  166. package/src/theme/{ApiDemoPanel → ApiExplorer}/Body/index.tsx +64 -41
  167. package/src/theme/{ApiDemoPanel/Curl → ApiExplorer/CodeSnippets}/index.tsx +94 -34
  168. package/src/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +291 -0
  169. package/src/theme/ApiExplorer/CodeTabs/index.js +174 -0
  170. package/src/theme/{ApiDemoPanel → ApiExplorer}/ContentType/index.tsx +2 -2
  171. package/src/theme/ApiExplorer/FloatingButton/_FloatingButton.scss +25 -0
  172. package/src/theme/{ApiDemoPanel → ApiExplorer}/FloatingButton/index.tsx +1 -3
  173. package/src/theme/{ApiDemoPanel/FormFileUpload/styles.module.css → ApiExplorer/FormFileUpload/_FormFileUpload.scss} +32 -35
  174. package/src/theme/{ApiDemoPanel → ApiExplorer}/FormFileUpload/index.tsx +10 -6
  175. package/src/theme/ApiExplorer/FormItem/_FormItem.scss +21 -0
  176. package/src/theme/{ApiDemoPanel → ApiExplorer}/FormItem/index.tsx +8 -12
  177. package/src/theme/ApiExplorer/FormMultiSelect/_FormMultiSelect.scss +30 -0
  178. package/src/theme/{ApiDemoPanel → ApiExplorer}/FormMultiSelect/index.tsx +6 -3
  179. package/{lib/theme/ApiDemoPanel/FormSelect/styles.module.css → src/theme/ApiExplorer/FormSelect/_FormSelect.scss} +15 -23
  180. package/src/theme/{ApiDemoPanel → ApiExplorer}/FormSelect/index.tsx +5 -3
  181. package/src/theme/ApiExplorer/FormTextInput/_FormTextInput.scss +34 -0
  182. package/src/theme/ApiExplorer/FormTextInput/index.tsx +80 -0
  183. package/src/theme/ApiExplorer/LiveEditor/_LiveEditor.scss +15 -0
  184. package/src/theme/ApiExplorer/LiveEditor/index.tsx +112 -0
  185. package/src/theme/ApiExplorer/MethodEndpoint/_MethodEndpoint.scss +22 -0
  186. package/src/theme/ApiExplorer/MethodEndpoint/index.tsx +87 -0
  187. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamArrayFormItem.tsx +156 -0
  188. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamBooleanFormItem.tsx +64 -0
  189. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamMultiSelectFormItem.tsx +86 -0
  190. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamSelectFormItem.tsx +65 -0
  191. package/src/theme/ApiExplorer/ParamOptions/ParamFormItems/ParamTextFormItem.tsx +38 -0
  192. package/{lib-next/theme/ApiDemoPanel/ParamOptions/styles.module.css → src/theme/ApiExplorer/ParamOptions/_ParamOptions.scss} +38 -92
  193. package/src/theme/ApiExplorer/ParamOptions/index.tsx +145 -0
  194. package/src/theme/ApiExplorer/Request/_Request.scss +122 -0
  195. package/src/theme/ApiExplorer/Request/index.tsx +286 -0
  196. package/src/theme/{ApiDemoPanel/Execute → ApiExplorer/Request}/makeRequest.ts +9 -6
  197. package/src/theme/ApiExplorer/Response/_Response.scss +119 -0
  198. package/src/theme/ApiExplorer/Response/index.tsx +154 -0
  199. package/src/theme/{ApiDemoPanel → ApiExplorer}/Response/slice.ts +22 -1
  200. package/src/theme/{ApiDemoPanel → ApiExplorer}/SecuritySchemes/index.tsx +5 -3
  201. package/{lib/theme/ApiDemoPanel/Request/styles.module.css → src/theme/ApiExplorer/Server/_Server.scss} +15 -7
  202. package/src/theme/{ApiDemoPanel → ApiExplorer}/Server/index.tsx +13 -17
  203. package/src/theme/{ApiDemoPanel → ApiExplorer}/buildPostmanRequest.ts +2 -2
  204. package/src/theme/{ApiDemoPanel → ApiExplorer}/index.tsx +14 -17
  205. package/src/theme/{ApiDemoPanel → ApiExplorer}/persistanceMiddleware.ts +1 -1
  206. package/src/theme/ApiItem/index.tsx +7 -7
  207. package/src/theme/ApiItem/store.ts +7 -7
  208. package/src/theme/ApiTabs/_ApiTabs.scss +140 -0
  209. package/src/theme/ApiTabs/index.js +105 -190
  210. package/src/theme/DiscriminatorTabs/_DiscriminatorTabs.scss +97 -0
  211. package/src/theme/DiscriminatorTabs/index.js +102 -189
  212. package/src/theme/Markdown/Details/_Details.scss +119 -0
  213. package/src/theme/MimeTabs/_MimeTabs.scss +69 -0
  214. package/src/theme/MimeTabs/index.js +125 -199
  215. package/src/theme/ParamsItem/_ParamsItem.scss +54 -0
  216. package/src/theme/ParamsItem/index.js +9 -8
  217. package/src/theme/ResponseSamples/_ResponseSamples.scss +3 -0
  218. package/src/theme/ResponseSamples/index.js +2 -7
  219. package/src/theme/SchemaItem/_SchemaItem.scss +89 -0
  220. package/src/theme/SchemaItem/index.js +31 -22
  221. package/src/theme/SchemaTabs/_SchemaTabs.scss +64 -0
  222. package/src/theme/SchemaTabs/index.js +97 -185
  223. package/src/theme/styles.scss +160 -0
  224. package/src/theme-openapi.d.ts +90 -47
  225. package/tsconfig.json +6 -3
  226. package/lib/postman-code-generators.d.ts +0 -9
  227. package/lib/react-magic-dropzone.d.ts +0 -9
  228. package/lib/theme/ApiDemoPanel/Accept/index.js +0 -32
  229. package/lib/theme/ApiDemoPanel/Accept/slice.js +0 -31
  230. package/lib/theme/ApiDemoPanel/Authorization/index.js +0 -107
  231. package/lib/theme/ApiDemoPanel/Authorization/slice.js +0 -123
  232. package/lib/theme/ApiDemoPanel/Body/index.js +0 -256
  233. package/lib/theme/ApiDemoPanel/Body/slice.js +0 -102
  234. package/lib/theme/ApiDemoPanel/CodeTabs/index.js +0 -161
  235. package/lib/theme/ApiDemoPanel/CodeTabs/styles.module.css +0 -17
  236. package/lib/theme/ApiDemoPanel/ContentType/index.js +0 -32
  237. package/lib/theme/ApiDemoPanel/ContentType/slice.js +0 -31
  238. package/lib/theme/ApiDemoPanel/Curl/index.js +0 -240
  239. package/lib/theme/ApiDemoPanel/Curl/styles.module.css +0 -84
  240. package/lib/theme/ApiDemoPanel/Execute/index.js +0 -151
  241. package/lib/theme/ApiDemoPanel/Execute/makeRequest.js +0 -181
  242. package/lib/theme/ApiDemoPanel/Export/index.js +0 -47
  243. package/lib/theme/ApiDemoPanel/FloatingButton/index.js +0 -30
  244. package/lib/theme/ApiDemoPanel/FloatingButton/styles.module.css +0 -26
  245. package/lib/theme/ApiDemoPanel/FormFileUpload/index.js +0 -83
  246. package/lib/theme/ApiDemoPanel/FormFileUpload/styles.module.css +0 -75
  247. package/lib/theme/ApiDemoPanel/FormItem/index.js +0 -38
  248. package/lib/theme/ApiDemoPanel/FormItem/styles.module.css +0 -12
  249. package/lib/theme/ApiDemoPanel/FormMultiSelect/index.js +0 -45
  250. package/lib/theme/ApiDemoPanel/FormMultiSelect/styles.module.css +0 -38
  251. package/lib/theme/ApiDemoPanel/FormSelect/index.js +0 -34
  252. package/lib/theme/ApiDemoPanel/FormTextInput/index.js +0 -28
  253. package/lib/theme/ApiDemoPanel/FormTextInput/styles.module.css +0 -21
  254. package/lib/theme/ApiDemoPanel/LiveEditor/index.js +0 -62
  255. package/lib/theme/ApiDemoPanel/LiveEditor/styles.module.css +0 -35
  256. package/lib/theme/ApiDemoPanel/MethodEndpoint/index.js +0 -56
  257. package/lib/theme/ApiDemoPanel/ParamOptions/index.js +0 -216
  258. package/lib/theme/ApiDemoPanel/ParamOptions/slice.js +0 -34
  259. package/lib/theme/ApiDemoPanel/ParamOptions/styles.module.css +0 -176
  260. package/lib/theme/ApiDemoPanel/Request/index.js +0 -67
  261. package/lib/theme/ApiDemoPanel/Response/index.js +0 -66
  262. package/lib/theme/ApiDemoPanel/Response/slice.js +0 -36
  263. package/lib/theme/ApiDemoPanel/SecuritySchemes/index.js +0 -257
  264. package/lib/theme/ApiDemoPanel/Server/index.js +0 -104
  265. package/lib/theme/ApiDemoPanel/Server/slice.js +0 -40
  266. package/lib/theme/ApiDemoPanel/Server/styles.module.css +0 -56
  267. package/lib/theme/ApiDemoPanel/buildPostmanRequest.js +0 -303
  268. package/lib/theme/ApiDemoPanel/index.js +0 -41
  269. package/lib/theme/ApiDemoPanel/persistanceMiddleware.js +0 -59
  270. package/lib/theme/ApiDemoPanel/postman-collection.d.ts +0 -10
  271. package/lib/theme/ApiDemoPanel/react-modal.d.ts +0 -8
  272. package/lib/theme/ApiTabs/styles.module.css +0 -120
  273. package/lib/theme/DiscriminatorTabs/styles.module.css +0 -119
  274. package/lib/theme/MimeTabs/styles.module.css +0 -126
  275. package/lib/theme/ParamsItem/styles.module.css +0 -24
  276. package/lib/theme/ResponseSamples/styles.module.css +0 -7
  277. package/lib/theme/SchemaItem/styles.module.css +0 -38
  278. package/lib/theme/SchemaTabs/styles.module.css +0 -110
  279. package/lib/theme/styles.css +0 -520
  280. package/lib/theme-classic.d.ts +0 -13
  281. package/lib/theme-openapi.d.ts +0 -234
  282. package/lib/theme-translations.d.ts +0 -9
  283. package/lib-next/index.js +0 -29
  284. package/lib-next/markdown/createDescription.js +0 -13
  285. package/lib-next/markdown/schema.js +0 -153
  286. package/lib-next/markdown/utils.js +0 -44
  287. package/lib-next/postman-code-generators.d.ts +0 -9
  288. package/lib-next/react-magic-dropzone.d.ts +0 -9
  289. package/lib-next/theme/ApiDemoPanel/Accept/index.js +0 -30
  290. package/lib-next/theme/ApiDemoPanel/Authorization/auth-types.js +0 -29
  291. package/lib-next/theme/ApiDemoPanel/Authorization/index.js +0 -142
  292. package/lib-next/theme/ApiDemoPanel/Body/index.js +0 -324
  293. package/lib-next/theme/ApiDemoPanel/CodeTabs/index.js +0 -201
  294. package/lib-next/theme/ApiDemoPanel/CodeTabs/styles.module.css +0 -17
  295. package/lib-next/theme/ApiDemoPanel/ContentType/index.js +0 -30
  296. package/lib-next/theme/ApiDemoPanel/Curl/index.js +0 -283
  297. package/lib-next/theme/ApiDemoPanel/Curl/styles.module.css +0 -84
  298. package/lib-next/theme/ApiDemoPanel/Execute/index.js +0 -167
  299. package/lib-next/theme/ApiDemoPanel/Export/index.js +0 -45
  300. package/lib-next/theme/ApiDemoPanel/FloatingButton/index.js +0 -22
  301. package/lib-next/theme/ApiDemoPanel/FloatingButton/styles.module.css +0 -26
  302. package/lib-next/theme/ApiDemoPanel/FormFileUpload/index.js +0 -106
  303. package/lib-next/theme/ApiDemoPanel/FormItem/index.js +0 -36
  304. package/lib-next/theme/ApiDemoPanel/FormItem/styles.module.css +0 -12
  305. package/lib-next/theme/ApiDemoPanel/FormMultiSelect/index.js +0 -45
  306. package/lib-next/theme/ApiDemoPanel/FormMultiSelect/styles.module.css +0 -38
  307. package/lib-next/theme/ApiDemoPanel/FormSelect/index.js +0 -26
  308. package/lib-next/theme/ApiDemoPanel/FormSelect/styles.module.css +0 -51
  309. package/lib-next/theme/ApiDemoPanel/FormTextInput/index.js +0 -24
  310. package/lib-next/theme/ApiDemoPanel/FormTextInput/styles.module.css +0 -21
  311. package/lib-next/theme/ApiDemoPanel/LiveEditor/index.js +0 -59
  312. package/lib-next/theme/ApiDemoPanel/LiveEditor/styles.module.css +0 -35
  313. package/lib-next/theme/ApiDemoPanel/MethodEndpoint/index.js +0 -53
  314. package/lib-next/theme/ApiDemoPanel/ParamOptions/index.js +0 -292
  315. package/lib-next/theme/ApiDemoPanel/Request/index.js +0 -60
  316. package/lib-next/theme/ApiDemoPanel/Request/styles.module.css +0 -18
  317. package/lib-next/theme/ApiDemoPanel/Response/index.js +0 -67
  318. package/lib-next/theme/ApiDemoPanel/Response/slice.js +0 -23
  319. package/lib-next/theme/ApiDemoPanel/SecuritySchemes/index.js +0 -274
  320. package/lib-next/theme/ApiDemoPanel/Server/index.js +0 -132
  321. package/lib-next/theme/ApiDemoPanel/Server/styles.module.css +0 -56
  322. package/lib-next/theme/ApiDemoPanel/index.js +0 -28
  323. package/lib-next/theme/ApiDemoPanel/storage-utils.js +0 -33
  324. package/lib-next/theme/ApiItem/Layout/index.js +0 -68
  325. package/lib-next/theme/ApiItem/Layout/styles.module.css +0 -17
  326. package/lib-next/theme/ApiItem/hooks.js +0 -10
  327. package/lib-next/theme/ApiItem/index.js +0 -155
  328. package/lib-next/theme/ApiItem/store.js +0 -38
  329. package/lib-next/theme/ApiLogo/index.js +0 -48
  330. package/lib-next/theme/ApiTabs/index.js +0 -277
  331. package/lib-next/theme/ApiTabs/styles.module.css +0 -120
  332. package/lib-next/theme/DiscriminatorTabs/index.js +0 -272
  333. package/lib-next/theme/DiscriminatorTabs/styles.module.css +0 -119
  334. package/lib-next/theme/MimeTabs/index.js +0 -295
  335. package/lib-next/theme/MimeTabs/styles.module.css +0 -126
  336. package/lib-next/theme/ParamsItem/index.js +0 -135
  337. package/lib-next/theme/ParamsItem/styles.module.css +0 -24
  338. package/lib-next/theme/ResponseSamples/index.js +0 -27
  339. package/lib-next/theme/ResponseSamples/styles.module.css +0 -7
  340. package/lib-next/theme/SchemaItem/index.js +0 -114
  341. package/lib-next/theme/SchemaItem/styles.module.css +0 -38
  342. package/lib-next/theme/SchemaTabs/index.js +0 -270
  343. package/lib-next/theme/SchemaTabs/styles.module.css +0 -110
  344. package/lib-next/theme/styles.css +0 -520
  345. package/lib-next/theme-classic.d.ts +0 -13
  346. package/lib-next/theme-openapi.d.ts +0 -234
  347. package/lib-next/theme-translations.d.ts +0 -9
  348. package/lib-next/types.js +0 -1
  349. package/src/theme/ApiDemoPanel/Body/json2xml.js +0 -43
  350. package/src/theme/ApiDemoPanel/CodeTabs/index.tsx +0 -239
  351. package/src/theme/ApiDemoPanel/CodeTabs/styles.module.css +0 -17
  352. package/src/theme/ApiDemoPanel/Curl/languages.json +0 -1386
  353. package/src/theme/ApiDemoPanel/Curl/styles.module.css +0 -84
  354. package/src/theme/ApiDemoPanel/Execute/index.tsx +0 -189
  355. package/src/theme/ApiDemoPanel/FloatingButton/styles.module.css +0 -26
  356. package/src/theme/ApiDemoPanel/FormItem/styles.module.css +0 -12
  357. package/src/theme/ApiDemoPanel/FormMultiSelect/styles.module.css +0 -38
  358. package/src/theme/ApiDemoPanel/FormTextInput/index.tsx +0 -34
  359. package/src/theme/ApiDemoPanel/FormTextInput/styles.module.css +0 -21
  360. package/src/theme/ApiDemoPanel/LiveEditor/index.tsx +0 -75
  361. package/src/theme/ApiDemoPanel/LiveEditor/styles.module.css +0 -35
  362. package/src/theme/ApiDemoPanel/MethodEndpoint/index.tsx +0 -62
  363. package/src/theme/ApiDemoPanel/ParamOptions/index.tsx +0 -326
  364. package/src/theme/ApiDemoPanel/Request/index.tsx +0 -71
  365. package/src/theme/ApiDemoPanel/Response/index.tsx +0 -75
  366. package/src/theme/ApiDemoPanel/Server/styles.module.css +0 -56
  367. package/src/theme/ApiDemoPanel/postman-collection.d.ts +0 -10
  368. package/src/theme/ApiDemoPanel/react-modal.d.ts +0 -8
  369. package/src/theme/ApiTabs/styles.module.css +0 -120
  370. package/src/theme/DiscriminatorTabs/styles.module.css +0 -119
  371. package/src/theme/MimeTabs/styles.module.css +0 -126
  372. package/src/theme/ParamsItem/styles.module.css +0 -24
  373. package/src/theme/ResponseSamples/styles.module.css +0 -7
  374. package/src/theme/SchemaItem/styles.module.css +0 -38
  375. package/src/theme/SchemaTabs/styles.module.css +0 -110
  376. package/src/theme/styles.css +0 -520
  377. /package/{lib-next/theme/ApiDemoPanel → lib/theme/ApiExplorer}/Body/json2xml.js +0 -0
  378. /package/{lib-next/theme/ApiDemoPanel/Curl → lib/theme/ApiExplorer/CodeSnippets}/languages.json +0 -0
  379. /package/src/theme/{ApiDemoPanel → ApiExplorer}/Accept/slice.ts +0 -0
  380. /package/src/theme/{ApiDemoPanel → ApiExplorer}/Authorization/auth-types.ts +0 -0
  381. /package/{lib/theme/ApiDemoPanel → src/theme/ApiExplorer}/Body/json2xml.js +0 -0
  382. /package/src/theme/{ApiDemoPanel → ApiExplorer}/Body/slice.ts +0 -0
  383. /package/{lib/theme/ApiDemoPanel/Curl → src/theme/ApiExplorer/CodeSnippets}/languages.json +0 -0
  384. /package/src/theme/{ApiDemoPanel → ApiExplorer}/ContentType/slice.ts +0 -0
  385. /package/src/theme/{ApiDemoPanel → ApiExplorer}/Export/index.tsx +0 -0
  386. /package/src/theme/{ApiDemoPanel → ApiExplorer}/ParamOptions/slice.ts +0 -0
  387. /package/src/theme/{ApiDemoPanel → ApiExplorer}/Server/slice.ts +0 -0
  388. /package/{lib-next/theme/ApiDemoPanel → src/theme/ApiExplorer}/postman-collection.d.ts +0 -0
  389. /package/{lib-next/theme/ApiDemoPanel → src/theme/ApiExplorer}/react-modal.d.ts +0 -0
  390. /package/src/theme/{ApiDemoPanel → ApiExplorer}/storage-utils.ts +0 -0
@@ -9,17 +9,13 @@ import React from "react";
9
9
 
10
10
  import CodeBlock from "@theme/CodeBlock";
11
11
  /* eslint-disable import/no-extraneous-dependencies*/
12
+ import clsx from "clsx";
12
13
  import { createDescription } from "docusaurus-theme-openapi-docs/lib/markdown/createDescription";
13
14
  /* eslint-disable import/no-extraneous-dependencies*/
14
- import {
15
- guard,
16
- toString,
17
- } from "docusaurus-theme-openapi-docs/lib/markdown/utils";
15
+ import { guard } from "docusaurus-theme-openapi-docs/lib/markdown/utils";
18
16
  import ReactMarkdown from "react-markdown";
19
17
  import rehypeRaw from "rehype-raw";
20
18
 
21
- import styles from "./styles.module.css";
22
-
23
19
  function SchemaItem({
24
20
  children: collapsibleSchemaContent,
25
21
  collapsible,
@@ -28,7 +24,6 @@ function SchemaItem({
28
24
  required,
29
25
  schemaName,
30
26
  schema,
31
- discriminator,
32
27
  }) {
33
28
  let deprecated;
34
29
  let schemaDescription;
@@ -43,15 +38,15 @@ function SchemaItem({
43
38
 
44
39
  const renderRequired = guard(
45
40
  Array.isArray(required) ? required.includes(name) : required,
46
- () => <strong className={styles.required}> required</strong>
41
+ () => <span className="openapi-schema__required">required</span>
47
42
  );
48
43
 
49
44
  const renderDeprecated = guard(deprecated, () => (
50
- <strong className={styles.deprecated}> deprecated</strong>
45
+ <span className="openapi-schema__deprecated">deprecated</span>
51
46
  ));
52
47
 
53
48
  const renderNullable = guard(nullable, () => (
54
- <strong className={styles.nullable}> nullable</strong>
49
+ <span className="openapi-schema__nullable">nullable</span>
55
50
  ));
56
51
 
57
52
  const renderSchemaDescription = guard(schemaDescription, (description) => (
@@ -76,7 +71,7 @@ function SchemaItem({
76
71
  ));
77
72
 
78
73
  const renderQualifierMessage = guard(qualifierMessage, (message) => (
79
- <div className={styles.schemaQualifierMessage}>
74
+ <div>
80
75
  <ReactMarkdown
81
76
  children={createDescription(message)}
82
77
  rehypePlugins={[rehypeRaw]}
@@ -84,19 +79,33 @@ function SchemaItem({
84
79
  </div>
85
80
  ));
86
81
 
87
- const renderDefaultValue = guard(toString(defaultValue), (value) => (
88
- <div className={styles.schemaQualifierMessage}>
89
- <ReactMarkdown children={`**Default value:** \`${value}\``} />
90
- </div>
91
- ));
82
+ const renderDefaultValue = guard(
83
+ typeof defaultValue === "boolean" ? defaultValue.toString() : defaultValue,
84
+ (value) => (
85
+ <div className="">
86
+ <ReactMarkdown children={`**Default value:** \`${value}\``} />
87
+ </div>
88
+ )
89
+ );
92
90
 
93
91
  const schemaContent = (
94
92
  <div>
95
- <strong className={deprecated && styles.strikethrough}>{name}</strong>
96
- <span className={styles.schemaName}> {schemaName}</span>
97
- {renderNullable}
98
- {!deprecated && renderRequired}
99
- {renderDeprecated}
93
+ <span className="openapi-schema__container">
94
+ <strong
95
+ className={clsx("openapi-schema__property", {
96
+ "openapi-schema__strikethrough": deprecated,
97
+ })}
98
+ >
99
+ {name}
100
+ </strong>
101
+ <span className="openapi-schema__name"> {schemaName}</span>
102
+ {(nullable || required || deprecated) && (
103
+ <span className="openapi-schema__divider"></span>
104
+ )}
105
+ {renderNullable}
106
+ {!deprecated && renderRequired}
107
+ {renderDeprecated}
108
+ </span>
100
109
  {renderQualifierMessage}
101
110
  {renderDefaultValue}
102
111
  {renderSchemaDescription}
@@ -105,7 +114,7 @@ function SchemaItem({
105
114
  );
106
115
 
107
116
  return (
108
- <div className={styles.schemaItem}>
117
+ <div className="openapi-schema__list-item">
109
118
  {collapsible ? collapsibleSchemaContent : schemaContent}
110
119
  </div>
111
120
  );
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
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
+ .openapi-tabs__schema-container {
9
+ margin-top: 1rem;
10
+ }
11
+
12
+ .openapi-tabs__schema-item {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ padding: 0.35rem 0.7rem;
17
+ border: 1px solid transparent;
18
+ margin-top: 0 !important;
19
+ margin-right: 0.5rem;
20
+ font-weight: var(--ifm-font-weight-bold);
21
+ font-family: var(--ifm-font-family-monospace);
22
+ font-size: 10px;
23
+ white-space: nowrap;
24
+ transition: 300ms;
25
+
26
+ &:hover {
27
+ background-color: transparent;
28
+ border: 1px solid var(--ifm-toc-border-color);
29
+ }
30
+
31
+ &.active {
32
+ border: 1px solid var(--ifm-color-primary);
33
+ color: var(--ifm-color-primary);
34
+ }
35
+
36
+ &:last-child {
37
+ margin-right: 0 !important;
38
+ }
39
+ }
40
+
41
+ .openapi-tabs__schema-list-container {
42
+ overflow-y: hidden;
43
+ overflow-x: scroll;
44
+ scroll-behavior: smooth;
45
+
46
+ &::-webkit-scrollbar {
47
+ display: none;
48
+ }
49
+
50
+ &.active {
51
+ background-color: var(--ifm-color-emphasis-100);
52
+ }
53
+ }
54
+
55
+ .openapi-tabs__schema-label {
56
+ white-space: nowrap;
57
+ }
58
+
59
+ .openapi-tabs__schema-tabs-container {
60
+ width: 100%;
61
+ display: flex;
62
+ align-items: center;
63
+ overflow: hidden;
64
+ }
@@ -5,141 +5,49 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  * ========================================================================== */
7
7
 
8
- import React, {
9
- Children,
10
- cloneElement,
11
- isValidElement,
12
- useEffect,
13
- useRef,
14
- useState,
15
- } from "react";
8
+ import React, { cloneElement, useRef, useEffect, useState } from "react";
16
9
 
17
- import { duplicates } from "@docusaurus/theme-common";
10
+ import {
11
+ useScrollPositionBlocker,
12
+ useTabs,
13
+ } from "@docusaurus/theme-common/internal";
18
14
  import useIsBrowser from "@docusaurus/useIsBrowser";
19
15
  import clsx from "clsx";
16
+ import flatten from "lodash/flatten";
20
17
 
21
- import styles from "./styles.module.css"; // A very rough duck type, but good enough to guard against mistakes while
22
-
23
- const {
24
- useScrollPositionBlocker,
25
- useTabGroupChoice,
26
- } = require("@docusaurus/theme-common/internal");
27
-
28
- // allowing customization
29
-
30
- function isTabItem(comp) {
31
- return typeof comp.props.value !== "undefined";
32
- }
33
-
34
- function SchemaTabsComponent(props) {
35
- const {
36
- lazy,
37
- block,
38
- defaultValue: defaultValueProp,
39
- values: valuesProp,
40
- groupId,
41
- className,
42
- } = props;
43
- const children = Children.map(props.children, (child) => {
44
- if (isValidElement(child) && isTabItem(child)) {
45
- return child;
46
- } // child.type.name will give non-sensical values in prod because of
47
- // minification, but we assume it won't throw in prod.
48
-
49
- throw new Error(
50
- `Docusaurus error: Bad <Tabs> child <${
51
- // @ts-expect-error: guarding against unexpected cases
52
- typeof child.type === "string" ? child.type : child.type.name
53
- }>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`
54
- );
55
- });
56
- const values =
57
- valuesProp ?? // We only pick keys that we recognize. MDX would inject some keys by default
58
- children.map(({ props: { value, label, attributes } }) => ({
59
- value,
60
- label,
61
- attributes,
62
- }));
63
- const dup = duplicates(values, (a, b) => a.value === b.value);
64
-
65
- if (dup.length > 0) {
66
- throw new Error(
67
- `Docusaurus error: Duplicate values "${dup
68
- .map((a) => a.value)
69
- .join(", ")}" found in <Tabs>. Every value needs to be unique.`
70
- );
71
- } // When defaultValueProp is null, don't show a default tab
72
-
73
- const defaultValue =
74
- defaultValueProp === null
75
- ? defaultValueProp
76
- : defaultValueProp ??
77
- children.find((child) => child.props.default)?.props.value ??
78
- children[0]?.props.value;
79
-
80
- if (defaultValue !== null && !values.some((a) => a.value === defaultValue)) {
81
- throw new Error(
82
- `Docusaurus error: The <Tabs> has a defaultValue "${defaultValue}" but none of its children has the corresponding value. Available values are: ${values
83
- .map((a) => a.value)
84
- .join(
85
- ", "
86
- )}. If you intend to show no default tab, use defaultValue={null} instead.`
87
- );
88
- }
89
-
90
- const { tabGroupChoices, setTabGroupChoices } = useTabGroupChoice();
91
- const [selectedValue, setSelectedValue] = useState(defaultValue);
18
+ function TabList({ className, block, selectedValue, selectValue, tabValues }) {
92
19
  const tabRefs = [];
93
20
  const { blockElementScrollPositionUntilNextRender } =
94
21
  useScrollPositionBlocker();
95
-
96
- if (groupId != null) {
97
- const relevantTabGroupChoice = tabGroupChoices[groupId];
98
-
99
- if (
100
- relevantTabGroupChoice != null &&
101
- relevantTabGroupChoice !== selectedValue &&
102
- values.some((value) => value.value === relevantTabGroupChoice)
103
- ) {
104
- setSelectedValue(relevantTabGroupChoice);
105
- }
106
- }
107
-
108
22
  const handleTabChange = (event) => {
109
23
  const newTab = event.currentTarget;
110
24
  const newTabIndex = tabRefs.indexOf(newTab);
111
- const newTabValue = values[newTabIndex].value;
112
-
25
+ const newTabValue = tabValues[newTabIndex].value;
113
26
  if (newTabValue !== selectedValue) {
114
27
  blockElementScrollPositionUntilNextRender(newTab);
115
- setSelectedValue(newTabValue);
116
-
117
- if (groupId != null) {
118
- setTabGroupChoices(groupId, newTabValue);
119
- }
28
+ selectValue(newTabValue);
120
29
  }
121
30
  };
122
-
123
31
  const handleKeydown = (event) => {
124
32
  let focusElement = null;
125
-
126
33
  switch (event.key) {
34
+ case "Enter": {
35
+ handleTabChange(event);
36
+ break;
37
+ }
127
38
  case "ArrowRight": {
128
39
  const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
129
- focusElement = tabRefs[nextTab] || tabRefs[0];
40
+ focusElement = tabRefs[nextTab] ?? tabRefs[0];
130
41
  break;
131
42
  }
132
-
133
43
  case "ArrowLeft": {
134
44
  const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
135
- focusElement = tabRefs[prevTab] || tabRefs[tabRefs.length - 1];
45
+ focusElement = tabRefs[prevTab] ?? tabRefs[tabRefs.length - 1];
136
46
  break;
137
47
  }
138
-
139
48
  default:
140
49
  break;
141
50
  }
142
-
143
51
  focusElement?.focus();
144
52
  };
145
53
 
@@ -173,95 +81,99 @@ function SchemaTabsComponent(props) {
173
81
  };
174
82
 
175
83
  return (
176
- <div className="tabs__container">
177
- <div className={styles.schemaTabsTopSection}>
178
- <div className={styles.schemaTabsContainer}>
179
- {showTabArrows && (
180
- <button
181
- className={clsx(styles.tabArrow, styles.tabArrowLeft)}
182
- onClick={handleLeftClick}
183
- />
184
- )}
185
- <div
186
- ref={tabItemListContainerRef}
187
- role="tablist"
188
- aria-orientation="horizontal"
84
+ <div className="openapi-tabs__schema-tabs-container">
85
+ {showTabArrows && (
86
+ <button
87
+ className="openapi-tabs__arrow left"
88
+ onClick={handleLeftClick}
89
+ />
90
+ )}
91
+ <ul
92
+ ref={tabItemListContainerRef}
93
+ role="tablist"
94
+ aria-orientation="horizontal"
95
+ className={clsx(
96
+ "openapi-tabs__schema-list-container",
97
+ "tabs",
98
+ {
99
+ "tabs--block": block,
100
+ },
101
+ className
102
+ )}
103
+ >
104
+ {tabValues.map(({ value, label, attributes }) => (
105
+ <li
106
+ // TODO extract TabListItem
107
+ role="tab"
108
+ tabIndex={selectedValue === value ? 0 : -1}
109
+ aria-selected={selectedValue === value}
110
+ key={value}
111
+ ref={(tabControl) => tabRefs.push(tabControl)}
112
+ onKeyDown={handleKeydown}
113
+ onClick={handleTabChange}
114
+ {...attributes}
189
115
  className={clsx(
190
- styles.schemaTabsListContainer,
191
- "tabs",
116
+ "tabs__item",
117
+ "openapi-tabs__schema-item",
118
+ attributes?.className,
192
119
  {
193
- "tabs--block": block,
194
- },
195
- className
120
+ active: selectedValue === value,
121
+ }
196
122
  )}
197
123
  >
198
- {values.map(({ value, label, attributes }) => {
199
- return (
200
- <div
201
- role="tab"
202
- tabIndex={selectedValue === value ? 0 : -1}
203
- aria-selected={selectedValue === value}
204
- key={value}
205
- ref={(tabControl) => tabRefs.push(tabControl)}
206
- onKeyDown={handleKeydown}
207
- onFocus={handleTabChange}
208
- onClick={handleTabChange}
209
- {...attributes}
210
- className={clsx(
211
- "tabs__item",
212
- styles.tabItem,
213
- attributes?.className,
214
- {
215
- [styles.schemaTabActive]: selectedValue === value,
216
- }
217
- )}
218
- >
219
- <span className={styles.schemaTabLabel}>
220
- {label ?? value}
221
- </span>
222
- </div>
223
- );
224
- })}
225
- </div>
226
- {showTabArrows && (
227
- <button
228
- className={clsx(styles.tabArrow, styles.tabArrowRight)}
229
- onClick={handleRightClick}
230
- />
231
- )}
232
- </div>
233
- </div>
234
- <hr />
235
- {lazy ? (
236
- cloneElement(
237
- children.filter(
238
- (tabItem) => tabItem.props.value === selectedValue
239
- )[0] ?? // TODO: see if there's a better way to handle this
240
- children.filter(
241
- (tabItem) => tabItem.props.value === defaultValue
242
- )[0],
243
- {
244
- className: styles.marginVertical,
245
- }
246
- )
247
- ) : (
248
- <div className={styles.marginVertical}>
249
- {children.map((tabItem, i) =>
250
- cloneElement(tabItem, {
251
- key: i,
252
- hidden: tabItem.props.value !== selectedValue,
253
- })
254
- )}
255
- </div>
124
+ <span className="openapi-tabs__schema-label">{label ?? value}</span>
125
+ </li>
126
+ ))}
127
+ </ul>
128
+ {showTabArrows && (
129
+ <button
130
+ className="openapi-tabs__arrow right"
131
+ onClick={handleRightClick}
132
+ />
256
133
  )}
257
134
  </div>
258
135
  );
259
136
  }
260
-
137
+ function TabContent({ lazy, children, selectedValue }) {
138
+ // eslint-disable-next-line no-param-reassign
139
+ children = Array.isArray(children) ? children : [children];
140
+ const flattenedChildren = flatten(children);
141
+
142
+ if (lazy) {
143
+ const selectedTabItem = flattenedChildren.find(
144
+ (tabItem) => tabItem.props.value === selectedValue
145
+ );
146
+ if (!selectedTabItem) {
147
+ // fail-safe or fail-fast? not sure what's best here
148
+ return null;
149
+ }
150
+ return cloneElement(selectedTabItem, { className: "margin-top--md" });
151
+ }
152
+ return (
153
+ <div className="margin-top--md">
154
+ {children.map((tabItem, i) =>
155
+ cloneElement(tabItem, {
156
+ key: i,
157
+ hidden: tabItem.props.value !== selectedValue,
158
+ })
159
+ )}
160
+ </div>
161
+ );
162
+ }
163
+ function TabsComponent(props) {
164
+ const tabs = useTabs(props);
165
+ return (
166
+ <div className="openapi-tabs__schema-container">
167
+ <TabList {...props} {...tabs} />
168
+ <TabContent {...props} {...tabs} />
169
+ </div>
170
+ );
171
+ }
261
172
  export default function SchemaTabs(props) {
262
173
  const isBrowser = useIsBrowser();
263
174
  return (
264
- <SchemaTabsComponent // Remount tabs after hydration
175
+ <TabsComponent
176
+ // Remount tabs after hydration
265
177
  // Temporary fix for https://github.com/facebook/docusaurus/issues/5653
266
178
  key={String(isBrowser)}
267
179
  {...props}
@@ -0,0 +1,160 @@
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
+ /* API Demo Panel */
8
+ @use "./ApiExplorer/CodeTabs/CodeTabs";
9
+ @use "./ApiExplorer/FloatingButton/FloatingButton";
10
+ @use "./ApiExplorer/FormFileUpload/FormFileUpload";
11
+ @use "./ApiExplorer/FormItem/FormItem";
12
+ @use "./ApiExplorer/FormMultiSelect/FormMultiSelect";
13
+ @use "./ApiExplorer/FormSelect/FormSelect";
14
+ @use "./ApiExplorer/FormTextInput/FormTextInput";
15
+ @use "./ApiExplorer/LiveEditor/LiveEditor";
16
+ @use "./ApiExplorer/MethodEndpoint/MethodEndpoint";
17
+ @use "./ApiExplorer/ParamOptions/ParamOptions";
18
+ @use "./ApiExplorer/Request/Request";
19
+ @use "./ApiExplorer/Response/Response";
20
+ @use "./ApiExplorer/Server/Server";
21
+
22
+ /* Api Demo Panel / ApiCodeBlock */
23
+ @use "./ApiExplorer/ApiCodeBlock/Container/Container";
24
+ @use "./ApiExplorer/ApiCodeBlock/Content/Content";
25
+ @use "./ApiExplorer/ApiCodeBlock/CopyButton/CopyButton";
26
+ @use "./ApiExplorer/ApiCodeBlock/ExitButton/ExitButton";
27
+ @use "./ApiExplorer/ApiCodeBlock/ExpandButton/ExpandButton";
28
+ @use "./ApiExplorer/ApiCodeBlock/Line/Line";
29
+ @use "./ApiExplorer/ApiCodeBlock/WordWrapButton/WordWrapButton";
30
+
31
+ /* Schema Styling */
32
+ @use "./ParamsItem/ParamsItem";
33
+ @use "./SchemaItem/SchemaItem";
34
+ /* Tabs Styling */
35
+ @use "./ApiTabs/ApiTabs";
36
+ @use "./DiscriminatorTabs/DiscriminatorTabs";
37
+ @use "./MimeTabs/MimeTabs";
38
+ @use "./SchemaTabs/SchemaTabs";
39
+ /* Code Samples */
40
+ @use "./ResponseSamples/ResponseSamples";
41
+ /* Markdown Styling */
42
+ @use "./Markdown/Details/Details";
43
+
44
+ :root {
45
+ --openapi-required: var(--ifm-color-danger);
46
+ --openapi-deprecated: var(--ifm-color-warning);
47
+ --openapi-nullable: var(--ifm-color-info);
48
+ --openapi-code-blue: var(--ifm-color-info);
49
+ --openapi-code-red: var(--ifm-color-danger);
50
+ --openapi-code-orange: var(--ifm-color-warning);
51
+ --openapi-code-green: var(--ifm-color-success);
52
+ --openapi-card-background-color: var(--ifm-color-gray-100);
53
+ --openapi-card-border-radius: var(--ifm-pre-border-radius);
54
+ --openapi-input-border: var(--ifm-color-primary);
55
+ --openapi-input-background: var(--openapi-card-background-color);
56
+ --openapi-tree-line-color: var(--ifm-toc-border-color);
57
+ --openapi-code-tab-border-color: var(--ifm-toc-border-color);
58
+ --openapi-code-tab-border-color-python: #ffdb50;
59
+ --openapi-code-tab-border-color-bash: var(--ifm-color-danger);
60
+ --openapi-code-tab-border-color-go: var(--ifm-color-info);
61
+ --openapi-code-tab-border-color-js: var(--ifm-color-warning);
62
+ --openapi-code-tab-border-color-ruby: var(--ifm-color-danger);
63
+ --openapi-code-tab-border-color-csharp: #9b4f96;
64
+ --openapi-code-tab-border-color-nodejs: var(--ifm-color-success);
65
+ --openapi-code-tab-border-color-php: #6181b6;
66
+ --openapi-code-tab-border-color-java: #0374bd;
67
+ --openapi-code-tab-border-color-powershell: #00adef;
68
+ --openapi-code-tab-shadow-color-python: rgba(255, 219, 80, 0.25);
69
+ --openapi-code-tab-shadow-color-bash: rgba(250, 56, 62, 0.25);
70
+ --openapi-code-tab-shadow-color-go: rgba(84, 199, 236, 0.25);
71
+ --openapi-code-tab-shadow-color-js: rgba(255, 186, 0, 0.25);
72
+ --openapi-code-tab-shadow-color-ruby: rgba(250, 56, 62, 0.25);
73
+ --openapi-code-tab-shadow-color-csharp: rgba(155, 79, 150, 0.25);
74
+ --opeanpi-code-tab-shadow-color-nodejs: rgba(0, 164, 0, 0.25);
75
+ --openapi-code-tab-shadow-color-php: rgba(97, 129, 182, 0.25);
76
+ --openapi-code-tab-shadow-color-java: rgba(3, 116, 189, 0.25);
77
+ --opeanpi-code-tab-shadow-color-powershell: rgba(3, 116, 189, 0.25);
78
+ --openapi-explorer-font-size-input: 12px;
79
+ --openapi-explorer-font-size-code: 12px;
80
+ --openapi-explorer-padding-input: 0.5rem;
81
+ --openapi-explorer-border-color: var(--ifm-toc-border-color);
82
+ --openapi-explorer-caret-bg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>');
83
+ }
84
+
85
+ [data-theme="dark"] {
86
+ --openapi-card-background-color: var(--ifm-color-gray-900) !important;
87
+ --openapi-explorer-caret-bg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 24 24" fill="white"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>') !important;
88
+ }
89
+
90
+ .docs-wrapper {
91
+ height: 100%;
92
+ }
93
+
94
+ @media (min-width: 997px) {
95
+ .docItemCol {
96
+ max-width: 75% !important;
97
+ }
98
+
99
+ /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
100
+ .tocMobile {
101
+ display: none;
102
+ }
103
+ }
104
+
105
+ /* Begin OpenAPI theme styles */
106
+ // [data-theme="dark"] {
107
+ // --openapi-card-background-color: var(--ifm-color-gray-900) !important;
108
+ // }
109
+
110
+ // .theme-api-markdown div[class^="collapsibleContent"] {
111
+ // margin-top: 0 !important;
112
+ // padding-left: 2px;
113
+ // }
114
+
115
+ /* Demo panel details */
116
+
117
+ // .theme-api-markdown .openapi-explorer__details > div > div > pre {
118
+ // border-top-left-radius: 0;
119
+ // border-top-right-radius: 0;
120
+ // }
121
+
122
+ /* Code block */
123
+
124
+ // .theme-api-markdown code {
125
+ // max-width: 600px;
126
+ // max-height: 500px;
127
+ // overflow: auto;
128
+ // }
129
+
130
+ /* Version button */
131
+
132
+ // .version-button div {
133
+ // display: block;
134
+ // }
135
+
136
+ // .version-button div > button > span::after {
137
+ // border-color: currentcolor transparent;
138
+ // border-style: solid;
139
+ // border-width: 0.4em 0.4em 0;
140
+ // content: "";
141
+ // margin-left: 0.3em;
142
+ // position: relative;
143
+ // transform: translateY(-50%);
144
+ // display: inline-block;
145
+ // font-size: 0.8rem;
146
+ // top: 1px;
147
+ // }
148
+
149
+ .openapi__logo {
150
+ width: 250px;
151
+ }
152
+
153
+ .openapi__heading {
154
+ font-size: 2rem;
155
+ margin-bottom: 0.5rem !important;
156
+ }
157
+
158
+ .openapi-left-panel__container {
159
+ border-right: thin solid var(--ifm-toc-border-color);
160
+ }