@stoplight/elements-core 9.0.25-beta-0.2 → 9.0.25-beta-0.4

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 (415) hide show
  1. package/{dist/index.esm.js → index.esm.js} +7 -2
  2. package/{dist/index.js → index.js} +7 -2
  3. package/{dist/index.mjs → index.mjs} +7 -2
  4. package/package.json +14 -74
  5. package/.storybook/main.js +0 -6
  6. package/.storybook/manager.js +0 -1
  7. package/.storybook/preview.jsx +0 -50
  8. package/dist/LICENSE +0 -190
  9. package/dist/README.md +0 -46
  10. package/dist/package.json +0 -65
  11. package/jest.config.js +0 -10
  12. package/src/__fixtures__/articles/basic.md +0 -10
  13. package/src/__fixtures__/articles/kitchen-sink.md +0 -318
  14. package/src/__fixtures__/articles/long-page-heading.md +0 -955
  15. package/src/__fixtures__/articles/multiple-try-its.md +0 -54
  16. package/src/__fixtures__/articles/schema-with-refs.ts +0 -82
  17. package/src/__fixtures__/http-request.json +0 -11
  18. package/src/__fixtures__/models/model-with-no-examples.json +0 -15
  19. package/src/__fixtures__/models/model-with-one-example.json +0 -23
  20. package/src/__fixtures__/models/model-with-three-examples.json +0 -35
  21. package/src/__fixtures__/operations/application-octet-stream-post.ts +0 -39
  22. package/src/__fixtures__/operations/base64-file-upload.ts +0 -43
  23. package/src/__fixtures__/operations/big-response.ts +0 -4690
  24. package/src/__fixtures__/operations/bundled-parameter.ts +0 -128
  25. package/src/__fixtures__/operations/empty-response.ts +0 -15
  26. package/src/__fixtures__/operations/examples-request-body.ts +0 -135
  27. package/src/__fixtures__/operations/head-todos.ts +0 -49
  28. package/src/__fixtures__/operations/invalid-response-example.ts +0 -45
  29. package/src/__fixtures__/operations/multipart-formdata-post.ts +0 -61
  30. package/src/__fixtures__/operations/operation-minimal.ts +0 -11
  31. package/src/__fixtures__/operations/operation-parameters.ts +0 -337
  32. package/src/__fixtures__/operations/operation-with-examples.ts +0 -113
  33. package/src/__fixtures__/operations/operation-without-servers.ts +0 -16
  34. package/src/__fixtures__/operations/patch-todos.ts +0 -49
  35. package/src/__fixtures__/operations/put-todos.ts +0 -862
  36. package/src/__fixtures__/operations/referenced-body.ts +0 -62
  37. package/src/__fixtures__/operations/request-body-empty-schema.ts +0 -35
  38. package/src/__fixtures__/operations/request-body.ts +0 -62
  39. package/src/__fixtures__/operations/securedOperation.ts +0 -118
  40. package/src/__fixtures__/operations/security-basic.ts +0 -24
  41. package/src/__fixtures__/operations/security-bearer.ts +0 -25
  42. package/src/__fixtures__/operations/simple-get.ts +0 -17
  43. package/src/__fixtures__/operations/simple.ts +0 -103
  44. package/src/__fixtures__/operations/string-numeric-enums.ts +0 -32
  45. package/src/__fixtures__/operations/urlencoded-post-oneof.ts +0 -81
  46. package/src/__fixtures__/operations/urlencoded-post.ts +0 -54
  47. package/src/__fixtures__/operations/vendor-extensions.ts +0 -337
  48. package/src/__fixtures__/operations/with-url-variables.ts +0 -47
  49. package/src/__fixtures__/operations/x-code-samples.ts +0 -348
  50. package/src/__fixtures__/schemas/circular.ts +0 -1906
  51. package/src/__fixtures__/schemas/contact.json +0 -293
  52. package/src/__fixtures__/schemas/media-entry.json +0 -69
  53. package/src/__fixtures__/schemas/simple.json +0 -27
  54. package/src/__fixtures__/schemas/todo-full.v1.json +0 -35
  55. package/src/__fixtures__/schemas/todo-partial.v1.json +0 -14
  56. package/src/__fixtures__/schemas/user.v1.json +0 -17
  57. package/src/__fixtures__/security-schemes/index.ts +0 -38
  58. package/src/__fixtures__/services/petstore.ts +0 -167
  59. package/src/__fixtures__/services/with-unnamed-servers.ts +0 -38
  60. package/src/__fixtures__/services/with-url-variables.ts +0 -83
  61. package/src/__fixtures__/services/without-origin.ts +0 -20
  62. package/src/__fixtures__/table-of-contents/nested.ts +0 -44
  63. package/src/__fixtures__/table-of-contents/studio-template.ts +0 -100
  64. package/src/__fixtures__/table-of-contents/studio.ts +0 -559
  65. package/src/components/Docs/Article/Article.spec.tsx +0 -38
  66. package/src/components/Docs/Article/Article.stories.tsx +0 -17
  67. package/src/components/Docs/Article/index.tsx +0 -38
  68. package/src/components/Docs/Docs.stories.tsx +0 -33
  69. package/src/components/Docs/Docs.tsx +0 -231
  70. package/src/components/Docs/HttpOperation/Badges.tsx +0 -49
  71. package/src/components/Docs/HttpOperation/Body.tsx +0 -79
  72. package/src/components/Docs/HttpOperation/Callbacks.tsx +0 -89
  73. package/src/components/Docs/HttpOperation/HttpOperation.spec.tsx +0 -787
  74. package/src/components/Docs/HttpOperation/HttpOperation.stories.ts +0 -14
  75. package/src/components/Docs/HttpOperation/HttpOperation.tsx +0 -255
  76. package/src/components/Docs/HttpOperation/Parameters.spec.tsx +0 -101
  77. package/src/components/Docs/HttpOperation/Parameters.tsx +0 -118
  78. package/src/components/Docs/HttpOperation/Request.tsx +0 -140
  79. package/src/components/Docs/HttpOperation/Responses.tsx +0 -247
  80. package/src/components/Docs/HttpOperation/index.ts +0 -1
  81. package/src/components/Docs/HttpService/AdditionalInfo.stories.ts +0 -48
  82. package/src/components/Docs/HttpService/AdditionalInfo.tsx +0 -61
  83. package/src/components/Docs/HttpService/ExportButton.tsx +0 -35
  84. package/src/components/Docs/HttpService/HttpService.spec.tsx +0 -429
  85. package/src/components/Docs/HttpService/HttpService.stories.ts +0 -14
  86. package/src/components/Docs/HttpService/HttpService.tsx +0 -99
  87. package/src/components/Docs/HttpService/SecuritySchemes.tsx +0 -82
  88. package/src/components/Docs/HttpService/ServerInfo.tsx +0 -196
  89. package/src/components/Docs/HttpService/index.ts +0 -1
  90. package/src/components/Docs/Model/Model.spec.tsx +0 -241
  91. package/src/components/Docs/Model/Model.stories.tsx +0 -16
  92. package/src/components/Docs/Model/Model.tsx +0 -160
  93. package/src/components/Docs/Model/index.ts +0 -1
  94. package/src/components/Docs/NodeVendorExtensions.tsx +0 -55
  95. package/src/components/Docs/Sections.tsx +0 -54
  96. package/src/components/Docs/Security/PanelContent.tsx +0 -38
  97. package/src/components/Docs/Security/index.ts +0 -1
  98. package/src/components/Docs/Skeleton.tsx +0 -12
  99. package/src/components/Docs/TwoColumnLayout.tsx +0 -28
  100. package/src/components/Docs/index.ts +0 -1
  101. package/src/components/Docs/story-helper.ts +0 -46
  102. package/src/components/Docs/story-renderer-helper.tsx +0 -56
  103. package/src/components/Layout/MobileTopNav.tsx +0 -78
  104. package/src/components/Layout/ResponsiveSidebarLayout.tsx +0 -175
  105. package/src/components/Layout/SidebarLayout.tsx +0 -107
  106. package/src/components/LinkHeading.tsx +0 -21
  107. package/src/components/LoadMore.tsx +0 -20
  108. package/src/components/Loading/Loading.tsx +0 -9
  109. package/src/components/Logo.tsx +0 -25
  110. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.spec.ts +0 -90
  111. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.tsx +0 -164
  112. package/src/components/MarkdownViewer/CustomComponents/Provider.tsx +0 -20
  113. package/src/components/MarkdownViewer/CustomComponents/ReactRouterLink.tsx +0 -27
  114. package/src/components/MarkdownViewer/CustomComponents/ResolvedImage.tsx +0 -86
  115. package/src/components/MarkdownViewer/CustomComponents/ScrollToHashElement.tsx +0 -96
  116. package/src/components/MarkdownViewer/MarkdownViewer.spec.tsx +0 -170
  117. package/src/components/MarkdownViewer/index.tsx +0 -10
  118. package/src/components/NonIdealState.tsx +0 -20
  119. package/src/components/PoweredByLink.tsx +0 -30
  120. package/src/components/RequestSamples/RequestSamples.stories.tsx +0 -67
  121. package/src/components/RequestSamples/RequestSamples.tsx +0 -246
  122. package/src/components/RequestSamples/__tests__/RequestSamples.test.tsx +0 -131
  123. package/src/components/RequestSamples/__tests__/__snapshots__/convertRequestToSample.spec.ts.snap +0 -746
  124. package/src/components/RequestSamples/__tests__/convertRequestToSample.spec.ts +0 -118
  125. package/src/components/RequestSamples/convertRequestToSample.ts +0 -56
  126. package/src/components/RequestSamples/extractCodeSamples.ts +0 -50
  127. package/src/components/RequestSamples/index.ts +0 -2
  128. package/src/components/RequestSamples/requestSampleConfigs.ts +0 -182
  129. package/src/components/ResponseExamples/ResponseExamples.spec.tsx +0 -121
  130. package/src/components/ResponseExamples/ResponseExamples.stories.tsx +0 -21
  131. package/src/components/ResponseExamples/ResponseExamples.tsx +0 -79
  132. package/src/components/TableOfContents/TableOfContents.spec.tsx +0 -699
  133. package/src/components/TableOfContents/TableOfContents.stories.tsx +0 -136
  134. package/src/components/TableOfContents/TableOfContents.tsx +0 -536
  135. package/src/components/TableOfContents/constants.ts +0 -45
  136. package/src/components/TableOfContents/index.ts +0 -2
  137. package/src/components/TableOfContents/types.ts +0 -59
  138. package/src/components/TableOfContents/utils.ts +0 -84
  139. package/src/components/TryIt/Auth/APIKeyAuth.tsx +0 -19
  140. package/src/components/TryIt/Auth/Auth.tsx +0 -169
  141. package/src/components/TryIt/Auth/AuthTokenInput.tsx +0 -37
  142. package/src/components/TryIt/Auth/BasicAuth.tsx +0 -62
  143. package/src/components/TryIt/Auth/BearerAuth.tsx +0 -19
  144. package/src/components/TryIt/Auth/DigestAuth.tsx +0 -35
  145. package/src/components/TryIt/Auth/OAuth2Auth.tsx +0 -19
  146. package/src/components/TryIt/Auth/authentication-utils.ts +0 -113
  147. package/src/components/TryIt/Body/BinaryBody.tsx +0 -52
  148. package/src/components/TryIt/Body/FormDataBody.tsx +0 -145
  149. package/src/components/TryIt/Body/RequestBody.tsx +0 -71
  150. package/src/components/TryIt/Body/__tests__/BinaryBody.test.tsx +0 -29
  151. package/src/components/TryIt/Body/__tests__/FormDataBody.test.tsx +0 -94
  152. package/src/components/TryIt/Body/request-body-utils.ts +0 -127
  153. package/src/components/TryIt/Body/useTextRequestBodyState.ts +0 -27
  154. package/src/components/TryIt/Mocking/MockingButton.tsx +0 -98
  155. package/src/components/TryIt/Mocking/mocking-utils.ts +0 -56
  156. package/src/components/TryIt/Mocking/useMockingOptions.ts +0 -6
  157. package/src/components/TryIt/Parameters/FileUploadParameterEditors.tsx +0 -62
  158. package/src/components/TryIt/Parameters/OperationParameters.tsx +0 -39
  159. package/src/components/TryIt/Parameters/ParameterEditor.tsx +0 -135
  160. package/src/components/TryIt/Parameters/__tests__/parameter-utils.spec.ts +0 -60
  161. package/src/components/TryIt/Parameters/parameter-utils.spec.ts +0 -118
  162. package/src/components/TryIt/Parameters/parameter-utils.ts +0 -245
  163. package/src/components/TryIt/Parameters/useOperationParameters.ts +0 -60
  164. package/src/components/TryIt/Response/ReponseCodeViewer.tsx +0 -28
  165. package/src/components/TryIt/Response/Response.spec.tsx +0 -174
  166. package/src/components/TryIt/Response/Response.tsx +0 -173
  167. package/src/components/TryIt/Response/hooks/useLineCount.ts +0 -7
  168. package/src/components/TryIt/Servers/ServerVariables.tsx +0 -33
  169. package/src/components/TryIt/Servers/ServersDropdown.tsx +0 -53
  170. package/src/components/TryIt/Servers/VariableEditor.tsx +0 -64
  171. package/src/components/TryIt/Servers/useServerVariables.ts +0 -19
  172. package/src/components/TryIt/TryIt.spec.tsx +0 -1571
  173. package/src/components/TryIt/TryIt.stories.tsx +0 -77
  174. package/src/components/TryIt/TryIt.tsx +0 -404
  175. package/src/components/TryIt/TryItWithRequestSamples.spec.tsx +0 -143
  176. package/src/components/TryIt/TryItWithRequestSamples.stories.tsx +0 -32
  177. package/src/components/TryIt/TryItWithRequestSamples.tsx +0 -42
  178. package/src/components/TryIt/build-request.spec.ts +0 -261
  179. package/src/components/TryIt/build-request.ts +0 -357
  180. package/src/components/TryIt/chosenServer.ts +0 -5
  181. package/src/components/TryIt/index.ts +0 -3
  182. package/src/components/__tests__/LinkHeading.spec.tsx +0 -125
  183. package/src/constants.ts +0 -176
  184. package/src/containers/MockingProvider.tsx +0 -23
  185. package/src/context/InlineRefResolver.spec.tsx +0 -183
  186. package/src/context/InlineRefResolver.tsx +0 -94
  187. package/src/context/Options.tsx +0 -27
  188. package/src/context/Persistence.tsx +0 -24
  189. package/src/context/RouterType.tsx +0 -9
  190. package/src/core.css +0 -97
  191. package/src/hoc/utils.ts +0 -5
  192. package/src/hoc/withMosaicProvider.spec.tsx +0 -48
  193. package/src/hoc/withMosaicProvider.tsx +0 -28
  194. package/src/hoc/withQueryClientProvider.spec.tsx +0 -38
  195. package/src/hoc/withQueryClientProvider.tsx +0 -35
  196. package/src/hoc/withRouter.tsx +0 -71
  197. package/src/hooks/useBundleRefsIntoDocument.ts +0 -60
  198. package/src/hooks/useFirstRender.ts +0 -8
  199. package/src/hooks/useIsCompact.ts +0 -26
  200. package/src/hooks/useParsedData.ts +0 -99
  201. package/src/hooks/useParsedValue.ts +0 -19
  202. package/src/hooks/useResponsiveLayout.tsx +0 -51
  203. package/src/hooks/useRouter.tsx +0 -31
  204. package/src/hooks/useUniqueId.ts +0 -4
  205. package/src/index.ts +0 -48
  206. package/src/styled.tsx +0 -22
  207. package/src/styles.css +0 -4
  208. package/src/types.ts +0 -170
  209. package/src/utils/__tests__/securitySchemes.spec.ts +0 -137
  210. package/src/utils/exampleGeneration/exampleGeneration.spec.tsx +0 -664
  211. package/src/utils/exampleGeneration/exampleGeneration.ts +0 -332
  212. package/src/utils/fileToBase64.ts +0 -11
  213. package/src/utils/guards.ts +0 -48
  214. package/src/utils/headers.ts +0 -316
  215. package/src/utils/http-spec/IServer.ts +0 -100
  216. package/src/utils/http-spec/__tests__/IServer.spec.ts +0 -51
  217. package/src/utils/http-spec/examples.ts +0 -5
  218. package/src/utils/http.ts +0 -9
  219. package/src/utils/jotai/persistAtom.ts +0 -31
  220. package/src/utils/node.ts +0 -19
  221. package/src/utils/oas/__tests__/security.spec.ts +0 -18
  222. package/src/utils/oas/security.ts +0 -76
  223. package/src/utils/ref-resolving/ReferenceResolver.ts +0 -29
  224. package/src/utils/ref-resolving/resolvedObject.test.ts +0 -415
  225. package/src/utils/ref-resolving/resolvedObject.ts +0 -189
  226. package/src/utils/securitySchemes.ts +0 -117
  227. package/src/utils/string.ts +0 -15
  228. package/src/utils/tests/chooseOption.ts +0 -7
  229. package/src/web-components/createElementClass.ts +0 -154
  230. package/tsconfig.build.json +0 -14
  231. package/tsconfig.json +0 -7
  232. /package/{dist/__fixtures__ → __fixtures__}/articles/schema-with-refs.d.ts +0 -0
  233. /package/{dist/__fixtures__ → __fixtures__}/operations/application-octet-stream-post.d.ts +0 -0
  234. /package/{dist/__fixtures__ → __fixtures__}/operations/base64-file-upload.d.ts +0 -0
  235. /package/{dist/__fixtures__ → __fixtures__}/operations/big-response.d.ts +0 -0
  236. /package/{dist/__fixtures__ → __fixtures__}/operations/examples-request-body.d.ts +0 -0
  237. /package/{dist/__fixtures__ → __fixtures__}/operations/head-todos.d.ts +0 -0
  238. /package/{dist/__fixtures__ → __fixtures__}/operations/multipart-formdata-post.d.ts +0 -0
  239. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-minimal.d.ts +0 -0
  240. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-parameters.d.ts +0 -0
  241. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-with-examples.d.ts +0 -0
  242. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-without-servers.d.ts +0 -0
  243. /package/{dist/__fixtures__ → __fixtures__}/operations/patch-todos.d.ts +0 -0
  244. /package/{dist/__fixtures__ → __fixtures__}/operations/put-todos.d.ts +0 -0
  245. /package/{dist/__fixtures__ → __fixtures__}/operations/referenced-body.d.ts +0 -0
  246. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body-empty-schema.d.ts +0 -0
  247. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body.d.ts +0 -0
  248. /package/{dist/__fixtures__ → __fixtures__}/operations/securedOperation.d.ts +0 -0
  249. /package/{dist/__fixtures__ → __fixtures__}/operations/security-basic.d.ts +0 -0
  250. /package/{dist/__fixtures__ → __fixtures__}/operations/security-bearer.d.ts +0 -0
  251. /package/{dist/__fixtures__ → __fixtures__}/operations/simple-get.d.ts +0 -0
  252. /package/{dist/__fixtures__ → __fixtures__}/operations/string-numeric-enums.d.ts +0 -0
  253. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post-oneof.d.ts +0 -0
  254. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post.d.ts +0 -0
  255. /package/{dist/__fixtures__ → __fixtures__}/operations/with-url-variables.d.ts +0 -0
  256. /package/{dist/__fixtures__ → __fixtures__}/security-schemes/index.d.ts +0 -0
  257. /package/{dist/__fixtures__ → __fixtures__}/services/petstore.d.ts +0 -0
  258. /package/{dist/__fixtures__ → __fixtures__}/services/with-unnamed-servers.d.ts +0 -0
  259. /package/{dist/__fixtures__ → __fixtures__}/services/with-url-variables.d.ts +0 -0
  260. /package/{dist/__fixtures__ → __fixtures__}/services/without-origin.d.ts +0 -0
  261. /package/{dist/components → components}/Docs/Article/Article.spec.d.ts +0 -0
  262. /package/{dist/components → components}/Docs/Article/Article.stories.d.ts +0 -0
  263. /package/{dist/components → components}/Docs/Article/index.d.ts +0 -0
  264. /package/{dist/components → components}/Docs/Docs.d.ts +0 -0
  265. /package/{dist/components → components}/Docs/Docs.stories.d.ts +0 -0
  266. /package/{dist/components → components}/Docs/HttpOperation/Badges.d.ts +0 -0
  267. /package/{dist/components → components}/Docs/HttpOperation/Body.d.ts +0 -0
  268. /package/{dist/components → components}/Docs/HttpOperation/Callbacks.d.ts +0 -0
  269. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.d.ts +0 -0
  270. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.spec.d.ts +0 -0
  271. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.stories.d.ts +0 -0
  272. /package/{dist/components → components}/Docs/HttpOperation/Parameters.d.ts +0 -0
  273. /package/{dist/components → components}/Docs/HttpOperation/Parameters.spec.d.ts +0 -0
  274. /package/{dist/components → components}/Docs/HttpOperation/Request.d.ts +0 -0
  275. /package/{dist/components → components}/Docs/HttpOperation/Responses.d.ts +0 -0
  276. /package/{dist/components → components}/Docs/HttpOperation/index.d.ts +0 -0
  277. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.d.ts +0 -0
  278. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.stories.d.ts +0 -0
  279. /package/{dist/components → components}/Docs/HttpService/ExportButton.d.ts +0 -0
  280. /package/{dist/components → components}/Docs/HttpService/HttpService.d.ts +0 -0
  281. /package/{dist/components → components}/Docs/HttpService/HttpService.spec.d.ts +0 -0
  282. /package/{dist/components → components}/Docs/HttpService/HttpService.stories.d.ts +0 -0
  283. /package/{dist/components → components}/Docs/HttpService/SecuritySchemes.d.ts +0 -0
  284. /package/{dist/components → components}/Docs/HttpService/ServerInfo.d.ts +0 -0
  285. /package/{dist/components → components}/Docs/HttpService/index.d.ts +0 -0
  286. /package/{dist/components → components}/Docs/Model/Model.d.ts +0 -0
  287. /package/{dist/components → components}/Docs/Model/Model.spec.d.ts +0 -0
  288. /package/{dist/components → components}/Docs/Model/Model.stories.d.ts +0 -0
  289. /package/{dist/components → components}/Docs/Model/index.d.ts +0 -0
  290. /package/{dist/components → components}/Docs/NodeVendorExtensions.d.ts +0 -0
  291. /package/{dist/components → components}/Docs/Sections.d.ts +0 -0
  292. /package/{dist/components → components}/Docs/Security/PanelContent.d.ts +0 -0
  293. /package/{dist/components → components}/Docs/Security/index.d.ts +0 -0
  294. /package/{dist/components → components}/Docs/Skeleton.d.ts +0 -0
  295. /package/{dist/components → components}/Docs/TwoColumnLayout.d.ts +0 -0
  296. /package/{dist/components → components}/Docs/index.d.ts +0 -0
  297. /package/{dist/components → components}/Docs/story-helper.d.ts +0 -0
  298. /package/{dist/components → components}/Docs/story-renderer-helper.d.ts +0 -0
  299. /package/{dist/components → components}/Layout/MobileTopNav.d.ts +0 -0
  300. /package/{dist/components → components}/Layout/ResponsiveSidebarLayout.d.ts +0 -0
  301. /package/{dist/components → components}/Layout/SidebarLayout.d.ts +0 -0
  302. /package/{dist/components → components}/LinkHeading.d.ts +0 -0
  303. /package/{dist/components → components}/LoadMore.d.ts +0 -0
  304. /package/{dist/components → components}/Loading/Loading.d.ts +0 -0
  305. /package/{dist/components → components}/Logo.d.ts +0 -0
  306. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.d.ts +0 -0
  307. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.spec.d.ts +0 -0
  308. /package/{dist/components → components}/MarkdownViewer/CustomComponents/Provider.d.ts +0 -0
  309. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ReactRouterLink.d.ts +0 -0
  310. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ResolvedImage.d.ts +0 -0
  311. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ScrollToHashElement.d.ts +0 -0
  312. /package/{dist/components → components}/MarkdownViewer/MarkdownViewer.spec.d.ts +0 -0
  313. /package/{dist/components → components}/MarkdownViewer/index.d.ts +0 -0
  314. /package/{dist/components → components}/NonIdealState.d.ts +0 -0
  315. /package/{dist/components → components}/PoweredByLink.d.ts +0 -0
  316. /package/{dist/components → components}/RequestSamples/RequestSamples.d.ts +0 -0
  317. /package/{dist/components → components}/RequestSamples/RequestSamples.stories.d.ts +0 -0
  318. /package/{dist/components → components}/RequestSamples/convertRequestToSample.d.ts +0 -0
  319. /package/{dist/components → components}/RequestSamples/extractCodeSamples.d.ts +0 -0
  320. /package/{dist/components → components}/RequestSamples/index.d.ts +0 -0
  321. /package/{dist/components → components}/RequestSamples/requestSampleConfigs.d.ts +0 -0
  322. /package/{dist/components → components}/ResponseExamples/ResponseExamples.d.ts +0 -0
  323. /package/{dist/components → components}/ResponseExamples/ResponseExamples.spec.d.ts +0 -0
  324. /package/{dist/components → components}/ResponseExamples/ResponseExamples.stories.d.ts +0 -0
  325. /package/{dist/components → components}/TableOfContents/TableOfContents.d.ts +0 -0
  326. /package/{dist/components → components}/TableOfContents/TableOfContents.spec.d.ts +0 -0
  327. /package/{dist/components → components}/TableOfContents/TableOfContents.stories.d.ts +0 -0
  328. /package/{dist/components → components}/TableOfContents/constants.d.ts +0 -0
  329. /package/{dist/components → components}/TableOfContents/index.d.ts +0 -0
  330. /package/{dist/components → components}/TableOfContents/types.d.ts +0 -0
  331. /package/{dist/components → components}/TableOfContents/utils.d.ts +0 -0
  332. /package/{dist/components → components}/TryIt/Auth/APIKeyAuth.d.ts +0 -0
  333. /package/{dist/components → components}/TryIt/Auth/Auth.d.ts +0 -0
  334. /package/{dist/components → components}/TryIt/Auth/AuthTokenInput.d.ts +0 -0
  335. /package/{dist/components → components}/TryIt/Auth/BasicAuth.d.ts +0 -0
  336. /package/{dist/components → components}/TryIt/Auth/BearerAuth.d.ts +0 -0
  337. /package/{dist/components → components}/TryIt/Auth/DigestAuth.d.ts +0 -0
  338. /package/{dist/components → components}/TryIt/Auth/OAuth2Auth.d.ts +0 -0
  339. /package/{dist/components → components}/TryIt/Auth/authentication-utils.d.ts +0 -0
  340. /package/{dist/components → components}/TryIt/Body/BinaryBody.d.ts +0 -0
  341. /package/{dist/components → components}/TryIt/Body/FormDataBody.d.ts +0 -0
  342. /package/{dist/components → components}/TryIt/Body/RequestBody.d.ts +0 -0
  343. /package/{dist/components → components}/TryIt/Body/request-body-utils.d.ts +0 -0
  344. /package/{dist/components → components}/TryIt/Body/useTextRequestBodyState.d.ts +0 -0
  345. /package/{dist/components → components}/TryIt/Mocking/MockingButton.d.ts +0 -0
  346. /package/{dist/components → components}/TryIt/Mocking/mocking-utils.d.ts +0 -0
  347. /package/{dist/components → components}/TryIt/Mocking/useMockingOptions.d.ts +0 -0
  348. /package/{dist/components → components}/TryIt/Parameters/FileUploadParameterEditors.d.ts +0 -0
  349. /package/{dist/components → components}/TryIt/Parameters/OperationParameters.d.ts +0 -0
  350. /package/{dist/components → components}/TryIt/Parameters/ParameterEditor.d.ts +0 -0
  351. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.d.ts +0 -0
  352. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.spec.d.ts +0 -0
  353. /package/{dist/components → components}/TryIt/Parameters/useOperationParameters.d.ts +0 -0
  354. /package/{dist/components → components}/TryIt/Response/ReponseCodeViewer.d.ts +0 -0
  355. /package/{dist/components → components}/TryIt/Response/Response.d.ts +0 -0
  356. /package/{dist/components → components}/TryIt/Response/Response.spec.d.ts +0 -0
  357. /package/{dist/components → components}/TryIt/Response/hooks/useLineCount.d.ts +0 -0
  358. /package/{dist/components → components}/TryIt/Servers/ServerVariables.d.ts +0 -0
  359. /package/{dist/components → components}/TryIt/Servers/ServersDropdown.d.ts +0 -0
  360. /package/{dist/components → components}/TryIt/Servers/VariableEditor.d.ts +0 -0
  361. /package/{dist/components → components}/TryIt/Servers/useServerVariables.d.ts +0 -0
  362. /package/{dist/components → components}/TryIt/TryIt.d.ts +0 -0
  363. /package/{dist/components → components}/TryIt/TryIt.spec.d.ts +0 -0
  364. /package/{dist/components → components}/TryIt/TryIt.stories.d.ts +0 -0
  365. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.d.ts +0 -0
  366. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.spec.d.ts +0 -0
  367. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.stories.d.ts +0 -0
  368. /package/{dist/components → components}/TryIt/build-request.d.ts +0 -0
  369. /package/{dist/components → components}/TryIt/build-request.spec.d.ts +0 -0
  370. /package/{dist/components → components}/TryIt/chosenServer.d.ts +0 -0
  371. /package/{dist/components → components}/TryIt/index.d.ts +0 -0
  372. /package/{dist/constants.d.ts → constants.d.ts} +0 -0
  373. /package/{dist/containers → containers}/MockingProvider.d.ts +0 -0
  374. /package/{dist/context → context}/InlineRefResolver.d.ts +0 -0
  375. /package/{dist/context → context}/InlineRefResolver.spec.d.ts +0 -0
  376. /package/{dist/context → context}/Options.d.ts +0 -0
  377. /package/{dist/context → context}/Persistence.d.ts +0 -0
  378. /package/{dist/context → context}/RouterType.d.ts +0 -0
  379. /package/{dist/core.css → core.css} +0 -0
  380. /package/{dist/hoc → hoc}/utils.d.ts +0 -0
  381. /package/{dist/hoc → hoc}/withMosaicProvider.d.ts +0 -0
  382. /package/{dist/hoc → hoc}/withMosaicProvider.spec.d.ts +0 -0
  383. /package/{dist/hoc → hoc}/withQueryClientProvider.d.ts +0 -0
  384. /package/{dist/hoc → hoc}/withQueryClientProvider.spec.d.ts +0 -0
  385. /package/{dist/hoc → hoc}/withRouter.d.ts +0 -0
  386. /package/{dist/hooks → hooks}/useBundleRefsIntoDocument.d.ts +0 -0
  387. /package/{dist/hooks → hooks}/useFirstRender.d.ts +0 -0
  388. /package/{dist/hooks → hooks}/useIsCompact.d.ts +0 -0
  389. /package/{dist/hooks → hooks}/useParsedData.d.ts +0 -0
  390. /package/{dist/hooks → hooks}/useParsedValue.d.ts +0 -0
  391. /package/{dist/hooks → hooks}/useResponsiveLayout.d.ts +0 -0
  392. /package/{dist/hooks → hooks}/useRouter.d.ts +0 -0
  393. /package/{dist/hooks → hooks}/useUniqueId.d.ts +0 -0
  394. /package/{dist/index.d.ts → index.d.ts} +0 -0
  395. /package/{dist/styled.d.ts → styled.d.ts} +0 -0
  396. /package/{dist/styles.min.css → styles.min.css} +0 -0
  397. /package/{dist/types.d.ts → types.d.ts} +0 -0
  398. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.d.ts +0 -0
  399. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.spec.d.ts +0 -0
  400. /package/{dist/utils → utils}/fileToBase64.d.ts +0 -0
  401. /package/{dist/utils → utils}/guards.d.ts +0 -0
  402. /package/{dist/utils → utils}/headers.d.ts +0 -0
  403. /package/{dist/utils → utils}/http-spec/IServer.d.ts +0 -0
  404. /package/{dist/utils → utils}/http-spec/examples.d.ts +0 -0
  405. /package/{dist/utils → utils}/http.d.ts +0 -0
  406. /package/{dist/utils → utils}/jotai/persistAtom.d.ts +0 -0
  407. /package/{dist/utils → utils}/node.d.ts +0 -0
  408. /package/{dist/utils → utils}/oas/security.d.ts +0 -0
  409. /package/{dist/utils → utils}/ref-resolving/ReferenceResolver.d.ts +0 -0
  410. /package/{dist/utils → utils}/ref-resolving/resolvedObject.d.ts +0 -0
  411. /package/{dist/utils → utils}/ref-resolving/resolvedObject.test.d.ts +0 -0
  412. /package/{dist/utils → utils}/securitySchemes.d.ts +0 -0
  413. /package/{dist/utils → utils}/string.d.ts +0 -0
  414. /package/{dist/utils → utils}/tests/chooseOption.d.ts +0 -0
  415. /package/{dist/web-components → web-components}/createElementClass.d.ts +0 -0
@@ -1,2 +0,0 @@
1
- export * from './TableOfContents';
2
- export * from './types';
@@ -1,59 +0,0 @@
1
- export type TableOfContentsProps = {
2
- tree: TableOfContentsItem[];
3
- activeId: string;
4
- Link: CustomLinkComponent;
5
- maxDepthOpenByDefault?: number;
6
- externalScrollbar?: boolean;
7
- isInResponsiveMode?: boolean;
8
- onLinkClick?(): void;
9
- };
10
-
11
- export type CustomLinkComponent = React.ComponentType<{
12
- to: string;
13
- className?: string;
14
- children: React.ReactNode;
15
- }>;
16
-
17
- export type TableOfContentsItem = TableOfContentsDivider | TableOfContentsGroupItem;
18
-
19
- export type TableOfContentsDivider = {
20
- title: string;
21
- };
22
-
23
- export type TableOfContentsGroupItem =
24
- | TableOfContentsGroup
25
- | TableOfContentsNodeGroup
26
- | TableOfContentsNode
27
- | TableOfContentsExternalLink;
28
-
29
- export type TableOfContentsGroup = {
30
- title: string;
31
- items: TableOfContentsGroupItem[];
32
- itemsType?: 'article' | 'http_operation' | 'http_webhook' | 'model';
33
- index: string;
34
- };
35
-
36
- export type TableOfContentsExternalLink = {
37
- title: string;
38
- url: string;
39
- };
40
-
41
- export type TableOfContentsNode<
42
- T = 'http_service' | 'http_operation' | 'http_webhook' | 'model' | 'article' | 'overview',
43
- > = {
44
- id: string;
45
- slug: string;
46
- title: string;
47
- type: T;
48
- meta: string;
49
- version?: string;
50
- index: string;
51
- };
52
-
53
- export type TableOfContentsNodeGroup = TableOfContentsNode<'http_service'> & TableOfContentsGroup;
54
-
55
- export type ActiveItemContextType = {
56
- activeId: string | undefined;
57
- lastActiveIndex: string;
58
- setLastActiveIndex: React.Dispatch<React.SetStateAction<string>>;
59
- };
@@ -1,84 +0,0 @@
1
- import {
2
- TableOfContentsDivider,
3
- TableOfContentsExternalLink,
4
- TableOfContentsGroup,
5
- TableOfContentsGroupItem,
6
- TableOfContentsItem,
7
- TableOfContentsNode,
8
- TableOfContentsNodeGroup,
9
- } from './types';
10
-
11
- export function getHtmlIdFromItemId(id: string) {
12
- return `sl-toc-${id}`;
13
- }
14
-
15
- export function isGroupOpenByDefault(
16
- depth: number,
17
- item: TableOfContentsGroup | TableOfContentsNodeGroup,
18
- activeId?: string,
19
- maxDepthOpenByDefault: number = 0,
20
- ) {
21
- return (
22
- depth < maxDepthOpenByDefault ||
23
- (activeId &&
24
- (('slug' in item && activeId === item.slug) ||
25
- ('id' in item && activeId === item.id) ||
26
- hasActiveItem(item.items, activeId)))
27
- );
28
- }
29
-
30
- // Recursively checks for the active item
31
- export function hasActiveItem(items: TableOfContentsGroupItem[], activeId: string): boolean {
32
- return items.some(item => {
33
- if ('slug' in item && activeId === item.slug) {
34
- return true;
35
- }
36
-
37
- if ('id' in item && activeId === item.id) {
38
- return true;
39
- }
40
-
41
- if ('items' in item) {
42
- return hasActiveItem(item.items, activeId);
43
- }
44
-
45
- return false;
46
- });
47
- }
48
-
49
- // Recursively finds the first node
50
- export function findFirstNode(items: TableOfContentsItem[]): TableOfContentsNode | TableOfContentsNodeGroup | void {
51
- for (const item of items) {
52
- // ignore nodes with empty slug
53
- if ((isNode(item) || isNodeGroup(item)) && item.slug) {
54
- return item;
55
- }
56
-
57
- if (isGroup(item) || isNodeGroup(item)) {
58
- const firstNode = findFirstNode(item.items);
59
- if (firstNode) {
60
- return firstNode;
61
- }
62
- }
63
-
64
- continue;
65
- }
66
-
67
- return;
68
- }
69
-
70
- export function isDivider(item: TableOfContentsItem): item is TableOfContentsDivider {
71
- return Object.keys(item).length === 2 && 'title' in item && 'index' in item;
72
- }
73
- export function isGroup(item: TableOfContentsItem): item is TableOfContentsGroup {
74
- return Object.keys(item).length >= 2 && 'title' in item && 'items' in item;
75
- }
76
- export function isNodeGroup(item: TableOfContentsItem): item is TableOfContentsNodeGroup {
77
- return 'title' in item && 'items' in item && 'slug' in item && 'id' in item && 'meta' in item && 'type' in item;
78
- }
79
- export function isNode(item: TableOfContentsItem): item is TableOfContentsNode {
80
- return 'title' in item && 'slug' in item && 'id' in item && 'meta' in item && 'type' in item;
81
- }
82
- export function isExternalLink(item: TableOfContentsItem): item is TableOfContentsExternalLink {
83
- return Object.keys(item).length === 3 && 'title' in item && 'url' in item && 'index' in item;
84
- }
@@ -1,19 +0,0 @@
1
- import { Panel } from '@stoplight/mosaic';
2
- import { IApiKeySecurityScheme } from '@stoplight/types';
3
- import * as React from 'react';
4
-
5
- import { AuthTokenInput } from './AuthTokenInput';
6
-
7
- interface APIKeyAuthProps {
8
- scheme: IApiKeySecurityScheme;
9
- onChange: (apiKey: string) => void;
10
- value: string;
11
- }
12
-
13
- export const APIKeyAuth: React.FC<APIKeyAuthProps> = ({ scheme, onChange, value }) => {
14
- return (
15
- <Panel.Content className="ParameterGrid" data-test="auth-try-it-row">
16
- <AuthTokenInput type="apiKey" name={scheme.name} value={value} onChange={onChange} />
17
- </Panel.Content>
18
- );
19
- };
@@ -1,169 +0,0 @@
1
- import { Button, Menu, MenuItems, Panel } from '@stoplight/mosaic';
2
- import { HttpSecurityScheme } from '@stoplight/types';
3
- import * as React from 'react';
4
-
5
- import { getReadableSecurityName, getReadableSecurityNames, shouldAddKey } from '../../../utils/oas/security';
6
- import { APIKeyAuth } from './APIKeyAuth';
7
- import { createUndefinedValuedSchemes, HttpSecuritySchemeWithValues } from './authentication-utils';
8
- import { BasicAuth } from './BasicAuth';
9
- import { BearerAuth } from './BearerAuth';
10
- import { DigestAuth } from './DigestAuth';
11
- import { OAuth2Auth } from './OAuth2Auth';
12
-
13
- interface TryItAuthProps {
14
- operationSecuritySchemes: HttpSecurityScheme[][];
15
- operationAuthValue: HttpSecuritySchemeWithValues[] | undefined;
16
- setOperationAuthValue: React.Dispatch<HttpSecuritySchemeWithValues | undefined>;
17
- setCurrentScheme: React.Dispatch<HttpSecuritySchemeWithValues[] | undefined>;
18
- }
19
-
20
- const checkViableCurrentAuth = (
21
- current: HttpSecuritySchemeWithValues[] | undefined,
22
- operationSecuritySchemes: HttpSecurityScheme[][],
23
- ) => {
24
- if (current === undefined) return false;
25
-
26
- const flattened = operationSecuritySchemes.flat(1);
27
- for (const element of current) {
28
- if (!flattened.some(flat => flat.id === element.scheme.id)) return false;
29
- }
30
-
31
- return true;
32
- };
33
-
34
- const createMenuChild = (name: string, currentItemName: string | undefined, onPress: () => void) => {
35
- return {
36
- id: `security-scheme-${name}`,
37
- title: name,
38
- isChecked: name === currentItemName,
39
- onPress,
40
- };
41
- };
42
-
43
- export const TryItAuth: React.FC<TryItAuthProps> = ({
44
- operationSecuritySchemes,
45
- operationAuthValue,
46
- setOperationAuthValue,
47
- setCurrentScheme,
48
- }) => {
49
- const filteredSecurityItems = operationSecuritySchemes.filter(
50
- auth => auth.length === 0 || auth.every(scheme => securitySchemeKeys.includes(scheme.type)),
51
- );
52
-
53
- const menuName = operationAuthValue
54
- ? getReadableSecurityNames(operationAuthValue.map(auth => auth.scheme))
55
- : 'Security Scheme';
56
-
57
- const currentName = operationAuthValue
58
- ? getReadableSecurityNames(
59
- operationAuthValue.map(auth => auth.scheme),
60
- shouldAddKey(
61
- operationAuthValue.map(auth => auth.scheme),
62
- operationSecuritySchemes,
63
- ),
64
- )
65
- : undefined;
66
-
67
- const handleChange = (scheme: HttpSecurityScheme, authValue?: string) => {
68
- setOperationAuthValue({ scheme, authValue });
69
- };
70
-
71
- React.useEffect(() => {
72
- if (checkViableCurrentAuth(operationAuthValue, operationSecuritySchemes) === false) {
73
- setCurrentScheme(createUndefinedValuedSchemes(operationSecuritySchemes[0]));
74
- }
75
- });
76
-
77
- const menuItems = React.useMemo(() => {
78
- const items: MenuItems = [
79
- {
80
- type: 'group',
81
- title: 'Security Schemes',
82
- children: filteredSecurityItems.map(auth =>
83
- createMenuChild(
84
- getReadableSecurityNames(auth, shouldAddKey(auth, operationSecuritySchemes)),
85
- currentName,
86
- () => setCurrentScheme(createUndefinedValuedSchemes(auth)),
87
- ),
88
- ),
89
- },
90
- ];
91
-
92
- return items;
93
- }, [currentName, filteredSecurityItems, operationSecuritySchemes, setCurrentScheme]);
94
-
95
- if (filteredSecurityItems.length === 0) return null;
96
-
97
- return (
98
- <Panel defaultIsOpen data-test="try-it-auth">
99
- <Panel.Titlebar
100
- rightComponent={
101
- filteredSecurityItems.length > 1 && (
102
- <Menu
103
- aria-label="security-schemes"
104
- items={menuItems}
105
- closeOnPress
106
- renderTrigger={({ isOpen }) => (
107
- <Button appearance="minimal" size="sm" iconRight={['fas', 'sort']} active={isOpen}>
108
- {menuName}
109
- </Button>
110
- )}
111
- />
112
- )
113
- }
114
- >
115
- Auth
116
- </Panel.Titlebar>
117
- {operationAuthValue && operationAuthValue.length > 0 ? (
118
- operationAuthValue.map(scheme => (
119
- <SecuritySchemeComponent
120
- key={scheme.scheme.key}
121
- scheme={scheme.scheme}
122
- onChange={(authValue?: string) => handleChange(scheme.scheme, authValue)}
123
- value={scheme.authValue ?? ''}
124
- />
125
- ))
126
- ) : (
127
- <OptionalMessageContainer />
128
- )}
129
- </Panel>
130
- );
131
- };
132
-
133
- const GenericMessageContainer: React.FC<{ scheme: HttpSecurityScheme }> = ({ scheme }) => {
134
- return <Panel.Content data-test="auth-try-it-row">Coming Soon: {getReadableSecurityName(scheme)}</Panel.Content>;
135
- };
136
-
137
- const OptionalMessageContainer: React.FC = () => {
138
- return <Panel.Content>No auth selected</Panel.Content>;
139
- };
140
-
141
- interface SecuritySchemeComponentProps {
142
- scheme: HttpSecurityScheme;
143
- onChange: (AuthObject: any) => void;
144
- value: string;
145
- }
146
-
147
- const SecuritySchemeComponent: React.FC<SecuritySchemeComponentProps> = ({ scheme, ...rest }) => {
148
- switch (scheme.type) {
149
- case 'apiKey':
150
- return <APIKeyAuth scheme={scheme} {...rest} />;
151
- case 'oauth2':
152
- return <OAuth2Auth scheme={scheme} {...rest} />;
153
- case 'http':
154
- switch (scheme.scheme) {
155
- case 'basic':
156
- return <BasicAuth {...rest} />;
157
- case 'digest':
158
- return <DigestAuth {...rest} />;
159
- case 'bearer':
160
- return <BearerAuth scheme={scheme} {...rest} />;
161
- default:
162
- return <GenericMessageContainer scheme={scheme} {...rest} />;
163
- }
164
- default:
165
- return <GenericMessageContainer scheme={scheme} {...rest} />;
166
- }
167
- };
168
-
169
- const securitySchemeKeys: Array<HttpSecurityScheme['type']> = ['apiKey', 'http', 'oauth2', 'openIdConnect'];
@@ -1,37 +0,0 @@
1
- import { Flex, Input, Text } from '@stoplight/mosaic';
2
- import { HttpSecurityScheme } from '@stoplight/types';
3
- import * as React from 'react';
4
-
5
- import { useUniqueId } from '../../../hooks/useUniqueId';
6
-
7
- interface AuthTokenInputProps {
8
- onChange: (value: string) => void;
9
- type: HttpSecurityScheme['type'];
10
- name: string;
11
- value: string;
12
- }
13
-
14
- export const AuthTokenInput: React.FC<AuthTokenInputProps> = ({ type, name, value, onChange }) => {
15
- const inputId = useUniqueId(`id_auth_${name}_`);
16
- return (
17
- <>
18
- <label aria-hidden="true" htmlFor={inputId}>
19
- {name}
20
- </label>
21
- <Text mx={3}>:</Text>
22
- <Flex flex={1}>
23
- <Input
24
- id={inputId}
25
- aria-label={name}
26
- appearance="minimal"
27
- flex={1}
28
- placeholder={type === 'oauth2' ? 'Bearer 123' : '123'}
29
- value={value}
30
- type="text"
31
- required
32
- onChange={e => onChange(e.currentTarget.value)}
33
- />
34
- </Flex>
35
- </>
36
- );
37
- };
@@ -1,62 +0,0 @@
1
- import { Flex, Input, Panel, Text } from '@stoplight/mosaic';
2
- import * as React from 'react';
3
-
4
- interface BasicAuthProps {
5
- onChange: (value: string) => void;
6
- value: string;
7
- }
8
-
9
- export const BasicAuth: React.FC<BasicAuthProps> = ({ onChange, value }) => {
10
- const [username = '', password = ''] = decode(value).split(':');
11
-
12
- const onCredentialsChange = (username: string, password: string) => {
13
- onChange(encode(`${username}:${password}`));
14
- };
15
-
16
- return (
17
- <Panel.Content className="ParameterGrid" data-test="auth-try-it-row">
18
- <div>Username</div>
19
- <Text mx={3}>:</Text>
20
- <Flex flex={1}>
21
- <Input
22
- style={{ paddingLeft: 15 }}
23
- aria-label="Username"
24
- appearance="minimal"
25
- flex={1}
26
- placeholder="username"
27
- value={username}
28
- type="text"
29
- required
30
- onChange={e => onCredentialsChange(e.currentTarget.value, password)}
31
- />
32
- </Flex>
33
- <div>Password</div>
34
- <Text mx={3}>:</Text>
35
- <Flex flex={1}>
36
- <Input
37
- style={{ paddingLeft: 15 }}
38
- aria-label="Password"
39
- appearance="minimal"
40
- flex={1}
41
- placeholder="password"
42
- value={password}
43
- type="password"
44
- required
45
- onChange={e => onCredentialsChange(username, e.currentTarget.value)}
46
- />
47
- </Flex>
48
- </Panel.Content>
49
- );
50
- };
51
-
52
- function encode(value: string) {
53
- return btoa(value);
54
- }
55
-
56
- function decode(encoded: string) {
57
- try {
58
- return atob(encoded);
59
- } catch {
60
- return '';
61
- }
62
- }
@@ -1,19 +0,0 @@
1
- import { Panel } from '@stoplight/mosaic';
2
- import { IBearerSecurityScheme } from '@stoplight/types';
3
- import * as React from 'react';
4
-
5
- import { AuthTokenInput } from './AuthTokenInput';
6
-
7
- interface BearerAuthProps {
8
- scheme: IBearerSecurityScheme;
9
- onChange: (value: string) => void;
10
- value: string;
11
- }
12
-
13
- export const BearerAuth: React.FC<BearerAuthProps> = ({ value, onChange }) => {
14
- return (
15
- <Panel.Content className="ParameterGrid" data-test="auth-try-it-row">
16
- <AuthTokenInput type="http" name="Token" value={value} onChange={onChange} />
17
- </Panel.Content>
18
- );
19
- };
@@ -1,35 +0,0 @@
1
- import { Panel, Text } from '@stoplight/mosaic';
2
- import * as React from 'react';
3
-
4
- interface DigestAuthProps {
5
- onChange: (value: string) => void;
6
- value: string;
7
- }
8
-
9
- const digestPlaceholder = `Digest username="User Name",
10
- realm="testrealm@host.com",
11
- nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
12
- uri="/dir/index.html",
13
- qop=auth,
14
- nc=00000001,
15
- cnonce="0a4f113b",
16
- response="6629fae49393a05397450978507c4ef1",
17
- opaque="5ccc069c403ebaf9f0171e9517f40e41"
18
- `;
19
-
20
- export const DigestAuth: React.FC<DigestAuthProps> = ({ onChange, value }) => {
21
- return (
22
- <Panel.Content className="ParameterGrid" data-test="auth-try-it-row">
23
- <div>Authorization</div>
24
- <Text mx={3}>:</Text>
25
- <textarea
26
- className="sl-relative sl-z-10 sl-w-full sl-text-base sl-bg-canvas-100 sl-p-1 sl-pr-2.5 sl-pl-2.5 sl-rounded sl-border-transparent hover:sl-border-input focus:sl-border-primary sl-border"
27
- aria-label="Authorization"
28
- placeholder={digestPlaceholder}
29
- value={value}
30
- onChange={e => onChange(e.currentTarget.value)}
31
- rows={9}
32
- />
33
- </Panel.Content>
34
- );
35
- };
@@ -1,19 +0,0 @@
1
- import { Panel } from '@stoplight/mosaic';
2
- import { IOauth2SecurityScheme } from '@stoplight/types';
3
- import * as React from 'react';
4
-
5
- import { AuthTokenInput } from './AuthTokenInput';
6
-
7
- interface OAuth2AuthProps {
8
- scheme: IOauth2SecurityScheme;
9
- onChange: (value: string) => void;
10
- value: string;
11
- }
12
-
13
- export const OAuth2Auth: React.FC<OAuth2AuthProps> = ({ value, onChange }) => {
14
- return (
15
- <Panel.Content className="ParameterGrid" data-test="auth-try-it-row">
16
- <AuthTokenInput type="oauth2" name="Token" value={value} onChange={onChange} />
17
- </Panel.Content>
18
- );
19
- };
@@ -1,113 +0,0 @@
1
- import {
2
- Dictionary,
3
- HttpSecurityScheme,
4
- IApiKeySecurityScheme,
5
- IBasicSecurityScheme,
6
- IBearerSecurityScheme,
7
- IHttpHeaderParam,
8
- IHttpQueryParam,
9
- IOauth2SecurityScheme,
10
- } from '@stoplight/types';
11
- import { atom, useAtom } from 'jotai';
12
- import { flatten, isObject, isPlainObject } from 'lodash';
13
- import React from 'react';
14
-
15
- import { persistAtom } from '../../../utils/jotai/persistAtom';
16
- import { caseInsensitivelyEquals } from '../../../utils/string';
17
-
18
- export type HttpSecuritySchemeWithValues = {
19
- scheme: HttpSecurityScheme;
20
- authValue: string | undefined;
21
- };
22
-
23
- export const isApiKeySecurityScheme = (maybeIApiKey: HttpSecurityScheme): maybeIApiKey is IApiKeySecurityScheme =>
24
- isObject(maybeIApiKey) && maybeIApiKey.type === 'apiKey';
25
-
26
- export const isOAuth2SecurityScheme = (maybeIOAuth2: HttpSecurityScheme): maybeIOAuth2 is IOauth2SecurityScheme =>
27
- isObject(maybeIOAuth2) && maybeIOAuth2.type === 'oauth2';
28
-
29
- export const isBasicSecurityScheme = (maybeIBasic: HttpSecurityScheme): maybeIBasic is IBasicSecurityScheme =>
30
- isObject(maybeIBasic) && maybeIBasic.type === 'http' && maybeIBasic.scheme === 'basic';
31
-
32
- export const isBearerSecurityScheme = (maybeIBearer: HttpSecurityScheme): maybeIBearer is IBearerSecurityScheme =>
33
- isObject(maybeIBearer) && maybeIBearer.type === 'http' && maybeIBearer.scheme === 'bearer';
34
-
35
- export const isDigestSecurityScheme = (maybeIBearer: HttpSecurityScheme): maybeIBearer is IBasicSecurityScheme =>
36
- isObject(maybeIBearer) && maybeIBearer.type === 'http' && maybeIBearer.scheme === 'digest';
37
-
38
- export function filterOutAuthorizationParams(
39
- queryParams: IHttpQueryParam[],
40
- securitySchemes?: HttpSecurityScheme[][],
41
- ): IHttpQueryParam[];
42
- export function filterOutAuthorizationParams(
43
- queryParams: IHttpHeaderParam[],
44
- securitySchemes?: HttpSecurityScheme[][],
45
- ): IHttpHeaderParam[];
46
- export function filterOutAuthorizationParams(
47
- queryParams: (IHttpQueryParam | IHttpHeaderParam)[],
48
- securitySchemes: HttpSecurityScheme[][] = [],
49
- ): (IHttpQueryParam | IHttpHeaderParam)[] {
50
- const flattenedSecuritySchemes = flatten(securitySchemes);
51
- const securitySchemeNames = getSecuritySchemeNames(flattenedSecuritySchemes);
52
-
53
- return queryParams.filter(queryParam => !securitySchemeNames.some(caseInsensitivelyEquals(queryParam.name)));
54
- }
55
-
56
- const getSecuritySchemeNames = (securitySchemes: HttpSecurityScheme[]): string[] =>
57
- securitySchemes.flatMap(scheme => {
58
- if (isApiKeySecurityScheme(scheme)) {
59
- return scheme.name;
60
- }
61
-
62
- if (isOAuth2SecurityScheme(scheme)) {
63
- return 'Authorization';
64
- }
65
-
66
- return [];
67
- });
68
-
69
- type SecuritySchemeValues = Dictionary<string>;
70
-
71
- const isSecuritySchemeValues = (
72
- maybeSecuritySchemeValues: unknown,
73
- ): maybeSecuritySchemeValues is SecuritySchemeValues => isPlainObject(maybeSecuritySchemeValues);
74
-
75
- const securitySchemeValuesAtom = persistAtom('TryIt_securitySchemeValues', atom<SecuritySchemeValues>({}));
76
- export const usePersistedSecuritySchemeWithValues = (): [
77
- HttpSecuritySchemeWithValues[] | undefined,
78
- React.Dispatch<HttpSecuritySchemeWithValues | undefined>,
79
- React.Dispatch<HttpSecuritySchemeWithValues[] | undefined>,
80
- ] => {
81
- const [currentScheme, setCurrentScheme] = React.useState<HttpSecuritySchemeWithValues[] | undefined>();
82
- const [securitySchemeValues, setSecuritySchemeValues] = useAtom(securitySchemeValuesAtom);
83
-
84
- const setPersistedAuthenticationSettings = (securitySchemeWithValues: HttpSecuritySchemeWithValues | undefined) => {
85
- if (securitySchemeWithValues) {
86
- const key = securitySchemeWithValues.scheme.key;
87
- const value = securitySchemeWithValues.authValue;
88
-
89
- if (value !== undefined) {
90
- setSecuritySchemeValues({
91
- ...securitySchemeValues,
92
- [key]: value,
93
- });
94
- }
95
- }
96
- };
97
-
98
- const schemeWithPersistedValue = React.useMemo(() => {
99
- if (!currentScheme) return undefined;
100
- return currentScheme.map(scheme => {
101
- return {
102
- scheme: scheme.scheme,
103
- authValue: isSecuritySchemeValues(securitySchemeValues) ? securitySchemeValues[scheme.scheme.key] : undefined,
104
- };
105
- });
106
- }, [currentScheme, securitySchemeValues]);
107
-
108
- return [schemeWithPersistedValue, setPersistedAuthenticationSettings, setCurrentScheme];
109
- };
110
-
111
- export const createUndefinedValuedSchemes = (schemes: HttpSecurityScheme[]): HttpSecuritySchemeWithValues[] => {
112
- return schemes.map(scheme => ({ scheme, authValue: undefined }));
113
- };
@@ -1,52 +0,0 @@
1
- import { SchemaTree } from '@stoplight/json-schema-tree';
2
- import { Choice, useChoices } from '@stoplight/json-schema-viewer';
3
- import { Panel } from '@stoplight/mosaic';
4
- import { IMediaTypeContent } from '@stoplight/types';
5
- import * as React from 'react';
6
-
7
- import { FileUploadParameterEditor } from '../Parameters/FileUploadParameterEditors';
8
- import { OneOfMenu } from './FormDataBody';
9
- import { BodyParameterValues } from './request-body-utils';
10
-
11
- export interface BinaryBodyProps {
12
- specification?: IMediaTypeContent;
13
- values: BodyParameterValues;
14
- onChangeValues: (newValues: BodyParameterValues) => void;
15
- }
16
-
17
- export const BinaryBody: React.FC<BinaryBodyProps> = ({ specification, values, onChangeValues }) => {
18
- const schema: any = React.useMemo(() => {
19
- const schema = specification?.schema ?? {};
20
- const tree = new SchemaTree(schema, { mergeAllOf: true, refResolver: null });
21
- tree.populate();
22
- return tree.root.children[0];
23
- }, [specification]);
24
-
25
- const { selectedChoice, choices, setSelectedChoice } = useChoices(schema);
26
-
27
- const onSchemaChange = (choice: Choice) => {
28
- // Erase existing values; the old and new schemas may have nothing in common.
29
- onChangeValues({});
30
- setSelectedChoice(choice);
31
- };
32
-
33
- return (
34
- <Panel defaultIsOpen>
35
- <Panel.Titlebar
36
- rightComponent={<OneOfMenu choices={choices} choice={selectedChoice} onChange={onSchemaChange} />}
37
- >
38
- Body
39
- </Panel.Titlebar>
40
- <Panel.Content className="sl-overflow-y-auto ParameterGrid OperationParametersContent">
41
- <FileUploadParameterEditor
42
- key={'file'}
43
- parameter={{ name: 'file' }}
44
- value={values.file instanceof File ? values.file : undefined}
45
- onChange={newValue => {
46
- newValue ? onChangeValues({ file: newValue }) : onChangeValues({});
47
- }}
48
- />
49
- </Panel.Content>
50
- </Panel>
51
- );
52
- };