@redocly/openapi-docs 3.0.0-alpha.35 → 3.0.0-alpha.37
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/console.redocly-openapi-docs.min.js +1 -1
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-openapi-docs.min.js +990 -989
- package/lib/components/ContentItems/ContentItems.js +1 -1
- package/lib/components/ContentItems/helpers.d.ts +8 -10
- package/lib/components/ContentItems/helpers.js +1 -1
- package/lib/components/NextSectionButton/NextSectionButton.js +1 -1
- package/lib/components/Panel/MiddleFooterWrapper.d.ts +1 -0
- package/lib/components/{NextSectionButton/styled.js → Panel/MiddleFooterWrapper.js} +3 -3
- package/lib/components/Panel/index.d.ts +1 -0
- package/lib/components/Panel/index.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/styled.js +2 -2
- package/lib/components/SectionContent/SectionContent.d.ts +2 -1
- package/lib/components/SectionContent/SectionContent.js +1 -1
- package/lib/components/SideMenu/MenuItem.d.ts +2 -0
- package/lib/components/SideMenu/MenuItem.js +1 -1
- package/lib/components/TagItems/TagItems.d.ts +2 -1
- package/lib/components/TagItems/TagItems.js +1 -1
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/hoc/types.d.ts +2 -0
- package/lib/hoc/withStore.js +1 -1
- package/lib/hooks/useContentItems.js +1 -1
- package/lib/recoil/app.d.ts +7 -2
- package/lib/recoil/app.js +1 -1
- package/lib/services/OpenAPIParser.d.ts +4 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/menu/builder.js +1 -1
- package/lib/services/types.d.ts +1 -0
- package/lib/types/app.d.ts +5 -0
- package/lib-esm/components/ContentItems/ContentItems.js +1 -1
- package/lib-esm/components/ContentItems/helpers.d.ts +8 -10
- package/lib-esm/components/ContentItems/helpers.js +1 -1
- package/lib-esm/components/NextSectionButton/NextSectionButton.js +1 -1
- package/lib-esm/components/Panel/MiddleFooterWrapper.d.ts +1 -0
- package/lib-esm/components/{NextSectionButton/styled.js → Panel/MiddleFooterWrapper.js} +2 -2
- package/lib-esm/components/Panel/index.d.ts +1 -0
- package/lib-esm/components/Panel/index.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +2 -2
- package/lib-esm/components/SectionContent/SectionContent.d.ts +2 -1
- package/lib-esm/components/SectionContent/SectionContent.js +1 -1
- package/lib-esm/components/SideMenu/MenuItem.d.ts +2 -0
- package/lib-esm/components/SideMenu/MenuItem.js +1 -1
- package/lib-esm/components/TagItems/TagItems.d.ts +2 -1
- package/lib-esm/components/TagItems/TagItems.js +1 -1
- package/lib-esm/components/index.d.ts +1 -1
- package/lib-esm/components/index.js +1 -1
- package/lib-esm/hoc/types.d.ts +2 -0
- package/lib-esm/hoc/withStore.js +1 -1
- package/lib-esm/hooks/useContentItems.js +1 -1
- package/lib-esm/recoil/app.d.ts +7 -2
- package/lib-esm/recoil/app.js +1 -1
- package/lib-esm/services/OpenAPIParser.d.ts +4 -1
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/lib-esm/services/menu/builder.js +1 -1
- package/lib-esm/services/types.d.ts +1 -0
- package/lib-esm/types/app.d.ts +5 -0
- package/package.json +2 -2
- package/lib/components/NextSectionButton/styled.d.ts +0 -1
- package/lib-esm/components/NextSectionButton/styled.d.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import styled from"styled-components";export const
|
|
1
|
+
import styled from"styled-components";export const MiddleFooterWrapper=styled.div`
|
|
2
2
|
padding-top: calc(var(--spacing-unit) * 4);
|
|
3
3
|
padding-bottom: calc(var(--spacing-unit) * 4);
|
|
4
4
|
padding-left: var(--spacing-horizontal);
|
|
@@ -15,4 +15,4 @@ import styled from"styled-components";export const NextSectionButtonWrap=styled.
|
|
|
15
15
|
padding-right: var(--panel-gap-vertical, var(--panel-gap-horizontal));
|
|
16
16
|
}
|
|
17
17
|
`;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=MiddleFooterWrapper.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./Trigger";export*from"./Description";export*from"./CodePanel";export*from"./CodeHeader";export*from"./ContentPanel";export*from"./ResponsePanel";export*from"./Accordion";
|
|
1
|
+
export*from"./Trigger";export*from"./Description";export*from"./CodePanel";export*from"./CodeHeader";export*from"./ContentPanel";export*from"./ResponsePanel";export*from"./Accordion";export*from"./MiddleFooterWrapper";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))};import{ThemeProvider}from"styled-components";import React,{memo,useEffect,useMemo,useState}from"react";import{Tag}from"@markdoc/markdoc";import{Heading}from"@redocly/theme";import{RecoilRoot}from"recoil";import RecoilNexus from"recoil-nexus";import{normalizeOptions,OpenAPIParser}from"../../services";import{getMarkdownHeaderId,loadMany,loadSingle,useDeepCompareMemoize}from"./utils";import{argValueToBoolean,fromLocalStorage,fromSessionStorage}from"../../utils";import{Loading}from"../Loading";import{defaultTheme}from"../../constants";import{SecurityDefs}from"../SecurityRequirement";import{SchemaDefinition}from"../SchemaDefinition";import{PullRight,RedocResponse}from"../pluggable";import{appLocalStore,appSessionStore,appStore}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{operationStore}from"../../recoil/operation";export const ThemeProviders=({options:e,children:t,customOptions:o={}})=>{const i=Object.assign(Object.assign({},e),o),n=useMemo((()=>({mediaQueries:i.mediaQueries,showAtBreakpoint:i.showAtBreakpoint})),[i.mediaQueries,i.showAtBreakpoint]);return React.createElement(ThemeProvider,{theme:n},t)};export const AppProvider=({definitions:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,children:r})=>{const[,a]=useState(),[s,l]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){l(!0);try{c(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const m=useMemo((()=>{var e,i,r;if(p)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(r=null===(i=t.hooks)||void 0===i?void 0:i.onInit)||void 0===r||r.call(i,{store:{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}})),{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}}),useDeepCompareMemoize([p,t,o]));return useEffect((()=>{m&&l(!1)}),[m]),m?s?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:m}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,allowedMdComponents:{tags:{securityDefinitions:{render:"SecurityDefinitions",attributes:{htmlWrap:{type:String,default:!0}}},redocResponse:{render:"RedocResponse",attributes:{pointer:{type:String},hideSamples:{type:Boolean},htmlWrap:{type:String,default:!1}}},pullRight:{render:"PullRight",attributes:{htmlWrap:{type:String,default:!1}}},schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(e,t){const o=e.transformAttributes(t),i=e.transformChildren(t),n="string"==typeof o.id?o.id:getMarkdownHeaderId(i);return new Tag("Heading",Object.assign(Object.assign({},o),{id:n,level:e.attributes.level}),i)}}},components:{SecurityDefinitions:SecurityDefs,SchemaDefinition:SchemaDefinition,RedocResponse:RedocResponse,PullRight:PullRight,Heading:Heading}}};export const StoreProvider=memo((({children:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,portalOptions:r})=>{const a=React.useRef(),s=React.useCallback((()=>{var e;const n=normalizeOptions(Object.assign({},t),DEFAULT_OPTIONS),r=isVersioned(i)?(null===(e=i.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:o,url:i},r)=>{if(e){const a=t||`Definition_${r}`;return{id:a,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,Object.assign(Object.assign({},n),{versionId:a}))}}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,n)}];return{options:n,versions:r}}),[i,o,t]);return useEffect((()=>{a.current&&setTimeout((()=>{a.current(globalStore,s())}),0)}),[s,i]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=s(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),l=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:l.showRightPanelToggle||o.showRightPanelToggle,activeVersionIdx:0}),e(appLocalStore,{layout:i.layout||o.layout,activeSampleLanguage:n||i.activeSampleLanguage||o.defaultSampleLanguage}),e(globalStore,t),e(appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==r?void 0:r.defaultMimeType)||"",menuNextLinks:[]}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:0,activeServer:i,requestValues:{}})}},key:(null==r?void 0:r.definitionId)||"openapi"},React.createElement(RecoilNexus,null),e)}));const isVersioned=e=>"versions"in e;
|
|
2
2
|
//# sourceMappingURL=Providers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useRef,memo}from"react";import{SidebarLogo,GlobalStyle,useMount,LayoutVariant}from"@redocly/theme";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{useContentItems}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:
|
|
1
|
+
import React,{useRef,memo}from"react";import{SidebarLogo,GlobalStyle,useMount,LayoutVariant}from"@redocly/theme";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{useContentItems}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:o,children:t,options:n,versions:r,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:s,parser:d})=>{var m,u,p,v,f;const R=useRef(null),{isValid:S,licenseInfo:h}=useLicense(e);useMount((()=>{null==o||o()}));const{disableSidebar:y,whiteLabel:E,hideLogo:b,hideFab:g,scrollYOffset:L}=n||{},{flatItems:I,contentItems:C}=useContentItems({parser:d,options:n}),P=null===(u=null===(m=d.definition)||void 0===m?void 0:m.info)||void 0===u?void 0:u["x-logo"];return React.createElement(ThemeProviders,{options:n},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:R},!S&&React.createElement(Overlay,{licenseInfo:h}),React.createElement(CssFixes,{whiteLabel:E,showRightPanelToggle:a,layout:i}),!y&&React.createElement(StickyResponsiveSidebar,{hideFab:g,scrollYOffset:L,className:"menu-content",collapsedSidebar:!s},!b&&React.createElement(SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(f=null===(v=null===(p=d.definition)||void 0===p?void 0:p.info)||void 0===v?void 0:v.contact)||void 0===f?void 0:f.url),altText:null==P?void 0:P.altText,backgroundColor:null==P?void 0:P.backgroundColor}),r.length>1&&React.createElement(VersionSwitcher,{versions:r,activeVersionIdx:l,onChange:c}),React.createElement(Search,{contentItems:C,flatItems:I,options:n}),React.createElement(SideMenu,{items:S?C:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:i===LayoutVariant.THREE_PANEL&&a?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED,collapsedSidebar:s},a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),React.createElement(ContentItems,{root:!0,items:S?C:[]}),t),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t}){var n,r,i;return(null==t?void 0:t.definition)?React.createElement(StoreProvider,Object.assign({},t),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,enableRouter:null===(i=t.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==t?void 0:t.portalOptions},o)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:n,activeSampleLanguage:r,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
|
|
2
2
|
//# sourceMappingURL=RedoclyOpenAPIDocs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{LayoutVariant}from"@redocly/theme";import styled,{createGlobalStyle,css}from"styled-components";import{SamplesMiddlePanel,SamplesPanel}from"../common/panels";import{
|
|
1
|
+
import{LayoutVariant}from"@redocly/theme";import styled,{createGlobalStyle,css}from"styled-components";import{SamplesMiddlePanel,SamplesPanel}from"../common/panels";import{MiddleFooterWrapper}from"../Panel/MiddleFooterWrapper";export const RedocWrap=styled.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
position: relative;
|
|
4
4
|
text-align: left;
|
|
@@ -128,7 +128,7 @@ import{LayoutVariant}from"@redocly/theme";import styled,{createGlobalStyle,css}f
|
|
|
128
128
|
`}}
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
${SamplesMiddlePanel}, ${
|
|
131
|
+
${SamplesMiddlePanel}, ${MiddleFooterWrapper} {
|
|
132
132
|
${({showRightPanelToggle:a,layout:e})=>a&&e===LayoutVariant.THREE_PANEL?css`
|
|
133
133
|
margin: 0;
|
|
134
134
|
${({theme:a})=>a.mediaQueries.small} {
|
|
@@ -10,6 +10,7 @@ interface SectionContentProps {
|
|
|
10
10
|
href?: string;
|
|
11
11
|
};
|
|
12
12
|
showNextButton: Options['showNextButton'];
|
|
13
|
+
footerHook?: Options['hooks']['MiddlePanelFooter'];
|
|
13
14
|
}
|
|
14
|
-
export declare function SectionContent({ items, pagination, nextSectionLink, showNextButton, }: SectionContentProps): JSX.Element;
|
|
15
|
+
export declare function SectionContent({ items, pagination, nextSectionLink, showNextButton, footerHook, }: SectionContentProps): JSX.Element;
|
|
15
16
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useMemo}from"react";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{Pagination}from"../../services";export function SectionContent({items:
|
|
1
|
+
import React,{useMemo}from"react";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{Pagination}from"../../services";import{MiddleFooterWrapper}from"../Panel";import{RenderHook}from"../RenderHook";export function SectionContent({items:e,pagination:t,nextSectionLink:o,showNextButton:n,footerHook:r}){const i=useMemo((()=>t===Pagination.None?e:null==e?void 0:e.filter((e=>"section"===e.type))),[e,t]),a=useMemo((()=>r||n&&o?React.createElement(MiddleFooterWrapper,null,r?React.createElement(RenderHook,{Hook:r,props:void 0}):n&&o&&React.createElement(NextSectionButton,{href:(null==o?void 0:o.href)||"",label:null==o?void 0:o.name,pagination:t})):null),[r,o,t,n]);return React.createElement(React.Fragment,null,i.map((e=>React.createElement(ContentItem,{key:e.id,item:e}))),a)}
|
|
2
2
|
//# sourceMappingURL=SectionContent.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ExtendedMenuItem } from './types';
|
|
3
|
+
import type { IMenuItem } from '../../services';
|
|
3
4
|
import { Pagination } from '../../services';
|
|
4
5
|
interface MenuItemProps {
|
|
5
6
|
active?: boolean;
|
|
@@ -8,4 +9,5 @@ interface MenuItemProps {
|
|
|
8
9
|
onClick?: () => void;
|
|
9
10
|
}
|
|
10
11
|
export declare const MenuItem: React.NamedExoticComponent<React.PropsWithChildren<MenuItemProps>>;
|
|
12
|
+
export declare function getLink(item: IMenuItem, pagination?: Pagination): string;
|
|
11
13
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback}from"react";import{Badge}from"@redocly/theme";import{Pagination}from"../../services";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{encodeBackSlashes}from"../../utils";import{useMenuItemExpanded}from"./hooks";function MenuItemComponent({item:e,children:t,onClick:n,pagination:m}){var i;const[o,a]=useMenuItemExpanded(e),
|
|
1
|
+
import React,{memo,useCallback}from"react";import{Badge}from"@redocly/theme";import{Pagination}from"../../services";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{encodeBackSlashes}from"../../utils";import{useMenuItemExpanded}from"./hooks";function MenuItemComponent({item:e,children:t,onClick:n,pagination:m}){var i;const[o,a]=useMenuItemExpanded(e),r=getLink(e,m),c=useCallback((()=>{r&&e.hasActiveSubItem||a(!o)}),[r,e.hasActiveSubItem,a,o]),l=(null===(i=e.items)||void 0===i?void 0:i.length)>0;return React.createElement(MenuItemLi,{depth:e.depth,"data-item-id":e.id,onClick:n},"operation"===e.type?React.createElement(MenuOperationItemContent,{item:e,to:r,active:e.active},t):React.createElement(MenuItemLink,{to:r,depth:e.depth,type:e.type,hasChildren:l,active:e.active,onClick:c},e.depth>0&&l&&React.createElement(ShelfIcon,{direction:o?"down":"right"})||null,e.isSchema?React.createElement(Badge,{type:"schema"},"schema"):null,React.createElement(MenuItemTitle,{title:e.name},e.name,t)),l&&React.createElement(MenuItems,{expanded:o,items:e.items}))}export const MenuItem=memo(MenuItemComponent);export function getLink(e,t){return"tag"!==e.type||e.description||t!==Pagination.Item?encodeBackSlashes(e.href):""}
|
|
2
2
|
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -9,6 +9,7 @@ interface TagItemsProps {
|
|
|
9
9
|
};
|
|
10
10
|
pagination: Options['pagination'];
|
|
11
11
|
showNextButton?: boolean;
|
|
12
|
+
footerHook?: Options['hooks']['MiddlePanelFooter'];
|
|
12
13
|
}
|
|
13
|
-
export declare function TagItems({ tag, nextSectionLink, pagination, showNextButton, }: TagItemsProps): JSX.Element;
|
|
14
|
+
export declare function TagItems({ tag, nextSectionLink, pagination, showNextButton, footerHook, }: TagItemsProps): JSX.Element;
|
|
14
15
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React,{useMemo}from"react";import{Pagination}from"../../services";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{SectionContent}from"../SectionContent";import{MiddleFooterWrapper}from"../Panel";import{RenderHook}from"../RenderHook";export function TagItems({tag:e,nextSectionLink:t,pagination:o,showNextButton:n,footerHook:i}){const r=useMemo((()=>i||n&&t?React.createElement(MiddleFooterWrapper,null,i?React.createElement(RenderHook,{Hook:i,props:void 0}):n&&t&&React.createElement(NextSectionButton,{href:(null==t?void 0:t.href)||"",label:null==t?void 0:t.name,pagination:o})):null),[i,t,o,n]);return React.createElement(React.Fragment,null,React.createElement(ContentItem,{key:e.id,item:e,withChildren:o!==Pagination.Item}),o===Pagination.Item&&React.createElement(SectionContent,{items:e.items||[],pagination:o,showNextButton:!1}),r)}
|
|
2
2
|
//# sourceMappingURL=TagItems.js.map
|
|
@@ -3,7 +3,7 @@ export * from './RedoclyOpenAPIDocs';
|
|
|
3
3
|
export * from './pluggable';
|
|
4
4
|
export * from './rightPanel/Console';
|
|
5
5
|
export { BackgroundStub, ApiContentWrap, BackgroundStubFix } from './RedoclyOpenAPIDocs/styled';
|
|
6
|
-
export {
|
|
6
|
+
export { MiddleFooterWrapper } from './Panel/MiddleFooterWrapper';
|
|
7
7
|
export * from './common';
|
|
8
8
|
export * from './ApiInfo';
|
|
9
9
|
export { SectionItem } from './SectionItem';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{
|
|
1
|
+
export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{MiddleFooterWrapper}from"./Panel/MiddleFooterWrapper";export*from"./common";export*from"./ApiInfo";export{SectionItem}from"./SectionItem";export{ContentItem}from"./ContentItem";export{ContentItems}from"./ContentItems";export{DiscriminatorDropdown}from"./DiscriminatorDropdown";export*from"./Schema/";export{OperationItem}from"./OperationItem";export*from"./Loading/Loading";export*from"./Markdown";export{OAuthFlow}from"./SecuritySchemes/OAuthFlow";export*from"./Responses";export*from"./ResponseSamples/ResponseSamples";export{PayloadSamples,ExampleValue,Example,DropdownWrapper}from"./PayloadSamples";export*from"./MediaTypeSwitch";export*from"./Parameters";export*from"./DropdownOrLabel";export*from"./ErrorBoundary";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCodeWithFile/SourceCodeWithFile";export*from"./RequestSamples/RequestSamples";export{ShelfIcon,LockIcon,CrossIcon}from"./icons";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib-esm/hoc/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { DropdownOption } from '../components/common';
|
|
|
3
3
|
import type { OpenAPIDefinitionVersion } from '../recoil/store';
|
|
4
4
|
import type { Options } from '../services/Options/types';
|
|
5
5
|
import type { RouterType } from '../types';
|
|
6
|
+
import type { OpenAPIParser } from '../services/OpenAPIParser';
|
|
6
7
|
export interface RoutingProps {
|
|
7
8
|
/**
|
|
8
9
|
* Only applies when using `history`-based routing. (See the `router` prop.) Specifies the base path under which
|
|
@@ -53,4 +54,5 @@ export interface StoreProps {
|
|
|
53
54
|
activeVersionIdx: number;
|
|
54
55
|
onChangeActiveVersion: (versionIdx: DropdownOption) => void;
|
|
55
56
|
collapsedSidebar: boolean;
|
|
57
|
+
parser: OpenAPIParser;
|
|
56
58
|
}
|
package/lib-esm/hoc/withStore.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,o){var t={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&o.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(l=Object.getOwnPropertySymbols(e);r<l.length;r++)o.indexOf(l[r])<0&&Object.prototype.propertyIsEnumerable.call(e,l[r])&&(t[l[r]]=e[l[r]])}return t};import React,{useEffect,useCallback}from"react";import{useRecoilState,useRecoilValue}from"recoil";import{activeVersionIdxSelector,layoutSelector,showRightPanelToggleSelector,collapsedSidebarSelector}from"../recoil/app";import{globalStore}from"../recoil/store";export function withStore(e){return o=>{var{portalOptions:t}=o,l=__rest(o,["portalOptions"]);const[r,a]=useRecoilState(layoutSelector),[i,s]=useRecoilState(showRightPanelToggleSelector),[c
|
|
1
|
+
var __rest=this&&this.__rest||function(e,o){var t={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&o.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(l=Object.getOwnPropertySymbols(e);r<l.length;r++)o.indexOf(l[r])<0&&Object.prototype.propertyIsEnumerable.call(e,l[r])&&(t[l[r]]=e[l[r]])}return t};import React,{useEffect,useCallback}from"react";import{useRecoilState,useRecoilValue}from"recoil";import{useNavigate,useLocation}from"react-router-dom";import{activeVersionIdxSelector,layoutSelector,showRightPanelToggleSelector,collapsedSidebarSelector,versionPathSelector}from"../recoil/app";import{globalStore}from"../recoil/store";import{IS_BROWSER}from"../utils/dom";export function withStore(e){return o=>{var{portalOptions:t}=o,l=__rest(o,["portalOptions"]);const[r,a]=useRecoilState(layoutSelector),[i,s]=useRecoilState(showRightPanelToggleSelector),[n,c]=useRecoilState(collapsedSidebarSelector),{options:u,versions:p}=useRecoilValue(globalStore);useEffect((()=>{(null==t?void 0:t.layout)&&a(t.layout)}),[null==t?void 0:t.layout,a]),useEffect((()=>{"boolean"==typeof(null==t?void 0:t.collapsedSidebar)&&c(t.collapsedSidebar)}),[null==t?void 0:t.collapsedSidebar,c]),useEffect((()=>{"boolean"==typeof(null==t?void 0:t.showRightPanelToggle)&&s(t.showRightPanelToggle)}),[null==t?void 0:t.showRightPanelToggle,s]);const[d,S]=useRecoilState(activeVersionIdxSelector),[f,g]=useRecoilState(versionPathSelector),h=useNavigate(),v=useLocation(),b=useCallback((({idx:e})=>{if(void 0!==e){const o=p[e].id;if(IS_BROWSER&&o){const{hash:e,pathname:t,search:l}=v;h(`${t}${l}${e}`.replace(f,o))}S(e)}}),[v,h,S,f,p]),{parser:R}=(null==p?void 0:p[d])||{};return useEffect((()=>{(null==R?void 0:R.versionPath)&&g(R.versionPath)}),[null==R?void 0:R.versionPath,g]),R&&p.length?React.createElement(e,Object.assign({},l,{options:u,versions:p,layout:r,showRightPanelToggle:i,activeVersionIdx:d,onChangeActiveVersion:b,collapsedSidebar:n,parser:R})):null}}
|
|
2
2
|
//# sourceMappingURL=withStore.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo}from"react";import{buildContentItems}from"../services";export const useContentItems=({options:
|
|
1
|
+
import{useEffect,useMemo}from"react";import{useSetRecoilState}from"recoil";import{buildContentItems,Pagination}from"../services";import{flatMenuItemsSelector}from"../recoil/app";import{getLink}from"../components/SideMenu/MenuItem";import{isRootItem}from"../components/ContentItems/helpers";export const useContentItems=({options:e,parser:t})=>{const{contentItems:o,flatItems:n}=useMemo((()=>buildContentItems(t,e)),[e,t]),s=useSetRecoilState(flatMenuItemsSelector),{pagination:m}=e;return useEffect((()=>{s(flattenMenuItems(o,m))}),[o,m,s]),{flatItems:n,contentItems:o}};function flattenMenuItems(e,t,o=[]){return e.forEach((e=>{const n=getLink(e,t);let s=isRootItem(e);switch(t){case Pagination.Item:s=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case Pagination.Section:s=Boolean(n&&["tag","schema"].includes(e.type))}s&&o.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,o)})),o}
|
|
2
2
|
//# sourceMappingURL=useContentItems.js.map
|
package/lib-esm/recoil/app.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { LayoutVariant } from '@redocly/theme';
|
|
2
2
|
import type { CodeSampleConfig } from '../services';
|
|
3
|
+
import type { MenuLink } from '../types';
|
|
3
4
|
export type AppSessionStore = {
|
|
4
|
-
activeVersionIdx: number;
|
|
5
5
|
showRightPanelToggle: boolean;
|
|
6
6
|
collapsedSidebar: false;
|
|
7
|
+
activeVersionIdx: number;
|
|
8
|
+
versionPath: string;
|
|
7
9
|
};
|
|
8
10
|
export type AppLocalStore = {
|
|
9
11
|
layout: LayoutVariant;
|
|
@@ -12,11 +14,12 @@ export type AppLocalStore = {
|
|
|
12
14
|
export type AppStore = {
|
|
13
15
|
isSidebarOpened: boolean;
|
|
14
16
|
activeMimeName: string;
|
|
17
|
+
menuNextLinks: MenuLink[];
|
|
15
18
|
};
|
|
16
19
|
export declare const appStore: import("recoil").RecoilState<AppStore>;
|
|
17
|
-
export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
|
|
18
20
|
export declare const isSidebarOpenedSelector: import("recoil").RecoilState<boolean>;
|
|
19
21
|
export declare const activeMimeNameSelector: import("recoil").RecoilState<string>;
|
|
22
|
+
export declare const flatMenuItemsSelector: import("recoil").RecoilState<MenuLink[]>;
|
|
20
23
|
/**
|
|
21
24
|
* appLocalStore saved to local storage
|
|
22
25
|
*/
|
|
@@ -28,4 +31,6 @@ export declare const activeSampleLanguageSelector: import("recoil").RecoilState<
|
|
|
28
31
|
*/
|
|
29
32
|
export declare const appSessionStore: import("recoil").RecoilState<AppSessionStore>;
|
|
30
33
|
export declare const showRightPanelToggleSelector: import("recoil").RecoilState<boolean>;
|
|
34
|
+
export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
|
|
31
35
|
export declare const activeVersionIdxSelector: import("recoil").RecoilState<number>;
|
|
36
|
+
export declare const versionPathSelector: import("recoil").RecoilState<string>;
|
package/lib-esm/recoil/app.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{atom,DefaultValue,selector}from"recoil";import{LayoutVariant}from"@redocly/theme";import{toLocalStorage,fromLocalStorage,toSessionStorage,fromSessionStorage,IS_BROWSER}from"../utils";export const appStore=atom({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:""}});export const
|
|
1
|
+
import{atom,DefaultValue,selector}from"recoil";import{LayoutVariant}from"@redocly/theme";import{toLocalStorage,fromLocalStorage,toSessionStorage,fromSessionStorage,IS_BROWSER}from"../utils";export const appStore=atom({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]}});export const isSidebarOpenedSelector=selector({key:"isSidebarOpened",get:({get:e})=>e(appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{isSidebarOpened:o}))}});export const activeMimeNameSelector=selector({key:"activeMimeName",get:({get:e})=>e(appStore).activeMimeName,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{activeMimeName:o}))}});export const flatMenuItemsSelector=selector({key:"flatMenuItems",get:({get:e})=>e(appStore).menuNextLinks,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{menuNextLinks:o}))}});export const appLocalStore=atom({key:"appLocalStore",default:{layout:LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=fromLocalStorage("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appLocalStore"):toLocalStorage("appLocalStore",JSON.stringify(e))}))}]});export const layoutSelector=selector({key:"layout",get:({get:e})=>e(appLocalStore).layout,set:({set:e,get:t},o=LayoutVariant.STACKED)=>{const a=t(appLocalStore);e(appLocalStore,Object.assign(Object.assign({},a),{layout:o}))}});export const activeSampleLanguageSelector=selector({key:"activeSampleLanguage",get:({get:e})=>e(appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const a=t(appLocalStore);e(appLocalStore,Object.assign(Object.assign({},a),{activeSampleLanguage:o}))}});export const appSessionStore=atom({key:"appSessionStore",default:{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},effects:[({onSet:e,setSelf:t})=>{const o=fromSessionStorage("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appSessionStore"):toSessionStorage("appSessionStore",JSON.stringify(e))}))}]});export const showRightPanelToggleSelector=selector({key:"showRightPanelToggle",get:({get:e})=>e(appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{showRightPanelToggle:o}))}});export const collapsedSidebarSelector=selector({key:"collapsedSidebar",get:({get:e})=>e(appSessionStore).collapsedSidebar,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{collapsedSidebar:o}))}});export const activeVersionIdxSelector=selector({key:"activeVersionIdx",get:({get:e})=>e(appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{activeVersionIdx:o}))}});export const versionPathSelector=selector({key:"versionPath",get:({get:e})=>e(appSessionStore).versionPath,set:({set:e,get:t},o)=>{const a=t(appSessionStore);o&&e(appSessionStore,Object.assign(Object.assign({},a),{versionPath:o}))}});
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -10,8 +10,11 @@ export declare class OpenAPIParser {
|
|
|
10
10
|
private options;
|
|
11
11
|
definitionUrl?: string;
|
|
12
12
|
definition: OpenAPIDefinition;
|
|
13
|
+
versionPath?: string;
|
|
13
14
|
private readonly allowMergeRefs;
|
|
14
|
-
constructor(definition: OpenAPIDefinition, definitionUrl?: string, options?: Options
|
|
15
|
+
constructor(definition: OpenAPIDefinition, definitionUrl?: string, options?: Options & {
|
|
16
|
+
versionId?: string;
|
|
17
|
+
});
|
|
15
18
|
validate(spec: GenericObject): void;
|
|
16
19
|
/**
|
|
17
20
|
* get spec part by JsonPointer ($ref)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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};import{IS_BROWSER,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./Options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,r=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.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=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===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=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}"`);let o=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);o=e.refsStack,n=e.resolved}return o=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:o}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),o=Object.keys(n);if(0===o.length)return t;if(r&&o.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:o,writeOnly:s}=e;return{allOf:[{description:r,title:i,readOnly:o,writeOnly:s},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 o=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});void 0!==o.properties&&"object"==typeof o.properties&&(o.properties=Object.assign({},o.properties)),void 0!==o.items&&"object"==typeof o.items&&(o.items=Object.assign({},o.items));const s=e.allOf.map(((e,t)=>{var n;const{resolved:s,refsStack:
|
|
1
|
+
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};import{IS_BROWSER,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./Options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,r=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,"versionPath",{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.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.versionPath=r.versionId,this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===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=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}"`);let o=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);o=e.refsStack,n=e.resolved}return o=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:o}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),o=Object.keys(n);if(0===o.length)return t;if(r&&o.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:o,writeOnly:s}=e;return{allOf:[{description:r,title:i,readOnly:o,writeOnly:s},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 o=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});void 0!==o.properties&&"object"==typeof o.properties&&(o.properties=Object.assign({},o.properties)),void 0!==o.items&&"object"==typeof o.items&&(o.items=Object.assign({},o.items));const s=e.allOf.map(((e,t)=>{var n;const{resolved:s,refsStack:l}=this.deref(e,r,!0),a=e.$ref,f=a||JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(s,a,l,f);if(!c["x-circular-ref"]||!c.allOf)return a&&(null===(n=o["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(l,a),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:l}]of s.entries()){const{type:s,enum:a,properties:f,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:m,"x-circular-ref":h}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(o.type===s||void 0===o.type||void 0===s){if(void 0!==s&&(Array.isArray(s)&&Array.isArray(o.type)?o.type=[...s,...o.type]:o.type=s),void 0!==a&&(Array.isArray(a)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...a,...o.enum])):o.enum=a),void 0!==f&&"object"==typeof f){o.properties=o.properties||{};for(const r in f){const s=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(o.properties[r]){if(!h){const i=this.mergeAllOf({allOf:[o.properties[r],f[r]],"x-refsStack":s},t+"/properties/"+r,s,JsonPointer.join(l,["allOf",String(e),"properties",r]));o.properties[r]=i}}else o.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer.join(l,["properties",r]),"x-refsStack":s})}}if(void 0!==c&&!h){const e="boolean"==typeof o.items?{}:Object.assign({},o.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);o.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}void 0!==b&&(o.oneOf=b),void 0!==m&&(o.anyOf=m),void 0!==p&&(o.required=[...o.required||[],...p]),o=Object.assign(Object.assign(Object.assign({},o),{title:o.title||d,description:o.description||O,readOnly:void 0!==o.readOnly?o.readOnly:u,writeOnly:void 0!==o.writeOnly?o.writeOnly:y,"x-circular-ref":o["x-circular-ref"]||h}),v)}}return o}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),n=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...n]})))}}}return e}}
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(e,t){var
|
|
1
|
+
import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension,normalizePath}from"../../utils";import{joinWithSeparator}from"../history";export function buildMenuStructure(e,t){var i,o;const{definition:n}=e,{hideInfoSection:r,hideInfoDescription:a,pagination:s,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:m,infoLabel:l}=t,f=r&&"none"!==s?[]:[{id:"",name:(null===(i=null==n?void 0:n.info)||void 0===i?void 0:i["x-label"])||l||(null===(o=null==n?void 0:n.info)||void 0===o?void 0:o.title)||"Overview",href:"/",depth:r?-1:1,level:1,type:"section",infoDefinition:n.info,items:[]}],u=[...n.tags||[]].filter((e=>e.description))||[];!u.find((e=>(null==e?void 0:e.name)===d))&&d&&u.push({name:d});const p=getTagsWithOperations(e,u),h=n["x-tagGroups"];return r||a||f.push(...addMarkdownItems(getValueFromMdParsedExtension(n.info,"description")||"",void 0,1,m,s)),h&&h.length>0?f.push(...getTagGroupsItems(e,void 0,h,p,t)):f.push(...getTagsItems(e,p,void 0,void 0,t)),f}function addVersionToHref(e,t){return e.map((e=>(e.href&&(e.href=normalizePath(joinWithSeparator(t,e.href,"/"))),e.id&&"tag"===e.type&&(e.id=normalizePath(joinWithSeparator(t,e.id,"/"))),e.items&&addVersionToHref(e.items,t),e)))}export function buildContentItems(e,t){const i=buildMenuStructure(e,t),o=e.versionPath?addVersionToHref(i,e.versionPath):i;return{contentItems:o,flatItems:flattenByProp(o||[],"items")}}
|
|
2
2
|
//# sourceMappingURL=builder.js.map
|
|
@@ -133,6 +133,7 @@ export interface HooksConfig {
|
|
|
133
133
|
securityRequirementId: string;
|
|
134
134
|
}) => string;
|
|
135
135
|
sanitize?: (raw: string) => string;
|
|
136
|
+
MiddlePanelFooter?: HookConfig<undefined>;
|
|
136
137
|
/** @deprecated Use ReplaceTryItSecurityPanel instead */
|
|
137
138
|
ReplaceTryItAuthPanel?: HookConfig<SecurityPanelHookProps>;
|
|
138
139
|
}
|
package/lib-esm/types/app.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.37",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"webpack-dev-server": "^4.9.3",
|
|
120
120
|
"workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
|
|
121
121
|
"js-yaml": "4.1.0",
|
|
122
|
-
"@redocly/theme": "0.11.
|
|
122
|
+
"@redocly/theme": "0.11.3"
|
|
123
123
|
},
|
|
124
124
|
"nx": {
|
|
125
125
|
"namedInputs": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const NextSectionButtonWrap: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const NextSectionButtonWrap: import("styled-components").StyledComponent<"div", any, {}, never>;
|