@redocly/openapi-docs 3.3.9 → 3.4.0-rc.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 +1258 -1020
- package/lib/components/ApiInfo/Metadata.js +1 -1
- package/lib/components/Overview/Overview.js +1 -1
- package/lib/components/common/Dropdown/Dropdown.d.ts +1 -4
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib-esm/components/ApiInfo/Metadata.js +1 -1
- package/lib-esm/components/Overview/Overview.js +1 -1
- package/lib-esm/components/common/Dropdown/Dropdown.d.ts +1 -4
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/package.json +6 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Metadata=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),FILTER_OUT_KEYS=["title","description"];function metadataMap([e,t]){return FILTER_OUT_KEYS.includes(e)?null:Array.isArray(t)?{key:e,value:t.filter((e=>"object"!=typeof e)).join(", ")}:"object"==typeof t?null:{key:e,value:t}}function Metadata({metadata:e}){const t=(0,react_1.useMemo)((()=>Object.entries(e||{}).map(metadataMap).filter(theme_1.isNotNull)),[e]);return e?(0,jsx_runtime_1.jsxs)(theme_1.Markdown,{children:[(0,jsx_runtime_1.jsx)(theme_1.H3,{children:"Metadata"}),(0,jsx_runtime_1.jsxs)("table",{className:"md",children:[(0,jsx_runtime_1.jsx)("thead",{children:(0,jsx_runtime_1.jsxs)("tr",{children:[(0,jsx_runtime_1.jsx)("th",{scope:"col",children:"Key"}),(0,jsx_runtime_1.jsx)("th",{scope:"col",children:"Value"})]})}),(0,jsx_runtime_1.jsx)("tbody",{children:t.map((({key:e,value:t})=>(0,jsx_runtime_1.jsxs)("tr",{children:[(0,jsx_runtime_1.jsx)("td",{children:e}),(0,jsx_runtime_1.jsx)("td",{children
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Metadata=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),helpers_1=require("../../utils/helpers"),FILTER_OUT_KEYS=["title","description"];function metadataMap([e,t]){return FILTER_OUT_KEYS.includes(e)?null:Array.isArray(t)?{key:e,value:t.filter((e=>"object"!=typeof e)).join(", ")}:"object"==typeof t?null:{key:e,value:t}}function Metadata({metadata:e}){const t=(0,react_1.useMemo)((()=>Object.entries(e||{}).map(metadataMap).filter(theme_1.isNotNull)),[e]);return e?(0,jsx_runtime_1.jsxs)(theme_1.Markdown,{children:[(0,jsx_runtime_1.jsx)(theme_1.H3,{children:"Metadata"}),(0,jsx_runtime_1.jsxs)("table",{className:"md",children:[(0,jsx_runtime_1.jsx)("thead",{children:(0,jsx_runtime_1.jsxs)("tr",{children:[(0,jsx_runtime_1.jsx)("th",{scope:"col",children:"Key"}),(0,jsx_runtime_1.jsx)("th",{scope:"col",children:"Value"})]})}),(0,jsx_runtime_1.jsx)("tbody",{children:t.map((({key:e,value:t})=>(0,jsx_runtime_1.jsxs)("tr",{children:[(0,jsx_runtime_1.jsx)("td",{children:e}),(0,jsx_runtime_1.jsx)("td",{children:"string"==typeof t&&(0,helpers_1.isAbsoluteUrl)(t)?(0,jsx_runtime_1.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",children:t}):String(t)})]},e)))})]})]}):null}exports.Metadata=Metadata;
|
|
2
2
|
//# sourceMappingURL=Metadata.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Overview=void 0;const jsx_runtime_1=require("react/jsx-runtime"),theme_1=require("@redocly/theme"),PanelItem_1=require("../PanelItem");function Overview({info:e}){const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Overview=void 0;const jsx_runtime_1=require("react/jsx-runtime"),theme_1=require("@redocly/theme"),PanelItem_1=require("../PanelItem");function Overview({info:e}){var t;const n=e.contact&&e.contact.url&&(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItemDescription,{children:"URL"}),title:(0,jsx_runtime_1.jsx)("a",{href:e.contact.url,target:"_blank",rel:"noreferrer",children:e.contact.url}),actions:[(0,jsx_runtime_1.jsx)(theme_1.NewTabButton,{data:e.contact.url},"NewTabButton")]})||null,r=e.contact&&e.contact.email&&(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItemDescription,{children:e.contact.name||"E-mail"}),title:(0,jsx_runtime_1.jsx)("a",{href:"mailto:"+e.contact.email,children:e.contact.email}),actions:[(0,jsx_runtime_1.jsx)(theme_1.CopyButton,{data:e.contact.email},"CopyButton"),(0,jsx_runtime_1.jsx)(theme_1.EmailButton,{data:e.contact.email},"EmailButton")]})||null,i=e.license&&(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItemDescription,{children:"License"}),title:e.license.identifier?e.license.identifier:(0,jsx_runtime_1.jsx)("a",{href:e.license.url,target:"_blank",rel:"noreferrer",children:e.license.name}),actions:[(0,jsx_runtime_1.jsx)(theme_1.NewTabButton,{data:e.license.url},"NewTabButton")]})||null,a=e.termsOfService&&(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{title:(0,jsx_runtime_1.jsx)("a",{href:e.termsOfService,target:"_blank",rel:"noreferrer",children:"Terms of Service"}),actions:[(0,jsx_runtime_1.jsx)(theme_1.NewTabButton,{data:e.termsOfService},e.termsOfService)]})||null,l=(null===(t=e["x-links"])||void 0===t?void 0:t.map((e=>(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItemDescription,{children:e.name}),title:(0,jsx_runtime_1.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",children:e.url}),actions:[(0,jsx_runtime_1.jsx)(theme_1.NewTabButton,{data:e.url},"NewTabButton")]},e.url))))||null;return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:(0,jsx_runtime_1.jsxs)(PanelItem_1.PanelItemsList,{children:[n,r,i,a,l]})})}exports.Overview=Overview;
|
|
2
2
|
//# sourceMappingURL=Overview.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { SelectOption } from '@redocly/theme';
|
|
2
2
|
export interface DropdownProps<T> {
|
|
3
3
|
value: T;
|
|
4
|
-
onChange: ({ label, value }:
|
|
5
|
-
label: any;
|
|
6
|
-
value: any;
|
|
7
|
-
}) => void;
|
|
4
|
+
onChange: ({ label, value }: SelectOption<T>) => void;
|
|
8
5
|
options: SelectOption<T>[];
|
|
9
6
|
className?: string;
|
|
10
7
|
triggerVariant?: 'ghost' | 'outlined';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});!(0,theme_1.isUndefined)(s.properties)&&(0,theme_1.isObject)(s.properties)&&(s.properties=Object.assign({},s.properties)),!(0,theme_1.isUndefined)(s.items)&&(0,theme_1.isObject)(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,r,!0),a=e.$ref,l=a||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,a,f,l);if(!c["x-circular-ref"]||!c.allOf)return a&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(f,a),schema:c,absolutePointer:l}})).filter(Boolean);for(const[e,{schema:r,refsStack:i,absolutePointer:f}]of o.entries()){const{type:o,enum:a,properties:l,items:c,required:d,title:p,description:O,readOnly:u,writeOnly:h,oneOf:m,anyOf:y,"x-circular-ref":b}=r,_=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||(0,theme_1.isUndefined)(s.type)||(0,theme_1.isUndefined)(o)){if((0,theme_1.isUndefined)(o)||(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),(0,theme_1.isUndefined)(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!(0,theme_1.isUndefined)(l)&&(0,theme_1.isObject)(l)){s.properties=s.properties||{};for(const r in l){const o=concatRefStacks(i,null===(n=l[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!b){const i=this.mergeAllOf({allOf:[s.properties[r],l[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(f,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},l[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(f,["properties",r]),"x-refsStack":o})}}if(!(0,theme_1.isUndefined)(c)&&!b){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}(0,theme_1.isUndefined)(m)||(s.oneOf=m),(0,theme_1.isUndefined)(y)||(s.anyOf=y),Array.isArray(d)&&(s.required=[...s.required||[],...d]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||p,description:s.description||O,readOnly:(0,theme_1.isUndefined)(s.readOnly)?u:s.readOnly,writeOnly:(0,theme_1.isUndefined)(s.writeOnly)?h:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||b}),_)}}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);!(0,theme_1.isUndefined)(n.allOf)&&n.allOf.find((t=>!(0,theme_1.isUndefined)(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if((0,theme_1.isUndefined)(e.allOf))return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});!(0,theme_1.isUndefined)(s.properties)&&(0,theme_1.isObject)(s.properties)&&(s.properties=Object.assign({},s.properties)),!(0,theme_1.isUndefined)(s.items)&&(0,theme_1.isObject)(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,r,!0),a=e.$ref,l=a||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,a,f,l);if(!c["x-circular-ref"]||!c.allOf)return a&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(f,a),schema:c,absolutePointer:l}})).filter(Boolean);for(const[e,{schema:r,refsStack:i,absolutePointer:f}]of o.entries()){const{type:o,enum:a,properties:l,items:c,required:d,title:p,description:O,readOnly:u,writeOnly:h,oneOf:m,anyOf:y,"x-circular-ref":b}=r,_=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||(0,theme_1.isUndefined)(s.type)||(0,theme_1.isUndefined)(o)){if((0,theme_1.isUndefined)(o)||(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),(0,theme_1.isUndefined)(a)||(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),!(0,theme_1.isUndefined)(l)&&(0,theme_1.isObject)(l)){s.properties=s.properties||{};for(const r in l){const o=concatRefStacks(i,null===(n=l[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!b){const i=this.mergeAllOf({allOf:[s.properties[r],l[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(f,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},l[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(f,["properties",r]),"x-refsStack":o})}}if(!(0,theme_1.isUndefined)(c)&&!b){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}(0,theme_1.isUndefined)(m)||(s.oneOf=m),(0,theme_1.isUndefined)(y)||(s.anyOf=y),Array.isArray(d)&&(s.required=[...s.required||[],...d]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||p,description:s.description||O,readOnly:(0,theme_1.isUndefined)(s.readOnly)?u:s.readOnly,writeOnly:(0,theme_1.isUndefined)(s.writeOnly)?h:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||b}),_)}}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);!(0,theme_1.isUndefined)(n.allOf)&&n.allOf.find((t=>!(0,theme_1.isUndefined)(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if((0,theme_1.isUndefined)(e.allOf))return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e],{oneOf:i}=r,n=__rest(r,["oneOf"]);if(i&&Array.isArray(i)){const r=t.slice(0,e),s=t.slice(e+1),o=Object.keys(n).length>0?[n]:[];return{oneOf:i.map((e=>({allOf:[...r,...o,e,...s]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo}from"react";import{Markdown as MarkdownWrapper,H3,isNotNull}from"@redocly/theme";const FILTER_OUT_KEYS=["title","description"];function metadataMap([e,
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo}from"react";import{Markdown as MarkdownWrapper,H3,isNotNull}from"@redocly/theme";import{isAbsoluteUrl}from"../../utils/helpers";const FILTER_OUT_KEYS=["title","description"];function metadataMap([e,r]){return FILTER_OUT_KEYS.includes(e)?null:Array.isArray(r)?{key:e,value:r.filter((e=>"object"!=typeof e)).join(", ")}:"object"==typeof r?null:{key:e,value:r}}export function Metadata({metadata:e}){const r=useMemo((()=>Object.entries(e||{}).map(metadataMap).filter(isNotNull)),[e]);return e?_jsxs(MarkdownWrapper,{children:[_jsx(H3,{children:"Metadata"}),_jsxs("table",{className:"md",children:[_jsx("thead",{children:_jsxs("tr",{children:[_jsx("th",{scope:"col",children:"Key"}),_jsx("th",{scope:"col",children:"Value"})]})}),_jsx("tbody",{children:r.map((({key:e,value:r})=>_jsxs("tr",{children:[_jsx("td",{children:e}),_jsx("td",{children:"string"==typeof r&&isAbsoluteUrl(r)?_jsx("a",{href:r,target:"_blank",rel:"noreferrer",children:r}):String(r)})]},e)))})]})]}):null}
|
|
2
2
|
//# sourceMappingURL=Metadata.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CopyButton,NewTabButton,EmailButton}from"@redocly/theme";import{PanelItem,PanelItemDescription,PanelItemsList}from"../PanelItem";export function Overview({info:e}){const
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CopyButton,NewTabButton,EmailButton}from"@redocly/theme";import{PanelItem,PanelItemDescription,PanelItemsList}from"../PanelItem";export function Overview({info:e}){var t;const n=e.contact&&e.contact.url&&_jsx(PanelItem,{header:_jsx(PanelItemDescription,{children:"URL"}),title:_jsx("a",{href:e.contact.url,target:"_blank",rel:"noreferrer",children:e.contact.url}),actions:[_jsx(NewTabButton,{data:e.contact.url},"NewTabButton")]})||null,a=e.contact&&e.contact.email&&_jsx(PanelItem,{header:_jsx(PanelItemDescription,{children:e.contact.name||"E-mail"}),title:_jsx("a",{href:"mailto:"+e.contact.email,children:e.contact.email}),actions:[_jsx(CopyButton,{data:e.contact.email},"CopyButton"),_jsx(EmailButton,{data:e.contact.email},"EmailButton")]})||null,r=e.license&&_jsx(PanelItem,{header:_jsx(PanelItemDescription,{children:"License"}),title:e.license.identifier?e.license.identifier:_jsx("a",{href:e.license.url,target:"_blank",rel:"noreferrer",children:e.license.name}),actions:[_jsx(NewTabButton,{data:e.license.url},"NewTabButton")]})||null,l=e.termsOfService&&_jsx(PanelItem,{title:_jsx("a",{href:e.termsOfService,target:"_blank",rel:"noreferrer",children:"Terms of Service"}),actions:[_jsx(NewTabButton,{data:e.termsOfService},e.termsOfService)]})||null,i=(null===(t=e["x-links"])||void 0===t?void 0:t.map((e=>_jsx(PanelItem,{header:_jsx(PanelItemDescription,{children:e.name}),title:_jsx("a",{href:e.url,target:"_blank",rel:"noreferrer",children:e.url}),actions:[_jsx(NewTabButton,{data:e.url},"NewTabButton")]},e.url))))||null;return _jsx(_Fragment,{children:_jsxs(PanelItemsList,{children:[n,a,r,l,i]})})}
|
|
2
2
|
//# sourceMappingURL=Overview.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { SelectOption } from '@redocly/theme';
|
|
2
2
|
export interface DropdownProps<T> {
|
|
3
3
|
value: T;
|
|
4
|
-
onChange: ({ label, value }:
|
|
5
|
-
label: any;
|
|
6
|
-
value: any;
|
|
7
|
-
}) => void;
|
|
4
|
+
onChange: ({ label, value }: SelectOption<T>) => void;
|
|
8
5
|
options: SelectOption<T>[];
|
|
9
6
|
className?: string;
|
|
10
7
|
triggerVariant?: 'ghost' | 'outlined';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,i){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&i.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)i.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,i){return i&&e[e.length-1]!==i?[...e,i]:e}export function concatRefStacks(e,i){return i?e.concat(i):e}export class OpenAPIParser{constructor(e,i,t=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let i;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{i=JsonPointer.get(this.definition,e)}catch(e){}return i||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(i)&&(this.definitionUrl=new URL(i,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,i=[],t=!1){const r=null==e?void 0:e["x-refsStack"];if(i=concatRefStacks(i,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:i};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(i.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,i,t).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,t)),{resolved:n,refsStack:pushRef(i,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(i,r)}}mergeRefs(e,i,t){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return i;if(t&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:t,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:t,title:r,readOnly:s,writeOnly:o},i,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},i),n)}mergeAllOf(e,i,t,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(i)});!isUndefined(s.properties)&&isObject(s.properties)&&(s.properties=Object.assign({},s.properties)),!isUndefined(s.items)&&isObject(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,i)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,t,!0),l=e.$ref,a=l||JsonPointer.join(r,[String(i)]),c=this.mergeAllOf(o,l,f,a);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a}})).filter(Boolean);for(const[e,{schema:t,refsStack:r,absolutePointer:f}]of o.entries()){const{type:o,enum:l,properties:a,items:c,required:d,title:p,description:O,readOnly:u,writeOnly:
|
|
1
|
+
var __rest=this&&this.__rest||function(e,i){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&i.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)i.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,i){return i&&e[e.length-1]!==i?[...e,i]:e}export function concatRefStacks(e,i){return i?e.concat(i):e}export class OpenAPIParser{constructor(e,i,t=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let i;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{i=JsonPointer.get(this.definition,e)}catch(e){}return i||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(i)&&(this.definitionUrl=new URL(i,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,i=[],t=!1){const r=null==e?void 0:e["x-refsStack"];if(i=concatRefStacks(i,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:i};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(i.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,i,t).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,t)),{resolved:n,refsStack:pushRef(i,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(i,r)}}mergeRefs(e,i,t){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return i;if(t&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:t,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:t,title:r,readOnly:s,writeOnly:o},i,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},i),n)}mergeAllOf(e,i,t,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(i)});!isUndefined(s.properties)&&isObject(s.properties)&&(s.properties=Object.assign({},s.properties)),!isUndefined(s.items)&&isObject(s.items)&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,i)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,t,!0),l=e.$ref,a=l||JsonPointer.join(r,[String(i)]),c=this.mergeAllOf(o,l,f,a);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a}})).filter(Boolean);for(const[e,{schema:t,refsStack:r,absolutePointer:f}]of o.entries()){const{type:o,enum:l,properties:a,items:c,required:d,title:p,description:O,readOnly:u,writeOnly:y,oneOf:m,anyOf:b,"x-circular-ref":h}=t,g=__rest(t,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||isUndefined(s.type)||isUndefined(o)){if(isUndefined(o)||(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),isUndefined(l)||(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),!isUndefined(a)&&isObject(a)){s.properties=s.properties||{};for(const t in a){const o=concatRefStacks(r,null===(n=a[t])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[t]){if(!h){const r=this.mergeAllOf({allOf:[s.properties[t],a[t]],"x-refsStack":o},i+"/properties/"+t,o,JsonPointer.join(f,["allOf",String(e),"properties",t]));s.properties[t]=r}}else s.properties[t]=Object.assign(Object.assign({},a[t]),{absolutePointer:JsonPointer.join(f,["properties",t]),"x-refsStack":o})}}if(!isUndefined(c)&&!h){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof t.items?{}:Object.assign({},t.items);s.items=this.mergeAllOf({allOf:[e,n]},i+"/items",r)}isUndefined(m)||(s.oneOf=m),isUndefined(b)||(s.anyOf=b),Array.isArray(d)&&(s.required=[...s.required||[],...d]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||p,description:s.description||O,readOnly:isUndefined(s.readOnly)?u:s.readOnly,writeOnly:isUndefined(s.writeOnly)?y:s.writeOnly,"x-circular-ref":s["x-circular-ref"]||h}),g)}}return s}findDerived(e){const i={},t=this.definition.components&&this.definition.components.schemas||{};for(const r in t){const{resolved:n}=this.deref(t[r]);!isUndefined(n.allOf)&&n.allOf.find((i=>!isUndefined(i.$ref)&&e.indexOf(i.$ref)>-1))&&(i["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return i}hoistOneOfs(e){if(isUndefined(e.allOf))return e;const i=e.allOf;for(let e=0;e<i.length;e++){const t=i[e],{oneOf:r}=t,n=__rest(t,["oneOf"]);if(r&&Array.isArray(r)){const t=i.slice(0,e),s=i.slice(e+1),o=Object.keys(n).length>0?[n]:[];return{oneOf:r.map((e=>({allOf:[...t,...o,e,...s]})))}}}return e}}
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0-rc.1",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"openapi-docs": "bin.js"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@redocly/theme": "
|
|
19
|
+
"@redocly/theme": "0.41.0-rc.1",
|
|
20
20
|
"core-js": "^3.1.4",
|
|
21
21
|
"react": "^18.0.0",
|
|
22
22
|
"react-dom": "^18.0.0",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@markdoc/markdoc": "0.4.0",
|
|
27
|
-
"@redocly/openapi-core": "1.
|
|
27
|
+
"@redocly/openapi-core": "1.22.1",
|
|
28
28
|
"deepmerge": "^4.2.2",
|
|
29
29
|
"dompurify": "^2.0.12",
|
|
30
30
|
"fast-deep-equal": "^3.1.3",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"url": "~0.11.0",
|
|
45
45
|
"url-template": "^2.0.8",
|
|
46
46
|
"util": "~0.12.5",
|
|
47
|
-
"@redocly/
|
|
48
|
-
"@redocly/
|
|
47
|
+
"@redocly/config": "0.11.0-rc.1",
|
|
48
|
+
"@redocly/replay": "0.5.8-rc.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@testing-library/jest-dom": "6.1.5",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"webpack": "5.91.0",
|
|
93
93
|
"webpack-cli": "5.1.4",
|
|
94
94
|
"webpack-dev-server": "4.15.2",
|
|
95
|
-
"@redocly/theme": "0.
|
|
95
|
+
"@redocly/theme": "0.41.0-rc.1"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"start": "webpack serve --mode=development --hot",
|