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

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/package.json +14 -74
  2. package/.storybook/main.js +0 -6
  3. package/.storybook/manager.js +0 -1
  4. package/.storybook/preview.jsx +0 -50
  5. package/dist/LICENSE +0 -190
  6. package/dist/README.md +0 -46
  7. package/dist/package.json +0 -65
  8. package/jest.config.js +0 -10
  9. package/src/__fixtures__/articles/basic.md +0 -10
  10. package/src/__fixtures__/articles/kitchen-sink.md +0 -318
  11. package/src/__fixtures__/articles/long-page-heading.md +0 -955
  12. package/src/__fixtures__/articles/multiple-try-its.md +0 -54
  13. package/src/__fixtures__/articles/schema-with-refs.ts +0 -82
  14. package/src/__fixtures__/http-request.json +0 -11
  15. package/src/__fixtures__/models/model-with-no-examples.json +0 -15
  16. package/src/__fixtures__/models/model-with-one-example.json +0 -23
  17. package/src/__fixtures__/models/model-with-three-examples.json +0 -35
  18. package/src/__fixtures__/operations/application-octet-stream-post.ts +0 -39
  19. package/src/__fixtures__/operations/base64-file-upload.ts +0 -43
  20. package/src/__fixtures__/operations/big-response.ts +0 -4690
  21. package/src/__fixtures__/operations/bundled-parameter.ts +0 -128
  22. package/src/__fixtures__/operations/empty-response.ts +0 -15
  23. package/src/__fixtures__/operations/examples-request-body.ts +0 -135
  24. package/src/__fixtures__/operations/head-todos.ts +0 -49
  25. package/src/__fixtures__/operations/invalid-response-example.ts +0 -45
  26. package/src/__fixtures__/operations/multipart-formdata-post.ts +0 -61
  27. package/src/__fixtures__/operations/operation-minimal.ts +0 -11
  28. package/src/__fixtures__/operations/operation-parameters.ts +0 -337
  29. package/src/__fixtures__/operations/operation-with-examples.ts +0 -113
  30. package/src/__fixtures__/operations/operation-without-servers.ts +0 -16
  31. package/src/__fixtures__/operations/patch-todos.ts +0 -49
  32. package/src/__fixtures__/operations/put-todos.ts +0 -862
  33. package/src/__fixtures__/operations/referenced-body.ts +0 -62
  34. package/src/__fixtures__/operations/request-body-empty-schema.ts +0 -35
  35. package/src/__fixtures__/operations/request-body.ts +0 -62
  36. package/src/__fixtures__/operations/securedOperation.ts +0 -118
  37. package/src/__fixtures__/operations/security-basic.ts +0 -24
  38. package/src/__fixtures__/operations/security-bearer.ts +0 -25
  39. package/src/__fixtures__/operations/simple-get.ts +0 -17
  40. package/src/__fixtures__/operations/simple.ts +0 -103
  41. package/src/__fixtures__/operations/string-numeric-enums.ts +0 -32
  42. package/src/__fixtures__/operations/urlencoded-post-oneof.ts +0 -81
  43. package/src/__fixtures__/operations/urlencoded-post.ts +0 -54
  44. package/src/__fixtures__/operations/vendor-extensions.ts +0 -337
  45. package/src/__fixtures__/operations/with-url-variables.ts +0 -47
  46. package/src/__fixtures__/operations/x-code-samples.ts +0 -348
  47. package/src/__fixtures__/schemas/circular.ts +0 -1906
  48. package/src/__fixtures__/schemas/contact.json +0 -293
  49. package/src/__fixtures__/schemas/media-entry.json +0 -69
  50. package/src/__fixtures__/schemas/simple.json +0 -27
  51. package/src/__fixtures__/schemas/todo-full.v1.json +0 -35
  52. package/src/__fixtures__/schemas/todo-partial.v1.json +0 -14
  53. package/src/__fixtures__/schemas/user.v1.json +0 -17
  54. package/src/__fixtures__/security-schemes/index.ts +0 -38
  55. package/src/__fixtures__/services/petstore.ts +0 -167
  56. package/src/__fixtures__/services/with-unnamed-servers.ts +0 -38
  57. package/src/__fixtures__/services/with-url-variables.ts +0 -83
  58. package/src/__fixtures__/services/without-origin.ts +0 -20
  59. package/src/__fixtures__/table-of-contents/nested.ts +0 -44
  60. package/src/__fixtures__/table-of-contents/studio-template.ts +0 -100
  61. package/src/__fixtures__/table-of-contents/studio.ts +0 -559
  62. package/src/components/Docs/Article/Article.spec.tsx +0 -38
  63. package/src/components/Docs/Article/Article.stories.tsx +0 -17
  64. package/src/components/Docs/Article/index.tsx +0 -38
  65. package/src/components/Docs/Docs.stories.tsx +0 -33
  66. package/src/components/Docs/Docs.tsx +0 -231
  67. package/src/components/Docs/HttpOperation/Badges.tsx +0 -49
  68. package/src/components/Docs/HttpOperation/Body.tsx +0 -79
  69. package/src/components/Docs/HttpOperation/Callbacks.tsx +0 -89
  70. package/src/components/Docs/HttpOperation/HttpOperation.spec.tsx +0 -787
  71. package/src/components/Docs/HttpOperation/HttpOperation.stories.ts +0 -14
  72. package/src/components/Docs/HttpOperation/HttpOperation.tsx +0 -255
  73. package/src/components/Docs/HttpOperation/Parameters.spec.tsx +0 -101
  74. package/src/components/Docs/HttpOperation/Parameters.tsx +0 -118
  75. package/src/components/Docs/HttpOperation/Request.tsx +0 -140
  76. package/src/components/Docs/HttpOperation/Responses.tsx +0 -247
  77. package/src/components/Docs/HttpOperation/index.ts +0 -1
  78. package/src/components/Docs/HttpService/AdditionalInfo.stories.ts +0 -48
  79. package/src/components/Docs/HttpService/AdditionalInfo.tsx +0 -61
  80. package/src/components/Docs/HttpService/ExportButton.tsx +0 -35
  81. package/src/components/Docs/HttpService/HttpService.spec.tsx +0 -429
  82. package/src/components/Docs/HttpService/HttpService.stories.ts +0 -14
  83. package/src/components/Docs/HttpService/HttpService.tsx +0 -99
  84. package/src/components/Docs/HttpService/SecuritySchemes.tsx +0 -82
  85. package/src/components/Docs/HttpService/ServerInfo.tsx +0 -196
  86. package/src/components/Docs/HttpService/index.ts +0 -1
  87. package/src/components/Docs/Model/Model.spec.tsx +0 -241
  88. package/src/components/Docs/Model/Model.stories.tsx +0 -16
  89. package/src/components/Docs/Model/Model.tsx +0 -160
  90. package/src/components/Docs/Model/index.ts +0 -1
  91. package/src/components/Docs/NodeVendorExtensions.tsx +0 -55
  92. package/src/components/Docs/Sections.tsx +0 -54
  93. package/src/components/Docs/Security/PanelContent.tsx +0 -38
  94. package/src/components/Docs/Security/index.ts +0 -1
  95. package/src/components/Docs/Skeleton.tsx +0 -12
  96. package/src/components/Docs/TwoColumnLayout.tsx +0 -28
  97. package/src/components/Docs/index.ts +0 -1
  98. package/src/components/Docs/story-helper.ts +0 -46
  99. package/src/components/Docs/story-renderer-helper.tsx +0 -56
  100. package/src/components/Layout/MobileTopNav.tsx +0 -78
  101. package/src/components/Layout/ResponsiveSidebarLayout.tsx +0 -175
  102. package/src/components/Layout/SidebarLayout.tsx +0 -107
  103. package/src/components/LinkHeading.tsx +0 -21
  104. package/src/components/LoadMore.tsx +0 -20
  105. package/src/components/Loading/Loading.tsx +0 -9
  106. package/src/components/Logo.tsx +0 -25
  107. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.spec.ts +0 -90
  108. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.tsx +0 -164
  109. package/src/components/MarkdownViewer/CustomComponents/Provider.tsx +0 -20
  110. package/src/components/MarkdownViewer/CustomComponents/ReactRouterLink.tsx +0 -27
  111. package/src/components/MarkdownViewer/CustomComponents/ResolvedImage.tsx +0 -86
  112. package/src/components/MarkdownViewer/CustomComponents/ScrollToHashElement.tsx +0 -96
  113. package/src/components/MarkdownViewer/MarkdownViewer.spec.tsx +0 -170
  114. package/src/components/MarkdownViewer/index.tsx +0 -10
  115. package/src/components/NonIdealState.tsx +0 -20
  116. package/src/components/PoweredByLink.tsx +0 -30
  117. package/src/components/RequestSamples/RequestSamples.stories.tsx +0 -67
  118. package/src/components/RequestSamples/RequestSamples.tsx +0 -246
  119. package/src/components/RequestSamples/__tests__/RequestSamples.test.tsx +0 -131
  120. package/src/components/RequestSamples/__tests__/__snapshots__/convertRequestToSample.spec.ts.snap +0 -746
  121. package/src/components/RequestSamples/__tests__/convertRequestToSample.spec.ts +0 -118
  122. package/src/components/RequestSamples/convertRequestToSample.ts +0 -56
  123. package/src/components/RequestSamples/extractCodeSamples.ts +0 -50
  124. package/src/components/RequestSamples/index.ts +0 -2
  125. package/src/components/RequestSamples/requestSampleConfigs.ts +0 -182
  126. package/src/components/ResponseExamples/ResponseExamples.spec.tsx +0 -121
  127. package/src/components/ResponseExamples/ResponseExamples.stories.tsx +0 -21
  128. package/src/components/ResponseExamples/ResponseExamples.tsx +0 -79
  129. package/src/components/TableOfContents/TableOfContents.spec.tsx +0 -699
  130. package/src/components/TableOfContents/TableOfContents.stories.tsx +0 -136
  131. package/src/components/TableOfContents/TableOfContents.tsx +0 -536
  132. package/src/components/TableOfContents/constants.ts +0 -45
  133. package/src/components/TableOfContents/index.ts +0 -2
  134. package/src/components/TableOfContents/types.ts +0 -59
  135. package/src/components/TableOfContents/utils.ts +0 -84
  136. package/src/components/TryIt/Auth/APIKeyAuth.tsx +0 -19
  137. package/src/components/TryIt/Auth/Auth.tsx +0 -169
  138. package/src/components/TryIt/Auth/AuthTokenInput.tsx +0 -37
  139. package/src/components/TryIt/Auth/BasicAuth.tsx +0 -62
  140. package/src/components/TryIt/Auth/BearerAuth.tsx +0 -19
  141. package/src/components/TryIt/Auth/DigestAuth.tsx +0 -35
  142. package/src/components/TryIt/Auth/OAuth2Auth.tsx +0 -19
  143. package/src/components/TryIt/Auth/authentication-utils.ts +0 -113
  144. package/src/components/TryIt/Body/BinaryBody.tsx +0 -52
  145. package/src/components/TryIt/Body/FormDataBody.tsx +0 -145
  146. package/src/components/TryIt/Body/RequestBody.tsx +0 -71
  147. package/src/components/TryIt/Body/__tests__/BinaryBody.test.tsx +0 -29
  148. package/src/components/TryIt/Body/__tests__/FormDataBody.test.tsx +0 -94
  149. package/src/components/TryIt/Body/request-body-utils.ts +0 -127
  150. package/src/components/TryIt/Body/useTextRequestBodyState.ts +0 -27
  151. package/src/components/TryIt/Mocking/MockingButton.tsx +0 -98
  152. package/src/components/TryIt/Mocking/mocking-utils.ts +0 -56
  153. package/src/components/TryIt/Mocking/useMockingOptions.ts +0 -6
  154. package/src/components/TryIt/Parameters/FileUploadParameterEditors.tsx +0 -62
  155. package/src/components/TryIt/Parameters/OperationParameters.tsx +0 -39
  156. package/src/components/TryIt/Parameters/ParameterEditor.tsx +0 -135
  157. package/src/components/TryIt/Parameters/__tests__/parameter-utils.spec.ts +0 -60
  158. package/src/components/TryIt/Parameters/parameter-utils.spec.ts +0 -118
  159. package/src/components/TryIt/Parameters/parameter-utils.ts +0 -245
  160. package/src/components/TryIt/Parameters/useOperationParameters.ts +0 -60
  161. package/src/components/TryIt/Response/ReponseCodeViewer.tsx +0 -28
  162. package/src/components/TryIt/Response/Response.spec.tsx +0 -174
  163. package/src/components/TryIt/Response/Response.tsx +0 -173
  164. package/src/components/TryIt/Response/hooks/useLineCount.ts +0 -7
  165. package/src/components/TryIt/Servers/ServerVariables.tsx +0 -33
  166. package/src/components/TryIt/Servers/ServersDropdown.tsx +0 -53
  167. package/src/components/TryIt/Servers/VariableEditor.tsx +0 -64
  168. package/src/components/TryIt/Servers/useServerVariables.ts +0 -19
  169. package/src/components/TryIt/TryIt.spec.tsx +0 -1571
  170. package/src/components/TryIt/TryIt.stories.tsx +0 -77
  171. package/src/components/TryIt/TryIt.tsx +0 -404
  172. package/src/components/TryIt/TryItWithRequestSamples.spec.tsx +0 -143
  173. package/src/components/TryIt/TryItWithRequestSamples.stories.tsx +0 -32
  174. package/src/components/TryIt/TryItWithRequestSamples.tsx +0 -42
  175. package/src/components/TryIt/build-request.spec.ts +0 -261
  176. package/src/components/TryIt/build-request.ts +0 -357
  177. package/src/components/TryIt/chosenServer.ts +0 -5
  178. package/src/components/TryIt/index.ts +0 -3
  179. package/src/components/__tests__/LinkHeading.spec.tsx +0 -125
  180. package/src/constants.ts +0 -176
  181. package/src/containers/MockingProvider.tsx +0 -23
  182. package/src/context/InlineRefResolver.spec.tsx +0 -183
  183. package/src/context/InlineRefResolver.tsx +0 -94
  184. package/src/context/Options.tsx +0 -27
  185. package/src/context/Persistence.tsx +0 -24
  186. package/src/context/RouterType.tsx +0 -9
  187. package/src/core.css +0 -97
  188. package/src/hoc/utils.ts +0 -5
  189. package/src/hoc/withMosaicProvider.spec.tsx +0 -48
  190. package/src/hoc/withMosaicProvider.tsx +0 -28
  191. package/src/hoc/withQueryClientProvider.spec.tsx +0 -38
  192. package/src/hoc/withQueryClientProvider.tsx +0 -35
  193. package/src/hoc/withRouter.tsx +0 -71
  194. package/src/hooks/useBundleRefsIntoDocument.ts +0 -60
  195. package/src/hooks/useFirstRender.ts +0 -8
  196. package/src/hooks/useIsCompact.ts +0 -26
  197. package/src/hooks/useParsedData.ts +0 -99
  198. package/src/hooks/useParsedValue.ts +0 -19
  199. package/src/hooks/useResponsiveLayout.tsx +0 -51
  200. package/src/hooks/useRouter.tsx +0 -31
  201. package/src/hooks/useUniqueId.ts +0 -4
  202. package/src/index.ts +0 -48
  203. package/src/styled.tsx +0 -22
  204. package/src/styles.css +0 -4
  205. package/src/types.ts +0 -170
  206. package/src/utils/__tests__/securitySchemes.spec.ts +0 -137
  207. package/src/utils/exampleGeneration/exampleGeneration.spec.tsx +0 -664
  208. package/src/utils/exampleGeneration/exampleGeneration.ts +0 -332
  209. package/src/utils/fileToBase64.ts +0 -11
  210. package/src/utils/guards.ts +0 -48
  211. package/src/utils/headers.ts +0 -316
  212. package/src/utils/http-spec/IServer.ts +0 -100
  213. package/src/utils/http-spec/__tests__/IServer.spec.ts +0 -51
  214. package/src/utils/http-spec/examples.ts +0 -5
  215. package/src/utils/http.ts +0 -9
  216. package/src/utils/jotai/persistAtom.ts +0 -31
  217. package/src/utils/node.ts +0 -19
  218. package/src/utils/oas/__tests__/security.spec.ts +0 -18
  219. package/src/utils/oas/security.ts +0 -76
  220. package/src/utils/ref-resolving/ReferenceResolver.ts +0 -29
  221. package/src/utils/ref-resolving/resolvedObject.test.ts +0 -415
  222. package/src/utils/ref-resolving/resolvedObject.ts +0 -189
  223. package/src/utils/securitySchemes.ts +0 -117
  224. package/src/utils/string.ts +0 -15
  225. package/src/utils/tests/chooseOption.ts +0 -7
  226. package/src/web-components/createElementClass.ts +0 -154
  227. package/tsconfig.build.json +0 -14
  228. package/tsconfig.json +0 -7
  229. /package/{dist/__fixtures__ → __fixtures__}/articles/schema-with-refs.d.ts +0 -0
  230. /package/{dist/__fixtures__ → __fixtures__}/operations/application-octet-stream-post.d.ts +0 -0
  231. /package/{dist/__fixtures__ → __fixtures__}/operations/base64-file-upload.d.ts +0 -0
  232. /package/{dist/__fixtures__ → __fixtures__}/operations/big-response.d.ts +0 -0
  233. /package/{dist/__fixtures__ → __fixtures__}/operations/examples-request-body.d.ts +0 -0
  234. /package/{dist/__fixtures__ → __fixtures__}/operations/head-todos.d.ts +0 -0
  235. /package/{dist/__fixtures__ → __fixtures__}/operations/multipart-formdata-post.d.ts +0 -0
  236. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-minimal.d.ts +0 -0
  237. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-parameters.d.ts +0 -0
  238. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-with-examples.d.ts +0 -0
  239. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-without-servers.d.ts +0 -0
  240. /package/{dist/__fixtures__ → __fixtures__}/operations/patch-todos.d.ts +0 -0
  241. /package/{dist/__fixtures__ → __fixtures__}/operations/put-todos.d.ts +0 -0
  242. /package/{dist/__fixtures__ → __fixtures__}/operations/referenced-body.d.ts +0 -0
  243. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body-empty-schema.d.ts +0 -0
  244. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body.d.ts +0 -0
  245. /package/{dist/__fixtures__ → __fixtures__}/operations/securedOperation.d.ts +0 -0
  246. /package/{dist/__fixtures__ → __fixtures__}/operations/security-basic.d.ts +0 -0
  247. /package/{dist/__fixtures__ → __fixtures__}/operations/security-bearer.d.ts +0 -0
  248. /package/{dist/__fixtures__ → __fixtures__}/operations/simple-get.d.ts +0 -0
  249. /package/{dist/__fixtures__ → __fixtures__}/operations/string-numeric-enums.d.ts +0 -0
  250. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post-oneof.d.ts +0 -0
  251. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post.d.ts +0 -0
  252. /package/{dist/__fixtures__ → __fixtures__}/operations/with-url-variables.d.ts +0 -0
  253. /package/{dist/__fixtures__ → __fixtures__}/security-schemes/index.d.ts +0 -0
  254. /package/{dist/__fixtures__ → __fixtures__}/services/petstore.d.ts +0 -0
  255. /package/{dist/__fixtures__ → __fixtures__}/services/with-unnamed-servers.d.ts +0 -0
  256. /package/{dist/__fixtures__ → __fixtures__}/services/with-url-variables.d.ts +0 -0
  257. /package/{dist/__fixtures__ → __fixtures__}/services/without-origin.d.ts +0 -0
  258. /package/{dist/components → components}/Docs/Article/Article.spec.d.ts +0 -0
  259. /package/{dist/components → components}/Docs/Article/Article.stories.d.ts +0 -0
  260. /package/{dist/components → components}/Docs/Article/index.d.ts +0 -0
  261. /package/{dist/components → components}/Docs/Docs.d.ts +0 -0
  262. /package/{dist/components → components}/Docs/Docs.stories.d.ts +0 -0
  263. /package/{dist/components → components}/Docs/HttpOperation/Badges.d.ts +0 -0
  264. /package/{dist/components → components}/Docs/HttpOperation/Body.d.ts +0 -0
  265. /package/{dist/components → components}/Docs/HttpOperation/Callbacks.d.ts +0 -0
  266. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.d.ts +0 -0
  267. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.spec.d.ts +0 -0
  268. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.stories.d.ts +0 -0
  269. /package/{dist/components → components}/Docs/HttpOperation/Parameters.d.ts +0 -0
  270. /package/{dist/components → components}/Docs/HttpOperation/Parameters.spec.d.ts +0 -0
  271. /package/{dist/components → components}/Docs/HttpOperation/Request.d.ts +0 -0
  272. /package/{dist/components → components}/Docs/HttpOperation/Responses.d.ts +0 -0
  273. /package/{dist/components → components}/Docs/HttpOperation/index.d.ts +0 -0
  274. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.d.ts +0 -0
  275. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.stories.d.ts +0 -0
  276. /package/{dist/components → components}/Docs/HttpService/ExportButton.d.ts +0 -0
  277. /package/{dist/components → components}/Docs/HttpService/HttpService.d.ts +0 -0
  278. /package/{dist/components → components}/Docs/HttpService/HttpService.spec.d.ts +0 -0
  279. /package/{dist/components → components}/Docs/HttpService/HttpService.stories.d.ts +0 -0
  280. /package/{dist/components → components}/Docs/HttpService/SecuritySchemes.d.ts +0 -0
  281. /package/{dist/components → components}/Docs/HttpService/ServerInfo.d.ts +0 -0
  282. /package/{dist/components → components}/Docs/HttpService/index.d.ts +0 -0
  283. /package/{dist/components → components}/Docs/Model/Model.d.ts +0 -0
  284. /package/{dist/components → components}/Docs/Model/Model.spec.d.ts +0 -0
  285. /package/{dist/components → components}/Docs/Model/Model.stories.d.ts +0 -0
  286. /package/{dist/components → components}/Docs/Model/index.d.ts +0 -0
  287. /package/{dist/components → components}/Docs/NodeVendorExtensions.d.ts +0 -0
  288. /package/{dist/components → components}/Docs/Sections.d.ts +0 -0
  289. /package/{dist/components → components}/Docs/Security/PanelContent.d.ts +0 -0
  290. /package/{dist/components → components}/Docs/Security/index.d.ts +0 -0
  291. /package/{dist/components → components}/Docs/Skeleton.d.ts +0 -0
  292. /package/{dist/components → components}/Docs/TwoColumnLayout.d.ts +0 -0
  293. /package/{dist/components → components}/Docs/index.d.ts +0 -0
  294. /package/{dist/components → components}/Docs/story-helper.d.ts +0 -0
  295. /package/{dist/components → components}/Docs/story-renderer-helper.d.ts +0 -0
  296. /package/{dist/components → components}/Layout/MobileTopNav.d.ts +0 -0
  297. /package/{dist/components → components}/Layout/ResponsiveSidebarLayout.d.ts +0 -0
  298. /package/{dist/components → components}/Layout/SidebarLayout.d.ts +0 -0
  299. /package/{dist/components → components}/LinkHeading.d.ts +0 -0
  300. /package/{dist/components → components}/LoadMore.d.ts +0 -0
  301. /package/{dist/components → components}/Loading/Loading.d.ts +0 -0
  302. /package/{dist/components → components}/Logo.d.ts +0 -0
  303. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.d.ts +0 -0
  304. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.spec.d.ts +0 -0
  305. /package/{dist/components → components}/MarkdownViewer/CustomComponents/Provider.d.ts +0 -0
  306. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ReactRouterLink.d.ts +0 -0
  307. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ResolvedImage.d.ts +0 -0
  308. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ScrollToHashElement.d.ts +0 -0
  309. /package/{dist/components → components}/MarkdownViewer/MarkdownViewer.spec.d.ts +0 -0
  310. /package/{dist/components → components}/MarkdownViewer/index.d.ts +0 -0
  311. /package/{dist/components → components}/NonIdealState.d.ts +0 -0
  312. /package/{dist/components → components}/PoweredByLink.d.ts +0 -0
  313. /package/{dist/components → components}/RequestSamples/RequestSamples.d.ts +0 -0
  314. /package/{dist/components → components}/RequestSamples/RequestSamples.stories.d.ts +0 -0
  315. /package/{dist/components → components}/RequestSamples/convertRequestToSample.d.ts +0 -0
  316. /package/{dist/components → components}/RequestSamples/extractCodeSamples.d.ts +0 -0
  317. /package/{dist/components → components}/RequestSamples/index.d.ts +0 -0
  318. /package/{dist/components → components}/RequestSamples/requestSampleConfigs.d.ts +0 -0
  319. /package/{dist/components → components}/ResponseExamples/ResponseExamples.d.ts +0 -0
  320. /package/{dist/components → components}/ResponseExamples/ResponseExamples.spec.d.ts +0 -0
  321. /package/{dist/components → components}/ResponseExamples/ResponseExamples.stories.d.ts +0 -0
  322. /package/{dist/components → components}/TableOfContents/TableOfContents.d.ts +0 -0
  323. /package/{dist/components → components}/TableOfContents/TableOfContents.spec.d.ts +0 -0
  324. /package/{dist/components → components}/TableOfContents/TableOfContents.stories.d.ts +0 -0
  325. /package/{dist/components → components}/TableOfContents/constants.d.ts +0 -0
  326. /package/{dist/components → components}/TableOfContents/index.d.ts +0 -0
  327. /package/{dist/components → components}/TableOfContents/types.d.ts +0 -0
  328. /package/{dist/components → components}/TableOfContents/utils.d.ts +0 -0
  329. /package/{dist/components → components}/TryIt/Auth/APIKeyAuth.d.ts +0 -0
  330. /package/{dist/components → components}/TryIt/Auth/Auth.d.ts +0 -0
  331. /package/{dist/components → components}/TryIt/Auth/AuthTokenInput.d.ts +0 -0
  332. /package/{dist/components → components}/TryIt/Auth/BasicAuth.d.ts +0 -0
  333. /package/{dist/components → components}/TryIt/Auth/BearerAuth.d.ts +0 -0
  334. /package/{dist/components → components}/TryIt/Auth/DigestAuth.d.ts +0 -0
  335. /package/{dist/components → components}/TryIt/Auth/OAuth2Auth.d.ts +0 -0
  336. /package/{dist/components → components}/TryIt/Auth/authentication-utils.d.ts +0 -0
  337. /package/{dist/components → components}/TryIt/Body/BinaryBody.d.ts +0 -0
  338. /package/{dist/components → components}/TryIt/Body/FormDataBody.d.ts +0 -0
  339. /package/{dist/components → components}/TryIt/Body/RequestBody.d.ts +0 -0
  340. /package/{dist/components → components}/TryIt/Body/request-body-utils.d.ts +0 -0
  341. /package/{dist/components → components}/TryIt/Body/useTextRequestBodyState.d.ts +0 -0
  342. /package/{dist/components → components}/TryIt/Mocking/MockingButton.d.ts +0 -0
  343. /package/{dist/components → components}/TryIt/Mocking/mocking-utils.d.ts +0 -0
  344. /package/{dist/components → components}/TryIt/Mocking/useMockingOptions.d.ts +0 -0
  345. /package/{dist/components → components}/TryIt/Parameters/FileUploadParameterEditors.d.ts +0 -0
  346. /package/{dist/components → components}/TryIt/Parameters/OperationParameters.d.ts +0 -0
  347. /package/{dist/components → components}/TryIt/Parameters/ParameterEditor.d.ts +0 -0
  348. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.d.ts +0 -0
  349. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.spec.d.ts +0 -0
  350. /package/{dist/components → components}/TryIt/Parameters/useOperationParameters.d.ts +0 -0
  351. /package/{dist/components → components}/TryIt/Response/ReponseCodeViewer.d.ts +0 -0
  352. /package/{dist/components → components}/TryIt/Response/Response.d.ts +0 -0
  353. /package/{dist/components → components}/TryIt/Response/Response.spec.d.ts +0 -0
  354. /package/{dist/components → components}/TryIt/Response/hooks/useLineCount.d.ts +0 -0
  355. /package/{dist/components → components}/TryIt/Servers/ServerVariables.d.ts +0 -0
  356. /package/{dist/components → components}/TryIt/Servers/ServersDropdown.d.ts +0 -0
  357. /package/{dist/components → components}/TryIt/Servers/VariableEditor.d.ts +0 -0
  358. /package/{dist/components → components}/TryIt/Servers/useServerVariables.d.ts +0 -0
  359. /package/{dist/components → components}/TryIt/TryIt.d.ts +0 -0
  360. /package/{dist/components → components}/TryIt/TryIt.spec.d.ts +0 -0
  361. /package/{dist/components → components}/TryIt/TryIt.stories.d.ts +0 -0
  362. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.d.ts +0 -0
  363. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.spec.d.ts +0 -0
  364. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.stories.d.ts +0 -0
  365. /package/{dist/components → components}/TryIt/build-request.d.ts +0 -0
  366. /package/{dist/components → components}/TryIt/build-request.spec.d.ts +0 -0
  367. /package/{dist/components → components}/TryIt/chosenServer.d.ts +0 -0
  368. /package/{dist/components → components}/TryIt/index.d.ts +0 -0
  369. /package/{dist/constants.d.ts → constants.d.ts} +0 -0
  370. /package/{dist/containers → containers}/MockingProvider.d.ts +0 -0
  371. /package/{dist/context → context}/InlineRefResolver.d.ts +0 -0
  372. /package/{dist/context → context}/InlineRefResolver.spec.d.ts +0 -0
  373. /package/{dist/context → context}/Options.d.ts +0 -0
  374. /package/{dist/context → context}/Persistence.d.ts +0 -0
  375. /package/{dist/context → context}/RouterType.d.ts +0 -0
  376. /package/{dist/core.css → core.css} +0 -0
  377. /package/{dist/hoc → hoc}/utils.d.ts +0 -0
  378. /package/{dist/hoc → hoc}/withMosaicProvider.d.ts +0 -0
  379. /package/{dist/hoc → hoc}/withMosaicProvider.spec.d.ts +0 -0
  380. /package/{dist/hoc → hoc}/withQueryClientProvider.d.ts +0 -0
  381. /package/{dist/hoc → hoc}/withQueryClientProvider.spec.d.ts +0 -0
  382. /package/{dist/hoc → hoc}/withRouter.d.ts +0 -0
  383. /package/{dist/hooks → hooks}/useBundleRefsIntoDocument.d.ts +0 -0
  384. /package/{dist/hooks → hooks}/useFirstRender.d.ts +0 -0
  385. /package/{dist/hooks → hooks}/useIsCompact.d.ts +0 -0
  386. /package/{dist/hooks → hooks}/useParsedData.d.ts +0 -0
  387. /package/{dist/hooks → hooks}/useParsedValue.d.ts +0 -0
  388. /package/{dist/hooks → hooks}/useResponsiveLayout.d.ts +0 -0
  389. /package/{dist/hooks → hooks}/useRouter.d.ts +0 -0
  390. /package/{dist/hooks → hooks}/useUniqueId.d.ts +0 -0
  391. /package/{dist/index.d.ts → index.d.ts} +0 -0
  392. /package/{dist/index.esm.js → index.esm.js} +0 -0
  393. /package/{dist/index.js → index.js} +0 -0
  394. /package/{dist/index.mjs → index.mjs} +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
- };