@redocly/reference-docs 3.0.0-alpha.3 → 3.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +274 -241
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +5 -21
  3. package/dist/console.redocly-reference-docs.min.js +182 -159
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +812 -710
  6. package/lib/components/Endpoint/Endpoint.d.ts +1 -6
  7. package/lib/components/Endpoint/Endpoint.js +1 -1
  8. package/lib/components/Endpoint/ServerList.d.ts +2 -7
  9. package/lib/components/Endpoint/ServerList.js +1 -1
  10. package/lib/components/Endpoint/Summary.d.ts +1 -12
  11. package/lib/components/Endpoint/Summary.js +1 -1
  12. package/lib/components/Endpoint/index.d.ts +2 -1
  13. package/lib/components/Endpoint/index.js +1 -1
  14. package/lib/components/Endpoint/styled.d.ts +13 -0
  15. package/lib/components/Endpoint/styled.js +2 -0
  16. package/lib/components/Endpoint/types.d.ts +21 -0
  17. package/lib/components/Endpoint/types.js +2 -0
  18. package/lib/components/OperationParameters/OperationParameters.js +1 -1
  19. package/lib/components/OperationParameters/utils.d.ts +1 -1
  20. package/lib/components/OperationParameters/utils.js +1 -1
  21. package/lib/components/Panel/Accordion.js +1 -1
  22. package/lib/components/Panel/ContentPanel.js +1 -1
  23. package/lib/components/Panel/Description.d.ts +1 -0
  24. package/lib/components/Panel/Description.js +2 -0
  25. package/lib/components/Panel/PanelComponent.d.ts +1 -1
  26. package/lib/components/Panel/PanelComponent.js +1 -1
  27. package/lib/components/Panel/index.d.ts +1 -0
  28. package/lib/components/Panel/index.js +1 -1
  29. package/lib/components/ProProviders.d.ts +8 -2
  30. package/lib/components/RedoclyReferenceDocs.d.ts +1 -7
  31. package/lib/components/RedoclyReferenceDocs.js +1 -1
  32. package/lib/components/RedoclyReferenceDocsMultiStandalone.d.ts +8 -0
  33. package/lib/components/RedoclyReferenceDocsMultiStandalone.js +2 -0
  34. package/lib/components/Samples/SamplesTabs.d.ts +3 -1
  35. package/lib/components/Samples/SamplesTabs.js +1 -1
  36. package/lib/components/Samples/use-example-key.js +1 -1
  37. package/lib/components/Search/ProSearchBox.js +1 -1
  38. package/lib/components/StoreProvider.d.ts +1 -1
  39. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
  40. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  41. package/lib/components/common/CheckboxList.d.ts +1 -1
  42. package/lib/components/common/FileUpload/FileUpload.d.ts +3 -2
  43. package/lib/components/common/FileUpload/FileUpload.js +1 -1
  44. package/lib/components/console/ActionPanel.js +1 -1
  45. package/lib/components/console/AuthPanel/AuthPanel.d.ts +1 -1
  46. package/lib/components/console/AuthPanel/AuthPanel.js +1 -1
  47. package/lib/components/console/AuthPanel/types.d.ts +1 -1
  48. package/lib/components/console/CodemirrorInput.d.ts +15 -11
  49. package/lib/components/console/CodemirrorInput.js +1 -1
  50. package/lib/components/console/Console.d.ts +3 -3
  51. package/lib/components/console/Console.js +1 -1
  52. package/lib/components/console/ConsoleLazy.js +1 -1
  53. package/lib/components/console/OAuth2Flow.d.ts +2 -1
  54. package/lib/components/console/OAuth2Flow.js +1 -1
  55. package/lib/components/console/OAuth2TokenInput.d.ts +2 -1
  56. package/lib/components/console/OAuth2TokenInput.js +1 -1
  57. package/lib/components/console/OpenIDConnect.d.ts +4 -1
  58. package/lib/components/console/OpenIDConnect.js +1 -1
  59. package/lib/components/console/ParameterArray.d.ts +10 -0
  60. package/lib/components/console/ParameterArray.js +2 -0
  61. package/lib/components/console/RequestBody/RequestBody.d.ts +3 -0
  62. package/lib/components/console/RequestBody/RequestBody.js +2 -0
  63. package/lib/components/console/RequestBody/index.d.ts +2 -0
  64. package/lib/components/console/RequestBody/index.js +2 -0
  65. package/lib/components/console/RequestBody/types.d.ts +10 -0
  66. package/lib/components/console/RequestBody/types.js +2 -0
  67. package/lib/components/console/RequestBodyForm.d.ts +3 -2
  68. package/lib/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
  69. package/lib/components/console/ServersDropdown/ServersDropdown.js +2 -0
  70. package/lib/components/console/ServersDropdown/index.d.ts +1 -0
  71. package/lib/components/console/ServersDropdown/index.js +2 -0
  72. package/lib/components/console/ServersDropdown/types.d.ts +5 -0
  73. package/lib/components/console/ServersDropdown/types.js +2 -0
  74. package/lib/components/console/styled.d.ts +1 -0
  75. package/lib/components/console/styled.js +1 -1
  76. package/lib/components/console/utils.d.ts +9 -1
  77. package/lib/components/console/utils.js +1 -1
  78. package/lib/components/index.d.ts +1 -0
  79. package/lib/components/index.js +1 -1
  80. package/lib/components/shared/index.d.ts +0 -1
  81. package/lib/components/shared/index.js +1 -1
  82. package/lib/hooks/index.d.ts +1 -0
  83. package/lib/hooks/index.js +1 -1
  84. package/lib/hooks/useDimensions.d.ts +1 -0
  85. package/lib/hooks/useDimensions.js +2 -0
  86. package/lib/index.d.ts +1 -1
  87. package/lib/oauth2-redirect-page/handler/helpers.d.ts +1 -0
  88. package/lib/oauth2-redirect-page/handler/helpers.js +1 -1
  89. package/lib/redoc-lib/src/common-elements/linkify.d.ts +1 -1
  90. package/lib/redoc-lib/src/common-elements/perfect-scrollbar.d.ts +1 -1
  91. package/lib/redoc-lib/src/components/CallbackSamples/CallbackReqSamples.js +1 -1
  92. package/lib/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
  93. package/lib/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  94. package/lib/redoc-lib/src/components/Callbacks/CallbacksList.js +1 -1
  95. package/lib/redoc-lib/src/components/ContentItem/ContentItem.d.ts +10 -0
  96. package/lib/redoc-lib/src/components/ContentItem/ContentItem.js +2 -0
  97. package/lib/redoc-lib/src/components/ContentItem/index.d.ts +1 -0
  98. package/lib/redoc-lib/src/components/ContentItem/index.js +2 -0
  99. package/lib/redoc-lib/src/components/ContentItems/ContentItems.d.ts +2 -18
  100. package/lib/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
  101. package/lib/redoc-lib/src/components/ContentItems/Skeleton.d.ts +2 -0
  102. package/lib/redoc-lib/src/components/ContentItems/Skeleton.js +2 -0
  103. package/lib/redoc-lib/src/components/ContentItems/index.d.ts +1 -0
  104. package/lib/redoc-lib/src/components/ContentItems/index.js +2 -0
  105. package/lib/redoc-lib/src/components/ErrorBoundary.d.ts +1 -1
  106. package/lib/redoc-lib/src/components/Fields/EnumValues.js +1 -1
  107. package/lib/redoc-lib/src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.js +1 -1
  108. package/lib/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
  109. package/lib/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  110. package/lib/redoc-lib/src/components/Operation/Operation.js +1 -1
  111. package/lib/redoc-lib/src/components/Operation/index.d.ts +1 -0
  112. package/lib/redoc-lib/src/components/Operation/index.js +2 -0
  113. package/lib/redoc-lib/src/components/OperationItem/OperationItem.d.ts +7 -0
  114. package/lib/redoc-lib/src/components/OperationItem/OperationItem.js +2 -0
  115. package/lib/redoc-lib/src/components/OperationItem/index.d.ts +1 -0
  116. package/lib/redoc-lib/src/components/OperationItem/index.js +2 -0
  117. package/lib/redoc-lib/src/components/PayloadSamples/Example.d.ts +1 -5
  118. package/lib/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
  119. package/lib/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +1 -8
  120. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +2 -7
  121. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  122. package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +1 -7
  123. package/lib/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
  124. package/lib/redoc-lib/src/components/PayloadSamples/index.d.ts +5 -0
  125. package/lib/redoc-lib/src/components/PayloadSamples/index.js +2 -0
  126. package/lib/redoc-lib/src/components/PayloadSamples/types.d.ts +23 -0
  127. package/lib/redoc-lib/src/components/PayloadSamples/types.js +2 -0
  128. package/lib/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.d.ts → useExternalExample.d.ts} +0 -0
  129. package/lib/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.js → useExternalExample.js} +1 -1
  130. package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  131. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +1 -1
  132. package/lib/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  133. package/lib/redoc-lib/src/components/RequestSamples/languageSwitchEvent.d.ts +1 -1
  134. package/lib/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
  135. package/lib/redoc-lib/src/components/Responses/Response.d.ts +2 -5
  136. package/lib/redoc-lib/src/components/Responses/Response.js +1 -1
  137. package/lib/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
  138. package/lib/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  139. package/lib/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
  140. package/lib/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
  141. package/lib/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
  142. package/lib/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
  143. package/lib/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
  144. package/lib/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
  145. package/lib/redoc-lib/src/components/Responses/index.d.ts +1 -0
  146. package/lib/redoc-lib/src/components/Responses/index.js +2 -0
  147. package/lib/redoc-lib/src/components/Responses/{styled.elements.d.ts → styled.d.ts} +1 -0
  148. package/lib/redoc-lib/src/components/Responses/styled.js +2 -0
  149. package/lib/redoc-lib/src/components/Responses/types.d.ts +12 -0
  150. package/lib/redoc-lib/src/components/Responses/types.js +2 -0
  151. package/lib/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
  152. package/lib/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  153. package/lib/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -1
  154. package/lib/redoc-lib/src/components/SectionItem/SectionItem.d.ts +7 -0
  155. package/lib/redoc-lib/src/components/SectionItem/SectionItem.js +2 -0
  156. package/lib/redoc-lib/src/components/SectionItem/index.d.ts +1 -0
  157. package/lib/redoc-lib/src/components/SectionItem/index.js +2 -0
  158. package/lib/redoc-lib/src/components/SecurityRequirement/RequiredScopesRow.js +1 -1
  159. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
  160. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
  161. package/lib/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
  162. package/lib/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
  163. package/lib/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
  164. package/lib/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
  165. package/lib/redoc-lib/src/components/SideMenu/MenuItems.js +1 -1
  166. package/lib/redoc-lib/src/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
  167. package/lib/redoc-lib/src/components/index.d.ts +2 -4
  168. package/lib/redoc-lib/src/components/index.js +1 -1
  169. package/lib/redoc-lib/src/services/MenuBuilder.d.ts +1 -1
  170. package/lib/redoc-lib/src/services/OpenAPIParser.d.ts +1 -1
  171. package/lib/redoc-lib/src/services/OpenAPIParser.js +1 -1
  172. package/lib/redoc-lib/src/services/SearchStore.js +1 -1
  173. package/lib/redoc-lib/src/services/models/MediaContent.d.ts +1 -1
  174. package/lib/redoc-lib/src/services/models/MediaType.d.ts +2 -2
  175. package/lib/redoc-lib/src/services/models/MediaType.js +1 -1
  176. package/lib/redoc-lib/src/services/models/Operation.d.ts +2 -2
  177. package/lib/redoc-lib/src/services/models/RequestBody.d.ts +1 -1
  178. package/lib/redoc-lib/src/services/models/Response.d.ts +1 -1
  179. package/lib/redoc-lib/src/services/models/Schema.d.ts +1 -1
  180. package/lib/redoc-lib/src/services/models/Schema.js +1 -1
  181. package/lib/redoc-lib/src/types/open-api.d.ts +3 -0
  182. package/lib/redoc-lib/src/utils/helpers.d.ts +3 -1
  183. package/lib/redoc-lib/src/utils/helpers.js +1 -1
  184. package/lib/redoc-lib/src/utils/openapi.d.ts +3 -2
  185. package/lib/redoc-lib/src/utils/openapi.js +1 -1
  186. package/lib/redoc-lib/src/utils/string.d.ts +1 -0
  187. package/lib/redoc-lib/src/utils/string.js +2 -0
  188. package/lib/services/OAuth2.d.ts +4 -2
  189. package/lib/services/OAuth2.js +1 -1
  190. package/lib/services/OpenIDConnect.d.ts +1 -1
  191. package/lib/services/ProStore.d.ts +6 -6
  192. package/lib/services/SearchStore.d.ts +1 -1
  193. package/lib/services/VersionedSpecStore.d.ts +1 -1
  194. package/lib/services/code-samples/generator.d.ts +1 -0
  195. package/lib/services/code-samples/generator.js +1 -1
  196. package/lib/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
  197. package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
  198. package/lib/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
  199. package/lib/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
  200. package/lib/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
  201. package/lib/standalone.d.ts +1 -1
  202. package/lib/standalone.js +1 -1
  203. package/lib/types.d.ts +11 -0
  204. package/lib/utils.d.ts +3 -13
  205. package/lib/utils.js +1 -1
  206. package/lib-esm/components/Endpoint/Endpoint.d.ts +1 -6
  207. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  208. package/lib-esm/components/Endpoint/ServerList.d.ts +2 -7
  209. package/lib-esm/components/Endpoint/ServerList.js +1 -1
  210. package/lib-esm/components/Endpoint/Summary.d.ts +1 -12
  211. package/lib-esm/components/Endpoint/Summary.js +1 -1
  212. package/lib-esm/components/Endpoint/index.d.ts +2 -1
  213. package/lib-esm/components/Endpoint/index.js +1 -1
  214. package/lib-esm/components/Endpoint/styled.d.ts +13 -0
  215. package/lib-esm/components/Endpoint/styled.js +2 -0
  216. package/lib-esm/components/Endpoint/types.d.ts +21 -0
  217. package/lib-esm/components/Endpoint/types.js +2 -0
  218. package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
  219. package/lib-esm/components/OperationParameters/utils.d.ts +1 -1
  220. package/lib-esm/components/OperationParameters/utils.js +1 -1
  221. package/lib-esm/components/Panel/Accordion.js +1 -1
  222. package/lib-esm/components/Panel/ContentPanel.js +1 -1
  223. package/lib-esm/components/Panel/Description.d.ts +1 -0
  224. package/lib-esm/components/Panel/Description.js +2 -0
  225. package/lib-esm/components/Panel/PanelComponent.d.ts +1 -1
  226. package/lib-esm/components/Panel/PanelComponent.js +1 -1
  227. package/lib-esm/components/Panel/index.d.ts +1 -0
  228. package/lib-esm/components/Panel/index.js +1 -1
  229. package/lib-esm/components/ProProviders.d.ts +8 -2
  230. package/lib-esm/components/RedoclyReferenceDocs.d.ts +1 -7
  231. package/lib-esm/components/RedoclyReferenceDocs.js +1 -1
  232. package/lib-esm/components/RedoclyReferenceDocsMultiStandalone.d.ts +8 -0
  233. package/lib-esm/components/RedoclyReferenceDocsMultiStandalone.js +2 -0
  234. package/lib-esm/components/Samples/SamplesTabs.d.ts +3 -1
  235. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  236. package/lib-esm/components/Samples/use-example-key.js +1 -1
  237. package/lib-esm/components/Search/ProSearchBox.js +1 -1
  238. package/lib-esm/components/StoreProvider.d.ts +1 -1
  239. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.d.ts +1 -1
  240. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  241. package/lib-esm/components/common/CheckboxList.d.ts +1 -1
  242. package/lib-esm/components/common/FileUpload/FileUpload.d.ts +3 -2
  243. package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
  244. package/lib-esm/components/console/ActionPanel.js +1 -1
  245. package/lib-esm/components/console/AuthPanel/AuthPanel.d.ts +1 -1
  246. package/lib-esm/components/console/AuthPanel/AuthPanel.js +1 -1
  247. package/lib-esm/components/console/AuthPanel/types.d.ts +1 -1
  248. package/lib-esm/components/console/CodemirrorInput.d.ts +15 -11
  249. package/lib-esm/components/console/CodemirrorInput.js +1 -1
  250. package/lib-esm/components/console/Console.d.ts +3 -3
  251. package/lib-esm/components/console/Console.js +1 -1
  252. package/lib-esm/components/console/ConsoleLazy.js +1 -1
  253. package/lib-esm/components/console/OAuth2Flow.d.ts +2 -1
  254. package/lib-esm/components/console/OAuth2Flow.js +1 -1
  255. package/lib-esm/components/console/OAuth2TokenInput.d.ts +2 -1
  256. package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
  257. package/lib-esm/components/console/OpenIDConnect.d.ts +4 -1
  258. package/lib-esm/components/console/OpenIDConnect.js +1 -1
  259. package/lib-esm/components/console/ParameterArray.d.ts +10 -0
  260. package/lib-esm/components/console/ParameterArray.js +2 -0
  261. package/lib-esm/components/console/RequestBody/RequestBody.d.ts +3 -0
  262. package/lib-esm/components/console/RequestBody/RequestBody.js +2 -0
  263. package/lib-esm/components/console/RequestBody/index.d.ts +2 -0
  264. package/lib-esm/components/console/RequestBody/index.js +2 -0
  265. package/lib-esm/components/console/RequestBody/types.d.ts +10 -0
  266. package/lib-esm/components/console/RequestBody/types.js +2 -0
  267. package/lib-esm/components/console/RequestBodyForm.d.ts +3 -2
  268. package/lib-esm/components/console/ServersDropdown/ServersDropdown.d.ts +3 -0
  269. package/lib-esm/components/console/ServersDropdown/ServersDropdown.js +2 -0
  270. package/lib-esm/components/console/ServersDropdown/index.d.ts +1 -0
  271. package/lib-esm/components/console/ServersDropdown/index.js +2 -0
  272. package/lib-esm/components/console/ServersDropdown/types.d.ts +5 -0
  273. package/lib-esm/components/console/ServersDropdown/types.js +2 -0
  274. package/lib-esm/components/console/styled.d.ts +1 -0
  275. package/lib-esm/components/console/styled.js +1 -1
  276. package/lib-esm/components/console/utils.d.ts +9 -1
  277. package/lib-esm/components/console/utils.js +1 -1
  278. package/lib-esm/components/index.d.ts +1 -0
  279. package/lib-esm/components/index.js +1 -1
  280. package/lib-esm/components/shared/index.d.ts +0 -1
  281. package/lib-esm/components/shared/index.js +1 -1
  282. package/lib-esm/hooks/index.d.ts +1 -0
  283. package/lib-esm/hooks/index.js +1 -1
  284. package/lib-esm/hooks/useDimensions.d.ts +1 -0
  285. package/lib-esm/hooks/useDimensions.js +2 -0
  286. package/lib-esm/index.d.ts +1 -1
  287. package/lib-esm/oauth2-redirect-page/handler/helpers.d.ts +1 -0
  288. package/lib-esm/oauth2-redirect-page/handler/helpers.js +1 -1
  289. package/lib-esm/redoc-lib/src/common-elements/linkify.d.ts +1 -1
  290. package/lib-esm/redoc-lib/src/common-elements/perfect-scrollbar.d.ts +1 -1
  291. package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackReqSamples.js +1 -1
  292. package/lib-esm/redoc-lib/src/components/CallbackSamples/CallbackSamples.js +1 -1
  293. package/lib-esm/redoc-lib/src/components/Callbacks/CallbackDetails.js +1 -1
  294. package/lib-esm/redoc-lib/src/components/Callbacks/CallbacksList.js +1 -1
  295. package/lib-esm/redoc-lib/src/components/ContentItem/ContentItem.d.ts +10 -0
  296. package/lib-esm/redoc-lib/src/components/ContentItem/ContentItem.js +2 -0
  297. package/lib-esm/redoc-lib/src/components/ContentItem/index.d.ts +1 -0
  298. package/lib-esm/redoc-lib/src/components/ContentItem/index.js +2 -0
  299. package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.d.ts +2 -18
  300. package/lib-esm/redoc-lib/src/components/ContentItems/ContentItems.js +1 -1
  301. package/lib-esm/redoc-lib/src/components/ContentItems/Skeleton.d.ts +2 -0
  302. package/lib-esm/redoc-lib/src/components/ContentItems/Skeleton.js +2 -0
  303. package/lib-esm/redoc-lib/src/components/ContentItems/index.d.ts +1 -0
  304. package/lib-esm/redoc-lib/src/components/ContentItems/index.js +2 -0
  305. package/lib-esm/redoc-lib/src/components/ErrorBoundary.d.ts +1 -1
  306. package/lib-esm/redoc-lib/src/components/Fields/EnumValues.js +1 -1
  307. package/lib-esm/redoc-lib/src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.js +1 -1
  308. package/lib-esm/redoc-lib/src/components/Markdown/AdvancedMarkdown.js +1 -1
  309. package/lib-esm/redoc-lib/src/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  310. package/lib-esm/redoc-lib/src/components/Operation/Operation.js +1 -1
  311. package/lib-esm/redoc-lib/src/components/Operation/index.d.ts +1 -0
  312. package/lib-esm/redoc-lib/src/components/Operation/index.js +2 -0
  313. package/lib-esm/redoc-lib/src/components/OperationItem/OperationItem.d.ts +7 -0
  314. package/lib-esm/redoc-lib/src/components/OperationItem/OperationItem.js +2 -0
  315. package/lib-esm/redoc-lib/src/components/OperationItem/index.d.ts +1 -0
  316. package/lib-esm/redoc-lib/src/components/OperationItem/index.js +2 -0
  317. package/lib-esm/redoc-lib/src/components/PayloadSamples/Example.d.ts +1 -5
  318. package/lib-esm/redoc-lib/src/components/PayloadSamples/Example.js +1 -1
  319. package/lib-esm/redoc-lib/src/components/PayloadSamples/ExampleValue.d.ts +1 -8
  320. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.d.ts +2 -7
  321. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  322. package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.d.ts +1 -7
  323. package/lib-esm/redoc-lib/src/components/PayloadSamples/PayloadSamples.js +1 -1
  324. package/lib-esm/redoc-lib/src/components/PayloadSamples/index.d.ts +5 -0
  325. package/lib-esm/redoc-lib/src/components/PayloadSamples/index.js +2 -0
  326. package/lib-esm/redoc-lib/src/components/PayloadSamples/types.d.ts +23 -0
  327. package/lib-esm/redoc-lib/src/components/PayloadSamples/types.js +2 -0
  328. package/lib-esm/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.d.ts → useExternalExample.d.ts} +0 -0
  329. package/lib-esm/redoc-lib/src/components/PayloadSamples/{exernalExampleHook.js → useExternalExample.js} +1 -1
  330. package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
  331. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.d.ts +1 -1
  332. package/lib-esm/redoc-lib/src/components/RequestSamples/RequestSamples.js +1 -1
  333. package/lib-esm/redoc-lib/src/components/RequestSamples/languageSwitchEvent.d.ts +1 -1
  334. package/lib-esm/redoc-lib/src/components/ResponseSamples/ResponseSamples.js +1 -1
  335. package/lib-esm/redoc-lib/src/components/Responses/Response.d.ts +2 -5
  336. package/lib-esm/redoc-lib/src/components/Responses/Response.js +1 -1
  337. package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.d.ts +3 -8
  338. package/lib-esm/redoc-lib/src/components/Responses/ResponseDetails.js +1 -1
  339. package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.d.ts +3 -9
  340. package/lib-esm/redoc-lib/src/components/Responses/ResponseHeaders.js +1 -1
  341. package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.d.ts +1 -5
  342. package/lib-esm/redoc-lib/src/components/Responses/ResponseSummary.js +1 -1
  343. package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.d.ts +3 -8
  344. package/lib-esm/redoc-lib/src/components/Responses/ResponsesList.js +1 -1
  345. package/lib-esm/redoc-lib/src/components/Responses/index.d.ts +1 -0
  346. package/lib-esm/redoc-lib/src/components/Responses/index.js +2 -0
  347. package/lib-esm/redoc-lib/src/components/Responses/{styled.elements.d.ts → styled.d.ts} +1 -0
  348. package/lib-esm/redoc-lib/src/components/Responses/styled.js +2 -0
  349. package/lib-esm/redoc-lib/src/components/Responses/types.d.ts +12 -0
  350. package/lib-esm/redoc-lib/src/components/Responses/types.js +2 -0
  351. package/lib-esm/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
  352. package/lib-esm/redoc-lib/src/components/SchemaDefinition/SchemaDefinition.js +1 -1
  353. package/lib-esm/redoc-lib/src/components/SearchBox/SearchBox.d.ts +1 -1
  354. package/lib-esm/redoc-lib/src/components/SectionItem/SectionItem.d.ts +7 -0
  355. package/lib-esm/redoc-lib/src/components/SectionItem/SectionItem.js +2 -0
  356. package/lib-esm/redoc-lib/src/components/SectionItem/index.d.ts +1 -0
  357. package/lib-esm/redoc-lib/src/components/SectionItem/index.js +2 -0
  358. package/lib-esm/redoc-lib/src/components/SecurityRequirement/RequiredScopesRow.js +1 -1
  359. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirement.js +1 -1
  360. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementElement.js +1 -1
  361. package/lib-esm/redoc-lib/src/components/SecurityRequirement/SecurityRequirementPanelDescription.js +1 -1
  362. package/lib-esm/redoc-lib/src/components/SecuritySchemes/SecuritySchemes.js +1 -1
  363. package/lib-esm/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
  364. package/lib-esm/redoc-lib/src/components/SideMenu/MenuItem.js +1 -1
  365. package/lib-esm/redoc-lib/src/components/SideMenu/MenuItems.js +1 -1
  366. package/lib-esm/redoc-lib/src/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -1
  367. package/lib-esm/redoc-lib/src/components/index.d.ts +2 -4
  368. package/lib-esm/redoc-lib/src/components/index.js +1 -1
  369. package/lib-esm/redoc-lib/src/services/MenuBuilder.d.ts +1 -1
  370. package/lib-esm/redoc-lib/src/services/OpenAPIParser.d.ts +1 -1
  371. package/lib-esm/redoc-lib/src/services/OpenAPIParser.js +1 -1
  372. package/lib-esm/redoc-lib/src/services/SearchStore.js +1 -1
  373. package/lib-esm/redoc-lib/src/services/models/MediaContent.d.ts +1 -1
  374. package/lib-esm/redoc-lib/src/services/models/MediaType.d.ts +2 -2
  375. package/lib-esm/redoc-lib/src/services/models/MediaType.js +1 -1
  376. package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +2 -2
  377. package/lib-esm/redoc-lib/src/services/models/RequestBody.d.ts +1 -1
  378. package/lib-esm/redoc-lib/src/services/models/Response.d.ts +1 -1
  379. package/lib-esm/redoc-lib/src/services/models/Schema.d.ts +1 -1
  380. package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
  381. package/lib-esm/redoc-lib/src/types/open-api.d.ts +3 -0
  382. package/lib-esm/redoc-lib/src/utils/helpers.d.ts +3 -1
  383. package/lib-esm/redoc-lib/src/utils/helpers.js +1 -1
  384. package/lib-esm/redoc-lib/src/utils/openapi.d.ts +3 -2
  385. package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
  386. package/lib-esm/redoc-lib/src/utils/string.d.ts +1 -0
  387. package/lib-esm/redoc-lib/src/utils/string.js +2 -0
  388. package/lib-esm/services/OAuth2.d.ts +4 -2
  389. package/lib-esm/services/OAuth2.js +1 -1
  390. package/lib-esm/services/OpenIDConnect.d.ts +1 -1
  391. package/lib-esm/services/ProStore.d.ts +6 -6
  392. package/lib-esm/services/SearchStore.d.ts +1 -1
  393. package/lib-esm/services/VersionedSpecStore.d.ts +1 -1
  394. package/lib-esm/services/code-samples/generator.d.ts +1 -0
  395. package/lib-esm/services/code-samples/generator.js +1 -1
  396. package/lib-esm/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
  397. package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
  398. package/lib-esm/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
  399. package/lib-esm/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
  400. package/lib-esm/services/code-samples/httpsnippet/targets/python/requests.js +1 -1
  401. package/lib-esm/standalone.d.ts +1 -1
  402. package/lib-esm/standalone.js +1 -1
  403. package/lib-esm/types.d.ts +11 -0
  404. package/lib-esm/utils.d.ts +3 -13
  405. package/lib-esm/utils.js +1 -1
  406. package/package.json +11 -8
  407. package/lib/components/Endpoint/CopyLink.d.ts +0 -1
  408. package/lib/components/Endpoint/CopyLink.js +0 -2
  409. package/lib/components/Endpoint/Path.d.ts +0 -4
  410. package/lib/components/Endpoint/Path.js +0 -2
  411. package/lib/components/Endpoint/ServerItem.d.ts +0 -1
  412. package/lib/components/Endpoint/ServerItem.js +0 -2
  413. package/lib/components/Endpoint/ServerUrl.d.ts +0 -1
  414. package/lib/components/Endpoint/ServerUrl.js +0 -2
  415. package/lib/components/console/RequestBody.d.ts +0 -12
  416. package/lib/components/console/RequestBody.js +0 -2
  417. package/lib/components/console/ServerDropdown.d.ts +0 -24
  418. package/lib/components/console/ServerDropdown.js +0 -2
  419. package/lib/components/shared/SelectOnClick.d.ts +0 -6
  420. package/lib/components/shared/SelectOnClick.js +0 -2
  421. package/lib/redoc-lib/src/components/Responses/styled.elements.js +0 -2
  422. package/lib-esm/components/Endpoint/CopyLink.d.ts +0 -1
  423. package/lib-esm/components/Endpoint/CopyLink.js +0 -2
  424. package/lib-esm/components/Endpoint/Path.d.ts +0 -4
  425. package/lib-esm/components/Endpoint/Path.js +0 -2
  426. package/lib-esm/components/Endpoint/ServerItem.d.ts +0 -1
  427. package/lib-esm/components/Endpoint/ServerItem.js +0 -2
  428. package/lib-esm/components/Endpoint/ServerUrl.d.ts +0 -1
  429. package/lib-esm/components/Endpoint/ServerUrl.js +0 -2
  430. package/lib-esm/components/console/RequestBody.d.ts +0 -12
  431. package/lib-esm/components/console/RequestBody.js +0 -2
  432. package/lib-esm/components/console/ServerDropdown.d.ts +0 -24
  433. package/lib-esm/components/console/ServerDropdown.js +0 -2
  434. package/lib-esm/components/shared/SelectOnClick.d.ts +0 -6
  435. package/lib-esm/components/shared/SelectOnClick.js +0 -2
  436. package/lib-esm/redoc-lib/src/components/Responses/styled.elements.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),utils_1=require("../../../utils"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("../OAuth2TokenInput")),OAuth2Flow_1=require("../OAuth2Flow"),OpenIDConnect_1=require("../OpenIDConnect"),TextField_1=require("../../common/TextField"),form_1=require("../../common/form"),Labels_1=require("../../../redoc-lib/src/services/Labels"),styled_1=require("../styled"),utils_2=require("../utils"),AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),(0,utils_1.toSessionStorage)("securityRequirementName",e.value)}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=(0,utils_1.fromSessionStorage)("securityRequirementName"),l=t.findIndex((function(e){return e===r}));return{activeScheme:l<0?0:l}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.securityDefaults,r=this.state.activeScheme,l=this.props.operation.security,a=l.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?null:React.createElement(React.Fragment,null,React.createElement(form_1.FormWrapper,null,a.length>1&&React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Security scheme: "),React.createElement(styled_1.TryItDropdown,{variant:"dark",fullWidth:!0,options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,l[r].schemes.map((function(r){var l,a,o,i,n,u,s,c=(0,utils_1.escapeFormId)(r.id);if("apiKey"===r.type){var d=(0,utils_1.getSecurityDetailsOptions)(c,""),m={field:"auth."+c,fullWidth:!0,initialValue:(0,utils_2.fromCookie)(r)||(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:(0,utils_2.fromCookie)(r)||(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(form_1.FormControl,{key:c},React.createElement(form_1.FormLabel,null," ",r.name,": "),d?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:d})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",panel:"try-it","data-cy":"apiKey-auth-password"})))}if("http"===r.type){if("basic"===r.scheme){var p=(0,utils_1.getSecurityDetailsOptions)(c,"username");m={field:"auth."+c+".username",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+c+".username")||(null===(l=null==t?void 0:t[c])||void 0===l?void 0:l.username),initValue:(0,utils_1.fromSessionStorage)("auth."+c+".username")||(null===(a=null==t?void 0:t[c])||void 0===a?void 0:a.username),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicUsername"),": "),p?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:p})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{panel:"try-it"}))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicPassword"),": "),React.createElement(TextField_1.FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+c+".password",initialValue:(0,utils_1.fromSessionStorage)("auth."+c+".password")||(null===(o=null==t?void 0:t[c])||void 0===o?void 0:o.password)||"",validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("bearer"===r.scheme){var f=(0,utils_1.getSecurityDetailsOptions)(c,"");m={field:"auth."+c,fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Bearer Token: "),f?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:f})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",placeholder:"(without 'Bearer')",panel:"try-it"}))))}}else{if("oauth2"===r.type&&r.flows&&r.flows.clientCredentials)return React.createElement(OAuth2TokenInput_1.default,{key:c,flow:r.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.clientCredentials["x-defaultClientId"]||r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.implicit)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(i=null==r?void 0:r.flows)||void 0===i?void 0:i.implicit)||void 0===n?void 0:n.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(u=r.flows.authorizationCode)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type){var h=(0,utils_1.fromSessionStorage)("auth."+c+".token")||JSON.stringify(null===(s=null==t?void 0:t[c])||void 0===s?void 0:s.token);return h=h?JSON.parse(h):{},React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token Type: "),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+c+".token.token_type",initialValue:h.token_type||"Bearer",panel:"try-it"})),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+c+".token.access_token",validate:utils_2.requiredValidator,initialValue:h.access_token,validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect_1.OpenIDConnect,{key:c,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);exports.AuthPanel=AuthPanel;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),utils_1=require("../../../utils"),styled_1=require("../styled"),form_1=require("../../common/form"),TextField_1=require("../../common/TextField"),OpenIDConnect_1=require("../OpenIDConnect"),utils_2=require("../utils"),OAuth2Flow_1=require("../OAuth2Flow"),Labels_1=require("../../../redoc-lib/src/services/Labels"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("../OAuth2TokenInput")),AuthPanel=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),(0,utils_1.toSessionStorage)("securityRequirementName",e.value)}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=(0,utils_1.fromSessionStorage)("securityRequirementName"),l=t.findIndex((function(e){return e===r}));return{activeScheme:l<0?0:l}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props.securityDefaults,r=this.state.activeScheme,l=this.props.operation.security,a=l.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).filter(Boolean).map((function(e,t){return{value:e,idx:t}}));return 0===a.length?React.createElement(OpenIDConnect_1.Error,{message:"Cannot find security schema in the definition"}):React.createElement(React.Fragment,null,React.createElement(form_1.FormWrapper,null,a.length>1&&React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Security scheme: "),React.createElement(styled_1.TryItDropdown,{variant:"dark",fullWidth:!0,options:a,value:a[r].value,onChange:this.handleSchemeChange}))||null,l[r].schemes.map((function(r){var l,a,o,i,n,u,s,c=(0,utils_1.escapeFormId)(r.id);if("apiKey"===r.type){var d=(0,utils_1.getSecurityDetailsOptions)(c,""),m={field:"auth."+c,fullWidth:!0,initialValue:(0,utils_2.fromCookie)(r)||(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:(0,utils_2.fromCookie)(r)||(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(form_1.FormControl,{key:c},React.createElement(form_1.FormLabel,null," ",r.name,": "),d?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:d})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",panel:"try-it","data-cy":"apiKey-auth-password"})))}if("http"===r.type){if("basic"===r.scheme){var p=(0,utils_1.getSecurityDetailsOptions)(c,"username");m={field:"auth."+c+".username",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+c+".username")||(null===(l=null==t?void 0:t[c])||void 0===l?void 0:l.username),initValue:(0,utils_1.fromSessionStorage)("auth."+c+".username")||(null===(a=null==t?void 0:t[c])||void 0===a?void 0:a.username),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicUsername"),": "),p?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:p})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{panel:"try-it"}))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," ",(0,Labels_1.l)("tryItAuthBasicPassword"),": "),React.createElement(TextField_1.FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+c+".password",initialValue:(0,utils_1.fromSessionStorage)("auth."+c+".password")||(null===(o=null==t?void 0:t[c])||void 0===o?void 0:o.password)||"",validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("bearer"===r.scheme){var f=(0,utils_1.getSecurityDetailsOptions)(c,"");m={field:"auth."+c,fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),initValue:(0,utils_1.fromSessionStorage)("auth."+c)||(null==t?void 0:t[c]),validate:utils_2.requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Bearer Token: "),f?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:f})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",placeholder:"(without 'Bearer')",panel:"try-it"}))))}}else{if("oauth2"===r.type&&r.flows&&r.flows.clientCredentials)return React.createElement(OAuth2TokenInput_1.default,{key:c,flow:r.flows.clientCredentials,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.clientCredentials["x-defaultClientId"]||r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.implicit)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(i=null==r?void 0:r.flows)||void 0===i?void 0:i.implicit)||void 0===n?void 0:n.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.implicit["x-defaultClientId"]||r["x-defaultClientId"],flow:"implicit",defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type&&r.flows&&r.flows.authorizationCode)return React.createElement(OAuth2Flow_1.OAuth2Flow,{key:c,authorizationUrl:r.flows.authorizationCode.authorizationUrl,tokenUrl:r.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(u=r.flows.authorizationCode)||void 0===u?void 0:u.scopes)||{}),server:e.props.activeServer,id:c,form:e.props.form,formApi:e.props.formApi,clientId:r.flows.authorizationCode["x-defaultClientId"]||r["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:r.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:r.flows.authorizationCode["x-usePkce"],defaultValues:null==t?void 0:t[c]});if("oauth2"===r.type){var h=(0,utils_1.fromSessionStorage)("auth."+c+".token")||JSON.stringify(null===(s=null==t?void 0:t[c])||void 0===s?void 0:s.token);return h=h?JSON.parse(h):{},React.createElement(React.Fragment,{key:c},React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token Type: "),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+c+".token.token_type",initialValue:h.token_type||"Bearer",panel:"try-it"})),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+c+".token.access_token",validate:utils_2.requiredValidator,initialValue:h.access_token,validateOnBlur:!0,validateOnChange:!0,panel:"try-it"})))}if("openIdConnect"===r.type)return React.createElement(OpenIDConnect_1.OpenIDConnect,{key:c,server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:c,form:e.props.form,formApi:e.props.formApi,scheme:r,clientId:r["x-defaultClientId"],defaultValues:null==t?void 0:t[c]})}}))),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);exports.AuthPanel=AuthPanel;
2
2
  //# sourceMappingURL=AuthPanel.js.map
@@ -1,6 +1,6 @@
1
1
  import type { FormApi, FormState } from 'informed';
2
2
  import type { OperationModel } from '../../../redoc-lib';
3
- import type { SecurityDetails } from '../../../utils';
3
+ import type { SecurityDetails } from '../../../types';
4
4
  export interface AuthPanelProps {
5
5
  operation: OperationModel;
6
6
  form: FormState;
@@ -1,35 +1,39 @@
1
- import * as React from 'react';
1
+ import type { ComponentType, LegacyRef } from 'react';
2
+ import React from 'react';
3
+ import type { FieldApi, FieldState } from 'informed';
2
4
  import { Controlled as CodeMirror } from 'react-codemirror2-react-17';
3
5
  import type { Editor } from 'codemirror';
6
+ import type { OpenAPISchema, Referenced } from '../../redoc-lib';
4
7
  import './codemirror-helpers';
5
8
  export interface CodemirrorInputBase {
6
- forwardedRef?: React.Ref<any>;
9
+ forwardedRef?: LegacyRef<CodeMirror>;
7
10
  mode?: string;
8
11
  field: string;
9
- initialValue: any;
10
- validate: any;
11
- schema: any;
12
+ initialValue: string;
13
+ validate: () => string | undefined;
14
+ schema?: Referenced<OpenAPISchema>;
12
15
  id: string;
13
- onChange?: (e: any) => any;
14
- onBlur?: (e: any) => any;
16
+ onChange?: (e: any) => void;
17
+ onBlur?: (e: any) => void;
15
18
  }
16
19
  export interface CodemirrorInputProps extends CodemirrorInputBase {
17
- fieldApi: any;
18
- fieldState: any;
20
+ fieldApi: FieldApi;
21
+ fieldState: FieldState<string>;
19
22
  render: any;
20
23
  userProps: any;
21
24
  ref: any;
22
25
  }
23
- export declare class CodemirrorInput extends React.Component<CodemirrorInputProps> {
26
+ export declare class CodemirrorInput extends React.PureComponent<CodemirrorInputProps> {
24
27
  editor: Editor;
25
28
  _onKeyUp: (_cm: CodeMirror.Doc, event: {
26
29
  key: string;
27
30
  }) => void;
28
31
  initEditor: (editor: Editor) => void;
29
32
  refreshEditor: () => void;
33
+ showHintHandler: () => void;
30
34
  componentDidMount(): void;
31
35
  componentWillUnmount(): void;
32
36
  render(): JSX.Element;
33
37
  }
34
- declare const _default: React.ComponentType<CodemirrorInputBase>;
38
+ declare const _default: ComponentType<CodemirrorInputBase>;
35
39
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodemirrorInput=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),styled_components_1=require("styled-components"),informed_1=require("informed"),react_codemirror2_react_17_1=require("react-codemirror2-react-17");require("./codemirror-helpers");var templateObject_1,types_1=require("../../types"),CodeMirrorStyles=(0,styled_components_1.createGlobalStyle)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-font-family);\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: var(--color-content-inverse);\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-font-family);\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: var(--color-content-inverse);\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"]))),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,o){/^[a-zA-Z0-9_":]$/.test(o.key)&&r.editor.execCommand("autocomplete")}}),Object.defineProperty(r,"initEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.editor=e,e.on("keyup",r._onKeyUp)}}),Object.defineProperty(r,"refreshEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.editor.refresh()}}),r}return(0,tslib_1.__extends)(r,e),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;setTimeout((function(){e.editor.refresh()}),0),document.addEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){document.removeEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,r=this.props.fieldState.value,o=this.props.fieldApi,n=o.setValue,t=o.setTouched,i=o.setError,a=this.props,c=a.onChange,l=a.onBlur,d=a.forwardedRef;return React.createElement(React.Fragment,null,React.createElement(CodeMirrorStyles,null),React.createElement(react_codemirror2_react_17_1.Controlled,{editorDidMount:this.initEditor,value:r||"",ref:d||void 0,onBeforeChange:function(e,r,o){n(o),c&&c(o)},onBlur:function(e){t(),l&&l(e)},options:{mode:this.props.mode||types_1.MediaTypes.JSON,theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":function(){return e.editor.showHint({completeSingle:!0})},"Ctrl-Space":function(){return e.editor.showHint({completeSingle:!0})}},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:i}}}))}}),r}(React.Component);exports.CodemirrorInput=CodemirrorInput,exports.default=(0,informed_1.asField)(CodemirrorInput);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodemirrorInput=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importDefault)(require("react")),informed_1=require("informed"),react_codemirror2_react_17_1=require("react-codemirror2-react-17"),styled_components_1=require("styled-components");require("./codemirror-helpers");var templateObject_1,types_1=require("../../types"),CodeMirrorStyles=(0,styled_components_1.createGlobalStyle)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-font-family);\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: var(--color-content-inverse);\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"],["\n .cm-s-material.CodeMirror {\n background-color: var(--samples-panel-controls-background-color)!important;\n color: var(--color-content-inverse)!important;\n font-family: var(--code-font-family);\n line-height: 18px;\n padding: 10px;\n }\n\n .CodeMirror-lint-mark-error {\n background-size: 4px;\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAYAAAD+Bd/7AAAAVUlEQVR42mNgQAL/GRjigPg/EP8FYntkCX4gtoVKgvE/BoabcEVAhj6S5DUgfgFl/wFJ2gPxL6iuT1DF+kD2R5AYA5KRj6CS/FAMYvszIBltz4AFAAD9fz0YtLg13wAAAABJRU5ErkJggg==') !important;\n }\n\n .cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(255, 255, 255, 0.3) !important;\n }\n\n .cm-s-material .CodeMirror-code .cm-string.cm-property {\n color: #9EFAA7;\n }\n\n .cm-s-material .CodeMirror-code .cm-string {\n color: #FEE39E;\n }\n\n .cm-s-material .CodeMirror-code .cm-atom {\n color: var(--color-content-inverse);\n }\n\n div .cm-s-material .CodeMirror-matchingbracket {\n outline: 1px solid grey;\n text-decoration: none;\n }\n\n .react-codemirror2 {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n overflow: hidden;\n\n flex: 1;\n }\n\n .CodeMirror {\n flex: 1;\n border-radius: var(--panels-border-radius);\n }\n"]))),CodemirrorInput=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"editor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_onKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:function(e,n){/^[a-zA-Z0-9_":]$/.test(n.key)&&r.editor.execCommand("autocomplete")}}),Object.defineProperty(r,"initEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.editor=e,e.on("keyup",r._onKeyUp)}}),Object.defineProperty(r,"refreshEditor",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.editor.refresh()}}),Object.defineProperty(r,"showHintHandler",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r.editor.showHint({completeSingle:!0})}}),r}return(0,tslib_1.__extends)(r,e),Object.defineProperty(r.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;setTimeout((function(){e.editor.refresh()}),0),document.addEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){document.removeEventListener("click",this.refreshEditor)}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.fieldState.value,r=this.props.fieldApi,n=r.setValue,o=r.setTouched,t=r.setError,i=this.props,a=i.onChange,l=i.onBlur,c=i.forwardedRef;return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(CodeMirrorStyles,null),react_1.default.createElement(react_codemirror2_react_17_1.Controlled,{editorDidMount:this.initEditor,value:e||"",ref:c,onBeforeChange:function(e,r,o){n(o),a&&a(o)},onBlur:function(e){o(!1),l&&l(e)},options:{mode:this.props.mode||types_1.MediaTypes.JSON,theme:"material",matchBrackets:!0,autoCloseBrackets:!0,tabSize:2,foldGutter:!0,extraKeys:{"Cmd-Space":this.showHintHandler,"Ctrl-Space":this.showHintHandler},hintOptions:{id:this.props.id,completeSingle:!1,schema:this.props.schema},lint:{id:this.props.id,schema:this.props.schema,setError:t}}}))}}),r}(react_1.default.PureComponent);exports.CodemirrorInput=CodemirrorInput,exports.default=(0,informed_1.asField)(CodemirrorInput);
2
2
  //# sourceMappingURL=CodemirrorInput.js.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { FormApi, FormState } from 'informed';
3
- import type { SecurityDetails } from '../../utils';
3
+ import type { SecurityDetails } from '../../types';
4
4
  import type { ProStore } from '../../services';
5
5
  import type { OperationModel, Server } from '../../redoc-lib';
6
6
  import type { OpenApiResponseData } from './ResponsePanel';
@@ -26,13 +26,13 @@ export interface ConsoleState {
26
26
  error?: Error & {
27
27
  response?: OpenApiResponseData;
28
28
  };
29
- resolvedRawSpec?: any;
29
+ resolvedRawSpec?: GenericObject;
30
30
  response?: OpenApiResponseData;
31
31
  time?: number;
32
32
  server: Server;
33
33
  }
34
34
  export declare class Console extends React.Component<ConsoleProps, ConsoleState> {
35
- formApi: FormApi;
35
+ formApi: FormApi | undefined;
36
36
  constructor(props: ConsoleProps);
37
37
  setFormApi: (formApi: FormApi, { values, ...rest }?: FormState<import("informed").FormValues>) => void;
38
38
  handleChange: ({ values, ...rest }: ConsoleState['form']) => void;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),utils_1=require("../../utils"),services_1=require("../../services"),redoc_lib_1=require("../../redoc-lib"),RenderHook_1=require("../../redoc-lib/src/components/RenderHook"),Labels_1=require("../../redoc-lib/src/services/Labels"),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),helper_1=require("../common/FileUpload/helper"),OperationParameters_1=require("../OperationParameters"),utils_2=require("./utils"),AuthPanel_1=require("./AuthPanel"),RequestBody_1=require("./RequestBody"),ResponsePanel_1=require("./ResponsePanel"),ActionPanel_1=require("./ActionPanel"),ServerDropdown_1=require("./ServerDropdown"),TryItPanel_1=require("./TryItPanel"),ConsoleTabs_1=require("./ConsoleTabs"),styled_1=require("./styled");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var s=t.values,a=(0,tslib_1.__rest)(t,["values"]);r.formApi=e,setTimeout((function(){var e=(0,tslib_1.__assign)((0,tslib_1.__assign)({},a),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{query:(0,utils_2.unescapeQueryParams)(s.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,s=(0,tslib_1.__rest)(e,["values"]),a=(0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{query:(0,utils_2.unescapeQueryParams)(t.query||{})})});r.setState({form:a}),(0,utils_2.updateStorage)(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,s,a,o,n,i,l,u,c,p,_,d,h,v,b,m,y,g,f,P,R,q,S,C,w,A,T,E,I,O,k,x,B,F,j,H,D,V,U=this;return(0,tslib_1.__generator)(this,(function(N){switch(N.label){case 0:if(e=this.props,t=e.store,r=e.operation,s=e.onResponse,a=this.state.form,o=a.values,n=a.invalid,this.formApi.submitForm(),n)return this.setState({shaking:!0}),setTimeout((function(){return U.setState({shaking:!1})}),1e3),null===(B=null===(x=null==t?void 0:t.options.events)||void 0===x?void 0:x.tryItSent)||void 0===B||B.call(x,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=o.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(_=(0,utils_1.get)(c,["paths",r.path,p,"servers"])||(0,utils_1.get)(c,["paths",r.path,"servers"])||(0,utils_1.get)(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");d=_.find((function(e){return U.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,m=o.auth,o.auth?(y=Object.keys(o.auth)[0],g=(0,utils_1.unescapeFormId)(y),b=(0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components.securitySchemes),(E={},E[g]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},c.components.securitySchemes[g]),{type:"openIdConnect"===c.components.securitySchemes[g].type?"oauth2":c.components.securitySchemes[g].type}),E))})}),m=(0,tslib_1.__assign)((0,tslib_1.__assign)({},m),((I={})[g]=m[y],I))):b=(0,tslib_1.__assign)({},c),(f=t.options.corsProxyUrl)&&_.length&&(b.servers=_.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:f+normalizeUrlProtocol(e.url)})})),b.paths=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths),((O={})[r.path]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path]),((k={})[p]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path][p]),{servers:void 0}),k.servers=void 0,k)),O))),(P=(null===(j=null===(F=null==i?void 0:i.content)||void 0===F?void 0:F.active)||void 0===j?void 0:j.name)||null)&&u&&(0,helper_1.isFileUploadMime)(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),q={userFetch:v&&require("cross-fetch").fetch,server:f?f+normalizeUrlProtocol(d.url):d.url,serverVariables:this.state.server.variables,spec:b,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},o.path),o.query),o.header),o.cookie),securities:{authorized:m},requestBody:u,requestContentType:P,responseContentType:(null===(H=o.header)||void 0===H?void 0:H.Accept)||null,requestInterceptor:(0,utils_2.makeRequestInterceptor)(t.options,r,null==m?void 0:m.Authorization)},N.label=1;case 1:return N.trys.push([1,5,8,9]),[4,swagger_client_1.default.execute(q)];case 2:return S=N.sent(),(C=null==S?void 0:S.data)instanceof Blob?((0,helper_1.isFileUploadMime)(C.type)&&(S.fileInfo={rawData:C,fileName:(0,utils_2.getFileNameFromHeaders)(S.headers)}),w=S,[4,C.text()]):[3,4];case 3:w.data=N.sent(),N.label=4;case 4:return null==s||s({request:q,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(A=N.sent())&&A.response&&A.response.data instanceof Blob?(T=A.response,[4,A.response.data.text()]):[3,7];case 6:T.data=N.sent(),null==s||s({request:q,response:A.response}),N.label=7;case 7:return this.setState({response:void 0,error:A}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(V=null===(D=null==t?void 0:t.options.events)||void 0===D?void 0:D.tryItSent)||void 0===V||V.call(D,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var e,t,r,s;return(0,tslib_1.__generator)(this,(function(a){switch(a.label){case 0:return e=this.props,t=e.store,r=e.operation,[4,t.dereferenceSpecForTryIt(r)];case 1:return s=a.sent(),this.setState({resolvedRawSpec:s}),this.formApi.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,s=e.rootElement,a=this.state,o=a.shaking,n=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:o,className:r,rootElement:s},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleTabs_1.ConsoleTabs,{active:n,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_1.ConsoleBody,{hidden:0!==n},this.renderRequest()),React.createElement(styled_1.ConsoleBody,{hidden:1!==n},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,s=t.store,a=t.properties,o=t.securityDefaults,n=this.state,i=n.form,l=n.resolvedRawSpec,u=n.server,c=i.errors||{},p=c.path||c.cookie||c.header||c.query,_=l&&redoc_lib_1.JsonPointer.get(l,r.pointer),d=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];d&&i.values.auth[d]||(d=void 0),!d||void 0===i.values.auth[d].token&&void 0===i.values.auth[d].client_id&&void 0===i.values.auth[d].client_secret||i.values.auth[d].token&&i.values.auth[d].token.access_token||(d=void 0),d&&null!=i.values.auth[d].username&&(i.values.auth[d].username&&i.values.auth[d].password||(d=void 0));var h=r.parameters||[],v=null===(e=null==s?void 0:s.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!l&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&d?1:0},r.security.length&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!d&&!!c.auth,success:!!d},v?React.createElement(AuthPanelHook,{field:"auth",validate:utils_2.requiredValidator},(function(e){return React.createElement(RenderHook_1.RenderHook,{Hook:v,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:s.options.authCorsProxyUrl,securityDefaults:o}))||null,r.requestBody&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!c.body},React.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,console:this,body:r.requestBody,id:r.id,resolvedBody:_.requestBody,properties:a}))||null,h.length&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:p,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null)),React.createElement(ServerDropdown_1.ServerChooser,{operation:r,onChange:this.handleServerChange}))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,s=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:s})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,s=e.children,a=e.rootElement,o=(0,utils_1.useDimensions)(a)[0],n=React.useContext(redoc_lib_1.StoreContext);return React.createElement(styled_1.ConsoleWrap,{scrollYOffset:null==n?void 0:n.options.scrollYOffset,shaking:t,className:r,"data-cy":"console",fullWidth:null==o?void 0:o.width},s)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,s=t.render,a=t.userProps,o=r.setValue,n=a.children;return s(React.createElement(React.Fragment,null,n(o)))}exports.Console=Console;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),informed_1=require("informed"),mobx_react_1=require("mobx-react"),swagger_client_1=(0,tslib_1.__importDefault)(require("swagger-client")),utils_1=require("../../utils"),services_1=require("../../services"),redoc_lib_1=require("../../redoc-lib"),RenderHook_1=require("../../redoc-lib/src/components/RenderHook"),Labels_1=require("../../redoc-lib/src/services/Labels"),Panel_1=require("../Panel"),OAuth2_1=require("../../services/OAuth2"),helper_1=require("../common/FileUpload/helper"),OperationParameters_1=require("../OperationParameters"),hooks_1=require("../../hooks"),utils_2=require("./utils"),AuthPanel_1=require("./AuthPanel"),RequestBody_1=require("./RequestBody"),ResponsePanel_1=require("./ResponsePanel"),ActionPanel_1=require("./ActionPanel"),ServersDropdown_1=require("./ServersDropdown"),TryItPanel_1=require("./TryItPanel"),ConsoleTabs_1=require("./ConsoleTabs"),styled_1=require("./styled");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var flexColumn={flex:1,display:"flex",flexDirection:"column"},Console=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t=e.getState());var s=t.values,a=(0,tslib_1.__rest)(t,["values"]);r.formApi=e,setTimeout((function(){var e=(0,tslib_1.__assign)((0,tslib_1.__assign)({},a),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{query:(0,utils_2.unescapeQueryParams)(s.query||{})})});r.setState({form:e})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.values,s=(0,tslib_1.__rest)(e,["values"]),a=(0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{values:(0,tslib_1.__assign)((0,tslib_1.__assign)({},t),{query:(0,utils_2.unescapeQueryParams)(t.query||{})})});r.setState({form:a}),(0,utils_2.updateStorage)(a),r.props.operation.setRequestValues(t)}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({server:e}),r.props.operation.setActiveServer(e)}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(r,void 0,void 0,(function(){var e,t,r,s,a,o,n,i,l,u,c,p,d,_,h,v,b,m,y,g,f,P,R,q,S,C,A,w,T,k,I,E,O,x,B,j,F,H,D,V,U,N=this;return(0,tslib_1.__generator)(this,(function(L){switch(L.label){case 0:if(e=this.props,t=e.store,r=e.operation,s=e.onResponse,a=this.state.form,o=a.values,n=a.invalid,null===(x=this.formApi)||void 0===x||x.submitForm(),n)return this.setState({shaking:!0}),setTimeout((function(){return N.setState({shaking:!1})}),1e3),null===(j=null===(B=null==t?void 0:t.options.events)||void 0===B?void 0:B.tryItSent)||void 0===j||j.call(B,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[2];if(i=this.props.operation.requestBody,l=i&&i.content&&i.content.active&&i.content.active.name||"",u=o.body,/json/.test(l))try{u=JSON.parse(u)}catch(e){console.error(e)}if(this.setState({loading:!0}),c=this.state.resolvedRawSpec,p=(r.httpVerb||"").toLowerCase(),!(d=(0,utils_1.get)(c,["paths",r.path,p,"servers"])||(0,utils_1.get)(c,["paths",r.path,"servers"])||(0,utils_1.get)(c,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");_=d.find((function(e){return N.state.server.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),h=Date.now(),v=!!window.document.documentMode,m=o.auth,o.auth?(y=Object.keys(o.auth)[0],g=(0,utils_1.unescapeFormId)(y),b=(0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{components:(0,tslib_1.__assign)((0,tslib_1.__assign)({},null==c?void 0:c.components),{securitySchemes:(0,tslib_1.__assign)((0,tslib_1.__assign)({},null==c?void 0:c.components.securitySchemes),(k={},k[g]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},null==c?void 0:c.components.securitySchemes[g]),{type:"openIdConnect"===(null==c?void 0:c.components.securitySchemes[g].type)?"oauth2":null==c?void 0:c.components.securitySchemes[g].type}),k))})}),m=(0,tslib_1.__assign)((0,tslib_1.__assign)({},m),((I={})[g]=m[y],I))):b=(0,tslib_1.__assign)({},c),(f=t.options.corsProxyUrl)&&d.length&&(b.servers=d.map((function(e){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{url:f+normalizeUrlProtocol(e.url)})})),b.paths=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths),((E={})[r.path]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path]),((O={})[p]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b.paths[r.path][p]),{servers:void 0}),O.servers=void 0,O)),E))),(P=(null===(H=null===(F=null==i?void 0:i.content)||void 0===F?void 0:F.active)||void 0===H?void 0:H.name)||null)&&u&&(0,helper_1.isFileUploadMime)(P)&&(R=Object.values(u),u=R.length>1?R:R[0]),q={userFetch:v&&require("cross-fetch").fetch,server:f?f+normalizeUrlProtocol(_.url):_.url,serverVariables:this.state.server.variables,spec:b,pathName:r.path,method:r.httpVerb,parameters:(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},o.path),o.query),o.header),o.cookie),securities:{authorized:m},requestBody:u,requestContentType:P,responseContentType:(null===(D=o.header)||void 0===D?void 0:D.Accept)||null,requestInterceptor:(0,utils_2.makeRequestInterceptor)(t.options,r,null==m?void 0:m.Authorization)},L.label=1;case 1:return L.trys.push([1,5,8,9]),[4,swagger_client_1.default.execute(q)];case 2:return S=L.sent(),(C=null==S?void 0:S.data)instanceof Blob?((0,helper_1.isFileUploadMime)(C.type)&&(S.fileInfo={rawData:C,fileName:(0,utils_2.getFileNameFromHeaders)(S.headers)}),A=S,[4,C.text()]):[3,4];case 3:A.data=L.sent(),L.label=4;case 4:return null==s||s({request:q,response:S}),this.setState({response:S,error:void 0}),[3,9];case 5:return(w=L.sent())&&w.response&&w.response.data instanceof Blob?(T=w.response,[4,w.response.data.text()]):[3,7];case 6:T.data=L.sent(),null==s||s({request:q,response:w.response}),L.label=7;case 7:return this.setState({response:void 0,error:w}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-h}),null===(U=null===(V=null==t?void 0:t.options.events)||void 0===V?void 0:V.tryItSent)||void 0===U||U.call(V,{eventType:services_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:r.operationId,operationPath:r.path,operationHttpVerb:r.httpVerb,operationSummary:r.description}),[7];case 9:return[2]}}))}))}}),r.state={form:{values:{path:(0,utils_2.getParameters)(t.operation.parameters,"path"),cookie:(0,utils_2.getParameters)(t.operation.parameters,"cookie"),header:(0,utils_2.getParameters)(t.operation.parameters,"header"),query:(0,utils_2.getParameters)(t.operation.parameters,"query")}},shaking:!1,loading:!1,activeTab:0,server:{}},r}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var t,r,s,a;return(0,tslib_1.__generator)(this,(function(o){switch(o.label){case 0:return t=this.props,r=t.store,s=t.operation,[4,r.dereferenceSpecForTryIt(s)];case 1:return a=o.sent(),this.setState({resolvedRawSpec:a}),null===(e=this.formApi)||void 0===e||e.setValues({}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,s=e.rootElement,a=this.state,o=a.shaking,n=a.activeTab,i=a.form,l=a.response,u=a.loading,c=a.error,p=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:o,className:r,rootElement:s},React.createElement(Panel_1.CodeHeader,null,React.createElement(ConsoleTabs_1.ConsoleTabs,{active:n,hasResponse:p,onChange:this.handleTabChange}),this.props.onClose&&React.createElement(styled_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_1.ConsoleBody,{hidden:0!==n,"data-cy":"console-request-body"},this.renderRequest()),React.createElement(styled_1.ConsoleBody,{hidden:1!==n,"data-cy":"console-response-body"},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:p,params:i.values,operation:t,loading:u,execute:this.handleExecute}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this.props,r=t.operation,s=t.store,a=t.properties,o=t.securityDefaults,n=this.state,i=n.form,l=n.resolvedRawSpec,u=n.server,c=i.errors||{},p=c.path||c.cookie||c.header||c.query,d=l&&redoc_lib_1.JsonPointer.get(l,r.pointer),_=i.values&&i.values.auth&&Object.keys(i.values.auth)[0];_&&i.values.auth[_]||(_=void 0),!_||void 0===i.values.auth[_].token&&void 0===i.values.auth[_].client_id&&void 0===i.values.auth[_].client_secret||i.values.auth[_].token&&i.values.auth[_].token.access_token||(_=void 0),_&&null!=i.values.auth[_].username&&(i.values.auth[_].username&&i.values.auth[_].password||(_=void 0));var h=r.parameters||[],v=null===(e=null==s?void 0:s.options.hooks)||void 0===e?void 0:e.ReplaceTryItSecurityPanel;return!l&&React.createElement(React.Fragment,null,"Loading...")||React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:(0,tslib_1.__assign)((0,tslib_1.__assign)({},flexColumn),{margin:0})},React.createElement(ServersDropdown_1.ServersDropdown,{operation:r,onChange:this.handleServerChange}),React.createElement(Panel_1.Accordion,{initialActiveIdx:r.security.length&&_?1:0},r.security.length&&this.formApi&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItAuth"),"data-cy":"security-trigger",renderChildrenHidden:!0,error:!_&&!!c.auth,success:!!_},v?React.createElement(AuthPanelHook,{field:"auth",validate:utils_2.requiredValidator},(function(e){return React.createElement(RenderHook_1.RenderHook,{Hook:v,props:{server:u,operation:r,onChange:e,OAuth2:OAuth2_1.OAuth2}})})):React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:i,operation:r,activeServer:u.url,authCorsProxyUrl:s.options.authCorsProxyUrl,securityDefaults:o}))||null,r.requestBody&&this.formApi&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItBody"),"data-cy":"body-trigger",renderChildrenHidden:!0,error:!!c.body},React.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,formApi:this.formApi,body:r.requestBody,id:r.id,resolvedBody:null==d?void 0:d.requestBody,properties:a}))||null,h.length&&React.createElement(TryItPanel_1.TryItPanel,{header:(0,Labels_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:p,renderChildrenHidden:!0},React.createElement(OperationParameters_1.OperationParameters,{operation:r,values:i.values,errors:i.errors||{}}))||null))}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,s=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:s})}}),t=(0,tslib_1.__decorate)([mobx_react_1.observer],t)}(React.Component);function allowBodyErrors(){}function ConsoleWrapHook(e){var t=e.shaking,r=e.className,s=e.children,a=e.rootElement,o=(0,hooks_1.useDimensions)(a)[0],n=React.useContext(redoc_lib_1.StoreContext);return React.createElement(styled_1.ConsoleWrap,{scrollYOffset:null==n?void 0:n.options.scrollYOffset,shaking:t,className:r,"data-cy":"console",fullWidth:null==o?void 0:o.width},s)}function AuthPanelHook(e){var t=(0,informed_1.useField)((0,tslib_1.__assign)({},e)),r=t.fieldApi,s=t.render,a=t.userProps,o=r.setValue,n=a.children;return s(React.createElement(React.Fragment,null,n(o)))}exports.Console=Console;
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importDefault)(require("react")),utils_1=require("../../utils"),Panel_1=require("../Panel"),redoc_lib_1=require("../../redoc-lib"),styled_1=require("./styled");function Console(e){var t=this,r=react_1.default.useState({}),l=r[0],o=r[1],s=react_1.default.useContext(redoc_lib_1.StoreContext),i=(0,utils_1.useDimensions)(e.rootElement)[0];return react_1.default.useEffect((function(){(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e;return(0,tslib_1.__generator)(this,(function(t){switch(t.label){case 0:return[4,Promise.resolve().then((function(){return(0,tslib_1.__importStar)(require("./Console"))}))];case 1:return e=t.sent(),o({Console:e.Console}),[2]}}))}))}),[]),l.Console?react_1.default.createElement(l.Console,(0,tslib_1.__assign)({},e)):react_1.default.createElement(styled_1.ConsoleWrap,{scrollYOffset:null==s?void 0:s.options.scrollYOffset,className:e.className,fullWidth:null==i?void 0:i.width},react_1.default.createElement(Panel_1.CodeHeader,null,"Loading..."))}exports.Console=Console;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importDefault)(require("react")),hooks_1=require("../../hooks"),Panel_1=require("../Panel"),redoc_lib_1=require("../../redoc-lib"),styled_1=require("./styled");function Console(e){var t=this,o=react_1.default.useState({}),r=o[0],l=o[1],s=react_1.default.useContext(redoc_lib_1.StoreContext),n=(0,hooks_1.useDimensions)(e.rootElement)[0];return react_1.default.useEffect((function(){(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e;return(0,tslib_1.__generator)(this,(function(t){switch(t.label){case 0:return[4,Promise.resolve().then((function(){return(0,tslib_1.__importStar)(require("./Console"))}))];case 1:return e=t.sent(),l({Console:e.Console}),[2]}}))}))}),[]),r.Console?react_1.default.createElement(r.Console,(0,tslib_1.__assign)({},e)):react_1.default.createElement(styled_1.ConsoleWrap,{scrollYOffset:null==s?void 0:s.options.scrollYOffset,className:e.className,fullWidth:null==n?void 0:n.width},react_1.default.createElement(Panel_1.CodeHeader,null,"Loading..."))}exports.Console=Console;
2
2
  //# sourceMappingURL=ConsoleLazy.js.map
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { FormApi, FormState } from 'informed';
3
3
  import type { InputActionButtonProps } from '../common/TextField';
4
- import type { SecurityDetails } from '../../utils';
4
+ import type { SecurityDetails } from '../../types';
5
5
  import type { RedocProNormalizedOptions } from '../../services';
6
6
  export interface OAuth2FlowProps {
7
7
  authorizationUrl: string;
@@ -17,6 +17,7 @@ export interface OAuth2FlowProps {
17
17
  form: FormState;
18
18
  formApi: FormApi;
19
19
  flow: 'implicit' | 'authorizationCode';
20
+ tokenEndpointAuthMethod?: string | string[];
20
21
  clientId?: string;
21
22
  defaultValues?: SecurityDetails;
22
23
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),styled_components_1=(0,tslib_1.__importDefault)(require("styled-components")),theme_1=require("@redocly/theme"),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),TextField_1=require("../common/TextField"),Checkbox_1=require("../common/Checkbox"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),utils_2=require("../../services/utils"),utils_3=require("./utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope"));function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var l=e.target.value;return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e;return(0,tslib_1.__generator)(this,(function(t){switch(t.label){case 0:return[4,(0,OAuth2_1.deriveCodeChallenge)(l)];case 1:return e=t.sent(),this.setState({codeVerifier:l,validCodeChallenge:e}),[2]}}))}))}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=(0,utils_2.randString)(43);(0,OAuth2_1.deriveCodeChallenge)(t).then((function(l){e.setState({codeVerifier:t,codeChallenge:l,validCodeChallenge:l})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var l=this.props,r=l.flow,i=l.usePkce,n=l.id,a=l.tokenUrl,o=l.authCorsProxyUrl;if((0,utils_2.isEmptyObject)(this.errors)){this.setState({loading:!0,error:null});var c=o?o+(0,utils_3.normalizeUrlProtocol)(e):e,s=o&&a?o+(0,utils_3.normalizeUrlProtocol)(a):a,u=this.props.formApi.getValue("auth."+n+".scopes"),d={authorizationUrl:c.startsWith("http")?c:this.props.server+c,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===r&&OAuth2_1.OAuth2.authorizeImplicit(d),"authorizationCode"===r&&OAuth2_1.OAuth2.authorizeAuthorizationCode((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},d),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}),i&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2_1.OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,l=t.error,r=t.loading,i=this.props,n=i.id,a=i.scopes,o=i.authorizationUrl,c=i.flow,s=i.usePkce,u=i.defaultValues;if(!o)return React.createElement(form_1.FormError,null,"No flow info");var d=(0,utils_1.fromSessionStorage)("auth."+n+".token")||JSON.stringify(null==u?void 0:u.token);d=d?JSON.parse(d):"";var p=(0,utils_1.getSecurityDetailsOptions)(n,"client_id"),m={field:"auth."+n+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Client ID: "),p?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:p})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".client_secret",initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox_1.Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Code Verifier"),React.createElement(TextField_1.TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,panel:"try-it","data-cy":"code-verifier-input"})),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Code Challenge"),React.createElement(TextField_1.TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var l=t.target.value;e.setState({codeChallenge:l})},inputActionButton:this.pkceInputActionButtonProps,panel:"try-it","data-cy":"code-challenge-input"}))))),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+n+".token",type:"hidden",initialValue:d,panel:"try-it"}),React.createElement(Scope_1.default,{id:n,scopes:a}),this.values.token&&this.values.token.access_token?React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token,panel:"try-it"})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(theme_1.Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):r?React.createElement(React.Fragment,null,React.createElement(theme_1.Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement(theme_1.Button,{fullWidth:!0,disabled:!(0,utils_2.isEmptyObject)(this.errors),onClick:function(){e.handleAuthorize(o)}},"Authorize")),r||l||!this.values.token||!this.values.token.access_token&&React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,r?React.createElement(form_1.FormWarning,null,"Please, finish your authorization flow or cancel authorization."):l?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(form_1.FormError,null,l))):this.values.token&&this.values.token.access_token?null:React.createElement(form_1.FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:redoc_lib_1.OptionsContext}),t}(React.Component);exports.OAuth2Flow=OAuth2Flow;var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled_components_1.default.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled_components_1.default.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled_components_1.default.div(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled_components_1.default.div(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),styled_components_1=(0,tslib_1.__importDefault)(require("styled-components")),theme_1=require("@redocly/theme"),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),TextField_1=require("../common/TextField"),Checkbox_1=require("../common/Checkbox"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),utils_2=require("../../services/utils"),utils_3=require("./utils"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope"));function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var l=e.target.value;return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e;return(0,tslib_1.__generator)(this,(function(t){switch(t.label){case 0:return[4,(0,OAuth2_1.deriveCodeChallenge)(l)];case 1:return e=t.sent(),this.setState({codeVerifier:l,validCodeChallenge:e}),[2]}}))}))}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=(0,utils_2.randString)(43);(0,OAuth2_1.deriveCodeChallenge)(t).then((function(l){e.setState({codeVerifier:t,codeChallenge:l,validCodeChallenge:l})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var l=this.props,r=l.flow,i=l.usePkce,n=l.id,o=l.tokenUrl,a=l.authCorsProxyUrl,c=l.tokenEndpointAuthMethod;if((0,utils_2.isEmptyObject)(this.errors)){this.setState({loading:!0,error:null});var s=a?a+(0,utils_3.normalizeUrlProtocol)(e):e,u=a&&o?a+(0,utils_3.normalizeUrlProtocol)(o):o,d=this.props.formApi.getValue("auth."+n+".scopes"),p={authorizationUrl:s.startsWith("http")?s:this.props.server+s,clientId:this.values.client_id,scopes:d,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===r&&OAuth2_1.OAuth2.authorizeImplicit(p),(0,utils_3.validateTokenEndpointMethod)(c)?"authorizationCode"===r&&OAuth2_1.OAuth2.authorizeAuthorizationCode((0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},p),{tokenUrl:(null==u?void 0:u.startsWith("http"))?u:this.props.server+u,clientSecret:this.values.client_secret,extraHeaders:(0,utils_3.getOAuth2TokenEndpointAuthHeader)({authMethod:c,clientId:this.values.client_id,clientSecret:this.values.client_secret})}),i&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge})):console.log("Unsupported token endpoint auth method: "+c)}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2_1.OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,l=t.error,r=t.loading,i=this.props,n=i.id,o=i.scopes,a=i.authorizationUrl,c=i.flow,s=i.usePkce,u=i.defaultValues;if(!a)return React.createElement(form_1.FormError,null,"No flow info");var d=(0,utils_1.fromSessionStorage)("auth."+n+".token")||JSON.stringify(null==u?void 0:u.token);d=d?JSON.parse(d):"";var p=(0,utils_1.getSecurityDetailsOptions)(n,"client_id"),h={field:"auth."+n+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Client ID: "),p?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},h,{options:p})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},h,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".client_secret",initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox_1.Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Code Verifier"),React.createElement(TextField_1.TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,panel:"try-it","data-cy":"code-verifier-input"})),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Code Challenge"),React.createElement(TextField_1.TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var l=t.target.value;e.setState({codeChallenge:l})},inputActionButton:this.pkceInputActionButtonProps,panel:"try-it","data-cy":"code-challenge-input"}))))),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+n+".token",type:"hidden",initialValue:d,panel:"try-it"}),React.createElement(Scope_1.default,{id:n,scopes:o}),this.values.token&&this.values.token.access_token?React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(TextField_1.TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token,panel:"try-it"})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(theme_1.Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):r?React.createElement(React.Fragment,null,React.createElement(theme_1.Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement(theme_1.Button,{fullWidth:!0,disabled:!(0,utils_2.isEmptyObject)(this.errors),onClick:function(){e.handleAuthorize(a)}},"Authorize")),r||l||!this.values.token||!this.values.token.access_token&&React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,r?React.createElement(form_1.FormWarning,null,"Please, finish your authorization flow or cancel authorization."):l?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(form_1.FormError,null,l))):this.values.token&&this.values.token.access_token?null:React.createElement(form_1.FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:redoc_lib_1.OptionsContext}),t}(React.Component);exports.OAuth2Flow=OAuth2Flow;var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled_components_1.default.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: var(--font-family-monospaced);\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled_components_1.default.div(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled_components_1.default.div(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled_components_1.default.div(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
2
2
  //# sourceMappingURL=OAuth2Flow.js.map
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import type { SecurityDetails } from '../../utils';
2
+ import type { SecurityDetails } from '../../types';
3
3
  export interface OAuth2TokenInputProps {
4
4
  flow: {
5
5
  refreshUrl?: string;
6
+ 'x-tokenEndpointAuthMethod'?: 'none' | 'client_secret_basic' | string;
6
7
  scopes: Record<string, string>;
7
8
  tokenUrl: string;
8
9
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2TokenInput=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),theme_1=require("@redocly/theme"),form_1=require("../common/form"),utils_1=require("../../utils"),OAuth2_1=require("../../services/OAuth2"),TextField_1=require("../common/TextField"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),(0,utils_1.toSessionStorage)("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e,t,r,o,i,l,n,a=this;return(0,tslib_1.__generator)(this,(function(s){switch(s.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,r=e.flow,o=e.authCorsProxyUrl,i=o&&r.tokenUrl?o+(0,utils_2.normalizeUrlProtocol)(r.tokenUrl):r.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(l=this.values.client_id,n=this.values.client_secret,l&&n?(this.setState({loading:!0}),[4,OAuth2_1.OAuth2.authorizeClientCredentials({tokenUrl:i.startsWith("http")?i:t+i,clientId:l,clientSecret:n,scopes:this.values.scopes,successCallback:function(e){a.props.formApi.setValue("auth."+a.props.id+".token",e),a.setState({loading:!1})},errorCallback:function(e){a.clearToken(),a.setState({error:e.message,loading:!1})}})]):(console.log("Provide client_id and client_secret"),[2])));case 1:return s.sent(),[2]}}))}))}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t,r;return(null===(r=null===(t=null===(e=this.props.form)||void 0===e?void 0:e.values)||void 0===t?void 0:t.auth)||void 0===r?void 0:r[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,i=this.props,l=i.id,n=i.defaultValues,a=Object.keys(this.props.flow.scopes),s=(0,utils_1.fromSessionStorage)("auth."+l+".token")||JSON.stringify(null==n?void 0:n.token);s=s?JSON.parse(s):"";var u=(0,utils_1.getSecurityDetailsOptions)(l,"client_id"),c={field:"auth."+l+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+l+".client_id")||this.props.clientId||(null==n?void 0:n.client_id),initValue:(0,utils_1.fromSessionStorage)("auth."+l+".client_id")||this.props.clientId||(null==n?void 0:n.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client ID:"),u?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},c,{options:u})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},c,{type:"password",panel:"try-it"}))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+l+".client_secret",initialValue:(0,utils_1.fromSessionStorage)("auth."+l+".client_secret")||(null==n?void 0:n.client_secret),panel:"try-it"})),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+l+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope_1.default,{id:l,scopes:a})),React.createElement(theme_1.Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(form_1.FormHeader,null," Access Token "),r?React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)," "):this.values.token&&this.values.token.access_token?React.createElement(form_1.TokenField,null,React.createElement(form_1.TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(form_1.TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"," "),React.createElement(form_1.TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=OAuth2TokenInput;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2TokenInput=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),theme_1=require("@redocly/theme"),form_1=require("../common/form"),utils_1=require("../../utils"),OAuth2_1=require("../../services/OAuth2"),TextField_1=require("../common/TextField"),Scope_1=(0,tslib_1.__importDefault)(require("./Scope")),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),(0,utils_1.toSessionStorage)("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return(0,tslib_1.__awaiter)(t,void 0,void 0,(function(){var e,t,r,o,i,n,l,a,s=this;return(0,tslib_1.__generator)(this,(function(u){switch(u.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,r=e.flow,o=e.authCorsProxyUrl,i=o&&r.tokenUrl?o+(0,utils_2.normalizeUrlProtocol)(r.tokenUrl):r.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(n=this.values.client_id,l=this.values.client_secret,n&&l?(this.setState({loading:!0}),a=r["x-tokenEndpointAuthMethod"],(0,utils_2.validateTokenEndpointMethod)(a)?[4,OAuth2_1.OAuth2.authorizeClientCredentials({tokenUrl:i.startsWith("http")?i:t+i,clientId:n,clientSecret:l,scopes:this.values.scopes,extraHeaders:(0,utils_2.getOAuth2TokenEndpointAuthHeader)({authMethod:a,clientId:n,clientSecret:l}),successCallback:function(e){s.props.formApi.setValue("auth."+s.props.id+".token",e),s.setState({loading:!1})},errorCallback:function(e){s.clearToken(),s.setState({error:e.message,loading:!1})}})]:(console.log("Unsupported token endpoint auth method: "+a),[2])):(console.log("Provide client_id and client_secret"),[2])));case 1:return u.sent(),[2]}}))}))}}),t}return(0,tslib_1.__extends)(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t,r;return(null===(r=null===(t=null===(e=this.props.form)||void 0===e?void 0:e.values)||void 0===t?void 0:t.auth)||void 0===r?void 0:r[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,i=this.props,n=i.id,l=i.defaultValues,a=Object.keys(this.props.flow.scopes),s=(0,utils_1.fromSessionStorage)("auth."+n+".token")||JSON.stringify(null==l?void 0:l.token);s=s?JSON.parse(s):"";var u=(0,utils_1.getSecurityDetailsOptions)(n,"client_id"),c={field:"auth."+n+".client_id",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),initValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(form_1.FormWrapper,null,React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client ID:"),u?React.createElement(TextField_1.FormDropdown,(0,tslib_1.__assign)({},c,{options:u})):React.createElement(TextField_1.FormTextField,(0,tslib_1.__assign)({},c,{type:"password",panel:"try-it"}))),React.createElement(form_1.FormControl,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+n+".client_secret",initialValue:(0,utils_1.fromSessionStorage)("auth."+n+".client_secret")||(null==l?void 0:l.client_secret),panel:"try-it"})),React.createElement(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+n+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope_1.default,{id:n,scopes:a})),React.createElement(theme_1.Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(form_1.FormHeader,null," Access Token "),r?React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)," "):this.values.token&&this.values.token.access_token?React.createElement(form_1.TokenField,null,React.createElement(form_1.TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(form_1.TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"," "),React.createElement(form_1.TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=OAuth2TokenInput;
2
2
  //# sourceMappingURL=OAuth2TokenInput.js.map
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { FormApi, FormState } from 'informed';
3
3
  import type { SecurityScheme } from '../../redoc-lib';
4
- import type { SecurityDetails } from '../../utils';
4
+ import type { SecurityDetails } from '../../types';
5
5
  export interface OpenIDConnectProps {
6
6
  server: string;
7
7
  authCorsProxyUrl: Maybe<string>;
@@ -13,3 +13,6 @@ export interface OpenIDConnectProps {
13
13
  defaultValues?: SecurityDetails;
14
14
  }
15
15
  export declare function OpenIDConnect(props: OpenIDConnectProps): JSX.Element;
16
+ export declare function Error({ message }: {
17
+ message: string;
18
+ }): JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenIDConnect=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),styled_components_1=(0,tslib_1.__importDefault)(require("styled-components")),OpenIDConnect_1=require("../../services/OpenIDConnect"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2Flow_1=require("./OAuth2Flow");function OpenIDConnect(e){var t,n=this,r=e.scheme,o=e.defaultValues,a=React.useState({}),l=a[0],c=a[1],i=React.useState(),s=i[0],u=i[1],m=React.useState(!1),p=m[0],_=m[1];React.useEffect((function(){d(r.openIdConnectUrl)}),[r.openIdConnectUrl]);var d=function(e){return(0,tslib_1.__awaiter)(n,void 0,void 0,(function(){var t,n;return(0,tslib_1.__generator)(this,(function(r){switch(r.label){case 0:_(!0),u(""),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,(0,OpenIDConnect_1.discoverOpenIDConnect)(e)];case 2:return t=r.sent(),c(t),[3,4];case 3:return n=r.sent(),u(n.message),[3,4];case 4:return _(!1),[2]}}))}))};return React.createElement("div",null,p?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement("div",null,s?React.createElement(form_1.FormError,null,s):(null===(t=null==l?void 0:l.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:l.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:l.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):React.createElement("div",null,"Unsupported flow")))}exports.OpenIDConnect=OpenIDConnect;var templateObject_1,FlowName=styled_components_1.default.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Error=exports.OpenIDConnect=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importStar)(require("react")),OpenIDConnect_1=require("../../services/OpenIDConnect"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2Flow_1=require("./OAuth2Flow"),styled_1=require("./styled");function OpenIDConnect(e){var t,r,n=this,l=e.scheme,o=e.defaultValues,a=(0,react_1.useState)({}),u=a[0],i=a[1],c=(0,react_1.useState)(),s=c[0],d=c[1],_=(0,react_1.useState)(!1),p=_[0],f=_[1];(0,react_1.useEffect)((function(){m(l.openIdConnectUrl)}),[l.openIdConnectUrl]);var m=function(e){return(0,tslib_1.__awaiter)(n,void 0,void 0,(function(){var t,r;return(0,tslib_1.__generator)(this,(function(n){switch(n.label){case 0:f(!0),d(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,(0,OpenIDConnect_1.discoverOpenIDConnect)(e)];case 2:return t=n.sent(),i(t),[3,4];case 3:return r=n.sent(),d(r.message),[3,4];case 4:return f(!1),[2]}}))}))};return p?react_1.default.createElement(Loading,null):s?react_1.default.createElement(Error,{message:s}):react_1.default.createElement("div",null,react_1.default.createElement("div",null,(null===(t=null==u?void 0:u.response_types_supported)||void 0===t?void 0:t.includes("token"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Implicit Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:u.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:u.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):(null===(r=null==u?void 0:u.response_types_supported)||void 0===r?void 0:r.includes("code"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Authorization Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:u.authorization_endpoint,tokenUrl:u.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:u.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==u?void 0:u.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:o})):react_1.default.createElement("div",null,"Unsupported flow")))}function Loading(){return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement("div",null,"Fetching OpenID Connect metadata..."),react_1.default.createElement(LinearProgress_1.LinearProgress,null)))}function Error(e){var t=e.message;return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement(form_1.FormError,null,t)))}exports.OpenIDConnect=OpenIDConnect,exports.Error=Error;
2
2
  //# sourceMappingURL=OpenIDConnect.js.map
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { FieldModel } from '../../redoc-lib';
3
+ interface ParameterArrayProps {
4
+ name: string;
5
+ param: FieldModel;
6
+ place: string;
7
+ renderParameter: any;
8
+ }
9
+ export declare const ParameterArray: ({ name, param, place, renderParameter, }: ParameterArrayProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParameterArray=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),styled_components_1=(0,tslib_1.__importDefault)(require("styled-components")),form_1=require("../common/form"),ParameterArray=function(e){var t,n,r,a,o,l=e.name,i=e.param,c=e.place,s=e.renderParameter,m=React.useState([]),d=m[0],p=m[1],u=(null===(t=i.schema.items)||void 0===t?void 0:t.fields)?null===(n=i.schema.items)||void 0===n?void 0:n.fields:[{schema:(null===(r=i.schema.items)||void 0===r?void 0:r.schema)||i.schema.items,name:"",required:i.required,description:null===(a=i.schema.items)||void 0===a?void 0:a.description,externalDocs:null===(o=i.schema.items)||void 0===o?void 0:o.externalDocs,deprecated:!1,toggle:function(){return null},expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(form_1.FormLabel,{required:i.required},l,"(",d.length," items)"),React.createElement("span",{onClick:function(){p((0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],d,!0),[d.length?d[d.length-1]+1:0],!1))}},"Add item +")),null==d?void 0:d.map((function(e,t){return React.createElement(Row,{key:e},React.createElement(Delete,{onClick:function(){return t=e,void p(d.filter((function(e){return e!==t})));var t}},"delete"),u.map((function(n){return s(n,c,l+".["+e+"]","["+t+"]"+(n.name&&"."+n.name))})))})))};exports.ParameterArray=ParameterArray;var templateObject_1,templateObject_2,Row=styled_components_1.default.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-bottom: 10px;\n label {\n padding-bottom: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.5;\n }\n span {\n cursor: pointer;\n margin-left: auto;\n color: var(--color-content-secondary);\n &:hover {\n color: #fff;\n }\n }\n"],["\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-bottom: 10px;\n label {\n padding-bottom: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.5;\n }\n span {\n cursor: pointer;\n margin-left: auto;\n color: var(--color-content-secondary);\n &:hover {\n color: #fff;\n }\n }\n"]))),Delete=styled_components_1.default.span(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n background: transparent;\n border: none;\n cursor: pointer;\n position: relative;\n"],["\n background: transparent;\n border: none;\n cursor: pointer;\n position: relative;\n"])));
2
+ //# sourceMappingURL=ParameterArray.js.map
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { RequestBodyProps } from './types';
3
+ export declare const RequestBody: React.NamedExoticComponent<RequestBodyProps>;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importStar)(require("react")),mobx_react_1=require("mobx-react"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../../redoc-lib"),Samples_1=require("../../Samples"),utils_1=require("../../../services/utils"),helper_1=require("../../common/FileUpload/helper"),types_1=require("../../../types"),Dropdown_1=require("../../common/Dropdown"),RequestBodyForm_1=require("../RequestBodyForm"),RequestMimeLabel_1=require("../RequestMimeLabel"),CodemirrorInput_1=(0,tslib_1.__importDefault)(require("../CodemirrorInput")),utils_2=require("../utils"),utils_3=require("../../../utils"),RequestBodyComponent=(0,mobx_react_1.observer)((function(e){var t,r=e.body,a=e.formApi,o=e.resolvedBody,l=e.properties,i=e.id,n=e.validate,u=r.content,s=function(e){var t;if(!u||!u.hasSample)return"";var r=null===(t=u.active)||void 0===t?void 0:t.examples;if(!(null==r?void 0:r[e]))return"";var a=null==r?void 0:r[e].value,o=l?(0,deepmerge_1.default)(a,l,{arrayMerge:utils_1.arrayMergeStrategy}):a;return JSON.stringify(o,null,2)},d=null===(t=null==u?void 0:u.operation)||void 0===t?void 0:t.activeExampleName,m=function(e){var t;null===(t=null==u?void 0:u.operation)||void 0===t||t.activateExampleName(e),a.setValue("body",s(e))},_=function(e,t){(0,a.setValue)("body."+e,t)};(0,react_1.useEffect)((function(){!1!==d?a.setValue("body",(0,utils_3.fromSessionStorage)(i+"_"+(d||""))||s(d||"")):a.setValue("body",JSON.stringify(l||{},null,2))}),[d]);var c=(0,react_1.useCallback)((function(e){return function(t){(0,utils_3.toSessionStorage)(i+"_"+e,t)}}),[i]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(redoc_lib_1.MediaTypesSwitch,{content:r.content,renderDropdown:function(e){return react_1.default.createElement(redoc_lib_1.DropdownOrLabel,(0,tslib_1.__assign)({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel_1.RequestMimeLabel,Dropdown:Dropdown_1.Dropdown}))}},(function(e){var t=e.examples||{},r=Object.keys(t),u=e.schema,s=(0,helper_1.isRootFileUpload)(u||{},e.name)||e.name===types_1.MediaTypes.MULTIPART||e.name===types_1.MediaTypes.URL_ENCODED,d=(0,Samples_1.useExampleKey)(e.operation,t).exampleKey,p=(0,utils_3.fromSessionStorage)(i+"_"+d)||(0,utils_2.encodeSample)(t[d],l);return react_1.default.createElement(react_1.default.Fragment,null,r.length&&1!==r.length&&react_1.default.createElement(Samples_1.ExampleSwitch,{examples:t,onChange:m,exampleKey:d,panel:"try-it"})||null,s?react_1.default.createElement(RequestBodyForm_1.RequestBodyForm,{mediaType:e,formApi:a,onChange:_}):react_1.default.createElement(CodemirrorInput_1.default,{id:"body"+i,field:"body",initialValue:p,schema:((null==o?void 0:o.content[e.name])||{}).schema,mode:e.name,validate:n,onChange:c(d)}))})))}));exports.RequestBody=(0,react_1.memo)(RequestBodyComponent);
2
+ //# sourceMappingURL=RequestBody.js.map
@@ -0,0 +1,2 @@
1
+ export { RequestBody } from './RequestBody';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),RequestBody_1=require("./RequestBody");Object.defineProperty(exports,"RequestBody",{enumerable:!0,get:function(){return RequestBody_1.RequestBody}}),(0,tslib_1.__exportStar)(require("./types"),exports);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,10 @@
1
+ import type { FormApi } from 'informed';
2
+ import type { RequestBodyModel, OpenAPIRequestBody } from '../../../redoc-lib';
3
+ export interface RequestBodyProps {
4
+ body: RequestBodyModel;
5
+ resolvedBody: OpenAPIRequestBody;
6
+ validate: () => string | undefined;
7
+ formApi: FormApi;
8
+ id: string;
9
+ properties: any;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
2
+ //# sourceMappingURL=types.js.map
@@ -1,9 +1,10 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import type { FormApi } from 'informed';
3
3
  import type { FieldModel, MediaTypeModel } from '../../redoc-lib';
4
+ import type { UploadFileType } from '../../models';
4
5
  export declare const RequestBodyForm: (props: {
5
6
  mediaType: MediaTypeModel;
6
- onChange: React.ChangeEventHandler<HTMLInputElement>;
7
+ onChange(key: string, file: UploadFileType): void;
7
8
  formApi?: FormApi<import("informed").FormValues> | undefined;
8
9
  }) => JSX.Element | null;
9
10
  export declare function getRequestBodyFormFields(mediaType: MediaTypeModel): FieldModel[];
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { ServersDropdownProps } from './types';
3
+ export declare const ServersDropdown: ({ operation, onChange }: ServersDropdownProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;var tslib_1=require("tslib"),react_1=(0,tslib_1.__importStar)(require("react")),mobx_react_1=require("mobx-react"),styled_components_1=(0,tslib_1.__importDefault)(require("styled-components")),utils_1=require("../../../utils"),form_1=require("../../common/form"),utils_2=require("../utils"),ServerVariable_1=(0,tslib_1.__importDefault)(require("../ServerVariable")),hooks_1=require("../../../hooks"),styled_1=require("../styled");exports.ServersDropdown=(0,mobx_react_1.observer)((function(e){var r=e.operation,t=e.onChange,a=(0,utils_1.fromSessionStorage)("serverUrl"),l=r.servers.findIndex((function(e){return e.url===a})),s=(0,react_1.useState)(l<0?0:l),i=s[0],n=s[1],o=(0,react_1.useState)({}),u=o[0],_=o[1];(0,hooks_1.useMount)((function(){var e=(0,utils_2.getServerWithVariables)(r.servers,i);t(e),_(e.variables)}));var v=r.servers.map((function(e,r){return{idx:r,serverUrl:e.url,value:"\n "+(0,utils_2.expandDefaultServerVariables)((0,utils_2.expandVariables)(e.url,u),e.variables)+"\n - "+(e.description||"Default")+"\n "}})),d=Object.keys(u);return react_1.default.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},react_1.default.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(styled_1.TryItDropdown,{variant:"dark",value:v[i].value,options:v,fullWidth:!0,onChange:function(e){var a=r.servers.find((function(r){return r.url===e.serverUrl})),l=r.servers.findIndex((function(r){return r.url===e.serverUrl})),s=(0,utils_2.getDefaultOrStoredVariables)(a);t({url:e.serverUrl||"",variables:s}),(0,utils_1.toSessionStorage)("serverUrl",e.serverUrl||""),n(l),_(s)}})),null==d?void 0:d.map((function(e){var a,l=null===(a=r.servers[i].variables)||void 0===a?void 0:a[e];if(l)return react_1.default.createElement(ServerVariable_1.default,{key:e,name:e,value:u[e],defaultValue:l.default,onChange:function(a){return function(e,a){var l,s=r.servers[i],n=a||""===a?a:(0,utils_2.getDefaultOrStoredVariables)(s)[e],o=(0,tslib_1.__assign)((0,tslib_1.__assign)({},u),((l={})[e]=n,l));_(o),(0,utils_2.updateVariablesStorage)(e,n),t((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{variables:o}))}(e,a)},variableEnum:l.enum,description:l.description})})))}));var templateObject_1,ServerDropdownWrap=styled_components_1.default.div(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 20px;\n"],["\n margin-bottom: 20px;\n"])));
2
+ //# sourceMappingURL=ServersDropdown.js.map
@@ -0,0 +1 @@
1
+ export { ServersDropdown } from './ServersDropdown';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;var ServersDropdown_1=require("./ServersDropdown");Object.defineProperty(exports,"ServersDropdown",{enumerable:!0,get:function(){return ServersDropdown_1.ServersDropdown}});
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ import type { OperationModel, Server } from '../../../redoc-lib';
2
+ export interface ServersDropdownProps {
3
+ operation: OperationModel;
4
+ onChange: (server: Server) => void;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
2
+ //# sourceMappingURL=types.js.map
@@ -18,3 +18,4 @@ export declare const PanelPreCodeBlock: import("styled-components").StyledCompon
18
18
  'data-component-name': string;
19
19
  }, "data-component-name">;
20
20
  export declare const ResponseHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
21
+ export declare const FlowName: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseHeader=exports.PanelPreCodeBlock=exports.TryItDropdown=exports.invertedInputStyles=exports.CloseButton=exports.ConsoleBody=exports.ConsoleWrap=exports.blink=void 0;var tslib_1=require("tslib"),styled_components_1=(0,tslib_1.__importStar)(require("styled-components")),theme_1=require("@redocly/theme"),Dropdown_1=require("../common/Dropdown"),shake=(0,styled_components_1.keyframes)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));exports.blink=(0,styled_components_1.keyframes)(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"],["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"])));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,templateObject_9,templateObject_10,shakeAnimation=(0,styled_components_1.css)(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);exports.ConsoleWrap=styled_components_1.default.div(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){var e=n.scrollYOffset;return e?e():0}),(function(n){return n.shaking&&shakeAnimation})),exports.ConsoleBody=styled_components_1.default.div(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"])),(function(n){return n.hidden?"none":"flex"})),exports.CloseButton=styled_components_1.default.span(templateObject_6||(templateObject_6=(0,tslib_1.__makeTemplateObject)(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"]))),exports.invertedInputStyles=(0,styled_components_1.css)(templateObject_7||(templateObject_7=(0,tslib_1.__makeTemplateObject)(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"]))),exports.TryItDropdown=(0,styled_components_1.default)(Dropdown_1.Dropdown)(templateObject_8||(templateObject_8=(0,tslib_1.__makeTemplateObject)(["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"],["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"]))),exports.PanelPreCodeBlock=(0,styled_components_1.default)(theme_1.PreformattedCodeBlock)(templateObject_9||(templateObject_9=(0,tslib_1.__makeTemplateObject)(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),exports.ResponseHeader=styled_components_1.default.div(templateObject_10||(templateObject_10=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"])));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FlowName=exports.ResponseHeader=exports.PanelPreCodeBlock=exports.TryItDropdown=exports.invertedInputStyles=exports.CloseButton=exports.ConsoleBody=exports.ConsoleWrap=exports.blink=void 0;var tslib_1=require("tslib"),styled_components_1=(0,tslib_1.__importStar)(require("styled-components")),theme_1=require("@redocly/theme"),Dropdown_1=require("../common/Dropdown"),shake=(0,styled_components_1.keyframes)(templateObject_1||(templateObject_1=(0,tslib_1.__makeTemplateObject)(["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"],["\n 10%, 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(4px, 0, 0);\n }\n"])));exports.blink=(0,styled_components_1.keyframes)(templateObject_2||(templateObject_2=(0,tslib_1.__makeTemplateObject)(["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"],["\n 0% {\n background-color: #007abf;\n }\n\n 50% {\n background-color: #59C3FF;\n }\n\n 100% {\n background-color: #007abf;\n }\n"])));var templateObject_1,templateObject_2,templateObject_3,templateObject_4,templateObject_5,templateObject_6,templateObject_7,templateObject_8,templateObject_9,templateObject_10,templateObject_11,shakeAnimation=(0,styled_components_1.css)(templateObject_3||(templateObject_3=(0,tslib_1.__makeTemplateObject)(["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"],["\n animation: "," 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n"])),shake);exports.ConsoleWrap=styled_components_1.default.div(templateObject_4||(templateObject_4=(0,tslib_1.__makeTemplateObject)(["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"],["\n background-color: var(--samples-panel-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n border-radius: var(--panels-border-radius);\n overflow: hidden;\n z-index: 10;\n display: flex;\n flex-direction: column;\n max-height: calc(85vh - ","px);\n margin-bottom: 10px;\n ",";\n > div:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n"])),(function(n){var e=n.scrollYOffset;return e?e():0}),(function(n){return n.shaking&&shakeAnimation})),exports.ConsoleBody=styled_components_1.default.div(templateObject_5||(templateObject_5=(0,tslib_1.__makeTemplateObject)(["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"],["\n flex: 1;\n padding: 20px 20px 15px;\n overflow: auto;\n display: ",";\n flex-direction: column;\n position: relative;\n background-color: var(--samples-panel-background-color);\n"])),(function(n){return n.hidden?"none":"flex"})),exports.CloseButton=styled_components_1.default.span(templateObject_6||(templateObject_6=(0,tslib_1.__makeTemplateObject)(["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"],["\n cursor: pointer;\n font-size: 24px;\n font-weight: bold;\n color: var(--color-content-inverse);\n"]))),exports.invertedInputStyles=(0,styled_components_1.css)(templateObject_7||(templateObject_7=(0,tslib_1.__makeTemplateObject)(["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"],["\n border: none;\n outline: none;\n padding: 8px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-family: var(--code-font-family);\n font-size: var(--font-size-base);\n\n &::placeholder {\n opacity: 0.6;\n color: var(--color-content-inverse);\n }\n\n &:-webkit-autofill {\n background-color: var(--samples-panel-background-color);\n }\n"]))),exports.TryItDropdown=(0,styled_components_1.default)(Dropdown_1.Dropdown)(templateObject_8||(templateObject_8=(0,tslib_1.__makeTemplateObject)(["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"],["\n .dropdown-select,\n label {\n background-color: var(--try-it-panel-controls-background-color);\n border-color: var(--try-it-panel-controls-background-color);\n }\n"]))),exports.PanelPreCodeBlock=(0,styled_components_1.default)(theme_1.PreformattedCodeBlock)(templateObject_9||(templateObject_9=(0,tslib_1.__makeTemplateObject)(["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"],["\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n"]))),exports.ResponseHeader=styled_components_1.default.div(templateObject_10||(templateObject_10=(0,tslib_1.__makeTemplateObject)(["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"],["\n margin-bottom: 10px;\n\n &:not(:first-child) {\n margin-top: 10px;\n }\n"]))),exports.FlowName=styled_components_1.default.div(templateObject_11||(templateObject_11=(0,tslib_1.__makeTemplateObject)(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
2
2
  //# sourceMappingURL=styled.js.map
@@ -1,5 +1,6 @@
1
- import type { FieldModel, OpenAPIServer, SecurityScheme, Server, ServerVariables, OperationModel } from '../../redoc-lib';
1
+ import type { FieldModel, OpenAPIServer, SecurityScheme, Server, ServerVariables, OperationModel, ExampleModel } from '../../redoc-lib';
2
2
  import type { RedocProNormalizedOptions } from '../../services';
3
+ import type { RequestBodyProps } from './RequestBody';
3
4
  export declare function normalizeUrlProtocol(url: string): string;
4
5
  export declare function updateStorage(state: GenericObject): void;
5
6
  export declare const getParameters: (parameters: FieldModel[], type: string) => GenericObject;
@@ -14,3 +15,10 @@ export declare function getFileNameFromHeaders(headers: Record<string, string>):
14
15
  export declare const makeRequestInterceptor: ({ requestInterceptor, sendXUserAgentInTryIt, disableTryItRequestUrlEncoding, }: Pick<RedocProNormalizedOptions, 'requestInterceptor' | 'sendXUserAgentInTryIt' | 'disableTryItRequestUrlEncoding'>, operation: OperationModel, securitySchemaAuth?: string | undefined) => (req: Request) => void | Request;
15
16
  export declare function requiredValidator(value: unknown): string | undefined;
16
17
  export declare function fromCookie(scheme: SecurityScheme): string | undefined;
18
+ export declare const validateTokenEndpointMethod: (token: string[] | string | undefined) => boolean;
19
+ export declare const getOAuth2TokenEndpointAuthHeader: ({ authMethod, clientId, clientSecret, }: {
20
+ authMethod?: string | string[] | undefined;
21
+ clientId: string;
22
+ clientSecret: string;
23
+ }) => Record<'Authorization', string> | GenericObject;
24
+ export declare function encodeSample(sample: ExampleModel, properties: RequestBodyProps['properties']): string;