@redocly/openapi-docs 3.19.0 → 3.20.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redocly-openapi-docs.min.js +2621 -2218
- package/lib/components/PropertyDetails/FieldDetails.js +14 -6
- package/lib/components/common/Badges.d.ts +2 -1
- package/lib/components/common/Badges.js +4 -4
- package/lib/components/common/index.d.ts +1 -1
- package/lib/components/common/index.js +1 -1
- package/lib/models/field.js +1 -1
- package/lib/models/types.d.ts +1 -0
- package/lib/types/open-api.d.ts +2 -0
- package/lib/utils/badges.d.ts +5 -0
- package/lib/utils/badges.js +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -1
- package/package.json +4 -4
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as s,Fragment as C}from"react/jsx-runtime";import{memo as S,useMemo as L}from"react";import{useAtomValue as N}from"jotai";import{LinkIcon as j}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{RecursiveLabel as x,Tag as g,AccessLabel as q,RequiredLabel as A,StyledBadge as M,CustomBadges as R,renderBadge as y}from"../common/index.js";import{ExternalDocumentation as V}from"../ExternalDocumentation/index.js";import{Markdown as $}from"../Markdown/index.js";import{FieldDetail as m}from"./FieldDetail.js";import{Extensions as _}from"./Extensions.js";import{EnumValues as I}from"./EnumValues.js";import{Examples as O,getSerializedValue as G}from"./Examples.js";import{globalOptionsAtom as H}from"../../jotai/store.js";import{SchemaTypeInfo as n}from"./SchemaTypeInfo.js";import{LinkToField as J}from"../common/LinkToField.js";import{Pattern as K}from"./Pattern.js";import{getAccessModeLabelText as Q}from"../RenderHook/index.js";import{useTranslate as U}from"../../hooks/index.js";import{styled as i}from"../../styled-components.js";import{splitBadgesByPosition as W}from"../../utils/index.js";function X({field:a,renderDiscriminatorSwitch:v,deepLink:c,fieldParentsName:b=[]}){const t=U(),{hidePropertiesPrefix:w,hideSchemaTitles:D}=N(H),{schema:r,description:P,example:d,deprecated:B,examples:p,kind:f,required:F,name:l,badges:z}=a,E=a.in==="header",T=L(()=>{if(d!==void 0||p!==void 0){if(p!==void 0)return e(O,{field:a});{const o=!!a.in;return e(m,{label:`${t("openapi.example","Example")}:`,value:G(a,a.example),raw:o})}}else return null},[d,p,a,t]),u=Q(a.schema),{before:h,after:k}=W(z);return s(C,{children:[s(Y,{children:[l&&s(ee,{children:[c&&e(J,{to:c}),e(re,{children:e(R,{badges:h,children:s(ae,{children:[!w&&b.map(o=>o+".\u200B"),e(te,{className:"schema-name",children:l})]})})})]}),!l&&h.map(y),e(n,{type:r.typePrefix+r.displayType}),e(n,{type:r.displayFormat&&`(${r.displayFormat})`}),e(n,{type:r.contentEncoding}),e(n,{type:r.title&&!D?`(${r.title})`:""}),r.constraints?.map(o=>e(n,{type:o},o)),B&&e(M,{deprecated:!0,children:t("openapi.badges.deprecated","Deprecated")}),e(K,{pattern:r.pattern}),f==="additionalProperties"&&e(g,{children:t("openapi.additionalProperties","additional property")}),f==="patternProperties"&&e(g,{children:t("openapi.patternProperties","pattern property")}),u&&e(q,{children:u}),F&&e(A,{children:t("openapi.required","required")}),r.isCircular&&e(x,{children:t("openapi.recursive","Recursive")}),k.map(y)]}),r.isComplex&&e(x,{children:t("openapi.complex","Complex")}),e(Z,{source:P}),e(m,{raw:E,type:"default",label:t("openapi.default","Default"),value:r.default}),e(I,{type:r.type,values:r["x-enumDescriptions"]||r.enum}),T,e(_,{extensions:{...a.extensions,...r.extensions}}),r.externalDocs&&e(V,{externalDocs:r.externalDocs,compact:!0}),v?.(),e(m,{label:t("openapi.value","Value"),value:a.const||void 0})]})}const Pe=S(X),Y=i.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
gap: calc(var(--spacing-xxs) / 4) var(--spacing-xxs);
|
|
5
5
|
flex-wrap: wrap;
|
|
6
6
|
margin-bottom: 2px;
|
|
7
7
|
position: relative;
|
|
8
|
-
`,
|
|
8
|
+
`,Z=i($)`
|
|
9
9
|
font-size: var(--font-size-base);
|
|
10
10
|
line-height: var(--line-height-base);
|
|
11
11
|
|
|
12
12
|
article p:last-child {
|
|
13
13
|
margin-bottom: 0;
|
|
14
14
|
}
|
|
15
|
-
`,
|
|
15
|
+
`,ee=i.span`
|
|
16
16
|
position: relative;
|
|
17
17
|
font-family: var(--font-family-monospaced);
|
|
18
18
|
line-height: var(--line-height-base);
|
|
@@ -24,16 +24,24 @@ import{jsx as e,jsxs as p,Fragment as E}from"react/jsx-runtime";import{memo as T
|
|
|
24
24
|
white-space: pre-wrap;
|
|
25
25
|
|
|
26
26
|
:hover {
|
|
27
|
-
${
|
|
27
|
+
${j} {
|
|
28
28
|
opacity: 1;
|
|
29
29
|
visibility: visible;
|
|
30
30
|
background-color: var(--bg-color);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
`,
|
|
33
|
+
`,re=i.span`
|
|
34
|
+
display: inline-flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
gap: var(--spacing-xxs);
|
|
37
|
+
flex-wrap: wrap;
|
|
38
|
+
max-width: 100%;
|
|
39
|
+
`,ae=i.span`
|
|
40
|
+
display: inline;
|
|
41
|
+
`,te=i.span`
|
|
34
42
|
font-family: var(--font-family-monospaced);
|
|
35
43
|
font-weight: var(--font-weight-semibold);
|
|
36
44
|
font-size: var(--schemas-property-name-font-size);
|
|
37
45
|
line-height: var(--schemas-property-name-line-height);
|
|
38
46
|
color: var(--text-color-primary);
|
|
39
|
-
`;export{
|
|
47
|
+
`;export{Pe as FieldDetails};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
1
|
+
import type { PropsWithChildren, ReactElement } from 'react';
|
|
2
2
|
import type { OpenAPIXBadges } from '../../types/index.js';
|
|
3
3
|
interface CustomBadgesProps {
|
|
4
4
|
badges?: OpenAPIXBadges[];
|
|
5
5
|
}
|
|
6
|
+
export declare function renderBadge({ name, color, description, icon }: OpenAPIXBadges): ReactElement;
|
|
6
7
|
export declare const CustomBadges: import("react").NamedExoticComponent<PropsWithChildren<CustomBadgesProps>>;
|
|
7
8
|
export declare const StyledBadge: any;
|
|
8
9
|
export declare const NavigationBadge: any;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{jsx as a,Fragment as
|
|
1
|
+
import{jsx as a,Fragment as i,jsxs as m}from"react/jsx-runtime";import{memo as p}from"react";import{css as c}from"styled-components";import{Tag as g}from"@redocly/theme/components/Tag/Tag";import{GenericIcon as l}from"@redocly/theme/icons/GenericIcon/GenericIcon";import{Tooltip as f}from"@redocly/theme/components/Tooltip/Tooltip";import{styled as s}from"../../styled-components.js";import{splitBadgesByPosition as x}from"../../utils/index.js";function n({name:r,color:e,description:o,icon:t}){return a(f,{tip:o,placement:"top",disabled:!o,children:a(d,{color:e,icon:t&&a(l,{icon:t}),children:r})},r)}function b({badges:r,children:e}){if(!r)return a(i,{children:e});const{before:o,after:t}=x(r);return m(i,{children:[o.map(n),e,t.map(n)]})}const _=p(b),d=s(g)`
|
|
2
2
|
margin: 0;
|
|
3
|
-
${({deprecated:r})=>r&&
|
|
3
|
+
${({deprecated:r})=>r&&c`
|
|
4
4
|
color: var(--badge-deprecated-text-color);
|
|
5
5
|
background-color: var(--badge-deprecated-bg-color);
|
|
6
6
|
border-radius: var(--badge-deprecated-border-radius);
|
|
@@ -9,7 +9,7 @@ import{jsx as a,Fragment as n,jsxs as c}from"react/jsx-runtime";import{memo as p
|
|
|
9
9
|
svg {
|
|
10
10
|
flex-shrink: 0;
|
|
11
11
|
}
|
|
12
|
-
`,k=s(
|
|
12
|
+
`,k=s(d)`
|
|
13
13
|
margin: 0;
|
|
14
14
|
font-size: var(--font-size-sm);
|
|
15
15
|
line-height: var(--line-height-sm);
|
|
@@ -17,4 +17,4 @@ import{jsx as a,Fragment as n,jsxs as c}from"react/jsx-runtime";import{memo as p
|
|
|
17
17
|
text-overflow: ellipsis;
|
|
18
18
|
white-space: nowrap;
|
|
19
19
|
overflow: hidden;
|
|
20
|
-
`;export{_ as CustomBadges,k as NavigationBadge,
|
|
20
|
+
`;export{_ as CustomBadges,k as NavigationBadge,d as StyledBadge,n as renderBadge};
|
|
@@ -4,7 +4,7 @@ export { ShareLinkToField, generateDeepLink } from './LinkToField.js';
|
|
|
4
4
|
export { deprecatedCss } from './mixins.js';
|
|
5
5
|
export { Container, HttpVerb, MimeLabel } from './styled.js';
|
|
6
6
|
export { CodeBlockPanel } from './CodeBlockPanel.js';
|
|
7
|
-
export { CustomBadges, StyledBadge, NavigationBadge } from './Badges.js';
|
|
7
|
+
export { CustomBadges, StyledBadge, NavigationBadge, renderBadge } from './Badges.js';
|
|
8
8
|
export { ExpandableExample } from './ExpandableExample/index.js';
|
|
9
9
|
export * from './Fields/index.js';
|
|
10
10
|
export * from './panels.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Select as
|
|
1
|
+
import{Select as o}from"./Select/index.js";import{ShareLinkToField as p,generateDeepLink as a}from"./LinkToField.js";import{deprecatedCss as x}from"./mixins.js";import{Container as f,HttpVerb as n,MimeLabel as i}from"./styled.js";import{CodeBlockPanel as g}from"./CodeBlockPanel.js";import{CustomBadges as s,StyledBadge as B,NavigationBadge as L,renderBadge as S}from"./Badges.js";import{ExpandableExample as b}from"./ExpandableExample/index.js";export*from"./Fields/index.js";export*from"./panels.js";import{FieldsGroupHeader as E}from"./headers.js";import{ShareLink as H,Link as v}from"./linkify.js";export*from"./schema.js";import{Skeleton as G}from"./Skeleton/index.js";export{g as CodeBlockPanel,f as Container,s as CustomBadges,b as ExpandableExample,E as FieldsGroupHeader,n as HttpVerb,v as Link,i as MimeLabel,L as NavigationBadge,o as Select,H as ShareLink,p as ShareLinkToField,G as Skeleton,B as StyledBadge,x as deprecatedCss,a as generateDeepLink,S as renderBadge};
|
package/lib/models/field.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{REDOCLY_TEAMS_RBAC as m}from"@redocly/config";import{joinWithSeparator as
|
|
1
|
+
import{REDOCLY_TEAMS_RBAC as m}from"@redocly/config";import{joinWithSeparator as V}from"../services/index.js";import{extractExtensions as I,getValueFromMdParsedExtension as E,mapValues as L,removePercentChart as T}from"../utils/index.js";import{getSchema as _}from"./schema.js";import{getExamples as j}from"./example.js";const F={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0},querystring:{style:"form",explode:!0}};function U(l,i,p,a,d,x,b=p){const{resolved:e}=l.deref(i),P=i.kind||"field",f=i.name||e.name,o=e.in,v=!!e.required;let r=e.schema,u,s="",c;if(!r&&e.in&&e.content){s=Object.keys(e.content)[0];const n=e.content[s];r=n&&n?.example?{...l.deref(n.schema,x,!0).resolved,example:e.example||n.example}:n.schema}const h=V(d.parentFieldFullPath,T(f||"")),t=_({parser:l,schemaOrRef:r||{},pointer:p,options:a,baseRefsStack:x,absolutePointer:i.$ref||e.schema?.absolutePointer||b,deps:{...d,parentFieldFullPath:h,in:o}}),w=e.description===void 0?E(t,"description")||"":E(e,"description"),R=e.example||t.example,y=e.examples||e.content?.[s]?.examples,S=y?L(y,(n,M)=>j({parser:l,infoOrRef:n,mime:M,encoding:e.encoding})):void 0;s?u=s:e.style?c=e.style:o&&(c=F[o]?.style??"form");const A=e.explode===void 0&&o?F[o]?.explode??!0:!!e.explode,k=e.deprecated===void 0?t.deprecated:e.deprecated,q=a.showExtensions?I(e,a.showExtensions):void 0,C=t?.const||e?.const||"",g=e["x-badges"]??t.schema?.["x-badges"];return{deps:d||{},schema:t,name:f,required:v,description:w,example:R,examples:S,deprecated:k,in:o,kind:P,extensions:q,explode:A,style:c,const:C,serializationMime:u,fieldFullPath:h,...g?.length&&{badges:g},...e.allowReserved&&{allowReserved:e.allowReserved},[m]:e[m]||t[m]}}export{U as getField};
|
package/lib/models/types.d.ts
CHANGED
package/lib/types/open-api.d.ts
CHANGED
|
@@ -141,6 +141,7 @@ export interface OpenAPIParameter extends ParsedDescription {
|
|
|
141
141
|
};
|
|
142
142
|
encoding?: Record<string, OpenAPIEncoding>;
|
|
143
143
|
const?: any;
|
|
144
|
+
'x-badges'?: OpenAPIXBadges[];
|
|
144
145
|
}
|
|
145
146
|
export interface OpenAPIExample extends ParsedDescriptionWithSummary {
|
|
146
147
|
value: any;
|
|
@@ -213,6 +214,7 @@ export interface OpenAPISchema extends ParsedDescription {
|
|
|
213
214
|
prefixItems?: OpenAPISchema[];
|
|
214
215
|
additionalItems?: OpenAPISchema | boolean;
|
|
215
216
|
xml?: XMLObject;
|
|
217
|
+
'x-badges'?: OpenAPIXBadges[];
|
|
216
218
|
}
|
|
217
219
|
export interface OpenAPIDiscriminator {
|
|
218
220
|
propertyName: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function f(e){return e?{before:e.filter(({position:r})=>r==="before"),after:e.filter(({position:r})=>r!=="before")}:{before:[],after:[]}}export{f as splitBadgesByPosition};
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./JsonPointer.js";export*from"./openapi.js";export*from"./helpers.js";export*from"./dom.js";export*from"./debug.js";export*from"./sort.js";export*from"./argValuesHelpers.js";export*from"./theme-helpers.js";export*from"./debounce.js";export*from"./security-details.js";export*from"./session-storage.js";export*from"./local-storage.js";export*from"./parameters.js";export*from"./string.js";export*from"./compose.js";export*from"./saveTextBeforeHeading.js";export*from"./path.js";export*from"./queryString.js";export*from"./isMobile.js";export*from"./replaceVariables.js";export*from"./areArraysEqual.js";export*from"./hasNestedFields.js";export*from"./getBreadcrumbs.js";export*from"./calculateMaxLength.js";export*from"./configure-helpers.js";export*from"./telemetry.js";
|
|
1
|
+
export*from"./badges.js";export*from"./JsonPointer.js";export*from"./openapi.js";export*from"./helpers.js";export*from"./dom.js";export*from"./debug.js";export*from"./sort.js";export*from"./argValuesHelpers.js";export*from"./theme-helpers.js";export*from"./debounce.js";export*from"./security-details.js";export*from"./session-storage.js";export*from"./local-storage.js";export*from"./parameters.js";export*from"./string.js";export*from"./compose.js";export*from"./saveTextBeforeHeading.js";export*from"./path.js";export*from"./queryString.js";export*from"./isMobile.js";export*from"./replaceVariables.js";export*from"./areArraysEqual.js";export*from"./hasNestedFields.js";export*from"./getBreadcrumbs.js";export*from"./calculateMaxLength.js";export*from"./configure-helpers.js";export*from"./telemetry.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.20.0-next.1",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"npm": ">=10.0.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@redocly/theme": ">=0.
|
|
17
|
+
"@redocly/theme": ">=0.64.0-next.0",
|
|
18
18
|
"react": "^19.2.4",
|
|
19
19
|
"react-dom": "^19.2.4",
|
|
20
20
|
"styled-components": "^4.1.1 || ^5.3.11 || ^6.0.0"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"util": "~0.12.5",
|
|
40
40
|
"web-vitals": "3.3.1",
|
|
41
41
|
"@redocly/config": "0.44.1",
|
|
42
|
-
"@redocly/replay": "0.
|
|
42
|
+
"@redocly/replay": "0.23.0-next.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@shikijs/transformers": "3.21.0",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"url": "~0.11.0",
|
|
72
72
|
"vite": "7.2.6",
|
|
73
73
|
"vitest": "4.0.10",
|
|
74
|
-
"@redocly/theme": "0.
|
|
74
|
+
"@redocly/theme": "0.64.0-next.1"
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
77
|
"start": "pnpm run copy-highlight-hook && vite",
|