@redocly/openapi-docs 3.12.0-rc.7 → 3.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/redocly-openapi-docs.min.js +2153 -1963
  2. package/lib/components/ApiInfo/ApiInfo.js +29 -1
  3. package/lib/components/ApiInfo/Metadata.js +29 -1
  4. package/lib/components/ApiInfo/index.js +2 -1
  5. package/lib/components/ApiInfo/styled.js +17 -8
  6. package/lib/components/CallbackSamples/CallbackSamples.js +25 -4
  7. package/lib/components/CallbackSamples/index.js +2 -1
  8. package/lib/components/Callbacks/CallbackDetails.js +17 -3
  9. package/lib/components/Callbacks/CallbackOperation.js +24 -3
  10. package/lib/components/Callbacks/CallbackSummary.js +19 -3
  11. package/lib/components/Callbacks/CallbacksList.js +16 -1
  12. package/lib/components/Callbacks/index.js +4 -1
  13. package/lib/components/Callbacks/styled.js +6 -3
  14. package/lib/components/Content/Content.js +10 -1
  15. package/lib/components/Content/index.js +2 -1
  16. package/lib/components/Content/useAutoScroll.js +50 -1
  17. package/lib/components/ContentItem/ContentItem.js +31 -1
  18. package/lib/components/ContentItem/index.js +2 -1
  19. package/lib/components/ContentItem/useIsExpanded.js +33 -1
  20. package/lib/components/ContentItems/ContentItems.js +19 -1
  21. package/lib/components/ContentItems/Items.js +13 -1
  22. package/lib/components/ContentItems/VirtualList.js +35 -1
  23. package/lib/components/ContentItems/helpers.js +49 -1
  24. package/lib/components/ContentItems/index.js +2 -1
  25. package/lib/components/ContentItems/useScrollOnRender.js +26 -1
  26. package/lib/components/Discriminator/Discriminator.js +27 -2
  27. package/lib/components/Discriminator/index.js +2 -1
  28. package/lib/components/Download/DownloadSpecification.js +46 -4
  29. package/lib/components/Download/index.js +2 -1
  30. package/lib/components/Download/types.js +2 -0
  31. package/lib/components/Download/useDownloadInfo.js +42 -1
  32. package/lib/components/ErrorBoundary/ErrorBoundary.js +22 -2
  33. package/lib/components/ErrorBoundary/index.js +2 -1
  34. package/lib/components/ExpandAllButton/ExpandAllButton.js +31 -2
  35. package/lib/components/ExpandAllButton/index.js +2 -1
  36. package/lib/components/ExternalDocumentation/ExternalDocumentation.js +18 -4
  37. package/lib/components/ExternalDocumentation/index.js +2 -1
  38. package/lib/components/Language/LanguageDropdown.js +21 -1
  39. package/lib/components/Language/LanguageItem.js +33 -1
  40. package/lib/components/Language/LanguageList.js +93 -1
  41. package/lib/components/Language/_tests_/LanguageDropdown.test.js +23 -1
  42. package/lib/components/Language/constants.js +3 -1
  43. package/lib/components/Language/index.js +4 -1
  44. package/lib/components/Language/styled.js +29 -15
  45. package/lib/components/Markdown/Markdown.js +64 -1
  46. package/lib/components/Markdown/index.js +3 -1
  47. package/lib/components/Markdown/types.js +2 -0
  48. package/lib/components/MediaTypeSwitch/MediaTypesSwitch.js +51 -1
  49. package/lib/components/MediaTypeSwitch/index.js +2 -1
  50. package/lib/components/OperationItem/Description.d.ts +1 -4
  51. package/lib/components/OperationItem/Description.js +9 -1
  52. package/lib/components/OperationItem/OperationItem.js +70 -5
  53. package/lib/components/OperationItem/_tests_/OperationItem.test.js +70 -1
  54. package/lib/components/OperationItem/_tests_/__mocks__/mock-intersection-observer.js +40 -1
  55. package/lib/components/OperationItem/index.js +2 -1
  56. package/lib/components/OperationItem/types.js +2 -0
  57. package/lib/components/Overlay.js +48 -3
  58. package/lib/components/Overview/Overview.js +20 -1
  59. package/lib/components/Overview/index.js +2 -1
  60. package/lib/components/PageFooter/PageFooter.js +19 -1
  61. package/lib/components/PageFooter/index.js +2 -1
  62. package/lib/components/Panel/ResponsePanel.js +12 -6
  63. package/lib/components/Panel/Trigger.js +4 -2
  64. package/lib/components/Panel/index.js +3 -1
  65. package/lib/components/PanelItem/PanelItem.js +6 -1
  66. package/lib/components/PanelItem/index.js +3 -1
  67. package/lib/components/PanelItem/styled.js +20 -10
  68. package/lib/components/PayloadSamples/Example.js +6 -1
  69. package/lib/components/PayloadSamples/ExampleValue.js +30 -1
  70. package/lib/components/PayloadSamples/MediaTypeSamples.js +36 -2
  71. package/lib/components/PayloadSamples/PayloadSamples.js +26 -1
  72. package/lib/components/PayloadSamples/index.js +7 -1
  73. package/lib/components/PayloadSamples/styled.js +9 -4
  74. package/lib/components/PayloadSamples/types.js +2 -0
  75. package/lib/components/PropertyDetails/DescriptionEnums.js +19 -3
  76. package/lib/components/PropertyDetails/EnumValues.js +37 -1
  77. package/lib/components/PropertyDetails/Examples.js +26 -1
  78. package/lib/components/PropertyDetails/Extensions.js +17 -2
  79. package/lib/components/PropertyDetails/FieldDetail.js +15 -2
  80. package/lib/components/PropertyDetails/FieldDetails.js +51 -6
  81. package/lib/components/PropertyDetails/Pattern.js +21 -1
  82. package/lib/components/PropertyDetails/PlusCircleIcon.js +10 -4
  83. package/lib/components/PropertyDetails/PropertyDetails.js +22 -5
  84. package/lib/components/PropertyDetails/SchemaTypeInfo.js +10 -2
  85. package/lib/components/PropertyDetails/SimpleEnums.js +13 -2
  86. package/lib/components/PropertyDetails/cycleColorsByLevel.js +18 -1
  87. package/lib/components/PropertyDetails/index.js +4 -1
  88. package/lib/components/PropertyDetails/styled.js +15 -7
  89. package/lib/components/PropertyDetails/types.js +2 -0
  90. package/lib/components/RedoclyOpenAPIDocs/Providers.js +114 -1
  91. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +57 -1
  92. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsStandalone.js +86 -1
  93. package/lib/components/RedoclyOpenAPIDocs/index.js +5 -1
  94. package/lib/components/RedoclyOpenAPIDocs/styled.js +4 -2
  95. package/lib/components/RedoclyOpenAPIDocs/types.js +2 -0
  96. package/lib/components/RedoclyOpenAPIDocs/utils.js +33 -1
  97. package/lib/components/RenderHook/RenderHook.js +17 -1
  98. package/lib/components/RenderHook/index.js +2 -1
  99. package/lib/components/Replay/EmbeddedReplay.js +41 -3
  100. package/lib/components/Replay/Replay.js +99 -1
  101. package/lib/components/Replay/index.js +3 -1
  102. package/lib/components/Replay/utils.js +208 -1
  103. package/lib/components/Request/RequestDetails.js +33 -2
  104. package/lib/components/Request/types.js +2 -0
  105. package/lib/components/RequestParameters/Body.js +8 -1
  106. package/lib/components/RequestParameters/ParametersGroup.js +19 -4
  107. package/lib/components/RequestParameters/RequestParameters.js +40 -1
  108. package/lib/components/RequestParameters/index.js +4 -1
  109. package/lib/components/RequestSamples/CodeSample.js +55 -2
  110. package/lib/components/RequestSamples/Example.js +37 -1
  111. package/lib/components/RequestSamples/RequestSamples.js +89 -5
  112. package/lib/components/RequestSamples/index.js +3 -1
  113. package/lib/components/RequestSamples/useCodeSamples.js +92 -1
  114. package/lib/components/ResponseSamples/ResponseSamples.js +47 -1
  115. package/lib/components/ResponseSamples/Summary.js +9 -1
  116. package/lib/components/ResponseSamples/index.js +2 -1
  117. package/lib/components/Responses/OperationResponseList.js +42 -2
  118. package/lib/components/Responses/ResponseDetails.js +18 -1
  119. package/lib/components/Responses/ResponseHeaders.js +15 -1
  120. package/lib/components/Responses/index.js +6 -1
  121. package/lib/components/Responses/styled.js +14 -6
  122. package/lib/components/Responses/types.js +2 -0
  123. package/lib/components/RightPanel/RightPanel.js +21 -1
  124. package/lib/components/RightPanel/index.js +2 -1
  125. package/lib/components/Samples/ExampleSwitch.js +33 -1
  126. package/lib/components/Samples/index.js +3 -1
  127. package/lib/components/Samples/use-example-key.js +12 -1
  128. package/lib/components/Schema/ArraySchema.js +45 -1
  129. package/lib/components/Schema/ObjectSchema.js +29 -1
  130. package/lib/components/Schema/OneOfSchema.js +47 -3
  131. package/lib/components/Schema/RecursiveSchema.js +10 -1
  132. package/lib/components/Schema/Schema.js +63 -2
  133. package/lib/components/Schema/SubSchema.js +20 -1
  134. package/lib/components/Schema/helpers.js +16 -1
  135. package/lib/components/Schema/index.js +5 -1
  136. package/lib/components/Schema/types.js +2 -0
  137. package/lib/components/Schema/useOneOfLocationIdx.js +11 -1
  138. package/lib/components/SchemaDefinition/SchemaDefinition.js +65 -2
  139. package/lib/components/SchemaDefinition/index.js +2 -1
  140. package/lib/components/SectionContent/SectionContent.js +49 -6
  141. package/lib/components/SectionContent/index.js +2 -1
  142. package/lib/components/SectionItem/SectionItem.js +14 -1
  143. package/lib/components/SectionItem/index.js +2 -1
  144. package/lib/components/Security/Divider.js +9 -2
  145. package/lib/components/Security/OAuthFlow.js +11 -1
  146. package/lib/components/Security/OAuthScopes.js +59 -9
  147. package/lib/components/Security/Security.js +15 -1
  148. package/lib/components/Security/SecurityButton.js +31 -7
  149. package/lib/components/Security/SecurityFlow.js +28 -4
  150. package/lib/components/Security/SecurityModal.js +34 -5
  151. package/lib/components/Security/SecuritySchemeItem.js +15 -4
  152. package/lib/components/Security/helper.js +16 -1
  153. package/lib/components/Security/index.js +11 -1
  154. package/lib/components/Security/styled.js +6 -3
  155. package/lib/components/SelectOrLabel/SelectOrLabel.js +12 -2
  156. package/lib/components/SelectOrLabel/index.js +2 -1
  157. package/lib/components/ServerList/ServerList.js +36 -10
  158. package/lib/components/ServerList/index.js +2 -1
  159. package/lib/components/ServerList/types.js +2 -0
  160. package/lib/components/ServerListDropdown/ServerListDropdown.js +54 -1
  161. package/lib/components/ServerListDropdown/index.js +2 -1
  162. package/lib/components/ServerListDropdown/styled.js +15 -6
  163. package/lib/components/SideMenu/SideMenu.js +13 -2
  164. package/lib/components/SideMenu/hooks/useMenuItems.js +110 -1
  165. package/lib/components/SideMenu/index.js +2 -1
  166. package/lib/components/SideMenu/types.js +2 -0
  167. package/lib/components/StickySidebar/SidebarActions.js +14 -2
  168. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +37 -7
  169. package/lib/components/StickySidebar/index.js +2 -1
  170. package/lib/components/Tabs/Tabs.js +16 -5
  171. package/lib/components/Tabs/index.js +3 -1
  172. package/lib/components/Tabs/useTabsState.js +22 -1
  173. package/lib/components/TagItem/OperationNavigationItems.js +18 -4
  174. package/lib/components/TagItem/OperationsNavigation.js +46 -2
  175. package/lib/components/TagItem/TagItem.js +41 -8
  176. package/lib/components/TagItem/index.js +2 -1
  177. package/lib/components/TagItem/styled.js +5 -2
  178. package/lib/components/TagItem/types.js +2 -0
  179. package/lib/components/ViewNested/ViewNested.js +42 -9
  180. package/lib/components/ViewNested/index.js +2 -1
  181. package/lib/components/common/Badges.js +21 -5
  182. package/lib/components/common/BodyContent/BodyContent.js +31 -4
  183. package/lib/components/common/BodyContent/index.js +2 -1
  184. package/lib/components/common/ClearButton/ClearButton.js +5 -1
  185. package/lib/components/common/ClearButton/index.js +3 -1
  186. package/lib/components/common/ClearButton/styled.js +5 -2
  187. package/lib/components/common/ClearButton/types.js +2 -0
  188. package/lib/components/common/CodeBlockPanel.js +7 -3
  189. package/lib/components/common/ConstraintsView.js +14 -2
  190. package/lib/components/common/Dropdown/Dropdown.js +22 -4
  191. package/lib/components/common/Dropdown/index.js +2 -1
  192. package/lib/components/common/ExpandableExample/ExpandableExample.js +24 -3
  193. package/lib/components/common/ExpandableExample/index.js +2 -1
  194. package/lib/components/common/Extensions.js +17 -2
  195. package/lib/components/common/Fields/fields-layout.js +76 -51
  196. package/lib/components/common/Fields/fields.js +39 -17
  197. package/lib/components/common/Fields/index.js +3 -1
  198. package/lib/components/common/LinkToField.js +33 -6
  199. package/lib/components/common/OperationItemTitle.d.ts +1 -0
  200. package/lib/components/common/OperationItemTitle.js +16 -5
  201. package/lib/components/common/SchemaSelection/SchemaSelection.js +51 -1
  202. package/lib/components/common/SchemaSelection/index.js +2 -1
  203. package/lib/components/common/Select/Select.js +21 -1
  204. package/lib/components/common/Select/index.js +3 -1
  205. package/lib/components/common/Select/styled.js +17 -9
  206. package/lib/components/common/Select/types.js +2 -0
  207. package/lib/components/common/Skeleton/LanguageListSkeleton.js +16 -6
  208. package/lib/components/common/Skeleton/Skeleton.js +15 -5
  209. package/lib/components/common/Skeleton/index.js +3 -1
  210. package/lib/components/common/headers.js +4 -2
  211. package/lib/components/common/index.js +14 -1
  212. package/lib/components/common/linkify.js +28 -4
  213. package/lib/components/common/mixins.js +4 -2
  214. package/lib/components/common/panels.js +58 -33
  215. package/lib/components/common/schema.js +16 -8
  216. package/lib/components/common/styled.js +15 -7
  217. package/lib/components/index.js +25 -1
  218. package/lib/components/pluggable/RedocExample.js +20 -1
  219. package/lib/components/pluggable/RedocSchema.js +22 -1
  220. package/lib/components/pluggable/index.js +3 -1
  221. package/lib/components/pluggable/styled.components.js +9 -4
  222. package/lib/constants.js +30 -1
  223. package/lib/empty.js +7 -1
  224. package/lib/events/codeSampleCopy.js +19 -1
  225. package/lib/events/creator.js +5 -1
  226. package/lib/events/index.js +8 -1
  227. package/lib/events/languageSwitch.js +18 -1
  228. package/lib/events/panelToggle.js +16 -1
  229. package/lib/events/serverSwitch.js +13 -1
  230. package/lib/events/tryItOpen.js +12 -1
  231. package/lib/events/tryItSent.js +12 -1
  232. package/lib/events/types.js +11 -1
  233. package/lib/hoc/types.js +2 -0
  234. package/lib/hoc/utils.js +4 -1
  235. package/lib/hoc/withRouter.js +17 -1
  236. package/lib/hoc/withStore.js +28 -1
  237. package/lib/hooks/index.js +9 -1
  238. package/lib/hooks/useActivateExample.js +35 -1
  239. package/lib/hooks/useActiveWithFallback.js +12 -1
  240. package/lib/hooks/useContentItems.js +10 -1
  241. package/lib/hooks/useLicense.js +17 -1
  242. package/lib/hooks/usePerformanceMetrics.js +26 -1
  243. package/lib/hooks/useRouter.js +17 -1
  244. package/lib/hooks/useTelemetry.js +5 -1
  245. package/lib/hooks/useTranslate.js +6 -1
  246. package/lib/hooks/useUppercase2LowercaseRedirect.js +12 -1
  247. package/lib/icons/CSharpIcon/CSharpIcon.js +7 -1
  248. package/lib/icons/CSharpIcon/index.js +2 -1
  249. package/lib/icons/CurlIcon/CurlIcon.js +8 -2
  250. package/lib/icons/CurlIcon/index.js +2 -1
  251. package/lib/icons/GOIcon/GOIcon.js +7 -1
  252. package/lib/icons/GOIcon/index.js +2 -1
  253. package/lib/icons/JavaIcon/JavaIcon.js +7 -1
  254. package/lib/icons/JavaIcon/index.js +2 -1
  255. package/lib/icons/JavaScriptIcon/JavaScriptIcon.js +7 -1
  256. package/lib/icons/JavaScriptIcon/index.js +2 -1
  257. package/lib/icons/NodeJSIcon/NodeJSIcon.js +7 -1
  258. package/lib/icons/NodeJSIcon/index.js +2 -1
  259. package/lib/icons/PHPIcon/PHPIcon.js +7 -1
  260. package/lib/icons/PHPIcon/index.js +2 -1
  261. package/lib/icons/PayloadIcon/PayloadIcon.js +7 -1
  262. package/lib/icons/PayloadIcon/index.js +2 -1
  263. package/lib/icons/PythonIcon/PythonIcon.js +7 -1
  264. package/lib/icons/PythonIcon/index.js +2 -1
  265. package/lib/icons/RIcon/RIcon.js +7 -1
  266. package/lib/icons/RIcon/index.js +2 -1
  267. package/lib/icons/RubyIcon/RubyIcon.js +7 -1
  268. package/lib/icons/RubyIcon/index.js +2 -1
  269. package/lib/index.js +49 -1
  270. package/lib/jotai/app.js +113 -1
  271. package/lib/jotai/operation.js +28 -1
  272. package/lib/jotai/replay.js +5 -1
  273. package/lib/jotai/store.js +8 -1
  274. package/lib/jotai/use-write-atom.js +9 -1
  275. package/lib/models/callback.js +28 -1
  276. package/lib/models/code-sample-options.js +2 -0
  277. package/lib/models/example.js +17 -1
  278. package/lib/models/field.js +109 -1
  279. package/lib/models/group.js +38 -1
  280. package/lib/models/index.js +14 -1
  281. package/lib/models/mediaContent.js +26 -1
  282. package/lib/models/mediaType.js +153 -1
  283. package/lib/models/operation.js +166 -1
  284. package/lib/models/request.js +25 -1
  285. package/lib/models/response.js +46 -1
  286. package/lib/models/schema.js +474 -2
  287. package/lib/models/security.js +84 -1
  288. package/lib/models/tab.js +2 -0
  289. package/lib/models/types.js +2 -0
  290. package/lib/services/OpenAPIParser.js +321 -1
  291. package/lib/services/check.js +104 -1
  292. package/lib/services/code-samples/constants.js +16 -1
  293. package/lib/services/code-samples/generator.js +540 -1
  294. package/lib/services/code-samples/httpsnippet/helpers/code-builder.d.ts +5 -1
  295. package/lib/services/code-samples/httpsnippet/helpers/code-builder.js +252 -3
  296. package/lib/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +2 -2
  297. package/lib/services/code-samples/httpsnippet/helpers/code-helpers.js +90 -2
  298. package/lib/services/code-samples/httpsnippet/helpers/constants.js +28 -1
  299. package/lib/services/code-samples/httpsnippet/helpers/lodash-int.js +173 -1
  300. package/lib/services/code-samples/httpsnippet/helpers/mocks/code-helpers-mock.js +76 -37
  301. package/lib/services/code-samples/httpsnippet/helpers/reducer.js +16 -1
  302. package/lib/services/code-samples/httpsnippet/helpers/shell.js +20 -1
  303. package/lib/services/code-samples/httpsnippet/helpers/string-utility.js +19 -1
  304. package/lib/services/code-samples/httpsnippet/index.js +166 -1
  305. package/lib/services/code-samples/httpsnippet/targets/__mocks__/mock.js +2340 -146
  306. package/lib/services/code-samples/httpsnippet/targets/csharp/httpclient.js +227 -2
  307. package/lib/services/code-samples/httpsnippet/targets/csharp/index.js +11 -1
  308. package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/httpclient.js +185 -2
  309. package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/index.js +11 -1
  310. package/lib/services/code-samples/httpsnippet/targets/go/index.js +11 -1
  311. package/lib/services/code-samples/httpsnippet/targets/go/native.js +222 -3
  312. package/lib/services/code-samples/httpsnippet/targets/index.js +28 -1
  313. package/lib/services/code-samples/httpsnippet/targets/java/httpclient.js +184 -3
  314. package/lib/services/code-samples/httpsnippet/targets/java/index.js +11 -1
  315. package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +223 -2
  316. package/lib/services/code-samples/httpsnippet/targets/java8/index.js +11 -1
  317. package/lib/services/code-samples/httpsnippet/targets/javascript/fetch.js +147 -1
  318. package/lib/services/code-samples/httpsnippet/targets/javascript/index.js +11 -1
  319. package/lib/services/code-samples/httpsnippet/targets/node/fetch.js +199 -1
  320. package/lib/services/code-samples/httpsnippet/targets/node/index.js +11 -1
  321. package/lib/services/code-samples/httpsnippet/targets/php/curl.js +203 -5
  322. package/lib/services/code-samples/httpsnippet/targets/php/index.js +11 -1
  323. package/lib/services/code-samples/httpsnippet/targets/php/types.js +2 -0
  324. package/lib/services/code-samples/httpsnippet/targets/php/utils.js +106 -5
  325. package/lib/services/code-samples/httpsnippet/targets/python/index.js +11 -1
  326. package/lib/services/code-samples/httpsnippet/targets/python/requests.js +185 -6
  327. package/lib/services/code-samples/httpsnippet/targets/r/httr.js +111 -1
  328. package/lib/services/code-samples/httpsnippet/targets/r/index.js +11 -1
  329. package/lib/services/code-samples/httpsnippet/targets/r/utils.js +18 -6
  330. package/lib/services/code-samples/httpsnippet/targets/ruby/index.js +11 -1
  331. package/lib/services/code-samples/httpsnippet/targets/ruby/native.js +169 -1
  332. package/lib/services/code-samples/httpsnippet/targets/shell/curl.js +94 -6
  333. package/lib/services/code-samples/httpsnippet/targets/shell/index.js +11 -1
  334. package/lib/services/code-samples/index.js +3 -1
  335. package/lib/services/code-samples/types.js +2 -0
  336. package/lib/services/config-options/helpers.js +49 -1
  337. package/lib/services/config-options/index.js +3 -1
  338. package/lib/services/config-options/normalizeOptions.js +83 -1
  339. package/lib/services/config-options/types.js +2 -0
  340. package/lib/services/history/helpers.js +63 -1
  341. package/lib/services/history/index.js +2 -1
  342. package/lib/services/index.js +9 -1
  343. package/lib/services/menu/builder.js +47 -1
  344. package/lib/services/menu/index.js +2 -1
  345. package/lib/services/menu/markdown.js +93 -1
  346. package/lib/services/menu/operation.js +50 -1
  347. package/lib/services/menu/tags.js +166 -1
  348. package/lib/services/types.d.ts +0 -3
  349. package/lib/services/types.js +2 -0
  350. package/lib/services/utils.js +83 -1
  351. package/lib/standalone.js +68 -1
  352. package/lib/styled-components.js +6 -1
  353. package/lib/types/app.js +2 -0
  354. package/lib/types/index.js +4 -1
  355. package/lib/types/open-api.d.ts +1 -0
  356. package/lib/types/open-api.js +2 -0
  357. package/lib/types/security.js +2 -0
  358. package/lib/utils/JsonPointer.js +84 -1
  359. package/lib/utils/areArraysEqual.js +4 -1
  360. package/lib/utils/argValuesHelpers.js +35 -1
  361. package/lib/utils/compose.js +2 -1
  362. package/lib/utils/configure-helpers.js +223 -1
  363. package/lib/utils/convertSwagger2OpenAPI.js +14 -1
  364. package/lib/utils/cookies.js +73 -1
  365. package/lib/utils/debounce.js +22 -1
  366. package/lib/utils/debug.js +11 -1
  367. package/lib/utils/dom.js +65 -1
  368. package/lib/utils/environments.js +13 -1
  369. package/lib/utils/helpers.js +222 -12
  370. package/lib/utils/index.js +25 -1
  371. package/lib/utils/isMobile.js +13 -1
  372. package/lib/utils/loadAndBundleSpec.js +32 -1
  373. package/lib/utils/local-storage.js +12 -1
  374. package/lib/utils/object.js +31 -1
  375. package/lib/utils/openapi.js +592 -1
  376. package/lib/utils/parameters.js +13 -1
  377. package/lib/utils/path.js +22 -1
  378. package/lib/utils/queryString.js +60 -1
  379. package/lib/utils/replaceVariables.js +14 -1
  380. package/lib/utils/saveTextBeforeHeading.js +35 -1
  381. package/lib/utils/security-details.js +49 -1
  382. package/lib/utils/session-storage.js +12 -1
  383. package/lib/utils/simplifyAstStructure.js +22 -1
  384. package/lib/utils/sort.js +21 -1
  385. package/lib/utils/string.js +65 -1
  386. package/lib/utils/telemetry.js +7 -1
  387. package/lib/utils/test-utils.js +26 -1
  388. package/lib/utils/theme-helpers.js +24 -3
  389. package/lib/utils/url.js +38 -1
  390. package/package.json +5 -5
@@ -1 +1,60 @@
1
- import{tryDecodeURIComponent as d}from"./string.js";class f{parse(n){const e={};if(!n)return e;const r=n.startsWith("?")?n.substring(1).split("&"):n.split("&");for(const c of r){const[t,i]=c.split("=");if(t&&i){const o=d(t),s=d(i);if(o in e)Array.isArray(e[o])?e[o].push(s):e[o]=[e[o],s];else{const a=[",","|"].find(p=>s.includes(p));e[o]=a?s.split(a):s}}}return e}stringify(n,e={encode:!0,sort:!0}){const r=[];for(const[c,t]of Object.entries(n))if(Object.prototype.hasOwnProperty.call(n,c)){const i=e.encode?encodeURIComponent(c):c;if(Array.isArray(t)){for(const o of t)if(o){const s=e.encode?encodeURIComponent(o):o;r.push(`${i}=${s}`)}}else if(t){const o=e.encode?encodeURIComponent(t):t;r.push(`${i}=${o}`)}}return e.sort&&r.sort(),r.join("&")}}const l=new f;export{l as queryString};
1
+ import { tryDecodeURIComponent } from './string.js';
2
+ class QueryString {
3
+ parse(query) {
4
+ const params = {};
5
+ if (!query) {
6
+ return params;
7
+ }
8
+ const pairs = query.startsWith('?') ? query.substring(1).split('&') : query.split('&');
9
+ for (const pair of pairs) {
10
+ const [key, value] = pair.split('=');
11
+ if (key && value) {
12
+ const decodedKey = tryDecodeURIComponent(key);
13
+ const decodedValue = tryDecodeURIComponent(value);
14
+ if (decodedKey in params) {
15
+ if (Array.isArray(params[decodedKey])) {
16
+ params[decodedKey].push(decodedValue);
17
+ }
18
+ else {
19
+ params[decodedKey] = [params[decodedKey], decodedValue];
20
+ }
21
+ }
22
+ else {
23
+ const separators = [',', '|'];
24
+ const separator = separators.find((sep) => decodedValue.includes(sep));
25
+ params[decodedKey] = separator ? decodedValue.split(separator) : decodedValue;
26
+ }
27
+ }
28
+ }
29
+ return params;
30
+ }
31
+ stringify(params, options = { encode: true, sort: true }) {
32
+ const pairs = [];
33
+ for (const [key, value] of Object.entries(params)) {
34
+ if (Object.prototype.hasOwnProperty.call(params, key)) {
35
+ const encodedKey = options.encode ? encodeURIComponent(key) : key;
36
+ if (Array.isArray(value)) {
37
+ for (const element of value) {
38
+ if (element) {
39
+ const encodedValue = options.encode ? encodeURIComponent(element) : element;
40
+ pairs.push(`${encodedKey}=${encodedValue}`);
41
+ }
42
+ }
43
+ }
44
+ else {
45
+ if (value) {
46
+ const encodedValue = options.encode ? encodeURIComponent(value) : value;
47
+ pairs.push(`${encodedKey}=${encodedValue}`);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ if (options.sort) {
53
+ pairs.sort();
54
+ }
55
+ return pairs.join('&');
56
+ }
57
+ }
58
+ const queryString = new QueryString();
59
+ export { queryString };
60
+ //# sourceMappingURL=queryString.js.map
@@ -1 +1,14 @@
1
- function i(t){let{url:e,variables:r}=t;if(r)for(const a in r){const l=r[a];if(l.default){const n=new RegExp(`{${a}}`,"g");e=e.replace(n,l.default)}}return e}export{i as replaceVariables};
1
+ export function replaceVariables(server) {
2
+ let { url, variables } = server;
3
+ if (variables) {
4
+ for (const key in variables) {
5
+ const variable = variables[key];
6
+ if (variable.default) {
7
+ const regex = new RegExp(`{${key}}`, 'g');
8
+ url = url.replace(regex, variable.default);
9
+ }
10
+ }
11
+ }
12
+ return url;
13
+ }
14
+ //# sourceMappingURL=replaceVariables.js.map
@@ -1 +1,35 @@
1
- import f from"@markdoc/markdoc";import{isString as d}from"@redocly/theme/core/openapi";function u(r){if(!r)return"";if(!d(r))return r?.result?{result:g(f.Ast.fromJSON(JSON.stringify(r.result)))||"",raw:u(r.raw)}:r;const n=new RegExp("^#{1,6}?\\s+","m"),e=r.search(n);return e>-1?r.substring(0,e):r}function g(r){if(Array.isArray(r)){const e=r.findIndex(i=>i.type==="heading");return e===-1?r:r.slice(0,e)}if(!r.children||!Array.isArray(r.children))return;const n=r.children.findIndex(e=>e.type==="heading");return n===-1||(r.children=r.children.slice(0,n)),r}export{u as saveTextBeforeHeading};
1
+ import markdoc from '@markdoc/markdoc';
2
+ import { isString } from '@redocly/theme/core/openapi';
3
+ export function saveTextBeforeHeading(description) {
4
+ if (!description) {
5
+ return '';
6
+ }
7
+ if (!isString(description)) {
8
+ if (!description?.result) {
9
+ return description;
10
+ }
11
+ return {
12
+ result: modifyNodeByHeading(markdoc.Ast.fromJSON(JSON.stringify(description.result))) || '',
13
+ raw: saveTextBeforeHeading(description.raw),
14
+ };
15
+ }
16
+ const headingRegex = new RegExp(`^#{1,6}?\\s+`, 'm');
17
+ const firstHeadingLinePos = description.search(headingRegex);
18
+ return firstHeadingLinePos > -1 ? description.substring(0, firstHeadingLinePos) : description;
19
+ }
20
+ function modifyNodeByHeading(ast) {
21
+ if (Array.isArray(ast)) {
22
+ const headingIndex = ast.findIndex((node) => node.type === 'heading');
23
+ return headingIndex === -1 ? ast : ast.slice(0, headingIndex);
24
+ }
25
+ if (!ast.children || !Array.isArray(ast.children)) {
26
+ return;
27
+ }
28
+ const headingIndex = ast.children.findIndex((node) => node.type === 'heading');
29
+ if (headingIndex === -1) {
30
+ return ast;
31
+ }
32
+ ast.children = ast.children.slice(0, headingIndex);
33
+ return ast;
34
+ }
35
+ //# sourceMappingURL=saveTextBeforeHeading.js.map
@@ -1 +1,49 @@
1
- import{SecurityVariablesEnvSuffix as o}from"@redocly/theme/core/openapi";import{escapeFormId as c}from"./string.js";import{fromSessionStorage as e,toSessionStorage as r}from"./session-storage.js";function p(t,s){t=c(t),r(`auth.${t}.variants`,JSON.stringify(s))}function S(t,s={}){return{raw:s[t+o.APIKey],password:s[t+o.Password],username:s[t+o.Username],token:s[t+o.Token]?{access_token:s[t+o.Token]}:void 0,client_id:s[t+o.ClientId],client_secret:s[t+o.ClientSecret],scopes:e(`auth.${t}.scopes`)}}function h(t,s){t=c(t),typeof s=="string"?r("auth."+t,s):s&&(r(`auth.${t}.password`,s.password||""),r(`auth.${t}.username`,s.username||""),r(`auth.${t}.token`,s.token&&JSON.stringify(s.token)||""),r(`auth.${t}.client_id`,s.client_id||""),r(`auth.${t}.client_secret`,s.client_secret||""),r(`auth.${t}.scopes`,s.scopes&&JSON.stringify(s.scopes)||""))}export{S as getSecurityDetails,h as setSecurityDetails,p as setSecurityDetailsVariants};
1
+ import { SecurityVariablesEnvSuffix } from '@redocly/theme/core/openapi';
2
+ import { escapeFormId } from './string.js';
3
+ import { fromSessionStorage, toSessionStorage } from './session-storage.js';
4
+ export function setSecurityDetailsVariants(name, variants) {
5
+ name = escapeFormId(name);
6
+ toSessionStorage(`auth.${name}.variants`, JSON.stringify(variants));
7
+ // if (typeof details === 'string') {
8
+ // toStorage('auth.' + name, details);
9
+ // // Write to storage all data for first time or for selected security only
10
+ // } else if (details) {
11
+ // toStorage(`auth.${name}.password`, details.password || '');
12
+ // toStorage(`auth.${name}.username`, details.username || '');
13
+ // toStorage(`auth.${name}.token`, (details.token && JSON.stringify(details.token)) || '');
14
+ // toStorage(`auth.${name}.client_id`, details.client_id || '');
15
+ // toStorage(`auth.${name}.client_secret`, details.client_secret || '');
16
+ // toStorage(`auth.${name}.scopes`, (details.scopes && JSON.stringify(details.scopes)) || '');
17
+ // }
18
+ }
19
+ export function getSecurityDetails(name, environment = {}) {
20
+ return {
21
+ raw: environment[name + SecurityVariablesEnvSuffix.APIKey],
22
+ password: environment[name + SecurityVariablesEnvSuffix.Password],
23
+ username: environment[name + SecurityVariablesEnvSuffix.Username],
24
+ token: environment[name + SecurityVariablesEnvSuffix.Token]
25
+ ? {
26
+ access_token: environment[name + SecurityVariablesEnvSuffix.Token],
27
+ }
28
+ : undefined,
29
+ client_id: environment[name + SecurityVariablesEnvSuffix.ClientId],
30
+ client_secret: environment[name + SecurityVariablesEnvSuffix.ClientSecret],
31
+ scopes: fromSessionStorage(`auth.${name}.scopes`), // TODO
32
+ };
33
+ }
34
+ export function setSecurityDetails(name, details) {
35
+ name = escapeFormId(name);
36
+ if (typeof details === 'string') {
37
+ toSessionStorage('auth.' + name, details);
38
+ // Write to storage all data for first time or for selected security only
39
+ }
40
+ else if (details) {
41
+ toSessionStorage(`auth.${name}.password`, details.password || '');
42
+ toSessionStorage(`auth.${name}.username`, details.username || '');
43
+ toSessionStorage(`auth.${name}.token`, (details.token && JSON.stringify(details.token)) || '');
44
+ toSessionStorage(`auth.${name}.client_id`, details.client_id || '');
45
+ toSessionStorage(`auth.${name}.client_secret`, details.client_secret || '');
46
+ toSessionStorage(`auth.${name}.scopes`, (details.scopes && JSON.stringify(details.scopes)) || '');
47
+ }
48
+ }
49
+ //# sourceMappingURL=security-details.js.map
@@ -1 +1,12 @@
1
- import{IS_BROWSER as e}from"@redocly/theme/core/openapi";function n(o,t){e&&window.sessionStorage.setItem("redoc."+o,t)}function i(o){return e&&window.sessionStorage.getItem("redoc."+o)||""}export{i as fromSessionStorage,n as toSessionStorage};
1
+ import { IS_BROWSER } from '@redocly/theme/core/openapi';
2
+ export function toSessionStorage(key, value) {
3
+ if (IS_BROWSER) {
4
+ window.sessionStorage.setItem('redoc.' + key, value);
5
+ }
6
+ }
7
+ export function fromSessionStorage(key) {
8
+ if (!IS_BROWSER)
9
+ return '';
10
+ return (window.sessionStorage.getItem('redoc.' + key) || '');
11
+ }
12
+ //# sourceMappingURL=session-storage.js.map
@@ -1 +1,22 @@
1
- const i=n=>{t(n);for(const e of n.walk())t(e),e?.children?.length&&i(e);function t(e){e?.location&&delete e.location,e.tag===void 0&&delete e.tag}return n.type==="document"&&n?.children?.length?n?.children:n};export{i as simplifyAstStructure};
1
+ export const simplifyAstStructure = (ast) => {
2
+ clearRedundantProperties(ast);
3
+ for (const node of ast.walk()) {
4
+ clearRedundantProperties(node);
5
+ if (node?.children?.length) {
6
+ simplifyAstStructure(node);
7
+ }
8
+ }
9
+ function clearRedundantProperties(node) {
10
+ // location no needs in runtime we need it only for validation
11
+ if (node?.location) {
12
+ delete node.location;
13
+ }
14
+ // tag is optional in AST, no need to keep undefined values
15
+ if (node.tag === undefined) {
16
+ delete node.tag;
17
+ }
18
+ }
19
+ // we slice extra document level in ast
20
+ return ast.type === 'document' && ast?.children?.length ? ast?.children : ast;
21
+ };
22
+ //# sourceMappingURL=simplifyAstStructure.js.map
package/lib/utils/sort.js CHANGED
@@ -1 +1,21 @@
1
- function u(l){let e=1;return l[0]==="-"&&(e=-1,l=l.substr(1)),function(n,a){return e==-1?a[l].localeCompare(n[l]):n[l].localeCompare(a[l])}}export{u as alphabeticallyByProp};
1
+ /**
2
+ * Function that returns a comparator for sorting objects by some specific key alphabetically.
3
+ *
4
+ * @param {String} property key of the object to sort, if starts from `-` - reverse
5
+ */
6
+ export function alphabeticallyByProp(property) {
7
+ let sortOrder = 1;
8
+ if (property[0] === '-') {
9
+ sortOrder = -1;
10
+ property = property.substr(1);
11
+ }
12
+ return function (a, b) {
13
+ if (sortOrder == -1) {
14
+ return b[property].localeCompare(a[property]);
15
+ }
16
+ else {
17
+ return a[property].localeCompare(b[property]);
18
+ }
19
+ };
20
+ }
21
+ //# sourceMappingURL=sort.js.map
@@ -1 +1,65 @@
1
- import t from"slugify";function o(e){return e.split("").map(r=>r+"\u0335").join("")}function c(e){return e.replace(/[.[\]]/g,r=>({".":"%2e","[":"%5b","]":"%5d"})[r]||"")}function u(e){return e.replace(/%2e|%5b|%5d/g,r=>({"%2e":".","%5b":"[","%5d":"]"})[r]||"")}function p(e){return e.replace(/\\/g,"%5C")}function a(e){return e.replace(/%/g,"")}function i(e){try{return decodeURIComponent(e)}catch(r){return console.error(`Decoding failed: ${e}`,r),e}}function l(e){return t(e).slice(0,240)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"").slice(0,240)}function s(e,r={}){try{return JSON.parse(e)}catch{return r}}export{p as encodeBackSlashes,c as escapeFormId,a as removePercentChart,s as safeJsonParse,l as safeSlugify,o as strikethroughText,i as tryDecodeURIComponent,u as unescapeFormId};
1
+ import slugify from 'slugify';
2
+ export function strikethroughText(text) {
3
+ return text
4
+ .split('')
5
+ .map((char) => char + '\u0335')
6
+ .join('');
7
+ }
8
+ export function escapeFormId(id) {
9
+ return id.replace(/[.[\]]/g, (m) => {
10
+ return ({
11
+ '.': '%2e',
12
+ '[': '%5b',
13
+ ']': '%5d',
14
+ }[m] || '');
15
+ });
16
+ }
17
+ export function unescapeFormId(id) {
18
+ return id.replace(/%2e|%5b|%5d/g, (m) => {
19
+ return ({
20
+ '%2e': '.',
21
+ '%5b': '[',
22
+ '%5d': ']',
23
+ }[m] || '');
24
+ });
25
+ }
26
+ export function encodeBackSlashes(str) {
27
+ return str.replace(/\\/g, '%5C');
28
+ }
29
+ export function removePercentChart(str) {
30
+ return str.replace(/%/g, '');
31
+ }
32
+ export function tryDecodeURIComponent(str) {
33
+ try {
34
+ return decodeURIComponent(str);
35
+ }
36
+ catch (e) {
37
+ console.error(`Decoding failed: ${str}`, e);
38
+ return str;
39
+ }
40
+ }
41
+ /**
42
+ * slugify() returns empty string when failed to slugify.
43
+ * so try to return minimum slugified-string with failed one which keeps original value
44
+ * the regex codes are referenced with https://gist.github.com/mathewbyrne/1280286
45
+ */
46
+ export function safeSlugify(value) {
47
+ return (slugify(value) ||
48
+ value
49
+ .toString()
50
+ .toLowerCase()
51
+ .replace(/\s+/g, '-') // Replace spaces with -
52
+ .replace(/&/g, '-and-') // Replace & with 'and'
53
+ .replace(/--+/g, '-') // Replace multiple - with single -
54
+ .replace(/^-+/, '') // Trim - from start of text
55
+ .replace(/-+$/, '')); // Trim - from end of text
56
+ }
57
+ export function safeJsonParse(str, fallback = {}) {
58
+ try {
59
+ return JSON.parse(str);
60
+ }
61
+ catch {
62
+ return fallback;
63
+ }
64
+ }
65
+ //# sourceMappingURL=string.js.map
@@ -1 +1,7 @@
1
- import{withPathPrefix as o}from"@redocly/theme/core/openapi";function e(){return process.env.NODE_ENV==="development"?"http://localhost:4318":window.location.origin+o("/_otel")}export{e as getDefaultCollectorUrl};
1
+ import { withPathPrefix } from '@redocly/theme/core/openapi';
2
+ export function getDefaultCollectorUrl() {
3
+ return process.env.NODE_ENV === 'development'
4
+ ? 'http://localhost:4318'
5
+ : window.location.origin + withPathPrefix('/_otel');
6
+ }
7
+ //# sourceMappingURL=telemetry.js.map
@@ -1 +1,26 @@
1
- import{objectHas as n,objectSet as o}from"./object.js";function t(r,f){if(r&&(f(r),r.children))for(const e of r.children)t(e,f)}function s(r,f){return t(r,e=>{if(e.props)for(const i of f)n(e.props,i)&&o(e.props,i,"<<<filtered>>>")}),r}export{s as filterPropsDeep};
1
+ /* tslint:disable:no-implicit-dependencies */
2
+ import { objectHas, objectSet } from './object.js';
3
+ function traverseComponent(root, fn) {
4
+ if (!root) {
5
+ return;
6
+ }
7
+ fn(root);
8
+ if (root.children) {
9
+ for (const child of root.children) {
10
+ traverseComponent(child, fn);
11
+ }
12
+ }
13
+ }
14
+ export function filterPropsDeep(component, paths) {
15
+ traverseComponent(component, (comp) => {
16
+ if (comp.props) {
17
+ for (const path of paths) {
18
+ if (objectHas(comp.props, path)) {
19
+ objectSet(comp.props, path, '<<<filtered>>>');
20
+ }
21
+ }
22
+ }
23
+ });
24
+ return component;
25
+ }
26
+ //# sourceMappingURL=test-utils.js.map
@@ -1,3 +1,24 @@
1
- import{css as a}from"styled-components";const f=Object.entries({fontSize:"font-size",fontWeight:"font-weight",fontFamily:"font-family",lineHeight:"line-height",color:"text-color",textTransform:"text-transform"});function c(o,t){const e={};for(const[n,r]of f){const s=`--${o}-${r}`,i=t?`,var(--${t}-${r})`:"";e[n]=`var(${s}${i})`}return e}function y(o,t){return a`
2
- ${c(o,t)}
3
- `}export{c as getTypographyCssRulesByComponentName,y as typography};
1
+ import { css } from 'styled-components';
2
+ const typographyProperties = Object.entries({
3
+ fontSize: 'font-size',
4
+ fontWeight: 'font-weight',
5
+ fontFamily: 'font-family',
6
+ lineHeight: 'line-height',
7
+ color: 'text-color',
8
+ textTransform: 'text-transform',
9
+ });
10
+ export function getTypographyCssRulesByComponentName(componentName, fallbackName) {
11
+ const result = {};
12
+ for (const [styledPropertyName, cssPropertyName] of typographyProperties) {
13
+ const cssVariable = `--${componentName}-${cssPropertyName}`;
14
+ const fallbackVariable = fallbackName ? `,var(--${fallbackName}-${cssPropertyName})` : '';
15
+ result[styledPropertyName] = `var(${cssVariable}${fallbackVariable})`;
16
+ }
17
+ return result;
18
+ }
19
+ export function typography(componentName, fallbackName) {
20
+ return css `
21
+ ${getTypographyCssRulesByComponentName(componentName, fallbackName)}
22
+ `;
23
+ }
24
+ //# sourceMappingURL=theme-helpers.js.map
package/lib/utils/url.js CHANGED
@@ -1 +1,38 @@
1
- function s(t,e=!1){let r=t;e&&r.startsWith("//")&&(r="http:"+t);try{return URL?.parse?URL?.parse(r):new URL(r)}catch(n){return console.error(`Invalid URL: ${r}`,n),null}}function o(t){try{const e=new URL(t);let r=e.pathname;if(r.endsWith("/"))return e.origin+r;const n=r.lastIndexOf("/");return n!==-1?(r=r.substring(0,n+1),e.origin+r):e.origin+"/"}catch(e){console.error(`Invalid URL: ${t}`,e);return}}export{o as getUrlDirname,s as urlParse};
1
+ export function urlParse(url, slashesDenoteHost = false) {
2
+ // Handle slashesDenoteHost parameter
3
+ let processedUrl = url;
4
+ if (slashesDenoteHost && processedUrl.startsWith('//')) {
5
+ // When slashesDenoteHost is true, //example.com should be treated as having a host
6
+ // Add a dummy protocol to make it a valid URL
7
+ processedUrl = 'http:' + url;
8
+ }
9
+ try {
10
+ return URL?.parse ? URL?.parse(processedUrl) : new URL(processedUrl);
11
+ }
12
+ catch (error) {
13
+ console.error(`Invalid URL: ${processedUrl}`, error);
14
+ return null;
15
+ }
16
+ }
17
+ export function getUrlDirname(urlLikeString) {
18
+ try {
19
+ const url = new URL(urlLikeString);
20
+ let pathname = url.pathname;
21
+ if (pathname.endsWith('/')) {
22
+ return url.origin + pathname;
23
+ }
24
+ const lastSlashIndex = pathname.lastIndexOf('/');
25
+ if (lastSlashIndex !== -1) {
26
+ pathname = pathname.substring(0, lastSlashIndex + 1);
27
+ return url.origin + pathname;
28
+ }
29
+ else {
30
+ return url.origin + '/';
31
+ }
32
+ }
33
+ catch (error) {
34
+ console.error(`Invalid URL: ${urlLikeString}`, error);
35
+ return;
36
+ }
37
+ }
38
+ //# sourceMappingURL=url.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.12.0-rc.7",
3
+ "version": "3.12.1",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@markdoc/markdoc": "0.5.2",
24
- "@redocly/openapi-core": "0.0.0-snapshot.1753015287",
24
+ "@redocly/openapi-core": "2.0.2",
25
25
  "deepmerge": "^4.2.2",
26
26
  "dompurify": "3.2.6",
27
27
  "fast-deep-equal": "^3.1.3",
@@ -36,8 +36,8 @@
36
36
  "url-template": "^2.0.8",
37
37
  "util": "~0.12.5",
38
38
  "web-vitals": "3.3.1",
39
- "@redocly/config": "0.26.3-rc.1",
40
- "@redocly/replay": "0.15.0-rc.3"
39
+ "@redocly/replay": "0.15.1",
40
+ "@redocly/config": "0.28.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@jest/globals": "29.5.0",
@@ -74,7 +74,7 @@
74
74
  "typescript": "5.6.2",
75
75
  "url": "~0.11.0",
76
76
  "vite": "^6.3.5",
77
- "@redocly/theme": "0.56.0-rc.2"
77
+ "@redocly/theme": "0.56.1"
78
78
  },
79
79
  "scripts": {
80
80
  "start": "npm run copy-highlight-hook && vite",