@redocly/openapi-docs 3.12.0-next.2 → 3.12.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { MarkdownProps } from './types.js';
3
- export declare const Markdown: ({ source, ast, htmlWrap, ...props }: MarkdownProps) => ReactElement | null;
3
+ export declare const Markdown: ({ source, ast, htmlWrap, markdocOptions: markdocOptionsProps, ...props }: MarkdownProps) => ReactElement | null;
@@ -1 +1 @@
1
- import{jsx as p,Fragment as k}from"react/jsx-runtime";import u,{Fragment as A}from"react";import a from"@markdoc/markdoc";import{useAtomValue as g}from"jotai";import h from"dompurify";import{Markdown as b,isString as y}from"@redocly/theme";import{globalOptionsAtom as _}from"../../jotai/store.js";const z=["OpenApiResponse","OpenApiRequestBody"],F=({source:n,ast:e,htmlWrap:c,...l})=>{const t=g(_);if(!n&&!e)return null;const i=t?.markdocOptions&&{tags:t.markdocOptions?.tags,nodes:t.markdocOptions?.nodes,partials:t.markdocOptions?.partials,variables:t.markdocOptions?.variables,functions:t.markdocOptions?.functions},d=t?.markdocOptions&&{components:t.markdocOptions?.components};let o;if(n)if(y(n)){const r=t?.unstable_hooks?.sanitize?t.unstable_hooks?.sanitize?.(n):t?.sanitize?h.sanitize(n):n,s=a.parse(r);o=a.transform(s,i)}else{const r=a.Ast.fromJSON(typeof n.result=="object"?JSON.stringify(n.result):n.result);Array.isArray(r)?o=a.transform(r,i):o=a.transform(r,i)}else e&&(o=a.transform(e,i));const m=r=>{const s=a.renderers.react(r,u,d);return p(b,{...l,children:s,as:"div"})};if(!c)return m(o);const f=r=>r.attributes?.htmlWrap!==!1&&!z.includes(r?.name),O=(r,s)=>r?c(m(s)):m(s);return o=Array.isArray(o)?o:o.children,p(k,{children:o.map((r,s)=>p(A,{children:O(f(r),r)},r?.attributes?.id||s))})};export{F as Markdown};
1
+ import{jsx as l,Fragment as A}from"react/jsx-runtime";import g,{Fragment as h}from"react";import e from"@markdoc/markdoc";import{useAtomValue as b}from"jotai";import y from"dompurify";import{Markdown as _,isString as z}from"@redocly/theme";import{globalOptionsAtom as R}from"../../jotai/store.js";const S=["OpenApiResponse","OpenApiRequestBody"],T=({source:n,ast:m,htmlWrap:c,markdocOptions:f,...d})=>{const a=b(R);if(!n&&!m)return null;const s=Object.keys(a?.markdocOptions||{}).length?a?.markdocOptions:f,i=s&&{tags:s?.tags,nodes:s?.nodes,partials:s?.partials,variables:s?.variables,functions:s?.functions},u=s&&{components:s?.components};let r;if(n)if(z(n)){const t=a?.unstable_hooks?.sanitize?a.unstable_hooks?.sanitize?.(n):a?.sanitize?y.sanitize(n):n,o=e.parse(t);r=e.transform(o,i)}else{const t=e.Ast.fromJSON(typeof n.result=="object"?JSON.stringify(n.result):n.result);Array.isArray(t)?r=e.transform(t,i):r=e.transform(t,i)}else m&&(r=e.transform(m,i));const p=t=>{const o=e.renderers.react(t,g,u);return l(_,{...d,children:o,as:"div"})};if(!c)return p(r);const O=t=>t.attributes?.htmlWrap!==!1&&!S.includes(t?.name),k=(t,o)=>t?c(p(o)):p(o);return r=Array.isArray(r)?r:r.children,l(A,{children:r.map((t,o)=>l(h,{children:k(O(t),t)},t?.attributes?.id||o))})};export{T as Markdown};
@@ -1,5 +1,5 @@
1
- import type { ReactElement } from 'react';
2
- import type { Node } from '@markdoc/markdoc';
1
+ import type { ReactElement, ComponentType } from 'react';
2
+ import type { Node, Schema, ConfigFunction } from '@markdoc/markdoc';
3
3
  export type MarkdownProps = {
4
4
  sanitize?: boolean;
5
5
  base?: boolean;
@@ -7,4 +7,13 @@ export type MarkdownProps = {
7
7
  ast?: Node[];
8
8
  className?: string;
9
9
  htmlWrap?: (part: ReactElement) => ReactElement;
10
+ markdocOptions?: MarkdocOptions;
11
+ };
12
+ export type MarkdocOptions = {
13
+ tags: Record<string, Schema>;
14
+ nodes: Record<string, Schema>;
15
+ components: Record<string, ComponentType>;
16
+ variables?: Record<string, any>;
17
+ partials?: Record<string, any>;
18
+ functions?: Record<string, ConfigFunction>;
10
19
  };
package/lib/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export { safeSlugify } from './utils/string.js';
24
24
  export { JsonPointer } from './utils/JsonPointer.js';
25
25
  export { isOperationName } from './utils/openapi.js';
26
26
  export { pathIncludesLink, normalizePath } from './utils/path.js';
27
+ export { saveTextBeforeHeading } from './utils/saveTextBeforeHeading.js';
27
28
  export { OpenAPIParser } from './services/OpenAPIParser.js';
28
29
  export { buildContentItems } from './services/menu/builder.js';
29
30
  export { normalizeOptions } from './services/config-options/normalizeOptions.js';
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import{useAtomValue as o}from"jotai";import{globalOptionsAtom as e}from"./jotai/store.js";import{simplifyAstStructure as n}from"./utils/simplifyAstStructure.js";import{getOperation as x}from"./models/operation.js";import{getServerEnvName as l}from"./utils/environments.js";import{getTagOrGroup as d}from"./models/group.js";import{generateDeepLink as c}from"./components/common/LinkToField.js";import{RequestSamples as O}from"./components/RequestSamples/RequestSamples.js";import{ResponseSamples as g}from"./components/ResponseSamples/ResponseSamples.js";import{RedocSchema as I}from"./components/pluggable/RedocSchema.js";import{RedocExample as w}from"./components/pluggable/RedocExample.js";import{RedoclyOpenAPIDocs as C}from"./components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js";import{StoreProvider as v}from"./components/RedoclyOpenAPIDocs/Providers.js";import{getMarkdownHeaderId as A}from"./components/RedoclyOpenAPIDocs/utils.js";import{safeSlugify as h}from"./utils/string.js";import{JsonPointer as M}from"./utils/JsonPointer.js";import{isOperationName as V}from"./utils/openapi.js";import{pathIncludesLink as N,normalizePath as z}from"./utils/path.js";import{OpenAPIParser as H}from"./services/OpenAPIParser.js";import{buildContentItems as G}from"./services/menu/builder.js";import{normalizeOptions as _}from"./services/config-options/normalizeOptions.js";import{makeDeepLink as K}from"./services/history/helpers.js";function p(){return o(e)}import{EmbeddedReplay as U}from"./components/Replay/EmbeddedReplay.js";import{convertOperationToReplayValue as X}from"./components/Replay/utils.js";import{SectionContainer as Z}from"./components/SectionContent/index.js";import{Row as oo}from"./components/common/panels.js";import{RightPanelContainer as ro}from"./components/SectionContent/index.js";import{Overview as po}from"./components/Overview/index.js";import{SamplesMiddlePanel as ao,Section as no,SamplesPanel as fo}from"./components/common/panels.js";import{Heading as io}from"./components/common/OperationItemTitle.js";import{Dropdown as so}from"./components/common/Dropdown/index.js";import{Markdown as co}from"./components/Markdown/index.js";import{FieldValueLabel as Oo,FieldLabel as Po}from"./components/common/Fields/index.js";import{CodeBlockPanel as Ro}from"./components/common/index.js";import{OperationSamplesPanel as ko}from"./components/OperationItem/OperationItem.js";import{ExternalDocumentation as Do}from"./components/ExternalDocumentation/index.js";import{PropertyDetails as Eo}from"./components/PropertyDetails/PropertyDetails.js";import{addMarkdownItems as yo}from"./services/menu/markdown.js";import{getValueFromMdParsedExtension as bo}from"./utils/helpers.js";import{ContentItem as Lo}from"./components/ContentItem/index.js";import{ExampleSwitch as To}from"./components/Samples/ExampleSwitch.js";import{CustomBadges as Fo}from"./components/common/Badges.js";import{useDownloadInfo as zo}from"./components/Download/useDownloadInfo.js";import{SECTION_ATTR as Ho}from"./constants.js";export{Ro as CodeBlockPanel,Lo as ContentItem,Fo as CustomBadges,so as Dropdown,U as EmbeddedReplay,To as ExampleSwitch,Do as ExternalDocumentation,Po as FieldLabel,Oo as FieldValueLabel,io as Heading,M as JsonPointer,co as Markdown,H as OpenAPIParser,ko as OperationSamplesPanel,po as Overview,Eo as PropertyDetails,w as RedocExample,I as RedocSchema,C as RedoclyOpenAPIDocs,O as RequestSamples,g as ResponseSamples,ro as RightPanelContainer,oo as Row,Ho as SECTION_ATTR,ao as SamplesMiddlePanel,fo as SamplesPanel,no as Section,Z as SectionContainer,v as StoreProvider,yo as addMarkdownItems,G as buildContentItems,X as convertOperationToReplayValue,c as generateDeepLink,A as getMarkdownHeaderId,x as getOperation,l as getServerEnvName,d as getTagOrGroup,bo as getValueFromMdParsedExtension,V as isOperationName,K as makeDeepLink,_ as normalizeOptions,z as normalizePath,N as pathIncludesLink,h as safeSlugify,n as simplifyAstStructure,zo as useDownloadInfo,p as useOpenapiDocsOptions};
1
+ import{useAtomValue as e}from"jotai";import{globalOptionsAtom as o}from"./jotai/store.js";import{simplifyAstStructure as n}from"./utils/simplifyAstStructure.js";import{getOperation as x}from"./models/operation.js";import{getServerEnvName as l}from"./utils/environments.js";import{getTagOrGroup as d}from"./models/group.js";import{generateDeepLink as c}from"./components/common/LinkToField.js";import{RequestSamples as g}from"./components/RequestSamples/RequestSamples.js";import{ResponseSamples as P}from"./components/ResponseSamples/ResponseSamples.js";import{RedocSchema as I}from"./components/pluggable/RedocSchema.js";import{RedocExample as w}from"./components/pluggable/RedocExample.js";import{RedoclyOpenAPIDocs as v}from"./components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js";import{StoreProvider as E}from"./components/RedoclyOpenAPIDocs/Providers.js";import{getMarkdownHeaderId as A}from"./components/RedoclyOpenAPIDocs/utils.js";import{safeSlugify as b}from"./utils/string.js";import{JsonPointer as L}from"./utils/JsonPointer.js";import{isOperationName as V}from"./utils/openapi.js";import{pathIncludesLink as F,normalizePath as H}from"./utils/path.js";import{saveTextBeforeHeading as z}from"./utils/saveTextBeforeHeading.js";import{OpenAPIParser as G}from"./services/OpenAPIParser.js";import{buildContentItems as _}from"./services/menu/builder.js";import{normalizeOptions as K}from"./services/config-options/normalizeOptions.js";import{makeDeepLink as U}from"./services/history/helpers.js";function p(){return e(o)}import{EmbeddedReplay as X}from"./components/Replay/EmbeddedReplay.js";import{convertOperationToReplayValue as Z}from"./components/Replay/utils.js";import{SectionContainer as ee}from"./components/SectionContent/index.js";import{Row as re}from"./components/common/panels.js";import{RightPanelContainer as pe}from"./components/SectionContent/index.js";import{Overview as ae}from"./components/Overview/index.js";import{SamplesMiddlePanel as fe,Section as xe,SamplesPanel as ie}from"./components/common/panels.js";import{Heading as se}from"./components/common/OperationItemTitle.js";import{Dropdown as ue}from"./components/common/Dropdown/index.js";import{Markdown as Se}from"./components/Markdown/index.js";import{FieldValueLabel as Oe,FieldLabel as Pe}from"./components/common/Fields/index.js";import{CodeBlockPanel as Ie}from"./components/common/index.js";import{OperationSamplesPanel as we}from"./components/OperationItem/OperationItem.js";import{ExternalDocumentation as ve}from"./components/ExternalDocumentation/index.js";import{PropertyDetails as Ee}from"./components/PropertyDetails/PropertyDetails.js";import{addMarkdownItems as Ae}from"./services/menu/markdown.js";import{getValueFromMdParsedExtension as be}from"./utils/helpers.js";import{ContentItem as Le}from"./components/ContentItem/index.js";import{ExampleSwitch as Ve}from"./components/Samples/ExampleSwitch.js";import{CustomBadges as Fe}from"./components/common/Badges.js";import{useDownloadInfo as Ne}from"./components/Download/useDownloadInfo.js";import{SECTION_ATTR as qe}from"./constants.js";export{Ie as CodeBlockPanel,Le as ContentItem,Fe as CustomBadges,ue as Dropdown,X as EmbeddedReplay,Ve as ExampleSwitch,ve as ExternalDocumentation,Pe as FieldLabel,Oe as FieldValueLabel,se as Heading,L as JsonPointer,Se as Markdown,G as OpenAPIParser,we as OperationSamplesPanel,ae as Overview,Ee as PropertyDetails,w as RedocExample,I as RedocSchema,v as RedoclyOpenAPIDocs,g as RequestSamples,P as ResponseSamples,pe as RightPanelContainer,re as Row,qe as SECTION_ATTR,fe as SamplesMiddlePanel,ie as SamplesPanel,xe as Section,ee as SectionContainer,E as StoreProvider,Ae as addMarkdownItems,_ as buildContentItems,Z as convertOperationToReplayValue,c as generateDeepLink,A as getMarkdownHeaderId,x as getOperation,l as getServerEnvName,d as getTagOrGroup,be as getValueFromMdParsedExtension,V as isOperationName,U as makeDeepLink,K as normalizeOptions,H as normalizePath,F as pathIncludesLink,b as safeSlugify,z as saveTextBeforeHeading,n as simplifyAstStructure,Ne as useDownloadInfo,p as useOpenapiDocsOptions};
@@ -1,22 +1,14 @@
1
- import type { ComponentType } from 'react';
2
- import type { Schema, ConfigFunction } from '@markdoc/markdoc/dist/src/types';
3
1
  import type { CodeSamplesConfig } from '../code-samples/index.js';
4
2
  import type { HooksConfig, Unstable_ExternalCodeSample } from '../types.js';
5
3
  import type { Events } from '../../events/index.js';
6
4
  import type { LayoutVariant } from '@redocly/theme';
7
5
  import type { OperationModel } from '../../models/types.js';
8
6
  import type { DownloadUrlsConfig } from '../../components/Download/types.js';
7
+ import type { MarkdocOptions } from '../../components/Markdown/types.js';
9
8
  export interface Options {
10
9
  scrollYOffset: () => number;
11
10
  hideLoading: boolean;
12
- markdocOptions?: {
13
- tags: Record<string, Schema>;
14
- nodes: Record<string, Schema>;
15
- components: Record<string, ComponentType>;
16
- variables?: Record<string, any>;
17
- partials?: Record<string, any>;
18
- functions?: Record<string, ConfigFunction>;
19
- };
11
+ markdocOptions?: MarkdocOptions;
20
12
  hideSidebar: boolean;
21
13
  feedback: Record<string, any>;
22
14
  unstable_hooks: HooksConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.12.0-next.2",
3
+ "version": "3.12.0-next.4",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -20,8 +20,8 @@
20
20
  "styled-components": "^4.1.1 || ^5.3.11 || ^6.0.0"
21
21
  },
22
22
  "dependencies": {
23
- "@markdoc/markdoc": "0.5.1",
24
- "@redocly/openapi-core": "0.0.0-snapshot.1750342295",
23
+ "@markdoc/markdoc": "0.5.2",
24
+ "@redocly/openapi-core": "2.0.0-next.1",
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.2",
40
- "@redocly/replay": "0.15.0-next.0"
39
+ "@redocly/config": "0.26.3",
40
+ "@redocly/replay": "0.15.0-next.1"
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-next.0"
77
+ "@redocly/theme": "0.56.0-next.1"
78
78
  },
79
79
  "scripts": {
80
80
  "start": "npm run copy-highlight-hook && vite",