@redocly/api-docs 0.2.0-next.1 → 0.2.0-next.10

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 (302) hide show
  1. package/lib/RedocStandalone.d.ts +38 -0
  2. package/lib/RedocStandalone.js +1 -0
  3. package/lib/RedoclyApiDocs.js +1 -1
  4. package/lib/RedoclyApiDocsStandalone.d.ts +2 -0
  5. package/lib/RedoclyApiDocsStandalone.js +3 -3
  6. package/lib/adapters/asyncapi/build/navigation.js +1 -1
  7. package/lib/adapters/asyncapi/items/channel/content.js +1 -1
  8. package/lib/adapters/asyncapi/items/channel/item.js +1 -1
  9. package/lib/adapters/asyncapi/items/operation/item.js +1 -1
  10. package/lib/adapters/asyncapi/items/overview/content.js +1 -1
  11. package/lib/adapters/graphql/group/utils.js +1 -1
  12. package/lib/adapters/graphql/utils/createApiItem.js +1 -1
  13. package/lib/adapters/helpers.d.ts +3 -10
  14. package/lib/adapters/helpers.js +1 -1
  15. package/lib/adapters/openapi/build/context.js +1 -1
  16. package/lib/adapters/openapi/build-code-sample-source.d.ts +1 -1
  17. package/lib/adapters/openapi/build-code-sample-source.js +1 -1
  18. package/lib/adapters/openapi/configure/merge-utils.d.ts +1 -1
  19. package/lib/adapters/openapi/configure/resolve-request-values.js +1 -1
  20. package/lib/adapters/openapi/group/item.d.ts +0 -3
  21. package/lib/adapters/openapi/group/item.js +1 -1
  22. package/lib/adapters/openapi/index.js +1 -1
  23. package/lib/adapters/openapi/items/operation/content.js +1 -1
  24. package/lib/adapters/openapi/items/operation/item.d.ts +2 -2
  25. package/lib/adapters/openapi/items/operation/item.js +1 -1
  26. package/lib/adapters/openapi/items/overview/content.js +1 -1
  27. package/lib/adapters/openapi/items/schema/item.js +1 -1
  28. package/lib/adapters/openapi/store.js +1 -1
  29. package/lib/adapters/openapi/utils/merge-mock-server.d.ts +2 -2
  30. package/lib/adapters/rbac.d.ts +14 -0
  31. package/lib/adapters/rbac.js +1 -0
  32. package/lib/adapters/utils/descriptionToMarkdown.d.ts +6 -0
  33. package/lib/adapters/utils/descriptionToMarkdown.js +11 -0
  34. package/lib/adapters/utils/markdoc.d.ts +8 -1
  35. package/lib/adapters/utils/markdoc.js +1 -1
  36. package/lib/components/ErrorBoundary.d.ts +4 -2
  37. package/lib/components/ErrorBoundary.js +55 -1
  38. package/lib/components/Header/HeaderItem.js +5 -5
  39. package/lib/components/Header/HeaderPageActions.d.ts +4 -0
  40. package/lib/components/Header/HeaderPageActions.js +1 -0
  41. package/lib/components/Header/PageActions.d.ts +4 -0
  42. package/lib/components/Header/PageActions.js +11 -0
  43. package/lib/components/ItemContent/hooks.d.ts +12 -1
  44. package/lib/components/ItemContent/hooks.js +1 -1
  45. package/lib/components/ItemContent/sections/BodySection.js +3 -3
  46. package/lib/components/ItemContent/sections/CallbacksSection.js +4 -4
  47. package/lib/components/ItemContent/sections/MessagesSection.js +17 -17
  48. package/lib/components/ItemContent/sections/ResponsesSection.js +7 -7
  49. package/lib/components/Mcp/McpPrompt.js +1 -1
  50. package/lib/components/Mcp/McpTool.js +1 -1
  51. package/lib/components/Mcp/utils.d.ts +1 -1
  52. package/lib/components/Mcp/utils.js +1 -1
  53. package/lib/components/Schema/SchemaDescription.js +1 -1
  54. package/lib/components/Schema/styled.js +5 -5
  55. package/lib/components/Schema/views/ArrayRenderer.js +1 -1
  56. package/lib/components/Schema/views/CollapsibleNestedFields.js +1 -1
  57. package/lib/components/Schema/views/DiscriminatorPropertyRow.js +1 -1
  58. package/lib/components/Schema/views/Examples.js +1 -1
  59. package/lib/components/Schema/views/SwitcherRenderer.js +1 -1
  60. package/lib/components/Search/index.d.ts +15 -0
  61. package/lib/components/Search/index.js +1 -0
  62. package/lib/components/Security/SecurityFlowDetail.js +1 -1
  63. package/lib/components/Security/styled.js +7 -7
  64. package/lib/components/StickySidebar/FloatingButton.d.ts +1 -0
  65. package/lib/components/StickySidebar/FloatingButton.js +32 -0
  66. package/lib/components/StickySidebar/RedoclyAttributionLogo.d.ts +5 -0
  67. package/lib/components/StickySidebar/RedoclyAttributionLogo.js +1 -0
  68. package/lib/components/StickySidebar/StickySidebar.js +33 -9
  69. package/lib/components/common/Breadcrumbs.js +2 -2
  70. package/lib/components/common/DeepLinkAnchor.js +9 -9
  71. package/lib/components/common/PanelItem.js +5 -5
  72. package/lib/components/common/ResponseCodeTabs.js +1 -1
  73. package/lib/components/common/Tag.js +1 -1
  74. package/lib/components/common/VendorExtensions.js +1 -1
  75. package/lib/components/common/ViewNested.js +2 -2
  76. package/lib/components/graphql/GraphQLFieldView.js +1 -1
  77. package/lib/components/graphql/RequiresScopesModal.js +3 -3
  78. package/lib/components/graphql/sections/GraphQLArgsSection.js +1 -1
  79. package/lib/components/markdoc/SchemaDefinition.js +1 -1
  80. package/lib/components/markdoc/html/html-jsx-attribute-mapping.d.ts +5 -0
  81. package/lib/components/markdoc/html/html-jsx-attribute-mapping.js +1 -0
  82. package/lib/components/markdoc/html/process-html-tokens.d.ts +1 -0
  83. package/lib/components/markdoc/html/process-html-tokens.js +1 -0
  84. package/lib/components/markdoc/markdocParser.d.ts +2 -0
  85. package/lib/components/markdoc/markdocParser.js +1 -1
  86. package/lib/components/panels/ExampleItem/CallbackPayloadItem.js +2 -2
  87. package/lib/components/panels/ExampleItem/CodeSampleItem.js +1 -1
  88. package/lib/components/panels/ExampleItem/PayloadExampleItem.js +2 -2
  89. package/lib/components/panels/ExampleItem/ResponseExampleItem.js +1 -1
  90. package/lib/components/panels/ExampleItem/SecuritySchemeSelector.d.ts +9 -0
  91. package/lib/components/panels/ExampleItem/SecuritySchemeSelector.js +1 -0
  92. package/lib/components/panels/ExampleItem/ServerDropdown.js +2 -2
  93. package/lib/components/panels/ExampleItem/generate-request-sample.d.ts +28 -0
  94. package/lib/components/panels/ExampleItem/generate-request-sample.js +1 -0
  95. package/lib/components/panels/ExampleItem/selectors.d.ts +5 -2
  96. package/lib/components/panels/ExampleItem/selectors.js +1 -1
  97. package/lib/components/panels/ExampleItem/styled.d.ts +2 -49
  98. package/lib/components/panels/ExampleItem/styled.js +11 -5
  99. package/lib/components/panels/ExampleItem/useActiveServer.d.ts +17 -0
  100. package/lib/components/panels/ExampleItem/useActiveServer.js +1 -0
  101. package/lib/components/panels/ExampleItem/useCodeSampleLanguages.d.ts +23 -0
  102. package/lib/components/panels/ExampleItem/useCodeSampleLanguages.js +1 -0
  103. package/lib/components/panels/ExampleItem/useReplayRequestState.d.ts +18 -0
  104. package/lib/components/panels/ExampleItem/useReplayRequestState.js +1 -0
  105. package/lib/components/panels/ExampleItem/useTryItFooter.d.ts +3 -0
  106. package/lib/components/panels/ExampleItem/useTryItFooter.js +7 -0
  107. package/lib/components/panels/GroupPanelItem.js +1 -1
  108. package/lib/components/panels/LanguageItem/LanguagePanelItem.js +5 -1
  109. package/lib/components/panels/LanguageItem/styled.js +17 -14
  110. package/lib/components/panels/McpExamplePanelItem.js +2 -2
  111. package/lib/components/panels/McpPanelItem.js +2 -2
  112. package/lib/components/panels/ServerItem/ServerItem.js +1 -1
  113. package/lib/components/panels/asyncapi/BrokerItem/BrokerModal.js +1 -1
  114. package/lib/components/panels/asyncapi/BrokerItem/BrokerPanelItem.js +1 -1
  115. package/lib/components/panels/asyncapi/MessageBindingItem/MessageBindingItem.js +1 -1
  116. package/lib/components/panels/shared-panel-styles.js +1 -1
  117. package/lib/components/panels/styled.js +1 -1
  118. package/lib/components/pluggable/RedocExample.js +5 -2
  119. package/lib/components/pluggable/RedocResponseSamples.js +1 -1
  120. package/lib/hoc/withLicenseGate.d.ts +5 -0
  121. package/lib/hoc/withLicenseGate.js +1 -0
  122. package/lib/hoc/withRouter.js +1 -1
  123. package/lib/hoc/withStoreProvider.d.ts +2 -0
  124. package/lib/hoc/withStoreProvider.js +1 -1
  125. package/lib/hooks/deepLinkHash.d.ts +5 -0
  126. package/lib/hooks/deepLinkHash.js +1 -0
  127. package/lib/hooks/useApiDocsScroll.js +1 -1
  128. package/lib/hooks/useCopySpecSlice.d.ts +9 -0
  129. package/lib/hooks/useCopySpecSlice.js +1 -0
  130. package/lib/hooks/useDeepLinkSection.js +1 -1
  131. package/lib/hooks/useInitialTelemetry.d.ts +2 -0
  132. package/lib/hooks/useInitialTelemetry.js +1 -0
  133. package/lib/hooks/useLicense.js +1 -1
  134. package/lib/hooks/useLicenseGate.d.ts +6 -0
  135. package/lib/hooks/useLicenseGate.js +1 -0
  136. package/lib/hooks/useRouterHashBridge.d.ts +4 -0
  137. package/lib/hooks/useRouterHashBridge.js +1 -1
  138. package/lib/hooks/useScrollSpyUrlSync.js +1 -1
  139. package/lib/hooks/useUrlHash.d.ts +3 -2
  140. package/lib/hooks/useUrlHash.js +1 -1
  141. package/lib/hooks/useUrlHashReassert.d.ts +2 -0
  142. package/lib/hooks/useUrlHashReassert.js +1 -0
  143. package/lib/index.d.ts +5 -1
  144. package/lib/index.js +1 -1
  145. package/lib/jotai/app.d.ts +6 -0
  146. package/lib/jotai/app.js +1 -1
  147. package/lib/jotai/examples.js +1 -1
  148. package/lib/jotai/itemStore.d.ts +1 -0
  149. package/lib/jotai/itemStore.js +1 -1
  150. package/lib/jotai/store.d.ts +4 -0
  151. package/lib/jotai/store.js +1 -1
  152. package/lib/options/editionOverrides.d.ts +3 -0
  153. package/lib/options/editionOverrides.js +1 -0
  154. package/lib/options/helpers.d.ts +1 -2
  155. package/lib/options/helpers.js +1 -1
  156. package/lib/options/normalizeOptions.d.ts +1 -1
  157. package/lib/options/normalizeOptions.js +1 -1
  158. package/lib/options/standaloneLayoutVars.d.ts +3 -0
  159. package/lib/options/standaloneLayoutVars.js +1 -0
  160. package/lib/otel-semantic-conventions.d.ts +10 -0
  161. package/lib/otel-semantic-conventions.js +1 -0
  162. package/lib/pages/ItemPage.js +4 -2
  163. package/lib/pages/NotFoundPage.js +40 -1
  164. package/lib/services/code-samples/apply-env-variables.d.ts +8 -0
  165. package/lib/services/code-samples/apply-env-variables.js +1 -0
  166. package/lib/services/code-samples/builder.d.ts +8 -5
  167. package/lib/services/code-samples/builder.js +1 -1
  168. package/lib/services/code-samples/discriminator.d.ts +16 -10
  169. package/lib/services/code-samples/discriminator.js +1 -1
  170. package/lib/services/code-samples/generators/java8.js +2 -2
  171. package/lib/services/code-samples/language-availability.d.ts +4 -0
  172. package/lib/services/code-samples/language-availability.js +1 -0
  173. package/lib/services/code-samples/{replay/normalize-servers.d.ts → normalize-servers.d.ts} +1 -1
  174. package/lib/services/code-samples/normalize-servers.js +1 -0
  175. package/lib/services/code-samples/replay/embedded-replay-converter.d.ts +1 -1
  176. package/lib/services/code-samples/replay/embedded-replay-converter.js +1 -1
  177. package/lib/services/code-samples/replay/find-operation.d.ts +17 -0
  178. package/lib/services/code-samples/replay/find-operation.js +1 -0
  179. package/lib/services/code-samples/replay/from-openapi-document.d.ts +12 -2
  180. package/lib/services/code-samples/replay/from-openapi-document.js +1 -1
  181. package/lib/services/code-samples/replay/index.d.ts +1 -1
  182. package/lib/services/code-samples/replay/index.js +1 -1
  183. package/lib/services/code-samples/replay/overlay-converter.js +1 -1
  184. package/lib/services/code-samples/replay/parameter-descriptions.d.ts +7 -0
  185. package/lib/services/code-samples/replay/parameter-descriptions.js +1 -0
  186. package/lib/services/code-samples/replay/replay-adapter.d.ts +1 -1
  187. package/lib/services/code-samples/replay/replay-adapter.js +1 -1
  188. package/lib/services/code-samples/replay/replay-handler.js +1 -1
  189. package/lib/services/code-samples/replay/replay-predefined-env.d.ts +1 -2
  190. package/lib/services/code-samples/replay/replay-predefined-env.js +1 -1
  191. package/lib/services/code-samples/replay/schema-declared-value.d.ts +2 -0
  192. package/lib/services/code-samples/replay/schema-declared-value.js +1 -0
  193. package/lib/services/code-samples/resolvers.js +1 -1
  194. package/lib/services/code-samples/server-env.d.ts +3 -0
  195. package/lib/services/code-samples/server-env.js +1 -0
  196. package/lib/services/code-samples/source.d.ts +3 -3
  197. package/lib/services/license/check.d.ts +1 -0
  198. package/lib/services/license/check.js +1 -1
  199. package/lib/services/operation-samples/index.js +1 -1
  200. package/lib/services/schema/dialects/jsonSchema.d.ts +5 -1
  201. package/lib/services/schema/dialects/jsonSchema.js +1 -1
  202. package/lib/services/schema/propertyTreeBuilder.js +1 -1
  203. package/lib/services/search/index.d.ts +2 -0
  204. package/lib/services/search/index.js +1 -0
  205. package/lib/services/search/indexer/context.d.ts +8 -0
  206. package/lib/services/search/indexer/context.js +0 -0
  207. package/lib/services/search/indexer/deep-links.d.ts +12 -0
  208. package/lib/services/search/indexer/deep-links.js +1 -0
  209. package/lib/services/search/indexer/extractors/asyncapi.d.ts +8 -0
  210. package/lib/services/search/indexer/extractors/asyncapi.js +1 -0
  211. package/lib/services/search/indexer/extractors/body.d.ts +2 -0
  212. package/lib/services/search/indexer/extractors/body.js +1 -0
  213. package/lib/services/search/indexer/extractors/callbacks.d.ts +4 -0
  214. package/lib/services/search/indexer/extractors/callbacks.js +1 -0
  215. package/lib/services/search/indexer/extractors/context.d.ts +25 -0
  216. package/lib/services/search/indexer/extractors/context.js +1 -0
  217. package/lib/services/search/indexer/extractors/examples.d.ts +3 -0
  218. package/lib/services/search/indexer/extractors/examples.js +1 -0
  219. package/lib/services/search/indexer/extractors/graphql.d.ts +2 -0
  220. package/lib/services/search/indexer/extractors/graphql.js +1 -0
  221. package/lib/services/search/indexer/extractors/heading-sections.d.ts +3 -0
  222. package/lib/services/search/indexer/extractors/heading-sections.js +1 -0
  223. package/lib/services/search/indexer/extractors/index.d.ts +12 -0
  224. package/lib/services/search/indexer/extractors/index.js +1 -0
  225. package/lib/services/search/indexer/extractors/mcp.d.ts +9 -0
  226. package/lib/services/search/indexer/extractors/mcp.js +1 -0
  227. package/lib/services/search/indexer/extractors/named-rows.d.ts +9 -0
  228. package/lib/services/search/indexer/extractors/named-rows.js +1 -0
  229. package/lib/services/search/indexer/extractors/panels.d.ts +10 -0
  230. package/lib/services/search/indexer/extractors/panels.js +1 -0
  231. package/lib/services/search/indexer/extractors/parameters.d.ts +2 -0
  232. package/lib/services/search/indexer/extractors/parameters.js +1 -0
  233. package/lib/services/search/indexer/extractors/responses.d.ts +2 -0
  234. package/lib/services/search/indexer/extractors/responses.js +1 -0
  235. package/lib/services/search/indexer/extractors/schema-page.d.ts +9 -0
  236. package/lib/services/search/indexer/extractors/schema-page.js +1 -0
  237. package/lib/services/search/indexer/extractors/security.d.ts +4 -0
  238. package/lib/services/search/indexer/extractors/security.js +1 -0
  239. package/lib/services/search/indexer/index.d.ts +14 -0
  240. package/lib/services/search/indexer/index.js +1 -0
  241. package/lib/services/search/indexer/param.d.ts +7 -0
  242. package/lib/services/search/indexer/param.js +1 -0
  243. package/lib/services/search/indexer/places.d.ts +40 -0
  244. package/lib/services/search/indexer/places.js +1 -0
  245. package/lib/services/search/indexer/schema-walker.d.ts +29 -0
  246. package/lib/services/search/indexer/schema-walker.js +1 -0
  247. package/lib/services/search/indexer/text.d.ts +2 -0
  248. package/lib/services/search/indexer/text.js +1 -0
  249. package/lib/services/search/types.d.ts +28 -0
  250. package/lib/services/search/types.js +0 -0
  251. package/lib/services/spec-slice/assistant-links.d.ts +9 -0
  252. package/lib/services/spec-slice/assistant-links.js +5 -0
  253. package/lib/services/spec-slice/asyncapi-slice.d.ts +5 -0
  254. package/lib/services/spec-slice/asyncapi-slice.js +1 -0
  255. package/lib/services/spec-slice/clone-strip.d.ts +1 -0
  256. package/lib/services/spec-slice/clone-strip.js +1 -0
  257. package/lib/services/spec-slice/component-closure.d.ts +6 -0
  258. package/lib/services/spec-slice/component-closure.js +1 -0
  259. package/lib/services/spec-slice/graphql-slice.d.ts +2 -0
  260. package/lib/services/spec-slice/graphql-slice.js +1 -0
  261. package/lib/services/spec-slice/index.d.ts +6 -0
  262. package/lib/services/spec-slice/index.js +1 -0
  263. package/lib/services/spec-slice/openapi-slice.d.ts +6 -0
  264. package/lib/services/spec-slice/openapi-slice.js +1 -0
  265. package/lib/services/spec-slice/resolve-scope.d.ts +4 -0
  266. package/lib/services/spec-slice/resolve-scope.js +1 -0
  267. package/lib/services/spec-slice/types.d.ts +37 -0
  268. package/lib/services/spec-slice/types.js +0 -0
  269. package/lib/standalone.d.ts +19 -0
  270. package/lib/standalone.js +2 -0
  271. package/lib/standaloneThemeConfig.d.ts +3 -0
  272. package/lib/standaloneThemeConfig.js +1 -0
  273. package/lib/telemetry/RedocTelemetry.d.ts +3 -0
  274. package/lib/telemetry/RedocTelemetry.js +1 -1
  275. package/lib/telemetry/defaults.d.ts +2 -0
  276. package/lib/telemetry/defaults.js +1 -0
  277. package/lib/types/asyncapi.d.ts +2 -1
  278. package/lib/types/code-samples-config.d.ts +68 -0
  279. package/lib/types/code-samples-config.js +0 -0
  280. package/lib/types/common.d.ts +1 -2
  281. package/lib/types/content.d.ts +6 -4
  282. package/lib/types/edition-config.d.ts +4 -0
  283. package/lib/types/edition-config.js +0 -0
  284. package/lib/types/events.d.ts +2 -2
  285. package/lib/types/openapi.d.ts +3 -3
  286. package/lib/types/options.d.ts +24 -88
  287. package/lib/types/store.d.ts +3 -2
  288. package/lib/url-compat.d.ts +22 -0
  289. package/lib/url-compat.js +1 -0
  290. package/lib/utils/compose.d.ts +1 -0
  291. package/lib/utils/deep-link.d.ts +2 -1
  292. package/lib/utils/deep-link.js +1 -1
  293. package/lib/utils/extract-extensions.js +1 -1
  294. package/lib/utils/graphql-parse.d.ts +1 -0
  295. package/lib/utils/graphql-parse.js +1 -0
  296. package/lib/utils/scroll-anchoring.d.ts +2 -1
  297. package/lib/utils/x-logo.d.ts +13 -0
  298. package/lib/utils/x-logo.js +1 -0
  299. package/lib/yaml-compat.d.ts +7 -0
  300. package/lib/yaml-compat.js +1 -0
  301. package/package.json +36 -15
  302. package/lib/services/code-samples/replay/normalize-servers.js +0 -1
@@ -0,0 +1,18 @@
1
+ import type { CodeSampleSource } from '../../../services/code-samples/index.js';
2
+ import type { HARBuildResolvers, HARBuildSelections } from '../../../services/code-samples/index.js';
3
+ type ReplayRequestState = {
4
+ /** Raw body the user edited in Replay — feeds sample generation. */
5
+ body: unknown;
6
+ /** Replay body parsed for PayloadDisplay (JSON strings become objects). */
7
+ displayBody: unknown;
8
+ /** Example the user selected in Replay. */
9
+ exampleName: string | undefined;
10
+ harRequestValues: HARBuildSelections['requestValues'];
11
+ resolvers: HARBuildResolvers;
12
+ };
13
+ /**
14
+ * Request values the user edited in Replay (Try It) for this operation.
15
+ * Excluded from the community edition.
16
+ */
17
+ export declare function useReplayRequestState(source: CodeSampleSource): ReplayRequestState;
18
+ export {};
@@ -0,0 +1 @@
1
+ import{useMemo as m}from"react";import{useAtomValue as p}from"jotai";import{requestValuesAtom as c}from"../../../jotai/app.js";import{mapReplayAtomValuesToHarRequestValues as y,useCodeSampleResolvers as f}from"../../../services/code-samples/index.js";function x(e){const s=p(c),t=f(),i=`${e.method.toLowerCase()}:${e.path}`,r=s[i],a=m(()=>{const l=y(r??{});return e.requestValues?.security?{...l,security:e.requestValues.security}:l},[r,e.requestValues?.security]),o=r?.body,u=r?.activeExampleName,n=typeof u=="string"?u:void 0;return m(()=>({body:o,displayBody:V(o),exampleName:n,harRequestValues:a,resolvers:t}),[o,n,a,t])}function V(e){if(typeof e!="string")return e;const s=e.trim();if(!s)return e;try{const t=JSON.parse(s);if(t!==null&&typeof t=="object")return t}catch{}return e}export{x as useReplayRequestState};
@@ -0,0 +1,3 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { CodeSamplePanelItem } from '../../../types/content.js';
3
+ export declare function useTryItFooter(node: CodeSamplePanelItem): ReactElement | undefined;
@@ -0,0 +1,7 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{useMemo as n}from"react";import{useAtomValue as p}from"jotai";import{styled as a}from"styled-components";import{globalOptionsAtom as s}from"../../../jotai/store.js";import{useOpenApiDefinition as l}from"../../../hoc/withReplayPrefetch.js";import{pickReplayDefinitionDownloadUrl as m}from"../../../utils/fetch-openapi-definition.js";import{Replay as d}from"../../Replay/index.js";function A(o){const e=p(s),t=l(),i=!(e.hideReplay||o.hideReplay)&&!o.isWebhook&&!!(t??m(e.downloadUrls));return n(()=>i?r(f,{children:r(d,{node:o})}):void 0,[i,o])}const f=a.div`
2
+ display: flex;
3
+ justify-content: flex-end;
4
+ align-items: center;
5
+ border-top: var(--panel-border);
6
+ padding: var(--spacing-xs) var(--spacing-md) var(--spacing-sm) var(--spacing-md);
7
+ `;export{A as useTryItFooter};
@@ -53,7 +53,7 @@ import{Fragment as G,jsx as t,jsxs as l}from"react/jsx-runtime";import{styled as
53
53
  margin-left: 0;
54
54
  }
55
55
  `,S=o(z)`
56
- border-radius: var(--border-radius);
56
+ border-radius: var(--border-radius-lg);
57
57
  background: var(--bg-color);
58
58
  justify-content: space-between;
59
59
  width: 100%;
@@ -1 +1,5 @@
1
- import{jsx as s}from"react/jsx-runtime";import{useEffect as c}from"react";import{useAtom as g}from"jotai";import{useSpecTranslate as f}from"../../../hooks/useTranslate.js";import{resolveText as u}from"../../../utils/resolveText.js";import{languageAtom as L}from"../../../jotai/app.js";import{OverviewPanel as v}from"../styled.js";import{LanguageList as x}from"./LanguageList.js";function I({node:t}){const i=t.children[0],m=f(),l=i?.options??[],[{activeLanguage:a},n]=g(L),r=l.map(o=>({title:o.title,key:o.key,lang:o.lang})),e=r[0]?.key;c(()=>{!a&&e&&n(e)},[a,e,n]);const p=u(m,t.titleTranslationKey,t.title);return s(v,{header:p,className:"panel-api-docs",isExpandable:!1,children:s(x,{languages:r,activeLanguage:a||e})})}export{I as LanguagePanelItem};
1
+ import{jsx as s}from"react/jsx-runtime";import{useEffect as g}from"react";import{useAtom as c}from"jotai";import{styled as f}from"styled-components";import{useSpecTranslate as u}from"../../../hooks/useTranslate.js";import{resolveText as d}from"../../../utils/resolveText.js";import{languageAtom as y}from"../../../jotai/app.js";import{OverviewPanel as L}from"../styled.js";import{LanguageList as v}from"./LanguageList.js";function b({node:t}){const i=t.children[0],m=u(),l=i?.options??[],[{activeLanguage:a},o]=c(y),r=l.map(n=>({title:n.title,key:n.key,lang:n.lang})),e=r[0]?.key;g(()=>{!a&&e&&o(e)},[a,e,o]);const p=d(m,t.titleTranslationKey,t.title);return s(x,{header:p,className:"panel-api-docs",isExpandable:!1,children:s(v,{languages:r,activeLanguage:a||e})})}const x=f(L)`
2
+ [data-component-name='Panel/PanelBody'] {
3
+ padding-top: 0;
4
+ }
5
+ `;export{b as LanguagePanelItem};
@@ -1,10 +1,11 @@
1
- import{styled as t,css as i}from"styled-components";import{Button as n}from"@redocly/theme/components/Button/Button";import{DropdownMenu as r}from"@redocly/theme/components/Dropdown/DropdownMenu";import{DropdownMenuItem as o}from"@redocly/theme/components/Dropdown/DropdownMenuItem";import{ITEM_WIDTH as a}from"./constants.js";const h=t(r)`
1
+ import{styled as t,css as n}from"styled-components";import{Button as r}from"@redocly/theme/components/Button/Button";import{DropdownMenu as o}from"@redocly/theme/components/Dropdown/DropdownMenu";import{DropdownMenuItem as a}from"@redocly/theme/components/Dropdown/DropdownMenuItem";import{ITEM_WIDTH as s}from"./constants.js";const i="var(--spacing-unit)",f=t(o)`
2
2
  position: absolute;
3
3
  right: 0;
4
- `,f=t.span`
4
+ `,u=t.span`
5
5
  display: flex;
6
6
  justify-content: space-between;
7
7
  align-items: center;
8
+ padding-top: ${i};
8
9
  `,x=t.span`
9
10
  max-width: 150px;
10
11
  text-overflow: ellipsis;
@@ -14,14 +15,14 @@ import{styled as t,css as i}from"styled-components";import{Button as n}from"@red
14
15
  font-size: var(--font-size-base);
15
16
  line-height: var(--line-height-base);
16
17
  font-weight: ${({$active:e})=>e?"var(--font-weight-medium)":"var(--font-weight-regular)"};
17
- `,s=t.span`
18
+ `,l=t.span`
18
19
  width: 100%;
19
20
  display: inherit;
20
21
  gap: inherit;
21
22
  flex-direction: inherit;
22
23
  justify-content: inherit;
23
24
  align-items: inherit;
24
- `,u=t.span`
25
+ `,v=t.span`
25
26
  width: 24px;
26
27
  height: 24px;
27
28
  display: flex;
@@ -29,15 +30,15 @@ import{styled as t,css as i}from"styled-components";import{Button as n}from"@red
29
30
  justify-content: center;
30
31
  flex-shrink: 0;
31
32
  overflow: hidden;
32
- `,v=t.div`
33
+ `,m=t.div`
33
34
  display: flex;
34
35
  justify-content: ${({$justifyContent:e="start"})=>e};
35
36
  align-items: center;
36
37
  width: 100%;
37
- `,m=t.button`
38
+ `,w=t.button`
38
39
  background: none;
39
40
  border: none;
40
- width: ${a}px;
41
+ width: ${s}px;
41
42
  flex-shrink: 0;
42
43
  display: flex;
43
44
  align-items: center;
@@ -52,12 +53,14 @@ import{styled as t,css as i}from"styled-components";import{Button as n}from"@red
52
53
 
53
54
  &:hover {
54
55
  color: var(--text-color-primary);
56
+ background-color: var(--layer-color-hover);
55
57
  }
56
58
 
57
- ${({$active:e})=>e&&i`
59
+ ${({$active:e})=>e&&n`
58
60
  &::before {
59
61
  position: absolute;
60
- top: -21px;
62
+ top: calc(-1 * ${i} - 1px);
63
+ left: 0;
61
64
  border-top: 3px solid var(--text-color-primary);
62
65
  width: 100%;
63
66
  content: '';
@@ -65,7 +68,7 @@ import{styled as t,css as i}from"styled-components";import{Button as n}from"@red
65
68
  border-bottom-right-radius: calc(var(--border-radius) / 2);
66
69
  }
67
70
  `}
68
- `,w=t(o)`
71
+ `,b=t(a)`
69
72
  display: flex;
70
73
  justify-content: space-between;
71
74
  align-items: center;
@@ -75,22 +78,22 @@ import{styled as t,css as i}from"styled-components";import{Button as n}from"@red
75
78
  width: ${({$width:e=204})=>e}px;
76
79
  fill: var(--menu-content-color-active);
77
80
 
78
- ${s} {
81
+ ${l} {
79
82
  width: auto;
80
83
  justify-content: flex-start;
81
84
  }
82
- `,b=t(n)`
85
+ `,y=t(r)`
83
86
  display: inline-flex;
84
87
 
85
88
  line-height: var(--line-height-base);
86
89
  font-size: var(--font-size-base);
87
90
  font-weight: var(--font-weight-medium);
88
91
  cursor: pointer;
89
- `,y=t.span`
92
+ `,L=t.span`
90
93
  display: inline-flex;
91
94
  align-items: center;
92
95
  line-height: var(--line-height-base);
93
96
  font-size: var(--font-size-base);
94
97
  font-weight: var(--font-weight-regular);
95
98
  color: var(--text-color-secondary);
96
- `;export{f as Container,b as DropdownTriggerButton,u as LanguageIcon,v as LanguageListContainer,m as LanguageListItem,x as LanguageTitle,s as LanguageTitleContainer,h as RightAlignedDropdownMenu,y as StaticLanguageLabel,w as StyledDropdownMenuItem};
99
+ `;export{u as Container,y as DropdownTriggerButton,v as LanguageIcon,m as LanguageListContainer,w as LanguageListItem,x as LanguageTitle,l as LanguageTitleContainer,f as RightAlignedDropdownMenu,L as StaticLanguageLabel,b as StyledDropdownMenuItem};
@@ -1,6 +1,6 @@
1
- import{Fragment as o,jsx as a}from"react/jsx-runtime";import{styled as l}from"styled-components";import{CodeBlock as s}from"@redocly/theme/components/CodeBlock/CodeBlock";import{CodeBlockPanel as d,StyledJsonViewer as t}from"./styled.js";const p=l(s)`
1
+ import{Fragment as r,jsx as a}from"react/jsx-runtime";import{styled as t}from"styled-components";import{CodeBlock as l}from"@redocly/theme/components/CodeBlock/CodeBlock";import{useSpecTranslate as s}from"../../hooks/useTranslate.js";import{CodeBlockPanel as m,StyledJsonViewer as c}from"./styled.js";const i={"openapi.mcp.inputExample":"Input example","openapi.mcp.outputExample":"Output example","openapi.mcp.argumentsExample":"Arguments example","openapi.mcp.exampleTitle":"Resource content"},d=t(l)`
2
2
  border: none;
3
3
  padding: 0 8px;
4
4
  margin-bottom: 0;
5
5
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) var(--spacing-sm);
6
- `;function x({node:r}){return a(o,{children:r.children.map((e,n)=>a(d,{className:"panel-response-samples",header:e.headerTitle,isExpandable:!1,children:e.language?a(p,{source:String(e.data),header:{title:e.language,controls:{copy:{}}}}):a(t,{data:e.data,expandLevel:Number.POSITIVE_INFINITY})},n))})}export{x as McpExamplePanelItem};
6
+ `;function I({node:n}){const p=s();return a(r,{children:n.children.map((e,o)=>a(m,{className:"panel-response-samples",header:p(e.headerTitleTranslationKey,i[e.headerTitleTranslationKey]),isExpandable:!1,children:e.language?a(d,{source:String(e.data),header:{title:e.language,controls:{copy:{}}}}):a(c,{data:e.data,expandLevel:Number.POSITIVE_INFINITY})},o))})}export{I as McpExamplePanelItem};
@@ -1,4 +1,4 @@
1
- import{jsx as n,jsxs as s}from"react/jsx-runtime";import{styled as a}from"styled-components";import{memo as v}from"react";import{PageActions as g}from"@redocly/theme/components/PageActions/PageActions";import{panelKind as o}from"../../types/common.js";import{useSpecTranslate as u}from"../../hooks/useTranslate.js";import{resolveText as d}from"../../utils/resolveText.js";import{OverviewPanel as m}from"./styled.js";function K({node:e}){const r=e,l=u(),i=r.children,c=d(l,e.titleTranslationKey,e.title);return n(m,{header:c,className:"panel-api-docs",isExpandable:!1,children:n(y,{children:i.map((t,h)=>n(b,{item:t,translate:l},x(t,h)))})})}function x(e,r){return e.kind===o.ATTRIBUTE?`${e.label}-${r}`:e.kind===o.TAGS?`${e.title||"tags"}-${r}`:e.kind===o.EXTERNAL_LINK?`${e.url}-${r}`:e.kind===o.CONNECT_MCP_BUTTON?`${e.mcpUrl}-${r}`:`mcp-item-${r}`}const b=v(function({item:r,translate:l}){const i=d(l,r.titleTranslationKey,r.title),c="label"in r?d(l,r.labelTranslationKey,r.label):"";return r.kind===o.ATTRIBUTE?s(p,{children:[n(f,{children:r.title||c}),n(k,{children:r.value})]}):r.kind===o.TAGS?s(p,{children:[n(f,{children:i||"Tags"}),n(P,{children:r.tags.map(t=>s(w,{variant:t.color==="green"?"success":void 0,children:[t.icon==="checkmark"&&n(T,{})," ",t.text]},t.text))})]}):r.kind===o.EXTERNAL_LINK?s(p,{children:[n(f,{children:i||"Link"}),n($,{href:r.url,target:"_blank",rel:"noopener noreferrer",children:r.label})]}):r.kind===o.CONNECT_MCP_BUTTON?n(N,{children:n(g,{actions:r.actions,mcpUrl:r.mcpUrl})}):null});function T(){return n("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:n("polyline",{points:"20 6 9 17 4 12"})})}const y=a.div`
1
+ import{jsx as n,jsxs as s}from"react/jsx-runtime";import{styled as a}from"styled-components";import{memo as g}from"react";import{PageActions as v}from"@redocly/theme/components/PageActions/PageActions";import{panelKind as o}from"../../types/common.js";import{useSpecTranslate as u}from"../../hooks/useTranslate.js";import{resolveText as d}from"../../utils/resolveText.js";import{OverviewPanel as m}from"./styled.js";function K({node:e}){const r=e,l=u(),i=r.children,c=d(l,e.titleTranslationKey,e.title);return n(m,{header:c,className:"panel-api-docs",isExpandable:!1,children:n(y,{children:i.map((t,h)=>n(b,{item:t,translate:l},x(t,h)))})})}function x(e,r){return e.kind===o.ATTRIBUTE?`${e.label}-${r}`:e.kind===o.TAGS?`${e.title||"tags"}-${r}`:e.kind===o.EXTERNAL_LINK?`${e.url}-${r}`:e.kind===o.CONNECT_MCP_BUTTON?`${e.mcpUrl}-${r}`:`mcp-item-${r}`}const b=g(function({item:r,translate:l}){const i=d(l,r.titleTranslationKey,r.title),c="label"in r?d(l,r.labelTranslationKey,r.label):"";return r.kind===o.ATTRIBUTE?s(p,{children:[n(f,{children:r.title||c}),n(k,{children:r.value})]}):r.kind===o.TAGS?s(p,{children:[n(f,{children:i||"Tags"}),n(P,{children:r.tags.map(t=>s(w,{variant:t.color==="green"?"success":void 0,children:[t.icon==="checkmark"&&n(T,{})," ",t.text]},t.text))})]}):r.kind===o.EXTERNAL_LINK?s(p,{children:[n(f,{children:i||"Link"}),n($,{href:r.url,target:"_blank",rel:"noopener noreferrer",children:r.label})]}):r.kind===o.CONNECT_MCP_BUTTON?n(N,{children:n(v,{actions:r.actions,mcpUrl:r.mcpUrl})}):null});function T(){return n("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:n("polyline",{points:"20 6 9 17 4 12"})})}const y=a.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--spacing-sm);
@@ -29,7 +29,7 @@ import{jsx as n,jsxs as s}from"react/jsx-runtime";import{styled as a}from"styled
29
29
  font-size: var(--font-size-sm);
30
30
  line-height: var(--line-height-sm);
31
31
  padding: 0 var(--spacing-xxs);
32
- border-radius: var(--border-radius);
32
+ border-radius: var(--tag-border-radius);
33
33
  font-family: var(--font-family-monospaced);
34
34
  background: ${({variant:e})=>e==="success"?"var(--badge-ok-bg-color, var(--tag-bg-color))":"var(--tag-bg-color, var(--border-color-secondary))"};
35
35
  color: ${({variant:e})=>e==="success"?"var(--badge-ok-text-color, var(--text-color-secondary))":"var(--text-color-secondary)"};
@@ -1,4 +1,4 @@
1
- import{jsx as i,jsxs as t}from"react/jsx-runtime";import{styled as o}from"styled-components";import{CopyButton as f}from"@redocly/theme/components/Buttons/CopyButton";import{PanelItem as x,PanelItemDescription as b,Title as v,ServerTitleWrapper as u,TitleWrap as y}from"../../common/PanelItem.js";import{Tag as h}from"../../common/Tag.js";import{useSpecTranslate as w}from"../../../hooks/useTranslate.js";import{Markdown as S}from"../../common/Markdown.js";import{ViewNested as T}from"../../common/ViewNested.js";import{ServerDescriptionTooltip as D}from"./ServerDescriptionTooltip.js";import{resolveServerUrl as j}from"../../../services/code-samples/replay/normalize-servers.js";function U({server:e}){const n=w(),a=j(e.url),p=Object.keys(e.variables||{}).length,l=p===1?"variable":"variables",d=`${p||""} ${n(l,l)}`,g=!!e.name&&!!e.description;return t(x,{children:[t(u,{children:[i(b,{"data-testid":"server-panel-item-name",children:e.name||e.description}),g&&i(D,{description:e.description})]}),t(y,{children:[i(v,{suppressHydrationWarning:!0,children:a}),i(f,{data:a},a)]}),e.variables&&i(T,{expandText:`${n("actions.show","Show")} ${d}`,hideText:`${n("actions.hide","Hide")} ${d}`,expandByDefault:!1,expandable:!0,hideDivider:!0,children:i($,{children:Object.entries(e.variables||{}).map(([c,r])=>t(z,{children:[i(k,{children:c}),t(s,{children:[n("default","Default")," ",i(h,{className:"tag-grey",children:r.default})]}),r.description&&(typeof r.description=="string"?i("div",{children:r.description}):i(W,{source:r.description})),r.enum&&t(s,{children:[n("enum","Enum")," ",i(C,{children:r.enum.map(m=>i(h,{className:"tag-grey",children:m},m))})]})]},c))})})]},e.url)}const $=o.div`
1
+ import{jsx as i,jsxs as t}from"react/jsx-runtime";import{styled as o}from"styled-components";import{CopyButton as f}from"@redocly/theme/components/Buttons/CopyButton";import{PanelItem as x,PanelItemDescription as b,Title as v,ServerTitleWrapper as u,TitleWrap as y}from"../../common/PanelItem.js";import{Tag as h}from"../../common/Tag.js";import{useSpecTranslate as w}from"../../../hooks/useTranslate.js";import{Markdown as S}from"../../common/Markdown.js";import{ViewNested as T}from"../../common/ViewNested.js";import{ServerDescriptionTooltip as D}from"./ServerDescriptionTooltip.js";import{resolveServerUrl as j}from"../../../services/code-samples/normalize-servers.js";function U({server:e}){const n=w(),a=j(e.url),p=Object.keys(e.variables||{}).length,l=p===1?"variable":"variables",d=`${p||""} ${n(l,l)}`,g=!!e.name&&!!e.description;return t(x,{children:[t(u,{children:[i(b,{"data-testid":"server-panel-item-name",children:e.name||e.description}),g&&i(D,{description:e.description})]}),t(y,{children:[i(v,{suppressHydrationWarning:!0,children:a}),i(f,{data:a},a)]}),e.variables&&i(T,{expandText:`${n("actions.show","Show")} ${d}`,hideText:`${n("actions.hide","Hide")} ${d}`,expandByDefault:!1,expandable:!0,hideDivider:!0,children:i($,{children:Object.entries(e.variables||{}).map(([c,r])=>t(z,{children:[i(k,{children:c}),t(s,{children:[n("default","Default")," ",i(h,{className:"tag-grey",children:r.default})]}),r.description&&(typeof r.description=="string"?i("div",{children:r.description}):i(W,{source:r.description})),r.enum&&t(s,{children:[n("enum","Enum")," ",i(C,{children:r.enum.map(m=>i(h,{className:"tag-grey",children:m},m))})]})]},c))})})]},e.url)}const $=o.div`
2
2
  padding-left: var(--spacing-xxs);
3
3
  & > div {
4
4
  border-bottom: 1px solid var(--border-color-secondary);
@@ -1,4 +1,4 @@
1
- import{jsx as o,jsxs as i}from"react/jsx-runtime";import{styled as e}from"styled-components";import{useState as d,useRef as m}from"react";import{Button as g}from"@redocly/theme/components/Button/Button";import{Typography as f}from"@redocly/theme/components/Typography/Typography";import{Segmented as h}from"@redocly/theme/components/Segmented/Segmented";import{CloseIcon as v}from"@redocly/theme/icons/CloseIcon/CloseIcon";import{DatabaseIcon as u}from"@redocly/theme/icons/DatabaseIcon/DatabaseIcon";import{KafkaIcon as x}from"@redocly/theme/icons/KafkaIcon/KafkaIcon";import{RabbitMQIcon as b}from"@redocly/theme/icons/RabbitMQIcon/RabbitMQIcon";import{useOutsideClick as k}from"@redocly/theme/core/hooks";import{useFocusTrap as w}from"@redocly/theme/core/hooks";import{BrokerOverviewSection as B}from"./BrokerOverviewSection.js";import{BrokerBindingsSection as z}from"./BrokerBindingsSection.js";const y=[{label:"Overview",value:0}],S=({protocol:t})=>{switch(t){case"kafka":return o(x,{size:"24px"});case"amqp":return o(b,{size:"24px"});default:return o(u,{size:"24px"})}},A=({broker:t,onClose:n,panelLabel:l})=>{const[r,p]=d(0),a=m(null);k(a,n),w(a);const s=[...y];return t.bindings&&s.push({label:"Configuration",value:2}),o(I,{"data-component-name":"BrokerModal/BrokerModal",children:i(C,{ref:a,tabIndex:0,children:[o(M,{onClick:n,"data-testid":"close",variant:"ghost",icon:o(v,{})}),i(O,{children:[o(S,{protocol:t.protocol||""}),o(T,{children:t.protocol}),": ",t.name]}),o(h,{value:r,onChange:({value:c})=>p(c),options:s}),i(j,{children:[r===0&&o(B,{broker:t}),r===2&&o(z,{broker:t,panelLabel:l})]})]})})},I=e.div`
1
+ import{jsx as o,jsxs as i}from"react/jsx-runtime";import{styled as e}from"styled-components";import{useState as d,useRef as m}from"react";import{Button as g}from"@redocly/theme/components/Button/Button";import{Typography as f}from"@redocly/theme/components/Typography/Typography";import{Segmented as h}from"@redocly/theme/components/Segmented/Segmented";import{CloseIcon as v}from"@redocly/theme/icons/CloseIcon/CloseIcon";import{DatabaseIcon as u}from"@redocly/theme/icons/DatabaseIcon/DatabaseIcon";import{KafkaIcon as x}from"@redocly/theme/icons/KafkaIcon/KafkaIcon";import{RabbitMQIcon as b}from"@redocly/theme/icons/RabbitMQIcon/RabbitMQIcon";import{useOutsideClick as k}from"@redocly/theme/core/hooks";import{useFocusTrap as w}from"@redocly/theme/core/openapi";import{BrokerOverviewSection as B}from"./BrokerOverviewSection.js";import{BrokerBindingsSection as z}from"./BrokerBindingsSection.js";const y=[{label:"Overview",value:0}],S=({protocol:t})=>{switch(t){case"kafka":return o(x,{size:"24px"});case"amqp":return o(b,{size:"24px"});default:return o(u,{size:"24px"})}},A=({broker:t,onClose:n,panelLabel:l})=>{const[r,p]=d(0),a=m(null);k(a,n),w(a);const s=[...y];return t.bindings&&s.push({label:"Configuration",value:2}),o(I,{"data-component-name":"BrokerModal/BrokerModal",children:i(C,{ref:a,tabIndex:0,children:[o(M,{onClick:n,"data-testid":"close",variant:"ghost",icon:o(v,{})}),i(O,{children:[o(S,{protocol:t.protocol||""}),o(T,{children:t.protocol}),": ",t.name]}),o(h,{value:r,onChange:({value:c})=>p(c),options:s}),i(j,{children:[r===0&&o(B,{broker:t}),r===2&&o(z,{broker:t,panelLabel:l})]})]})})},I=e.div`
2
2
  background: var(--bg-color-modal-overlay);
3
3
  position: fixed;
4
4
  width: 100vw;
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{styled as o}from"styled-components";import{memo as b,useCallback as h,useState as B}from"react";import{CopyButton as k}from"@redocly/theme/components/Buttons/CopyButton";import{DatabaseIcon as y}from"@redocly/theme/icons/DatabaseIcon/DatabaseIcon";import{KafkaIcon as M}from"@redocly/theme/icons/KafkaIcon/KafkaIcon";import{RabbitMQIcon as w}from"@redocly/theme/icons/RabbitMQIcon/RabbitMQIcon";import{useModalScrollLock as I}from"@redocly/theme/core/hooks";import{Portal as L}from"@redocly/theme/components/Portal/Portal";import{Panel as S}from"@redocly/theme/components/Panel/Panel";import{MoreDetailsButton as j}from"../../../common/MoreDetailsButton.js";import{useSpecTranslate as P}from"../../../../hooks/useTranslate.js";import{useTelemetry as z}from"../../../../hooks/useTelemetry.js";import{resolveText as C}from"../../../../utils/resolveText.js";import{BrokerModal as T}from"./BrokerModal.js";import{HostList as D}from"./BrokerPanel.styled.js";function H(t){switch(t){case"kafka":return e(M,{size:"20px"});case"amqp":return e(w,{size:"20px"});default:return e(y,{size:"20px"})}}const O=b(function({broker:r,showMoreDetailsButton:i,onOpenModal:s}){return a(Q,{"data-component-name":"BrokerPanel/BrokerItem",children:[a(_,{children:[e(W,{children:H(r.protocol)}),e(q,{children:r.name})]}),r.url&&a(E,{children:[e(D,{children:r.url.split(" ").map((l,c)=>e("span",{children:l},c))}),e(k,{data:r.url},r.url)]}),!i&&e(N,{onClick:()=>s(r),children:e(j,{expanded:!1})})]})});function ie({node:t}){const r=t.children[0],i=r?.brokers??[],s=P(),l=z(),c=C(s,t.titleTranslationKey,t.title),v=r?.panelLabel||c||"Brokers",p=!t.title,[d,m]=B(null);I(d!==null);const g=h(n=>{l.sendServerModalOpenedMessage([{id:"serverModalButton",object:"button",uri:"urn:redocly:redoc:ui:button:serverModalButton",server:n.name??n.url??"unknown"}]),m(n)},[l]),x=h(()=>{m(null)},[]),u=e(A,{children:i.map(n=>e(O,{broker:n,showMoreDetailsButton:p,onOpenModal:g},n.name))}),f=d&&e(L,{mountId:"api-content",children:e(T,{broker:d,onClose:x,panelLabel:v})});return p?a(K,{children:[u,f]}):a(R,{header:t.title,className:"panel-api-docs",isExpandable:!1,children:[u,f]})}const R=o(S)`
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{styled as o}from"styled-components";import{memo as b,useCallback as h,useState as B}from"react";import{CopyButton as k}from"@redocly/theme/components/Buttons/CopyButton";import{DatabaseIcon as y}from"@redocly/theme/icons/DatabaseIcon/DatabaseIcon";import{KafkaIcon as M}from"@redocly/theme/icons/KafkaIcon/KafkaIcon";import{RabbitMQIcon as w}from"@redocly/theme/icons/RabbitMQIcon/RabbitMQIcon";import{useModalScrollLock as I}from"@redocly/theme/core/openapi";import{Portal as L}from"@redocly/theme/components/Portal/Portal";import{Panel as S}from"@redocly/theme/components/Panel/Panel";import{MoreDetailsButton as j}from"../../../common/MoreDetailsButton.js";import{useSpecTranslate as P}from"../../../../hooks/useTranslate.js";import{useTelemetry as z}from"../../../../hooks/useTelemetry.js";import{resolveText as C}from"../../../../utils/resolveText.js";import{BrokerModal as T}from"./BrokerModal.js";import{HostList as D}from"./BrokerPanel.styled.js";function H(t){switch(t){case"kafka":return e(M,{size:"20px"});case"amqp":return e(w,{size:"20px"});default:return e(y,{size:"20px"})}}const O=b(function({broker:r,showMoreDetailsButton:i,onOpenModal:s}){return a(Q,{"data-component-name":"BrokerPanel/BrokerItem",children:[a(_,{children:[e(W,{children:H(r.protocol)}),e(q,{children:r.name})]}),r.url&&a(E,{children:[e(D,{children:r.url.split(" ").map((l,c)=>e("span",{children:l},c))}),e(k,{data:r.url},r.url)]}),!i&&e(N,{onClick:()=>s(r),children:e(j,{expanded:!1})})]})});function ie({node:t}){const r=t.children[0],i=r?.brokers??[],s=P(),l=z(),c=C(s,t.titleTranslationKey,t.title),v=r?.panelLabel||c||"Brokers",p=!t.title,[d,m]=B(null);I(d!==null);const g=h(n=>{l.sendServerModalOpenedMessage([{id:"serverModalButton",object:"button",uri:"urn:redocly:redoc:ui:button:serverModalButton",server:n.name??n.url??"unknown"}]),m(n)},[l]),x=h(()=>{m(null)},[]),u=e(A,{children:i.map(n=>e(O,{broker:n,showMoreDetailsButton:p,onOpenModal:g},n.name))}),f=d&&e(L,{mountId:"api-content",children:e(T,{broker:d,onClose:x,panelLabel:v})});return p?a(K,{children:[u,f]}):a(R,{header:t.title,className:"panel-api-docs",isExpandable:!1,children:[u,f]})}const R=o(S)`
2
2
  [data-component-name='Panel/PanelBody'] {
3
3
  padding: 0;
4
4
  }
@@ -1 +1 @@
1
- import{Fragment as S,jsx as e,jsxs as t}from"react/jsx-runtime";import{useAtomValue as f}from"jotai";import{memo as u,useContext as b,useMemo as k}from"react";import{JsonViewer as K}from"@redocly/theme/components/JsonViewer/JsonViewer";import{globalOptionsAtom as j}from"../../../../jotai/store.js";import{itemStoreFieldAtom as C}from"../../../../jotai/itemStore.js";import{ItemIdContext as L}from"../../../../hooks/useDeepLinkSection.js";import{SchemaView as v}from"../../../Schema/SchemaView.js";import{BindingPanel as y,BindingTag as r,JsonViewerWrapper as D,Label as c,Row as l,SchemaWrapper as E,ValueCell as d,omitBindingVersion as J,JsonBindingPanel as M}from"../common/bindingPanel.js";const P=u(function({keySchemaId:a,bindingValue:n}){return t(S,{children:[a&&e(E,{children:e(v,{schemaId:a,expandByDefault:!0,level:1})}),n.schemaIdLocation&&t(l,{children:[e(c,{children:"Schema ID Location"}),e(d,{children:e(r,{borderless:!0,children:n.schemaIdLocation})})]}),n.schemaIdPayloadEncoding&&t(l,{children:[e(c,{children:"Schema ID payload encoding"}),e(d,{children:e(r,{borderless:!0,children:n.schemaIdPayloadEncoding})})]}),n.schemaLookupStrategy&&t(l,{children:[e(c,{children:"Schema lookup strategy"}),e(d,{children:e(r,{borderless:!0,children:n.schemaLookupStrategy})})]})]})}),w=u(function({bindingValue:a,jsonSamplesDepth:n}){return e(D,{children:e(K,{data:J(a),expandLevel:n,controls:!1})})});function q({node:i}){const a=i.children[0],{jsonSamplesDepth:n}=f(j),m=b(L)??"",o=f(k(()=>C({itemId:m,key:"activeMessageKey"}),[m]));if(!a)return e(y,{header:i.title,className:"panel-api-docs",isExpandable:!1});const{bindingsByMessageKey:s}=a,I=Object.keys(s),h=o&&s[o]?o:I[0],p=h?s[h]:void 0;if(!p)return null;const{bindingKey:x,bindingValue:g,keySchemaId:B}=p;return x==="kafka"?e(y,{header:i.title,className:"panel-api-docs",isExpandable:!1,children:e(P,{keySchemaId:B,bindingValue:g})}):e(M,{header:i.title,className:"panel-api-docs",isExpandable:!1,children:e(w,{bindingValue:g,jsonSamplesDepth:n})})}export{q as MessageBindingPanelItem};
1
+ import{Fragment as b,jsx as e,jsxs as s}from"react/jsx-runtime";import{useAtomValue as f}from"jotai";import{memo as u,useContext as k,useMemo as y}from"react";import{JsonViewer as v}from"@redocly/theme/components/JsonViewer/JsonViewer";import{globalOptionsAtom as C}from"../../../../jotai/store.js";import{itemStoreFieldAtom as L}from"../../../../jotai/itemStore.js";import{DeepLinkSectionContext as j,ItemIdContext as D}from"../../../../hooks/useDeepLinkSection.js";import{SchemaView as K}from"../../../Schema/SchemaView.js";import{BindingPanel as x,BindingTag as l,JsonViewerWrapper as P,Label as d,Row as m,SchemaWrapper as E,ValueCell as h,omitBindingVersion as J,JsonBindingPanel as M}from"../common/bindingPanel.js";const w=u(function({keySchemaId:i,bindingValue:n,messageKey:a}){const o=y(()=>a?{asyncSection:"messages",messageKey:a,t:"bindings"}:null,[a]);return s(b,{children:[i&&e(E,{children:e(j.Provider,{value:o,children:e(K,{schemaId:i,expandByDefault:!0,level:1})})}),n.schemaIdLocation&&s(m,{children:[e(d,{children:"Schema ID Location"}),e(h,{children:e(l,{borderless:!0,children:n.schemaIdLocation})})]}),n.schemaIdPayloadEncoding&&s(m,{children:[e(d,{children:"Schema ID payload encoding"}),e(h,{children:e(l,{borderless:!0,children:n.schemaIdPayloadEncoding})})]}),n.schemaLookupStrategy&&s(m,{children:[e(d,{children:"Schema lookup strategy"}),e(h,{children:e(l,{borderless:!0,children:n.schemaLookupStrategy})})]})]})}),V=u(function({bindingValue:i,jsonSamplesDepth:n}){return e(P,{children:e(v,{data:J(i),expandLevel:n,controls:!1})})});function z({node:t}){const i=t.children[0],{jsonSamplesDepth:n}=f(C),a=k(D)??"",o=f(y(()=>L({itemId:a,key:"activeMessageKey"}),[a]));if(!i)return e(x,{header:t.title,className:"panel-api-docs",isExpandable:!1});const{bindingsByMessageKey:r}=i,I=Object.keys(r),c=o&&r[o]?o:I[0],p=c?r[c]:void 0;if(!p)return null;const{bindingKey:S,bindingValue:g,keySchemaId:B}=p;return S==="kafka"?e(x,{header:t.title,className:"panel-api-docs",isExpandable:!1,children:e(w,{keySchemaId:B,bindingValue:g,messageKey:c})}):e(M,{header:t.title,className:"panel-api-docs",isExpandable:!1,children:e(V,{bindingValue:g,jsonSamplesDepth:n})})}export{z as MessageBindingPanelItem};
@@ -1,6 +1,6 @@
1
1
  import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as o}from"styled-components";const s=o.div`
2
2
  border: 1px solid var(--border-color-secondary, var(--border-color-primary));
3
- border-radius: var(--border-radius);
3
+ border-radius: var(--panel-border-radius);
4
4
  background-color: var(--panel-bg-color, var(--bg-color));
5
5
  margin-top: var(--spacing-base);
6
6
  `,l=o.div`
@@ -5,7 +5,7 @@ import{styled as o}from"styled-components";import{Panel as e}from"@redocly/theme
5
5
  `,c=o(e)`
6
6
  [data-component-name='Panel/PanelHeader'],
7
7
  [data-component-name='Panel/PanelBody'] {
8
- padding: var(--spacing-sm);
8
+ padding: var(--spacing-sm) var(--spacing-md);
9
9
  }
10
10
  `,l=o(a)`
11
11
  border: none;
@@ -1,7 +1,10 @@
1
- import{Fragment as n,jsx as e}from"react/jsx-runtime";import{useAtomValue as l}from"jotai";import{styled as c}from"styled-components";import{refPointerToStoreId as i}from"../../utils/refPointer.js";import{ContentWrapper as f}from"../common/ContentWrapper.js";import{exampleStoreAtom as u}from"../../jotai/examples.js";import{PayloadDisplay as x}from"../panels/ExampleItem/selectors.js";const A=({pointer:r,value:o,mimeType:p})=>{const a=l(u);if(o===void 0&&!r)return e(n,{});const s=r?i(r):void 0,m=r&&/\/value$/.test(r)?i(r.replace(/\/value$/,"")):void 0,d=a[s??""]??a[m??""],t=o!==void 0?o:d?.value;return t===void 0?e(n,{}):e(f,{children:e(y,{children:e(x,{payload:t,mediaType:p,description:d?.description})})})},y=c.div`
1
+ import{Fragment as i,jsx as e,jsxs as c}from"react/jsx-runtime";import{useAtomValue as u}from"jotai";import{styled as n}from"styled-components";import{refPointerToStoreId as s}from"../../utils/refPointer.js";import{ContentWrapper as f}from"../common/ContentWrapper.js";import{exampleStoreAtom as x}from"../../jotai/examples.js";import{ExampleDescription as b,PayloadDisplay as v}from"../panels/ExampleItem/selectors.js";const _=({pointer:r,value:o,mimeType:p})=>{const t=u(x);if(o===void 0&&!r)return e(i,{});const m=r?s(r):void 0,l=r&&/\/value$/.test(r)?s(r.replace(/\/value$/,"")):void 0,a=t[m??""]??t[l??""],d=o!==void 0?o:a?.value;return d===void 0?e(i,{}):e(f,{children:c(g,{children:[a?.description?e(y,{children:e(b,{description:a.description})}):null,e(v,{payload:d,mediaType:p})]})})},g=n.div`
2
2
  padding: calc(var(--spacing-unit) * 4);
3
3
  border-radius: var(--panel-border-radius);
4
4
  border: var(--panel-samples-border);
5
5
  background-color: var(--panel-samples-bg-color);
6
6
  width: 100%;
7
- `;export{A as RedocExample};
7
+ `,y=n.div`
8
+ border-bottom: 1px solid var(--border-color-primary);
9
+ margin-bottom: var(--spacing-sm);
10
+ `;export{_ as RedocExample};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useId as l,useMemo as u}from"react";import{useAtomValue as a}from"jotai";import{panelKind as c}from"../../types/common.js";import{exampleStoreAtom as R}from"../../jotai/examples.js";import{responseCodesContainingKey as I}from"../../services/code-samples/example-key.js";import{ResponseExampleItem as E}from"../panels/ExampleItem/ResponseExampleItem.js";import{ContentWrapper as S}from"../common/ContentWrapper.js";import{ItemIdContext as x,SYNTHETIC_ITEM_ID_PREFIX as C}from"../../hooks/useDeepLinkSection.js";function N({responseCodes:o,exampleKey:n,schemaId:t}){const m=a(R),s=`${C}${l()}`,i=u(()=>{const e=I(o,n,f=>m[f]);return e.length===1?e:o},[o,n,m]),p=t===void 0?i:i.map(e=>e.schemaId?e:{...e,schemaId:t}),d={kind:c.RESPONSE,headerTitle:"Response",responseCodes:p,examples:[],...o.length===0&&t!==void 0&&{schemaId:t},...n!==void 0&&{exampleKey:n}};return r(x.Provider,{value:s,children:r(S,{children:r(E,{node:d})})})}export{N as RedocResponseSamples};
1
+ import{jsx as r}from"react/jsx-runtime";import{useId as l,useMemo as u}from"react";import{useAtomValue as c}from"jotai";import{panelKind as a}from"../../types/common.js";import{exampleStoreAtom as I}from"../../jotai/examples.js";import{responseCodesContainingKey as R}from"../../services/code-samples/example-key.js";import{ResponseExampleItem as E}from"../panels/ExampleItem/ResponseExampleItem.js";import{ContentWrapper as S}from"../common/ContentWrapper.js";import{ItemIdContext as x,SYNTHETIC_ITEM_ID_PREFIX as C}from"../../hooks/useDeepLinkSection.js";function N({responseCodes:e,exampleKey:n,schemaId:t}){const m=c(I),s=`${C}${l()}`,i=u(()=>{const o=R(e,n,f=>m[f]);return o.length===1?o:e},[e,n,m]),p=t===void 0?i:i.map(o=>o.schemaId?o:{...o,schemaId:t}),d={kind:a.RESPONSE,responseCodes:p,examples:[],...e.length===0&&t!==void 0&&{schemaId:t},...n!==void 0&&{exampleKey:n}};return r(x.Provider,{value:s,children:r(S,{children:r(E,{node:d})})})}export{N as RedocResponseSamples};
@@ -0,0 +1,5 @@
1
+ import type { ComponentType, FC } from 'react';
2
+ import type { ApiItem } from '../types/store.js';
3
+ export declare function withLicenseGate<P extends {
4
+ items?: ApiItem[];
5
+ }>(Component: ComponentType<P>): FC<P>;
@@ -0,0 +1 @@
1
+ import{Fragment as i,jsx as r,jsxs as a}from"react/jsx-runtime";import{useLicenseGate as m}from"../hooks/useLicenseGate.js";function x(t){return function(e){const{gatedItems:s,overlay:n}=m(e.items??[]);return a(i,{children:[n,r(t,{...e,items:s})]})}}export{x as withLicenseGate};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{memo as i}from"react";import{BrowserRouter as u,useInRouterContext as s}from"react-router";function a(t){const e=i(o=>s()?r(t,{...o}):r(u,{children:r(t,{...o})}));return e.displayName=`WithRouter(${n(t)})`,e}function n(t){return t.displayName||t.name||"RedoclyApiDocs"}export{a as withRouter};
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as i}from"react";import{BrowserRouter as u,MemoryRouter as n,useInRouterContext as s}from"react-router";const m=typeof window<"u"?u:n;function x(t){const o=i(r=>s()?e(t,{...r}):e(m,{children:e(t,{...r})}));return o.displayName=`WithRouter(${R(t)})`,o}function R(t){return t.displayName||t.name||"RedoclyApiDocs"}export{x as withRouter};
@@ -10,6 +10,8 @@ type WithStoreProviderProps = {
10
10
  options: RawApiDocsOptions;
11
11
  layout?: LayoutVariant;
12
12
  basePath?: string;
13
+ definition?: Record<string, unknown> | string;
14
+ definitionUrl?: string;
13
15
  };
14
16
  export type StoreProviderProps = {
15
17
  options?: RawApiDocsOptions;
@@ -1 +1 @@
1
- import{jsx as p}from"react/jsx-runtime";import{memo as x,useMemo as h,useEffect as L}from"react";import{createStore as A,Provider as E,useStore as j,getDefaultStore as N}from"jotai";import{LayoutVariant as _}from"@redocly/config";import{createStoreContext as k,toRecord as M}from"../adapters/helpers.js";import{populateOpenApiStore as T}from"../adapters/openapi/store.js";import{DEFAULT_MAX_DISPLAYED_ENUM_VALUES as F}from"../options/constants.js";import{normalizeOptions as U}from"../options/normalizeOptions.js";import{globalStoreAtom as d}from"../jotai/store.js";import{appStore as O,environmentAtom as V,layoutAtom as v,userClaimsAtom as y}from"../jotai/app.js";import{buildServerEnvValues as w}from"../services/code-samples/replay/replay-predefined-env.js";const z={ignoreNamedSchemas:["java.io.ObjectStreamField"],maxDisplayedEnumValues:F};function P(e,n){const t={...z,...e,basePath:n};return U(t)}const C=new WeakSet;function g(e){C.has(e)||(C.add(e),e.sub(O,()=>{}))}function b(e,n){if(!n?.servers?.length)return;g(e);const t=w(n.servers),i=e.get(O).environments??{},m={};for(const[s,a]of Object.entries(t)){const c=i[s],r=c?Object.fromEntries(Object.entries(a).filter(([o])=>!(o in c))):a;Object.keys(r).length>0&&(m[s]=r)}Object.keys(m).length!==0&&e.set(V,{environments:m})}function Z(e){const n=x(t=>{const{items:i,options:m,store:s,layout:a,basePath:c=""}=t,r=j(),o=r!==N()?r:void 0,u=h(()=>P(m,c),[m,c]),S=a??u.layout;L(()=>{if(o){const f=o.get(d);b(o,s??f.store),o.set(v,S),o.set(y,u.userClaims??{}),o.set(d,{items:i,store:s??f.store,options:u,replayDefinition:f.replayDefinition})}},[S,u,o,i,s]);const D=h(()=>{if(o)return null;const f={items:i,store:s,options:u,replayDefinition:null},l=A();return l.set(d,f),g(l),l.set(v,S),u.userClaims&&l.set(y,u.userClaims),b(l,s),l},[o,i,s,u,S]);return o||!D?p(e,{...t}):p(E,{store:D,children:p(e,{...t})})});return n.displayName=`WithStoreProvider(${I(e)})`,n}function I(e){return e.displayName||e.name||"Component"}function q(e,n){const t=k(M(e));return T(e,t,n),{schemaStore:t.schemaStore,exampleStore:t.exampleStore,securitySchemeStore:t.securitySchemeStore,mcp:t.document["x-mcp"],schemaCatalogLink:t.document["x-schema-catalog-link"]}}const ee=x(function({children:n,definition:t,apiStore:i,options:m}){const s=h(()=>{const a=P({specType:"openapi",...m},m?.basePath??"");let c;if(i)c=i;else if(t)c=q(t,a);else throw new Error("StoreProvider requires either apiStore or definition");const r=A();return r.set(d,{items:[],store:c,options:a,replayDefinition:null}),g(r),r.set(v,_.STACKED),a.userClaims&&r.set(y,a.userClaims),b(r,c),r},[i,t,m]);return p(E,{store:s,children:n})});export{ee as StoreProvider,Z as withStoreProvider};
1
+ import{jsx as p}from"react/jsx-runtime";import{memo as E,useMemo as v,useEffect as j}from"react";import{createStore as O,Provider as P,useStore as N,getDefaultStore as _}from"jotai";import{LayoutVariant as k}from"@redocly/config";import{createStoreContext as M,toRecord as T}from"../adapters/helpers.js";import{populateOpenApiStore as F}from"../adapters/openapi/store.js";import{DEFAULT_MAX_DISPLAYED_ENUM_VALUES as V}from"../options/constants.js";import{normalizeOptions as w}from"../options/normalizeOptions.js";import{globalStoreAtom as h}from"../jotai/store.js";import{appStore as C,environmentAtom as z,layoutAtom as y}from"../jotai/app.js";import{userClaimsAtom as g}from"../jotai/app.js";import{buildServerEnvValues as I}from"../services/code-samples/server-env.js";const q={ignoreNamedSchemas:["java.io.ObjectStreamField"],maxDisplayedEnumValues:V};function L(e,o){const t={...q,...e,basePath:o};return w(t)}const U=new WeakSet;function b(e){U.has(e)||(U.add(e),e.sub(C,()=>{}))}function D(e,o){if(!o?.servers?.length)return;b(e);const t=I(o.servers),i=e.get(C).environments??{},s={};for(const[n,a]of Object.entries(t)){const m=i[n],r=m?Object.fromEntries(Object.entries(a).filter(([d])=>!(d in m))):a;Object.keys(r).length>0&&(s[n]=r)}Object.keys(s).length!==0&&e.set(z,{environments:s})}function re(e){const o=E(t=>{const{items:i,options:s,store:n,layout:a,basePath:m="",definition:r,definitionUrl:d}=t,x=N(),c=x!==_()?x:void 0,u=v(()=>L(s,m),[s,m]),S=a??u.layout;j(()=>{if(c){const l=c.get(h);D(c,n??l.store),c.set(y,S),c.set(g,u.userClaims??{}),c.set(h,{items:i,store:n??l.store,options:u,definition:r??l.definition,definitionUrl:d??l.definitionUrl,replayDefinition:l.replayDefinition})}},[S,u,c,i,n,r,d]);const A=v(()=>{if(c)return null;const l={items:i,store:n,options:u,definition:r,definitionUrl:d,replayDefinition:null},f=O();return f.set(h,l),b(f),f.set(y,S),u.userClaims&&f.set(g,u.userClaims),D(f,n),f},[c,i,n,u,S]);return c||!A?p(e,{...t}):p(P,{store:A,children:p(e,{...t})})});return o.displayName=`WithStoreProvider(${G(e)})`,o}function G(e){return e.displayName||e.name||"Component"}function K(e,o){const t=M(T(e));return F(e,t,o),{schemaStore:t.schemaStore,exampleStore:t.exampleStore,securitySchemeStore:t.securitySchemeStore,mcp:t.document["x-mcp"],schemaCatalogLink:t.document["x-schema-catalog-link"]}}const oe=E(function({children:o,definition:t,apiStore:i,options:s}){const n=v(()=>{const a=L({specType:"openapi",...s},s?.basePath??"");let m;if(i)m=i;else if(t)m=K(t,a);else throw new Error("StoreProvider requires either apiStore or definition");const r=O();return r.set(h,{items:[],store:m,options:a,replayDefinition:null}),b(r),r.set(y,k.STACKED),a.userClaims&&r.set(g,a.userClaims),D(r,m),r},[i,t,s]);return p(P,{store:n,children:o})});export{oe as StoreProvider,re as withStoreProvider};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The deep-link part of a URL fragment. Redoc standalone's hash router puts the route in the
3
+ * fragment too (`#/route#deep-link`); a fragment holding a route alone has no deep link.
4
+ */
5
+ export declare function deepLinkHash(fragment: string): string;
@@ -0,0 +1 @@
1
+ function e(i){if(!i.startsWith("#/"))return i;const t=i.indexOf("#",1);return t===-1?"":i.slice(t)}export{e as deepLinkHash};
@@ -1 +1 @@
1
- import{useEffect as E,useLayoutEffect as m}from"react";import{useLocation as y,useNavigate as T}from"react-router";import{IS_BROWSER as g}from"@redocly/theme/core/openapi";import{SECTION_ATTR as w}from"../constants/openapi.js";import{hashToElementId as S,resolveLegacyHashToRoute as v,stripArrayMarkers as L,stripCallbacksSegment as b}from"../utils/deep-link.js";import{USER_SCROLL_INTENT_EVENTS as H,WHEEL_INTENT_THRESHOLD_PX as _,createScrollIntentTracker as A}from"./useUserScrollIntent.js";function M({activeRoute:t,routeIndex:n,basePath:e,isHydrated:r}){const o=y(),u=T(),l=t?.path;E(()=>{if(!g||!("scrollRestoration"in window.history))return;const c=window.history.scrollRestoration;return window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration=c}},[]),m(()=>{if(!g)return;const{hash:c}=o,s=c?S(c):"";if(s&&!p(s)){const a=v(c,e,n);if(a&&a!==o.pathname+o.hash){u(a,{replace:!0});return}}if(!(!s&&!l))return N(C(s,l))},[o,l,r,u,e,n])}function C(t,n){if(!t)return()=>h(n);let e=!1;return()=>{const r=p(t);return r?(e=!0,r):e?null:h(n)}}const k=_;function N(t){let n=t();if(n?.scrollIntoView({block:"start"}),typeof ResizeObserver>"u")return()=>{};const e=document.documentElement,r=new AbortController;let o=n?n.getBoundingClientRect().top:0,u=e.scrollHeight;function l(i){n=i,i.scrollIntoView({block:"start"}),o=i.getBoundingClientRect().top,u=e.scrollHeight}const c=new ResizeObserver(()=>{const i=t();i&&l(i)});c.observe(document.body);function s(){n&&(Math.abs(n.getBoundingClientRect().top-o)<=k||(e.scrollHeight===u?f():l(n)))}const a=A();function R(i){a(i)&&f()}function f(){c.disconnect(),r.abort()}const d={capture:!0,passive:!0,signal:r.signal};window.addEventListener("scroll",s,d);for(const i of H)window.addEventListener(i,R,d);return f}function p(t){if(!t)return null;const n=t.split("&")[0],e=n===t?[t]:[t,n];for(const r of e){const o=document.getElementById(r)??O(r);if(o)return o}return null}function O(t){return I(t)??B(t)}function I(t){if(t.includes("[]"))return null;for(const n of document.querySelectorAll('[id*="[]"]'))if(L(n.id)===t)return n;return null}function B(t){if(t.includes("/callbacks/"))return null;for(const n of document.querySelectorAll('[id*="/callbacks/"]'))if(b(n.id)===t)return n;return null}function h(t){if(!t)return null;const n=t.replace(/["\\]/g,"\\$&");return document.querySelector(`[${w}="${n}"]`)}export{M as useApiDocsScroll};
1
+ import{useEffect as E,useLayoutEffect as y}from"react";import{useLocation as T,useNavigate as w}from"react-router";import{IS_BROWSER as p}from"@redocly/theme/core/openapi";import{SECTION_ATTR as h}from"../constants/openapi.js";import{hashToElementId as S,resolveLegacyHashToRoute as v,stripArrayMarkers as L,stripCallbacksSegment as b}from"../utils/deep-link.js";import{USER_SCROLL_INTENT_EVENTS as H,WHEEL_INTENT_THRESHOLD_PX as _,createScrollIntentTracker as A}from"./useUserScrollIntent.js";function M({activeRoute:t,routeIndex:e,basePath:n,isHydrated:r}){const o=T(),u=w(),l=t?.path;E(()=>{if(!p||!("scrollRestoration"in window.history))return;const c=window.history.scrollRestoration;return window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration=c}},[]),y(()=>{if(!p)return;const{hash:c}=o,s=c?S(c):"";if(s&&!R(s)){const a=v(c,n,e);if(a&&a!==o.pathname+o.hash){u(a,{replace:!0});return}}if(!(!s&&!l)){if(!s&&d(l)===document.querySelector(`[${h}]`)){window.scrollTo(0,0);return}return N(C(s,l))}},[o,l,r,u,n,e])}function C(t,e){if(!t)return()=>d(e);let n=!1;return()=>{const r=R(t);return r?(n=!0,r):n?null:d(e)}}const k=_;function N(t){let e=t();if(e?.scrollIntoView({block:"start"}),typeof ResizeObserver>"u")return()=>{};const n=document.documentElement,r=new AbortController;let o=e?e.getBoundingClientRect().top:0,u=n.scrollHeight;function l(i){e=i,i.scrollIntoView({block:"start"}),o=i.getBoundingClientRect().top,u=n.scrollHeight}const c=new ResizeObserver(()=>{const i=t();i&&l(i)});c.observe(document.body);function s(){e&&(Math.abs(e.getBoundingClientRect().top-o)<=k||(n.scrollHeight===u?f():l(e)))}const a=A();function m(i){a(i)&&f()}function f(){c.disconnect(),r.abort()}const g={capture:!0,passive:!0,signal:r.signal};window.addEventListener("scroll",s,g);for(const i of H)window.addEventListener(i,m,g);return f}function R(t){if(!t)return null;const e=t.split("&")[0],n=e===t?[t]:[t,e];for(const r of n){const o=document.getElementById(r)??O(r);if(o)return o}return null}function O(t){return I(t)??B(t)}function I(t){if(t.includes("[]"))return null;for(const e of document.querySelectorAll('[id*="[]"]'))if(L(e.id)===t)return e;return null}function B(t){if(t.includes("/callbacks/"))return null;for(const e of document.querySelectorAll('[id*="/callbacks/"]'))if(b(e.id)===t)return e;return null}function d(t){if(!t)return null;const e=t.replace(/["\\]/g,"\\$&");return document.querySelector(`[${h}="${e}"]`)}export{M as useApiDocsScroll};
@@ -0,0 +1,9 @@
1
+ import type { SliceContentKind, SpecSliceScope } from '../services/spec-slice/index.js';
2
+ type CopySpecSlice = {
3
+ getText: () => Promise<string>;
4
+ contentKind: SliceContentKind;
5
+ scope: SpecSliceScope;
6
+ specUrl?: string;
7
+ };
8
+ export declare function useCopySpecSlice(pageSlug: string): CopySpecSlice | null;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{useMemo as a}from"react";import{useAtomValue as n}from"jotai";import{apiSpecType as d}from"../types/common.js";import{definitionAtom as y,definitionUrlAtom as h,globalOptionsAtom as A,routingBasePathAtom as g,specTypeAtom as P}from"../jotai/store.js";import{routeIndexAtom as S}from"../jotai/routes.js";import{buildSpecSlice as w,resolveSpecSliceScope as x}from"../services/spec-slice/index.js";function b(t,e,i){const r=e.toLowerCase(),o=t.routeIndexByPath.get(e)??t.routeIndexByPath.get(r);return o!==void 0?t.allRoutes[o]:r===i.toLowerCase()?t.rootPage:void 0}function q(t){const e=n(y),i=n(h),{downloadUrls:r}=n(A),o=n(S),c=n(P),p=n(g);return a(()=>{if(!e||!o)return null;const s=b(o,t,p??""),l=s?o.tagByPath.get(s.path)?.items.map(u=>u.content):void 0,m=x(c,s?.content,s?.label,l);if(!m)return null;const f=c===d.GRAPHQL?"graphql":"yaml";return{getText:async()=>{const u=await w(c,e,m);if(u===void 0)throw new Error(`Copy for LLM: no content produced for "${t}"`);return u},contentKind:f,scope:m,specUrl:i??r?.[0]?.url}},[e,i,r,o,c,p,t])}export{q as useCopySpecSlice};
@@ -1 +1 @@
1
- import{createContext as i,useContext as u,useMemo as c}from"react";import{useAtomValue as p}from"jotai";import{routingBasePathAtom as a}from"../jotai/store.js";import{buildDeepLinkUrl as I,buildOpenApiSectionSuffix as C,CALLBACKS_SECTION as S}from"../utils/deep-link.js";import{joinWithSeparator as h,toRelativePath as m}from"../utils/url.js";import{useNavigationUrlNormalizer as L}from"./useNormalizeUrl.js";const l=i(void 0),k=i(void 0);function D(){return u(k)}function P(){const t=u(l),e=p(a);return c(()=>t?m(t,e).toLowerCase():"",[t,e])}const U="synthetic-item:",T=i(null);function f(t,e){const o=u(l),r=D(),n=p(a),s=L();return c(()=>{if(!o||o.startsWith(U))return"";const d=n?m(o,n):o,x=e&&r?h(C(S,r),t):t;return s(I(n,d,x))},[o,r,e,n,t,s])}function _(t){return f(t,!0)}function v(t){return f(t,!1)}export{k as CallbackScopeContext,T as DeepLinkSectionContext,l as ItemIdContext,U as SYNTHETIC_ITEM_ID_PREFIX,D as useCallbackScope,_ as useDeepLinkUrl,v as useFieldDeepLinkUrl,P as useHashItemId};
1
+ import{createContext as i,useContext as u,useMemo as c}from"react";import{useAtomValue as m}from"jotai";import{routingBasePathAtom as p}from"../jotai/store.js";import{buildDeepLinkUrl as I,buildOpenApiSectionSuffix as x,CALLBACKS_SECTION as C}from"../utils/deep-link.js";import{joinWithSeparator as S,toElementId as h,toRelativePath as L}from"../utils/url.js";import{useNavigationUrlNormalizer as k}from"./useNormalizeUrl.js";const a=i(void 0),D=i(void 0);function U(){return u(D)}function T(){const t=u(a),e=m(p);return c(()=>t?(h(t,e)??"").toLowerCase():"",[t,e])}const g="synthetic-item:",_=i(null);function l(t,e){const o=u(a),r=U(),n=m(p),s=k();return c(()=>{if(!o||o.startsWith(g))return"";const f=n?L(o,n):o,d=e&&r?S(x(C,r),t):t;return s(I(n,f,d))},[o,r,e,n,t,s])}function v(t){return l(t,!0)}function z(t){return l(t,!1)}export{D as CallbackScopeContext,_ as DeepLinkSectionContext,a as ItemIdContext,g as SYNTHETIC_ITEM_ID_PREFIX,U as useCallbackScope,v as useDeepLinkUrl,z as useFieldDeepLinkUrl,T as useHashItemId};
@@ -0,0 +1,2 @@
1
+ /** Community-only event; `useInitialTelemetry.ce.ts` replaces this no-op in the CE tree. */
2
+ export declare function useInitialTelemetry(): void;
@@ -0,0 +1 @@
1
+ function e(){}export{e as useInitialTelemetry};
@@ -1 +1 @@
1
- import{useState as s,useEffect as a}from"react";import r from"../services/license/check.js";function d(e){const[n,o]=s(process.env.NODE_ENV==="development"?{valid:!0,allowed:!0}:null);a(()=>{async function i(){const l=await r(e);o(l)}i()},[e]);const t=n===null;return{licenseInfo:n??{},isValid:n!==null&&u(n),isPending:t}}function u(e){return!!e.valid&&!!e.allowed&&!e.expired||!!e.local}export{d as useLicense};
1
+ import{useState as a,useEffect as l}from"react";import r,{isLicenseBypassed as u}from"../services/license/check.js";function p(e){const[n,i]=a(u()?{valid:!0,allowed:!0}:null);l(()=>{async function o(){const s=await r(e);i(s)}o()},[e]);const t=n===null;return{licenseInfo:n??{},isValid:n!==null&&c(n),isPending:t}}function c(e){return!!e.valid&&!!e.allowed&&!e.expired||!!e.local}export{p as useLicense};
@@ -0,0 +1,6 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ApiItem } from '../types/store.js';
3
+ export declare function useLicenseGate(items: ApiItem[]): {
4
+ gatedItems: ApiItem[];
5
+ overlay: ReactElement | null;
6
+ };
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{useAtomValue as t}from"jotai";import{licenseKeyAtom as m}from"../jotai/store.js";import{useLicense as c}from"./useLicense.js";import{LicenseOverlay as l}from"../components/LicenseOverlay.js";function d(o){const s=t(m),{isValid:e,licenseInfo:i,isPending:n}=c(s);return{gatedItems:e?o:[],overlay:!n&&!e?r(l,{licenseInfo:i}):null}}export{d as useLicenseGate};
@@ -15,6 +15,10 @@
15
15
  * scroll-spy announces them via `URL_REPLACE_EVENT` and the bridge re-syncs
16
16
  * its guard ref (without notifying subscribers) — otherwise a later router
17
17
  * navigation back to the remembered hash would be treated as a no-op.
18
+ *
19
+ * A `hashchange` that arrives with the hash unchanged can only be synthetic: a host
20
+ * re-landing on the current URL without routing (the portal's `loadAndNavigate` skips
21
+ * the router when nothing in the URL changed). It is announced as a reassert.
18
22
  */
19
23
  /** Fired after a raw `history.replaceState` URL write that bypasses the router. */
20
24
  export declare const URL_REPLACE_EVENT = "redocly:urlreplace";
@@ -1 +1 @@
1
- import{useEffect as o,useRef as i}from"react";import{useLocation as s}from"react-router";const r="redocly:urlreplace";function h(){const n=s(),t=i(n.hash);o(()=>{if(typeof window>"u")return;const e=()=>{t.current=window.location.hash};return window.addEventListener("hashchange",e),window.addEventListener("popstate",e),window.addEventListener(r,e),()=>{window.removeEventListener("hashchange",e),window.removeEventListener("popstate",e),window.removeEventListener(r,e)}},[]),o(()=>{typeof window>"u"||n.hash!==t.current&&(t.current=n.hash,window.dispatchEvent(new HashChangeEvent("hashchange")))},[n])}export{r as URL_REPLACE_EVENT,h as useRouterHashBridge};
1
+ import{useEffect as c,useRef as s}from"react";import{useLocation as f}from"react-router";import{reassertUrlHash as h}from"./useUrlHashReassert.js";import{deepLinkHash as d}from"./deepLinkHash.js";const u="redocly:urlreplace";function m(){const e=f(),t=s(e.hash),i=s(e.key),r=s(!1);c(()=>{if(typeof window>"u")return;const n=()=>{t.current=d(window.location.hash)},a=()=>{const o=d(window.location.hash);!r.current&&o&&o===t.current&&h(),t.current=o};return window.addEventListener("hashchange",a),window.addEventListener("popstate",n),window.addEventListener(u,n),()=>{window.removeEventListener("hashchange",a),window.removeEventListener("popstate",n),window.removeEventListener(u,n)}},[]),c(()=>{if(typeof window>"u")return;const n=e.key===i.current;if(i.current=e.key,e.hash!==t.current){t.current=e.hash,r.current=!0,window.dispatchEvent(new HashChangeEvent("hashchange")),r.current=!1;return}!n&&e.hash&&h()},[e])}export{u as URL_REPLACE_EVENT,m as useRouterHashBridge};
@@ -1 +1 @@
1
- import{useEffect as i}from"react";import{useAtomValue as l,useSetAtom as m}from"jotai";import{useLocation as a}from"react-router";import{IS_BROWSER as s,useActiveSectionId as f}from"@redocly/theme/core/openapi";import{activeScrollSectionAtom as u}from"../jotai/app.js";import{routingBasePathAtom as p}from"../jotai/store.js";import{encodeBackSlashes as S}from"../utils/string.js";import{normalizePath as d}from"../utils/url.js";import{useUserScrollIntent as h}from"./useUserScrollIntent.js";import{URL_REPLACE_EVENT as w}from"./useRouterHashBridge.js";function c(t){window.history.replaceState({},"",t),window.dispatchEvent(new Event(w))}function _(){const t=a(),e=m(u),r=l(p),o=f(t,!1,!1),n=h(t.key);i(()=>{e(null)},[t.pathname,e]),i(()=>{if(!(!s||!o)&&(e(o),!!n.current)){if(o===r){c(r);return}!window.location.pathname.includes(o)&&!window.location.hash.includes(o)&&c(d(S(o)))}},[o,r,e,n])}export{_ as useScrollSpyUrlSync};
1
+ import{useEffect as c}from"react";import{useAtomValue as s,useSetAtom as l}from"jotai";import{useHref as m,useLocation as a}from"react-router";import{IS_BROWSER as f,useActiveSectionId as u}from"@redocly/theme/core/openapi";import{activeScrollSectionAtom as p}from"../jotai/app.js";import{routingBasePathAtom as S}from"../jotai/store.js";import{encodeBackSlashes as d}from"../utils/string.js";import{normalizePath as h}from"../utils/url.js";import{useUserScrollIntent as w}from"./useUserScrollIntent.js";import{URL_REPLACE_EVENT as E}from"./useRouterHashBridge.js";function A(t){window.history.replaceState({},"",t),window.dispatchEvent(new Event(E))}function k(){const t=a(),e=l(p),r=s(S),o=u(t,!1,!1),n=m(h(d(o||"/"))),i=w(t.key);c(()=>{e(null)},[t.pathname,e]),c(()=>{!f||!o||(e(o),i.current&&(o===r||!window.location.pathname.includes(o)&&!window.location.hash.includes(o))&&A(n))},[o,n,r,e,i])}export{k as useScrollSpyUrlSync};
@@ -1,7 +1,8 @@
1
1
  type Options = {
2
2
  trackSilentReplaces?: boolean;
3
3
  };
4
- /** Current `window.location.hash`. Ignores scroll-spy's silent hash clears (so
5
- * hash-driven state survives) unless `trackSilentReplaces` is set. */
4
+ /** Current URL hash. Under Redoc standalone's hash router (`#/route#deep-link`) only the
5
+ * trailing deep-link part, or `''` when the fragment holds a route alone. Ignores scroll-spy's
6
+ * silent hash clears (so hash-driven state survives) unless `trackSilentReplaces` is set. */
6
7
  export declare function useUrlHash(options?: Options): string;
7
8
  export {};
@@ -1 +1 @@
1
- import{useSyncExternalStore as r}from"react";import{URL_REPLACE_EVENT as s}from"./useRouterHashBridge.js";function o(e){return t=>{if(typeof window>"u")return()=>{};for(const n of e)window.addEventListener(n,t);return()=>{for(const n of e)window.removeEventListener(n,t)}}}const i=o(["hashchange","popstate"]),a=o(["hashchange","popstate",s]);function u(){return typeof window<"u"?window.location.hash:""}function c(){return""}function p(e){return r(e?.trackSilentReplaces?a:i,u,c)}export{p as useUrlHash};
1
+ import{useSyncExternalStore as o}from"react";import{URL_REPLACE_EVENT as s}from"./useRouterHashBridge.js";import{deepLinkHash as i}from"./deepLinkHash.js";function r(e){return t=>{if(typeof window>"u")return()=>{};for(const n of e)window.addEventListener(n,t);return()=>{for(const n of e)window.removeEventListener(n,t)}}}const a=r(["hashchange","popstate"]),u=r(["hashchange","popstate",s]);function f(){return typeof window>"u"?"":i(window.location.hash)}function h(){return""}function w(e){return o(e?.trackSilentReplaces?u:a,f,h)}export{w as useUrlHash};
@@ -0,0 +1,2 @@
1
+ export declare function reassertUrlHash(): void;
2
+ export declare function useUrlHashReassert(): number;
@@ -0,0 +1 @@
1
+ import{useSyncExternalStore as s}from"react";let r=0;const t=new Set;function i(){r+=1;for(const e of t)e()}function n(e){return t.add(e),()=>{t.delete(e)}}function o(){return r}function u(){return 0}function f(){return s(n,o,u)}export{i as reassertUrlHash,f as useUrlHashReassert};
package/lib/index.d.ts CHANGED
@@ -15,7 +15,6 @@ export { extractFullText } from './adapters/utils/markdoc.js';
15
15
  export { normalizeOptions } from './options/normalizeOptions.js';
16
16
  export { excludeMockServers } from './adapters/openapi/utils/merge-mock-server.js';
17
17
  export { appendUndeclaredConfigureParameters } from './services/code-samples/replay/merge-configure-into-source.js';
18
- export { isGraphqlDocsSidebarHidden } from './options/helpers.js';
19
18
  export { findFirstBinding } from './adapters/asyncapi/build/utils.js';
20
19
  export { resolveRequestValues, applyRequestValuesToOperationInfo, type ResolveRequestValuesParams, } from './adapters/openapi/configure/index.js';
21
20
  export { updateObjectProperties, isDirectRequestValues, getEffectiveRequestValues, createSecurityUpdates, mergeSecurityIntoScheme, applyServerVariableDefaults, type SchemeForCredentials, } from './adapters/openapi/configure/merge-utils.js';
@@ -24,6 +23,7 @@ export type { ConfigureRequestValues, ConfigureServerRequestValues, SecurityDeta
24
23
  export { MarkdownAdapterProvider, useMarkdownAdapter, type MarkdownAdapter, type MarkdownParser, type MarkdownRenderer, } from './contexts/markdownAdapter.js';
25
24
  export { markdocParser } from './components/markdoc/markdocParser.js';
26
25
  export { createMarkdocAdapter } from './components/markdoc/markdocAdapter.js';
26
+ export { adapterToMarkdownParser } from './components/Replay/adapterToMarkdownParser.js';
27
27
  export { parseMarkdown, type ParseMarkdownOptions } from './adapters/utils/parseMarkdown.js';
28
28
  export { isPlainText } from './adapters/utils/isPlainText.js';
29
29
  export { buildMarkdocOptions } from './components/markdoc/buildMarkdocOptions.js';
@@ -33,6 +33,8 @@ export { RedoclyApiDocs } from './RedoclyApiDocs.js';
33
33
  export type { RedoclyApiDocsProps } from './RedoclyApiDocs.js';
34
34
  export { RedoclyApiDocsStandalone } from './RedoclyApiDocsStandalone.js';
35
35
  export type { RedoclyApiDocsStandaloneProps } from './RedoclyApiDocsStandalone.js';
36
+ export type { RedocStandaloneProps } from './RedocStandalone.js';
37
+ export { ApiDocsSearchIndexer, type SearchIndexerOptions, type SearchDocument, type SearchItemData, } from './services/search/index.js';
36
38
  export { RedocTelemetry } from './telemetry/RedocTelemetry.js';
37
39
  export type { RedocTelemetryConfig, SpecType } from './telemetry/RedocTelemetry.js';
38
40
  export { Replay, EmbeddedReplay } from './components/Replay/index.js';
@@ -51,6 +53,8 @@ export { schemaDefinitionTag } from './components/markdoc/tags/schema-definition
51
53
  export { withReplayPrefetch, useOpenApiDefinition } from './hoc/withReplayPrefetch.js';
52
54
  export { mergeEnvData } from './utils/environments.js';
53
55
  export { buildReplayPredefinedEnvValues } from './services/code-samples/replay/replay-predefined-env.js';
56
+ export { createDocumentReplayConverter } from './services/code-samples/replay/from-openapi-document.js';
57
+ export { ReplayCodeSampleHTTPSnippet } from './services/code-samples/replay/har-to-code-sample-har.js';
54
58
  export { encodeJsonPointerSegment } from './utils/refPointer.js';
55
59
  export { JsonPointer } from './adapters/openapi/utils/JsonPointer.js';
56
60
  export { langFromMime, encodeExampleForMediaType } from './utils/media-type.js';
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export*from"./types/common.js";import{buildItems as t,buildNavItems as p}from"./adapters/build.js";import{buildGraphqlStoreFromSdl as m}from"./adapters/graphql/buildStoreFromSdl.js";import{simplifyAstStructure as d}from"./adapters/utils/simplifyAstStructure.js";import{extractFullText as f}from"./adapters/utils/markdoc.js";import{normalizeOptions as l}from"./options/normalizeOptions.js";import{excludeMockServers as c}from"./adapters/openapi/utils/merge-mock-server.js";import{appendUndeclaredConfigureParameters as S}from"./services/code-samples/replay/merge-configure-into-source.js";import{isGraphqlDocsSidebarHidden as y}from"./options/helpers.js";import{findFirstBinding as g}from"./adapters/asyncapi/build/utils.js";import{resolveRequestValues as M,applyRequestValuesToOperationInfo as P}from"./adapters/openapi/configure/index.js";import{updateObjectProperties as b,isDirectRequestValues as k,getEffectiveRequestValues as A,createSecurityUpdates as E,mergeSecurityIntoScheme as h,applyServerVariableDefaults as O}from"./adapters/openapi/configure/merge-utils.js";import{MarkdownAdapterProvider as I,useMarkdownAdapter as V}from"./contexts/markdownAdapter.js";import{markdocParser as C}from"./components/markdoc/markdocParser.js";import{createMarkdocAdapter as N}from"./components/markdoc/markdocAdapter.js";import{parseMarkdown as B}from"./adapters/utils/parseMarkdown.js";import{isPlainText as H}from"./adapters/utils/isPlainText.js";import{buildMarkdocOptions as J}from"./components/markdoc/buildMarkdocOptions.js";import{apiDocsMarkdocTags as Y,apiDocsMarkdocNodes as j}from"./components/markdoc/defaultMarkdocConfig.js";import{apiDocsMarkdocComponents as K}from"./components/markdoc/apiDocsMarkdocComponents.js";import{RedoclyApiDocs as W}from"./RedoclyApiDocs.js";import{RedoclyApiDocsStandalone as Z}from"./RedoclyApiDocsStandalone.js";import{RedocTelemetry as ee}from"./telemetry/RedocTelemetry.js";import{Replay as re,EmbeddedReplay as te}from"./components/Replay/index.js";import{REPLAY_TRY_IT_LOADING_STATE as ae}from"./services/code-samples/index.js";import{findExampleIdByKey as ie}from"./services/code-samples/example-key.js";import{RedocSchema as se,RedocExample as fe,RedocResponseSamples as xe,RedocCodeSample as le}from"./components/pluggable/index.js";import{StoreProvider as ce}from"./hoc/withStoreProvider.js";import{GraphQLTypeViewByName as Se}from"./components/graphql/GraphQLTypeView.js";import{mcpTagSchemas as ye}from"./components/markdoc/tags/mcp-tag-schemas.js";import{schemaDefinitionTag as ge}from"./components/markdoc/tags/schema-definition-tag.js";import{withReplayPrefetch as Me,useOpenApiDefinition as Pe}from"./hoc/withReplayPrefetch.js";import{mergeEnvData as be}from"./utils/environments.js";import{buildReplayPredefinedEnvValues as Ae}from"./services/code-samples/replay/replay-predefined-env.js";import{encodeJsonPointerSegment as he}from"./utils/refPointer.js";import{JsonPointer as qe}from"./adapters/openapi/utils/JsonPointer.js";import{langFromMime as Ve,encodeExampleForMediaType as we}from"./utils/media-type.js";import{isOperationName as Fe,HTTP_METHODS as Ne}from"./utils/http-methods.js";import{convertSampleToString as Be}from"./services/code-samples/convertSampleToString.js";import{resolveOperationSampleContext as He,buildCodeSamples as Le,getRequestBodySamples as Je,getResponseSamples as Ue}from"./services/operation-samples/index.js";export{te as EmbeddedReplay,Se as GraphQLTypeViewByName,Ne as HTTP_METHODS,qe as JsonPointer,I as MarkdownAdapterProvider,ae as REPLAY_TRY_IT_LOADING_STATE,le as RedocCodeSample,fe as RedocExample,xe as RedocResponseSamples,se as RedocSchema,ee as RedocTelemetry,W as RedoclyApiDocs,Z as RedoclyApiDocsStandalone,re as Replay,ce as StoreProvider,K as apiDocsMarkdocComponents,j as apiDocsMarkdocNodes,Y as apiDocsMarkdocTags,S as appendUndeclaredConfigureParameters,P as applyRequestValuesToOperationInfo,O as applyServerVariableDefaults,Le as buildCodeSamples,m as buildGraphqlStoreFromSdl,t as buildItems,J as buildMarkdocOptions,p as buildNavItems,Ae as buildReplayPredefinedEnvValues,Be as convertSampleToString,N as createMarkdocAdapter,E as createSecurityUpdates,we as encodeExampleForMediaType,he as encodeJsonPointerSegment,c as excludeMockServers,f as extractFullText,ie as findExampleIdByKey,g as findFirstBinding,A as getEffectiveRequestValues,Je as getRequestBodySamples,Ue as getResponseSamples,k as isDirectRequestValues,y as isGraphqlDocsSidebarHidden,Fe as isOperationName,H as isPlainText,Ve as langFromMime,C as markdocParser,ye as mcpTagSchemas,be as mergeEnvData,h as mergeSecurityIntoScheme,l as normalizeOptions,B as parseMarkdown,He as resolveOperationSampleContext,M as resolveRequestValues,ge as schemaDefinitionTag,d as simplifyAstStructure,b as updateObjectProperties,V as useMarkdownAdapter,Pe as useOpenApiDefinition,Me as withReplayPrefetch};
1
+ export*from"./types/common.js";import{buildItems as t,buildNavItems as p}from"./adapters/build.js";import{buildGraphqlStoreFromSdl as m}from"./adapters/graphql/buildStoreFromSdl.js";import{simplifyAstStructure as f}from"./adapters/utils/simplifyAstStructure.js";import{extractFullText as s}from"./adapters/utils/markdoc.js";import{normalizeOptions as n}from"./options/normalizeOptions.js";import{excludeMockServers as c}from"./adapters/openapi/utils/merge-mock-server.js";import{appendUndeclaredConfigureParameters as S}from"./services/code-samples/replay/merge-configure-into-source.js";import{findFirstBinding as y}from"./adapters/asyncapi/build/utils.js";import{resolveRequestValues as D,applyRequestValuesToOperationInfo as P}from"./adapters/openapi/configure/index.js";import{updateObjectProperties as M,isDirectRequestValues as v,getEffectiveRequestValues as k,createSecurityUpdates as A,mergeSecurityIntoScheme as E,applyServerVariableDefaults as b}from"./adapters/openapi/configure/merge-utils.js";import{MarkdownAdapterProvider as O,useMarkdownAdapter as I}from"./contexts/markdownAdapter.js";import{markdocParser as V}from"./components/markdoc/markdocParser.js";import{createMarkdocAdapter as w}from"./components/markdoc/markdocAdapter.js";import{adapterToMarkdownParser as N}from"./components/Replay/adapterToMarkdownParser.js";import{parseMarkdown as B}from"./adapters/utils/parseMarkdown.js";import{isPlainText as H}from"./adapters/utils/isPlainText.js";import{buildMarkdocOptions as J}from"./components/markdoc/buildMarkdocOptions.js";import{apiDocsMarkdocTags as Y,apiDocsMarkdocNodes as j}from"./components/markdoc/defaultMarkdocConfig.js";import{apiDocsMarkdocComponents as K}from"./components/markdoc/apiDocsMarkdocComponents.js";import{RedoclyApiDocs as W}from"./RedoclyApiDocs.js";import{RedoclyApiDocsStandalone as Z}from"./RedoclyApiDocsStandalone.js";import{ApiDocsSearchIndexer as ee}from"./services/search/index.js";import{RedocTelemetry as oe}from"./telemetry/RedocTelemetry.js";import{Replay as pe,EmbeddedReplay as ae}from"./components/Replay/index.js";import{REPLAY_TRY_IT_LOADING_STATE as de}from"./services/code-samples/index.js";import{findExampleIdByKey as ie}from"./services/code-samples/example-key.js";import{RedocSchema as xe,RedocExample as ne,RedocResponseSamples as le,RedocCodeSample as ce}from"./components/pluggable/index.js";import{StoreProvider as Se}from"./hoc/withStoreProvider.js";import{GraphQLTypeViewByName as ye}from"./components/graphql/GraphQLTypeView.js";import{mcpTagSchemas as De}from"./components/markdoc/tags/mcp-tag-schemas.js";import{schemaDefinitionTag as ge}from"./components/markdoc/tags/schema-definition-tag.js";import{withReplayPrefetch as ve,useOpenApiDefinition as ke}from"./hoc/withReplayPrefetch.js";import{mergeEnvData as Ee}from"./utils/environments.js";import{buildReplayPredefinedEnvValues as he}from"./services/code-samples/replay/replay-predefined-env.js";import{createDocumentReplayConverter as Ie}from"./services/code-samples/replay/from-openapi-document.js";import{ReplayCodeSampleHTTPSnippet as Ve}from"./services/code-samples/replay/har-to-code-sample-har.js";import{encodeJsonPointerSegment as we}from"./utils/refPointer.js";import{JsonPointer as Ne}from"./adapters/openapi/utils/JsonPointer.js";import{langFromMime as Be,encodeExampleForMediaType as Ge}from"./utils/media-type.js";import{isOperationName as Le,HTTP_METHODS as Je}from"./utils/http-methods.js";import{convertSampleToString as Ye}from"./services/code-samples/convertSampleToString.js";import{resolveOperationSampleContext as ze,buildCodeSamples as Ke,getRequestBodySamples as Qe,getResponseSamples as We}from"./services/operation-samples/index.js";export{ee as ApiDocsSearchIndexer,ae as EmbeddedReplay,ye as GraphQLTypeViewByName,Je as HTTP_METHODS,Ne as JsonPointer,O as MarkdownAdapterProvider,de as REPLAY_TRY_IT_LOADING_STATE,ce as RedocCodeSample,ne as RedocExample,le as RedocResponseSamples,xe as RedocSchema,oe as RedocTelemetry,W as RedoclyApiDocs,Z as RedoclyApiDocsStandalone,pe as Replay,Ve as ReplayCodeSampleHTTPSnippet,Se as StoreProvider,N as adapterToMarkdownParser,K as apiDocsMarkdocComponents,j as apiDocsMarkdocNodes,Y as apiDocsMarkdocTags,S as appendUndeclaredConfigureParameters,P as applyRequestValuesToOperationInfo,b as applyServerVariableDefaults,Ke as buildCodeSamples,m as buildGraphqlStoreFromSdl,t as buildItems,J as buildMarkdocOptions,p as buildNavItems,he as buildReplayPredefinedEnvValues,Ye as convertSampleToString,Ie as createDocumentReplayConverter,w as createMarkdocAdapter,A as createSecurityUpdates,Ge as encodeExampleForMediaType,we as encodeJsonPointerSegment,c as excludeMockServers,s as extractFullText,ie as findExampleIdByKey,y as findFirstBinding,k as getEffectiveRequestValues,Qe as getRequestBodySamples,We as getResponseSamples,v as isDirectRequestValues,Le as isOperationName,H as isPlainText,Be as langFromMime,V as markdocParser,De as mcpTagSchemas,Ee as mergeEnvData,E as mergeSecurityIntoScheme,n as normalizeOptions,B as parseMarkdown,ze as resolveOperationSampleContext,D as resolveRequestValues,ge as schemaDefinitionTag,f as simplifyAstStructure,M as updateObjectProperties,I as useMarkdownAdapter,ke as useOpenApiDefinition,ve as withReplayPrefetch};