@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,125 +0,0 @@
1
- /**
2
- * @jest-environment jest-environment-jsdom-global
3
- */
4
-
5
- import '@testing-library/jest-dom';
6
-
7
- import { jest } from '@jest/globals';
8
- import { render } from '@testing-library/react';
9
- import * as React from 'react';
10
- import { BrowserRouter, HashRouter } from 'react-router-dom';
11
-
12
- import { RouterTypeContext } from '../../context/RouterType';
13
- import { LinkHeading } from '../LinkHeading';
14
-
15
- declare const jsdom: { reconfigure(opts: { url: string }): void };
16
-
17
- describe('LinkHeading', () => {
18
- const scroll = jest.fn();
19
- const scrollIntoView = HTMLElement.prototype.scrollIntoView;
20
-
21
- beforeAll(() => {
22
- jest.useFakeTimers();
23
- HTMLElement.prototype.scrollIntoView = scroll;
24
- });
25
-
26
- afterEach(() => {
27
- scroll.mockRestore();
28
- });
29
-
30
- afterAll(() => {
31
- jest.useRealTimers();
32
- HTMLElement.prototype.scrollIntoView = scrollIntoView;
33
- });
34
-
35
- describe('given browser router', () => {
36
- beforeEach(() => {
37
- jsdom.reconfigure({ url: 'https://elements-demo.stoplight.io/route' });
38
- });
39
-
40
- it('should not append id to the route', () => {
41
- location.hash = 'heading';
42
-
43
- const { baseElement } = render(
44
- <RouterTypeContext.Provider value="history">
45
- <BrowserRouter>
46
- <LinkHeading id="heading" size={1}>
47
- Hello
48
- </LinkHeading>
49
- </BrowserRouter>
50
- </RouterTypeContext.Provider>,
51
- );
52
-
53
- expect(baseElement.querySelector('a')).toHaveProperty('href', 'https://elements-demo.stoplight.io/route#heading');
54
- });
55
-
56
- it('should scroll into view', () => {
57
- location.hash = 'heading';
58
-
59
- render(
60
- <RouterTypeContext.Provider value="history">
61
- <BrowserRouter>
62
- <LinkHeading id="heading" size={1}>
63
- Hello
64
- </LinkHeading>
65
- </BrowserRouter>
66
- </RouterTypeContext.Provider>,
67
- );
68
-
69
- jest.advanceTimersByTime(300);
70
- expect(scroll).toBeCalledWith({
71
- behavior: 'smooth',
72
- block: 'start',
73
- });
74
- });
75
- });
76
-
77
- describe('given hash router', () => {
78
- beforeEach(() => {
79
- jsdom.reconfigure({ url: 'https://elements-demo.stoplight.io' });
80
- });
81
-
82
- afterEach(() => {
83
- window.location.hash = '';
84
- });
85
-
86
- it('should append id to the route', () => {
87
- window.location.hash = '/route#test';
88
-
89
- const { baseElement } = render(
90
- <RouterTypeContext.Provider value="hash">
91
- <HashRouter>
92
- <LinkHeading id="heading" size={1}>
93
- Hello
94
- </LinkHeading>
95
- </HashRouter>
96
- </RouterTypeContext.Provider>,
97
- );
98
-
99
- expect(baseElement.querySelector('a')).toHaveProperty(
100
- 'href',
101
- 'https://elements-demo.stoplight.io/#/route#heading',
102
- );
103
- });
104
-
105
- it('should scroll into view', () => {
106
- window.location.hash = '/route#test';
107
-
108
- render(
109
- <RouterTypeContext.Provider value="hash">
110
- <HashRouter>
111
- <LinkHeading id="test" size={1}>
112
- Hello
113
- </LinkHeading>
114
- </HashRouter>
115
- </RouterTypeContext.Provider>,
116
- );
117
-
118
- jest.advanceTimersByTime(300);
119
- expect(scroll).toBeCalledWith({
120
- behavior: 'smooth',
121
- block: 'start',
122
- });
123
- });
124
- });
125
- });
package/src/constants.ts DELETED
@@ -1,176 +0,0 @@
1
- import {
2
- faBookOpen,
3
- faCloud,
4
- faCrosshairs,
5
- faCube,
6
- faDatabase,
7
- faEnvelope,
8
- faImage,
9
- faQuestionCircle,
10
- IconDefinition,
11
- } from '@fortawesome/free-solid-svg-icons';
12
- import { IntentVals } from '@stoplight/mosaic';
13
- import { Dictionary, HttpMethod, HttpSecurityScheme, NodeType } from '@stoplight/types';
14
-
15
- export const NodeTypeColors: Readonly<Dictionary<string, NodeType>> = {
16
- http_operation: '#6a6acb',
17
- http_webhook: 'primary',
18
- http_service: '#e056fd',
19
- article: '#399da6',
20
- model: '#ef932b',
21
- http_server: '',
22
- generic: '',
23
- unknown: '',
24
- table_of_contents: '',
25
- spectral_ruleset: '',
26
- styleguide: '',
27
- image: '',
28
- http_callback: '',
29
- stoplight_override: '',
30
- stoplight_resolutions: '',
31
- };
32
-
33
- export const NodeTypePrettyName: Readonly<Dictionary<string, NodeType>> = {
34
- http_operation: 'Endpoint',
35
- http_webhook: 'Webhook',
36
- http_service: 'API',
37
- article: 'Article',
38
- model: 'Model',
39
- http_server: 'Server',
40
- generic: '',
41
- unknown: '',
42
- table_of_contents: '',
43
- spectral_ruleset: '',
44
- styleguide: '',
45
- image: '',
46
- http_callback: '',
47
- stoplight_override: '',
48
- stoplight_resolutions: '',
49
- };
50
-
51
- export const NodeTypeIconDefs: Readonly<Dictionary<IconDefinition, NodeType>> = {
52
- http_operation: faCrosshairs,
53
- http_webhook: faEnvelope,
54
- http_service: faCloud,
55
- article: faBookOpen,
56
- model: faCube,
57
- http_server: faDatabase,
58
- unknown: faQuestionCircle,
59
- generic: faQuestionCircle,
60
- table_of_contents: faQuestionCircle,
61
- spectral_ruleset: faQuestionCircle,
62
- styleguide: faQuestionCircle,
63
- image: faImage,
64
- http_callback: faQuestionCircle,
65
- stoplight_override: faQuestionCircle,
66
- stoplight_resolutions: faQuestionCircle,
67
- };
68
-
69
- export const HttpSecuritySchemeColors: Readonly<Partial<Record<HttpSecurityScheme['type'], string>>> = {
70
- apiKey: 'green',
71
- http: 'orange',
72
- oauth2: 'red',
73
- openIdConnect: 'blue',
74
- mutualTLS: 'blue',
75
- };
76
-
77
- export const HttpMethodColors: Readonly<Record<HttpMethod, string>> = {
78
- get: 'success',
79
- post: 'primary',
80
- put: 'warning',
81
- patch: 'warning',
82
- delete: 'danger',
83
- head: '#9061F9',
84
- options: '#0D5AA7',
85
- trace: '#0D0B28',
86
- };
87
-
88
- export const HttpCodeColor: Readonly<Record<number, string>> = {
89
- 0: 'red',
90
- 1: 'gray',
91
- 2: 'green',
92
- 3: 'yellow',
93
- 4: 'orange',
94
- 5: 'red',
95
- };
96
-
97
- /**
98
- * Map of HTTP codes to their common description
99
- */
100
- export const HttpCodeDescriptions: Readonly<Record<number, string>> = {
101
- 100: 'Continue',
102
- 101: 'Switching Protocols',
103
- 200: 'OK',
104
- 201: 'Created',
105
- 202: 'Accepted',
106
- 203: 'Non-Authoritative Information',
107
- 204: 'No Content',
108
- 205: 'Reset Content',
109
- 206: 'Partial Content',
110
- 422: 'Unprocessable Entity',
111
- 226: 'IM Used',
112
- 300: 'Multiple Choices',
113
- 301: 'Moved Permanently',
114
- 302: 'Found',
115
- 303: 'See Other',
116
- 304: 'Not Modified',
117
- 305: 'Use Proxy',
118
- 306: '(Unused)',
119
- 307: 'Temporary Redirect',
120
- 308: 'Permanent Redirect (experiemental)',
121
- 400: 'Bad Request',
122
- 401: 'Unauthorized',
123
- 402: 'Payment Required',
124
- 403: 'Forbidden',
125
- 404: 'Not Found',
126
- 405: 'Method Not Allowed',
127
- 406: 'Not Acceptable',
128
- 407: 'Proxy Authentication Required',
129
- 408: 'Request Timeout',
130
- 409: 'Conflict',
131
- 410: 'Gone',
132
- 411: 'Length Required',
133
- 412: 'Precondition Failed',
134
- 413: 'Request Entity Too Large',
135
- 414: 'Request-URI Too Long',
136
- 415: 'Unsupported Media Type',
137
- 416: 'Requested Range Not Satisfiable',
138
- 417: 'Expectation Failed',
139
- 418: "I'm a teapot (RFC 2324)",
140
- 420: 'Enhance Your Calm (Twitter)',
141
- 426: 'Upgrade Required',
142
- 428: 'Precondition Required',
143
- 429: 'Too Many Requests',
144
- 431: 'Request Header Fields Too Large',
145
- 444: 'No Response (Nginx)',
146
- 449: 'Retry With (Microsoft)',
147
- 450: 'Blocked by Windows Parental Controls (Microsoft)',
148
- 451: 'Unavailable For Legal Reasons',
149
- 499: 'Client Closed Request (Nginx)',
150
- 500: 'Internal Server Error',
151
- 501: 'Not Implemented',
152
- 502: 'Bad Gateway',
153
- 503: 'Service Unavailable',
154
- 504: 'Gateway Timeout',
155
- 505: 'HTTP Version Not Supported',
156
- 506: 'Variant Also Negotiates (Experimental)',
157
- 507: 'Insufficient Storage (WebDAV)',
158
- 508: 'Loop Detected (WebDAV)',
159
- 509: 'Bandwidth Limit Exceeded (Apache)',
160
- 510: 'Not Extended',
161
- 511: 'Network Authentication Required',
162
- 598: 'Network read timeout error',
163
- 599: 'Network connect timeout error',
164
- };
165
-
166
- export const badgeDefaultBackgroundColor = '#293742';
167
- export const badgeDefaultColor = '#FFFFFF';
168
-
169
- export const CodeToIntentMap: Readonly<Record<number, IntentVals>> = {
170
- 2: 'success',
171
- 4: 'warning',
172
- 5: 'danger',
173
- };
174
-
175
- export const OptionalSecurityMessage =
176
- 'Requiring authorization is optional. A user can access data without authorization or with authorization, if provided.';
@@ -1,23 +0,0 @@
1
- import * as React from 'react';
2
-
3
- export const MockingContext = createNamedContext<{
4
- mockUrl?: string;
5
- hideMocking?: boolean;
6
- }>('MockingContext', { mockUrl: undefined, hideMocking: undefined });
7
-
8
- export const MockingProvider: React.FC<{
9
- mockUrl?: string;
10
- hideMocking?: boolean;
11
- }> = ({ mockUrl, hideMocking, children }) => {
12
- const info = {
13
- mockUrl,
14
- hideMocking: hideMocking || !mockUrl, // Mocking is hidden if no mock url is provided or if is forced hidden
15
- };
16
- return <MockingContext.Provider value={info}>{children}</MockingContext.Provider>;
17
- };
18
-
19
- function createNamedContext<T>(name: string, defaultValue: T): React.Context<T> {
20
- const context = React.createContext(defaultValue);
21
- context.displayName = name;
22
- return context;
23
- }
@@ -1,183 +0,0 @@
1
- import { renderHook } from '@testing-library/react-hooks';
2
- import * as React from 'react';
3
-
4
- import type { ReferenceInfo } from '../utils/ref-resolving/ReferenceResolver';
5
- import {
6
- InlineRefResolverProvider,
7
- useDocument,
8
- useInlineRefResolver,
9
- useResolvedObject,
10
- useSchemaInlineRefResolver,
11
- } from './InlineRefResolver';
12
-
13
- describe('InlineRefResolver', () => {
14
- describe('useDocument hook', () => {
15
- it('does not return document if it is not a proper object', () => {
16
- const document = 'This is not an object, so should not be returned from useDocument hook';
17
-
18
- const wrapper: React.FC<{ document: unknown }> = ({ children, document }) => (
19
- <InlineRefResolverProvider document={document}>{children}</InlineRefResolverProvider>
20
- );
21
- const { result } = renderHook(() => useDocument(), { wrapper, initialProps: { document } });
22
-
23
- expect(result.current).toBeUndefined();
24
- });
25
- });
26
-
27
- describe('useInlineRefResolver hook', () => {
28
- it('returns the same function on every rerender', () => {
29
- const document = { some: 'document object' };
30
-
31
- const wrapper: React.FC<{ document: object }> = ({ children, document }) => (
32
- <InlineRefResolverProvider document={document}>{children}</InlineRefResolverProvider>
33
- );
34
- const { result, rerender } = renderHook(() => useInlineRefResolver(), { wrapper, initialProps: { document } });
35
-
36
- const firstReturnedFunction = result.current;
37
-
38
- rerender({ document });
39
-
40
- const secondReturnedFunction = result.current;
41
-
42
- expect(firstReturnedFunction?.resolver).toBe(secondReturnedFunction?.resolver);
43
- });
44
- });
45
-
46
- describe('useResolvedObject hook', () => {
47
- it('returns the same proxy, given the same object', () => {
48
- const wrapper: React.FC = ({ children }) => <InlineRefResolverProvider>{children}</InlineRefResolverProvider>;
49
- const objectToResolve = { some: 'object' };
50
- const { result, rerender } = renderHook(() => useResolvedObject(objectToResolve), { wrapper });
51
-
52
- const firstReturnedObject = result.current;
53
-
54
- rerender();
55
-
56
- const secondReturnedObject = result.current;
57
-
58
- expect(firstReturnedObject).toBe(secondReturnedObject);
59
- });
60
- });
61
-
62
- describe('useSchemaInlineRefResolver', () => {
63
- const wrapper: React.FC<{ document: Record<string, unknown> }> = ({ children, document }) => (
64
- <InlineRefResolverProvider document={document}>{children}</InlineRefResolverProvider>
65
- );
66
-
67
- let document: Record<string, unknown>;
68
-
69
- beforeEach(() => {
70
- document = {
71
- openapi: '3.0.0',
72
- paths: {
73
- '/user': {
74
- post: {
75
- requestBody: {
76
- content: {
77
- 'application/json': {
78
- schema: {
79
- type: 'object',
80
- properties: {
81
- user: {
82
- $ref: '#/components/schemas/User',
83
- },
84
- },
85
- },
86
- },
87
- },
88
- },
89
- },
90
- },
91
- },
92
- components: {
93
- schemas: {
94
- User: {
95
- type: 'object',
96
- nullable: true,
97
- properties: {
98
- id: {
99
- type: 'integer',
100
- nullable: true,
101
- },
102
- stars: {
103
- type: 'number',
104
- format: 'int32',
105
- },
106
- },
107
- },
108
- },
109
- },
110
- };
111
- });
112
-
113
- it('translates resolved schema', () => {
114
- const { result } = renderHook(() => useSchemaInlineRefResolver(), { wrapper, initialProps: { document } });
115
-
116
- const resolved = result.current[0](
117
- {
118
- source: null,
119
- pointer: '#/components/schemas/User',
120
- },
121
- [],
122
- {
123
- type: 'object',
124
- properties: {
125
- user: {
126
- $ref: '#/components/schemas/User',
127
- },
128
- },
129
- $schema: 'http://json-schema.org/draft-07/schema#',
130
- 'x-stoplight': {
131
- id: 'd3bf5ceb7dd53',
132
- },
133
- },
134
- );
135
-
136
- expect(resolved).toEqual({
137
- type: ['object', 'null'],
138
- properties: {
139
- id: {
140
- type: ['integer', 'null'],
141
- },
142
- stars: {
143
- type: 'number',
144
- format: 'int32',
145
- maximum: 2147483647,
146
- minimum: -2147483648,
147
- 'x-stoplight': {
148
- explicitProperties: ['type', 'format'],
149
- },
150
- },
151
- },
152
- });
153
- });
154
-
155
- it('retains the result', () => {
156
- const refInfo: ReferenceInfo = {
157
- source: null,
158
- pointer: '#/components/schemas/User',
159
- };
160
- const currentObject = {
161
- type: 'object',
162
- properties: {
163
- user: {
164
- $ref: '#/components/schemas/User',
165
- },
166
- },
167
- $schema: 'http://json-schema.org/draft-07/schema#',
168
- 'x-stoplight': {
169
- id: 'd3bf5ceb7dd53',
170
- },
171
- };
172
-
173
- const renderedHook = renderHook(() => useSchemaInlineRefResolver(), { wrapper, initialProps: { document } });
174
- const renderedHook2 = renderHook(() => useSchemaInlineRefResolver(), { wrapper, initialProps: { document } });
175
-
176
- const resolved = renderedHook.result.current[0]({ ...refInfo }, [], JSON.parse(JSON.stringify(currentObject)));
177
-
178
- expect(renderedHook2.result.current[0]({ ...refInfo }, [], JSON.parse(JSON.stringify(currentObject)))).toBe(
179
- resolved,
180
- );
181
- });
182
- });
183
- });
@@ -1,94 +0,0 @@
1
- import { convertToJsonSchema } from '@stoplight/http-spec/oas';
2
- import { isPlainObject } from '@stoplight/json';
3
- import type { Dictionary } from '@stoplight/types';
4
- import * as React from 'react';
5
- import { useContext } from 'react';
6
-
7
- import { defaultResolver, ReferenceResolver } from '../utils/ref-resolving/ReferenceResolver';
8
- import { createResolvedObject } from '../utils/ref-resolving/resolvedObject';
9
-
10
- const translatedObjectSymbol = Symbol('TranslatedObject');
11
-
12
- type InlineRefResolverContext = {
13
- resolver: ReferenceResolver | undefined;
14
- maxRefDepth: number | undefined;
15
- };
16
-
17
- const InlineRefResolverContext = React.createContext<InlineRefResolverContext | undefined>(undefined);
18
- InlineRefResolverContext.displayName = 'InlineRefResolverContext';
19
-
20
- const DocumentContext = React.createContext<object | undefined>(undefined);
21
- DocumentContext.displayName = 'DocumentContext';
22
-
23
- type InlineRefResolverProviderProps = {
24
- document?: unknown;
25
- resolver?: ReferenceResolver;
26
- maxRefDepth?: number;
27
- };
28
-
29
- /**
30
- * Populates `InlineRefResolverContext` with either a standard inline ref resolver based on `document`, or a custom resolver function provided by the caller.
31
- */
32
- export const InlineRefResolverProvider: React.FC<InlineRefResolverProviderProps> = ({
33
- children,
34
- document: maybeDocument,
35
- resolver,
36
- maxRefDepth,
37
- }) => {
38
- const document = isPlainObject(maybeDocument) ? maybeDocument : undefined;
39
-
40
- const computedResolver = React.useMemo(
41
- () => resolver || (document !== undefined ? defaultResolver(document) : undefined),
42
- [document, resolver],
43
- );
44
-
45
- return (
46
- <InlineRefResolverContext.Provider value={{ resolver: computedResolver, maxRefDepth }}>
47
- <DocumentContext.Provider value={document}>{children}</DocumentContext.Provider>
48
- </InlineRefResolverContext.Provider>
49
- );
50
- };
51
-
52
- export const useInlineRefResolver = () => useContext(InlineRefResolverContext);
53
-
54
- export const useDocument = () => useContext(DocumentContext);
55
-
56
- export const useResolvedObject = (currentObject: object): object => {
57
- const document = useDocument();
58
- const { resolver } = useInlineRefResolver() ?? {};
59
-
60
- return React.useMemo(
61
- () => createResolvedObject(currentObject, { contextObject: document as object, resolver }),
62
- [currentObject, document, resolver],
63
- );
64
- };
65
-
66
- export const useSchemaInlineRefResolver = (): [ReferenceResolver, number | undefined] => {
67
- const document = useDocument();
68
- const { resolver, maxRefDepth } = useInlineRefResolver() ?? {};
69
-
70
- const referenceResolver = React.useCallback<ReferenceResolver>(
71
- (...args) => {
72
- const resolved = resolver?.(...args);
73
- if (!isPlainObject(resolved)) {
74
- return resolved;
75
- }
76
-
77
- if (translatedObjectSymbol in resolved) {
78
- return (resolved as { [translatedObjectSymbol]: unknown })[translatedObjectSymbol];
79
- }
80
-
81
- const converted = convertToJsonSchema((document ?? {}) as Dictionary<unknown>, resolved);
82
- Reflect.defineProperty(resolved, translatedObjectSymbol, {
83
- configurable: true,
84
- value: converted,
85
- });
86
-
87
- delete converted.$schema;
88
- return converted;
89
- },
90
- [document, resolver],
91
- );
92
-
93
- return [referenceResolver, maxRefDepth];
94
- };
@@ -1,27 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import type { DocsProps } from '../components/Docs';
4
-
5
- const DEFAULT_CONTEXT: ElementsOptionsContextProps = {};
6
-
7
- export type ElementsOptionsContextProps = Pick<DocsProps, 'nodeHasChanged' | 'renderExtensionAddon'>;
8
-
9
- export const ElementsOptionsContext = React.createContext<ElementsOptionsContextProps>(DEFAULT_CONTEXT);
10
-
11
- export const useOptionsCtx = () => {
12
- return React.useContext(ElementsOptionsContext) || DEFAULT_CONTEXT;
13
- };
14
-
15
- export type ProviderProps = Partial<ElementsOptionsContextProps> & {
16
- children: React.ReactNode;
17
- };
18
-
19
- export function ElementsOptionsProvider({ children, nodeHasChanged, renderExtensionAddon }: ProviderProps) {
20
- return (
21
- <ElementsOptionsContext.Provider
22
- value={Object.assign({}, DEFAULT_CONTEXT, { nodeHasChanged, renderExtensionAddon })}
23
- >
24
- {children}
25
- </ElementsOptionsContext.Provider>
26
- );
27
- }
@@ -1,24 +0,0 @@
1
- import { Provider as JotaiProvider } from 'jotai';
2
- import * as React from 'react';
3
-
4
- import { getDisplayName } from '../hoc/utils';
5
-
6
- /**
7
- * Provides a context for storing jotai atom values.
8
- */
9
- export const PersistenceContextProvider = JotaiProvider;
10
-
11
- /**
12
- * HOC that Wraps `WrappedComponent` in a `PersistenceContextProvider`.
13
- */
14
- export function withPersistenceBoundary<T>(WrappedComponent: React.ComponentType<T>) {
15
- const WithPersistenceBoundary: React.FC<T> = props => {
16
- return (
17
- <PersistenceContextProvider>
18
- <WrappedComponent {...props} />
19
- </PersistenceContextProvider>
20
- );
21
- };
22
- WithPersistenceBoundary.displayName = `withPersistenceBoundary(${getDisplayName(WrappedComponent)})`;
23
- return WithPersistenceBoundary;
24
- }
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import type { RouterType } from '../types';
4
-
5
- export const RouterTypeContext = React.createContext<RouterType | null>(null);
6
-
7
- export const useRouterType = () => {
8
- return React.useContext(RouterTypeContext);
9
- };