@redocly/openapi-docs 3.0.0-alpha.36 → 3.0.0-alpha.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +1 -1
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +646 -631
  4. package/lib/components/ContentItems/ContentItems.js +1 -1
  5. package/lib/components/ContentItems/helpers.d.ts +1 -1
  6. package/lib/components/ContentItems/helpers.js +1 -1
  7. package/lib/components/Markdown/styled.js +4 -0
  8. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  9. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  10. package/lib/hoc/types.d.ts +2 -0
  11. package/lib/hoc/withStore.js +1 -1
  12. package/lib/hooks/useContentItems.js +1 -1
  13. package/lib/recoil/app.d.ts +4 -2
  14. package/lib/recoil/app.js +1 -1
  15. package/lib/services/OpenAPIParser.d.ts +4 -1
  16. package/lib/services/OpenAPIParser.js +1 -1
  17. package/lib/services/menu/builder.js +1 -1
  18. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  19. package/lib-esm/components/ContentItems/helpers.d.ts +1 -1
  20. package/lib-esm/components/ContentItems/helpers.js +1 -1
  21. package/lib-esm/components/Markdown/styled.js +4 -0
  22. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  23. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  24. package/lib-esm/hoc/types.d.ts +2 -0
  25. package/lib-esm/hoc/withStore.js +1 -1
  26. package/lib-esm/hooks/useContentItems.js +1 -1
  27. package/lib-esm/recoil/app.d.ts +4 -2
  28. package/lib-esm/recoil/app.js +1 -1
  29. package/lib-esm/services/OpenAPIParser.d.ts +4 -1
  30. package/lib-esm/services/OpenAPIParser.js +1 -1
  31. package/lib-esm/services/menu/builder.js +1 -1
  32. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItems=void 0;const react_1=__importStar(require("react")),react_router_dom_1=require("react-router-dom"),recoil_1=require("recoil"),services_1=require("../../services"),utils_1=require("../../utils"),common_1=require("../common"),helpers_1=require("./helpers"),SectionContent_1=require("../SectionContent"),TagItems_1=require("../TagItems"),useAutoScroll_1=require("./useAutoScroll"),ContentItem_1=require("../ContentItem"),store_1=require("../../recoil/store"),app_1=require("../../recoil/app");let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:r,showNextButton:o,disablePaginationLoadingAnimation:n,hooks:{MiddlePanelFooter:a}}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),[i,l]=(0,react_1.useState)(utils_1.IS_BROWSER&&!isInitialHydrate&&!n),c=(0,recoil_1.useRecoilValue)(app_1.flatMenuItemsSelector);(0,react_1.useEffect)((()=>{const e=setTimeout((()=>{l(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),(0,useAutoScroll_1.useAutoScroll)(i);const{groupItems:u,tagItems:_,operationItems:m,rootItem:s}=(0,helpers_1.getItemsByType)(e),d=!t||s?"/":(0,helpers_1.getFirstPageLink)(e)||"/",f=(0,react_1.useCallback)((e=>null==e?void 0:e.map((e=>{var t;const n=(0,helpers_1.getNextSectionLink)({flatItems:c,item:e});switch(r){case services_1.Pagination.Item:return react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id},react_1.default.createElement(react_router_dom_1.Route,{index:!0,element:"operation"===e.type?react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e}):react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:n,pagination:r,showNextButton:o,footerHook:a})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id,element:react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:(0,helpers_1.getNextSectionLink)({flatItems:c,item:e}),pagination:r,showNextButton:o,footerHook:a})}))));case services_1.Pagination.Section:return react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id,element:react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:n,pagination:r,showNextButton:o,footerHook:a})});default:return null}}))),[a,c,r,o]),p=(0,react_1.useMemo)((()=>react_1.default.createElement(react_router_dom_1.Routes,null,s&&react_1.default.createElement(react_router_dom_1.Route,{path:s.href||"/",element:react_1.default.createElement(SectionContent_1.SectionContent,{items:e,nextSectionLink:(0,helpers_1.getNextSectionLink)({flatItems:c,item:s}),pagination:r,showNextButton:o,footerHook:a})}),u.length?u.map((e=>f(e.items))):f(_),m.length&&f(m),react_1.default.createElement(react_router_dom_1.Route,{path:"*",element:react_1.default.createElement(react_router_dom_1.Navigate,{to:d,replace:!0})}))),[s,e,c,r,o,a,u,f,_,m,d]);return t&&!e.length?react_1.default.createElement(react_router_dom_1.Routes,null,react_1.default.createElement(react_router_dom_1.Route,{path:"*",element:react_1.default.createElement(SectionContent_1.SectionContent,{items:e,pagination:r,showNextButton:!1})})):e.length?i?react_1.default.createElement("div",{style:{flex:1,width:"100%"}},react_1.default.createElement(common_1.Skeleton,null)):react_1.default.createElement(react_1.default.Fragment,null,t?react_1.default.createElement(react_1.default.Fragment,null,p,r===services_1.Pagination.Section&&!!m.length&&m.map((e=>react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e})))):e.map((e=>react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e})))):null}exports.ContentItems=(0,react_1.memo)(ContentItemsComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItems=void 0;const react_1=__importStar(require("react")),react_router_dom_1=require("react-router-dom"),recoil_1=require("recoil"),services_1=require("../../services"),utils_1=require("../../utils"),common_1=require("../common"),helpers_1=require("./helpers"),SectionContent_1=require("../SectionContent"),TagItems_1=require("../TagItems"),useAutoScroll_1=require("./useAutoScroll"),ContentItem_1=require("../ContentItem"),store_1=require("../../recoil/store"),app_1=require("../../recoil/app");let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:r,showNextButton:o,disablePaginationLoadingAnimation:n,hooks:{MiddlePanelFooter:a}}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),[i,l]=(0,react_1.useState)(utils_1.IS_BROWSER&&!isInitialHydrate&&!n),c=(0,recoil_1.useRecoilValue)(app_1.versionPathSelector),u=(0,recoil_1.useRecoilValue)(app_1.flatMenuItemsSelector);(0,react_1.useEffect)((()=>{const e=setTimeout((()=>{l(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),(0,useAutoScroll_1.useAutoScroll)(i);const _=c?`/${c}/`:"/",{groupItems:m,tagItems:s,operationItems:d,rootItem:f}=(0,helpers_1.getItemsByType)(e),p=!t||f?_:(0,helpers_1.getFirstPageLink)(e,_),g=(0,react_1.useCallback)((e=>null==e?void 0:e.map((e=>{var t;const n=(0,helpers_1.getNextSectionLink)({flatItems:u,item:e});switch(r){case services_1.Pagination.Item:return react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id},react_1.default.createElement(react_router_dom_1.Route,{index:!0,element:"operation"===e.type?react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e}):react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:n,pagination:r,showNextButton:o,footerHook:a})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id,element:react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:(0,helpers_1.getNextSectionLink)({flatItems:u,item:e}),pagination:r,showNextButton:o,footerHook:a})}))));case services_1.Pagination.Section:return react_1.default.createElement(react_router_dom_1.Route,{key:e.id,path:e.id,element:react_1.default.createElement(TagItems_1.TagItems,{tag:e,nextSectionLink:n,pagination:r,showNextButton:o,footerHook:a})});default:return null}}))),[a,u,r,o]),h=(0,react_1.useMemo)((()=>react_1.default.createElement(react_router_dom_1.Routes,null,f&&react_1.default.createElement(react_router_dom_1.Route,{path:f.href||_,element:react_1.default.createElement(SectionContent_1.SectionContent,{items:e,nextSectionLink:(0,helpers_1.getNextSectionLink)({flatItems:u,item:f}),pagination:r,showNextButton:o,footerHook:a})}),m.length?m.map((e=>g(e.items))):g(s),d.length&&g(d),react_1.default.createElement(react_router_dom_1.Route,{path:"*",element:react_1.default.createElement(react_router_dom_1.Navigate,{to:p,replace:!0})}))),[f,_,e,u,r,o,a,m,g,s,d,p]);return t&&!e.length?react_1.default.createElement(react_router_dom_1.Routes,null,react_1.default.createElement(react_router_dom_1.Route,{path:"*",element:react_1.default.createElement(SectionContent_1.SectionContent,{items:e,pagination:r,showNextButton:!1})})):e.length?i?react_1.default.createElement("div",{style:{flex:1,width:"100%"}},react_1.default.createElement(common_1.Skeleton,null)):react_1.default.createElement(react_1.default.Fragment,null,t?react_1.default.createElement(react_1.default.Fragment,null,h,r===services_1.Pagination.Section&&!!d.length&&d.map((e=>react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e})))):e.map((e=>react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e})))):null}exports.ContentItems=(0,react_1.memo)(ContentItemsComponent);
2
2
  //# sourceMappingURL=ContentItems.js.map
@@ -15,4 +15,4 @@ export declare function getItemsByType(items: ContentItemModel[]): {
15
15
  operationItems: ContentItemModel[];
16
16
  rootItem: import("../../models").GroupModel | undefined;
17
17
  };
18
- export declare function getFirstPageLink(items: ContentItemModel[]): string;
18
+ export declare function getFirstPageLink(items: ContentItemModel[], defaultRootLink: string): string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFirstPageLink=exports.getItemsByType=exports.isRootItem=exports.getNextSectionLink=void 0;const utils_1=require("../../utils");function getNextSectionLink({flatItems:e,item:t}){const i=e.findIndex((({id:e})=>e===t.id)),{href:r,id:o,name:s}=e[i+1]||{};if(r&&o)return{href:r,name:s}}function isRootItem(e){return"section"===e.type&&""===e.id&&"/"===e.href}function getItemsByType(e){const t=[],i=[],r=[];let o;for(const s of e)switch(s.type){case"group":t.push(s);break;case"tag":i.push(s);break;case"operation":r.push(s);break;case"section":isRootItem(s)&&(o=s)}return{groupItems:t,tagItems:i,operationItems:r,rootItem:o}}function getFirstPageLink(e){for(const t of e){if("group"===t.type)return getFirstPageLink(t.items);if("tag"===t.type){if(!t.description)return(0,utils_1.normalizePath)(getFirstPageLink(t.items));if(t.href)return(0,utils_1.normalizePath)(t.href)}else if("operation"===t.type||"schema"===t.type)return(0,utils_1.normalizePath)(t.href)}return"/"}exports.getNextSectionLink=getNextSectionLink,exports.isRootItem=isRootItem,exports.getItemsByType=getItemsByType,exports.getFirstPageLink=getFirstPageLink;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFirstPageLink=exports.getItemsByType=exports.isRootItem=exports.getNextSectionLink=void 0;const utils_1=require("../../utils");function getNextSectionLink({flatItems:e,item:t}){const i=e.findIndex((({id:e})=>e===t.id)),{href:r,id:o,name:s}=e[i+1]||{};if(r&&o)return{href:r,name:s}}function isRootItem(e){return"section"===e.type&&""===e.id}function getItemsByType(e){const t=[],i=[],r=[];let o;for(const s of e)switch(s.type){case"group":t.push(s);break;case"tag":i.push(s);break;case"operation":r.push(s);break;case"section":isRootItem(s)&&(o=s)}return{groupItems:t,tagItems:i,operationItems:r,rootItem:o}}function getFirstPageLink(e,t){for(const i of e){if("group"===i.type)return getFirstPageLink(i.items,t);if("tag"===i.type){if(!i.description)return(0,utils_1.normalizePath)(getFirstPageLink(i.items,t));if(i.href)return(0,utils_1.normalizePath)(i.href)}else if("operation"===i.type||"schema"===i.type)return(0,utils_1.normalizePath)(i.href)}return t}exports.getNextSectionLink=getNextSectionLink,exports.isRootItem=isRootItem,exports.getItemsByType=getItemsByType,exports.getFirstPageLink=getFirstPageLink;
2
2
  //# sourceMappingURL=helpers.js.map
@@ -211,6 +211,10 @@
211
211
  list-style: var(--md-list-item-style);
212
212
  }
213
213
 
214
+ ul > li:has(input[type='checkbox']) {
215
+ list-style: var(--md-checkbox-list-item-style);
216
+ }
217
+
214
218
  ol > li {
215
219
  list-style: var(--md-numbered-list-item-style);
216
220
  }
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,o)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(o,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function s(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StoreProvider=exports.AppProvider=exports.ThemeProviders=void 0;const styled_components_1=require("styled-components"),react_1=__importStar(require("react")),markdoc_1=require("@markdoc/markdoc"),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),recoil_nexus_1=__importDefault(require("recoil-nexus")),services_1=require("../../services"),utils_1=require("./utils"),utils_2=require("../../utils"),Loading_1=require("../Loading"),constants_1=require("../../constants"),SecurityRequirement_1=require("../SecurityRequirement"),SchemaDefinition_1=require("../SchemaDefinition"),pluggable_1=require("../pluggable"),app_1=require("../../recoil/app"),store_1=require("../../recoil/store"),operation_1=require("../../recoil/operation"),ThemeProviders=({options:e,children:t,customOptions:i={}})=>{const r=Object.assign(Object.assign({},e),i),o=(0,react_1.useMemo)((()=>({mediaQueries:r.mediaQueries,showAtBreakpoint:r.showAtBreakpoint})),[r.mediaQueries,r.showAtBreakpoint]);return react_1.default.createElement(styled_components_1.ThemeProvider,{theme:o},t)};exports.ThemeProviders=ThemeProviders;const AppProvider=({definitions:e,options:t,definitionUrl:i,definition:r,activeSampleLanguage:o,children:n})=>{const[,a]=(0,react_1.useState)(),[s,l]=(0,react_1.useState)(!0),[u,c]=(0,react_1.useState)(null);(0,react_1.useEffect)((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){l(!0);try{c(e?yield(0,utils_1.loadMany)(e):yield(0,utils_1.loadSingle)(r,i,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,r,i,t]);const d=(0,react_1.useMemo)((()=>{var e,r,n;if(u)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(n=null===(r=t.hooks)||void 0===r?void 0:r.onInit)||void 0===n||n.call(r,{store:{definition:u,options:t,definitionUrl:i,activeSampleLanguage:o}})),{definition:u,options:t,definitionUrl:i,activeSampleLanguage:o}}),(0,utils_1.useDeepCompareMemoize)([u,t,i]));return(0,react_1.useEffect)((()=>{d&&l(!1)}),[d]),d?s?(0,utils_2.argValueToBoolean)(null==t?void 0:t.hideLoading,!1)?null:react_1.default.createElement(Loading_1.Loading,{color:"--loading-spinner-color"}):react_1.default.isValidElement(n)?react_1.default.cloneElement(n,{store:d}):null:null};exports.AppProvider=AppProvider;const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:constants_1.defaultTheme.breakpoints,showAtBreakpoint:constants_1.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 i=e.transformAttributes(t),r=e.transformChildren(t),o="string"==typeof i.id?i.id:(0,utils_1.getMarkdownHeaderId)(r);return new markdoc_1.Tag("Heading",Object.assign(Object.assign({},i),{id:o,level:e.attributes.level}),r)}}},components:{SecurityDefinitions:SecurityRequirement_1.SecurityDefs,SchemaDefinition:SchemaDefinition_1.SchemaDefinition,RedocResponse:pluggable_1.RedocResponse,PullRight:pluggable_1.PullRight,Heading:theme_1.Heading}}};exports.StoreProvider=(0,react_1.memo)((({children:e,options:t,definitionUrl:i,definition:r,activeSampleLanguage:o,portalOptions:n})=>{const a=react_1.default.useRef(),s=react_1.default.useCallback((()=>{var e;const o=(0,services_1.normalizeOptions)(Object.assign({},t),DEFAULT_OPTIONS),n=isVersioned(r)?(null===(e=r.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:i,url:r},n)=>{if(e)return{id:t||`Definition_${n}`,title:i||`Definition_${n}`,url:r,parser:new services_1.OpenAPIParser(e,void 0,o)}})).filter(Boolean))||[]:[{url:i,parser:new services_1.OpenAPIParser(r,i,o)}];return{options:o,versions:n}}),[r,i,t]);return(0,react_1.useEffect)((()=>{a.current&&setTimeout((()=>{a.current(store_1.globalStore,s())}),0)}),[s,r]),react_1.default.createElement(recoil_1.RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=s(),i=t.options,r=JSON.parse((0,utils_2.fromLocalStorage)("appLocalStore")||"{}"),l=JSON.parse((0,utils_2.fromSessionStorage)("appSessionStore")||"{}");if(e(app_1.appSessionStore,{showRightPanelToggle:l.showRightPanelToggle||i.showRightPanelToggle,activeVersionIdx:0}),e(app_1.appLocalStore,{layout:r.layout||i.layout,activeSampleLanguage:o||r.activeSampleLanguage||i.defaultSampleLanguage}),e(store_1.globalStore,t),e(app_1.appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==n?void 0:n.defaultMimeType)||"",menuNextLinks:[]}),null==n?void 0:n.operation){const{pointer:t,activeExampleName:i,activeServer:r}=n.operation;e((0,operation_1.operationStore)(t),{activeExampleName:i,activeOneOf:0,activeServer:r,requestValues:{}})}},key:(null==n?void 0:n.definitionId)||"openapi"},react_1.default.createElement(recoil_nexus_1.default,null),e)}));const isVersioned=e=>"versions"in e;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StoreProvider=exports.AppProvider=exports.ThemeProviders=void 0;const styled_components_1=require("styled-components"),react_1=__importStar(require("react")),markdoc_1=require("@markdoc/markdoc"),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),recoil_nexus_1=__importDefault(require("recoil-nexus")),services_1=require("../../services"),utils_1=require("./utils"),utils_2=require("../../utils"),Loading_1=require("../Loading"),constants_1=require("../../constants"),SecurityRequirement_1=require("../SecurityRequirement"),SchemaDefinition_1=require("../SchemaDefinition"),pluggable_1=require("../pluggable"),app_1=require("../../recoil/app"),store_1=require("../../recoil/store"),operation_1=require("../../recoil/operation"),ThemeProviders=({options:e,children:t,customOptions:i={}})=>{const r=Object.assign(Object.assign({},e),i),n=(0,react_1.useMemo)((()=>({mediaQueries:r.mediaQueries,showAtBreakpoint:r.showAtBreakpoint})),[r.mediaQueries,r.showAtBreakpoint]);return react_1.default.createElement(styled_components_1.ThemeProvider,{theme:n},t)};exports.ThemeProviders=ThemeProviders;const AppProvider=({definitions:e,options:t,definitionUrl:i,definition:r,activeSampleLanguage:n,children:o})=>{const[,a]=(0,react_1.useState)(),[s,l]=(0,react_1.useState)(!0),[u,c]=(0,react_1.useState)(null);(0,react_1.useEffect)((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){l(!0);try{c(e?yield(0,utils_1.loadMany)(e):yield(0,utils_1.loadSingle)(r,i,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,r,i,t]);const d=(0,react_1.useMemo)((()=>{var e,r,o;if(u)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(o=null===(r=t.hooks)||void 0===r?void 0:r.onInit)||void 0===o||o.call(r,{store:{definition:u,options:t,definitionUrl:i,activeSampleLanguage:n}})),{definition:u,options:t,definitionUrl:i,activeSampleLanguage:n}}),(0,utils_1.useDeepCompareMemoize)([u,t,i]));return(0,react_1.useEffect)((()=>{d&&l(!1)}),[d]),d?s?(0,utils_2.argValueToBoolean)(null==t?void 0:t.hideLoading,!1)?null:react_1.default.createElement(Loading_1.Loading,{color:"--loading-spinner-color"}):react_1.default.isValidElement(o)?react_1.default.cloneElement(o,{store:d}):null:null};exports.AppProvider=AppProvider;const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:constants_1.defaultTheme.breakpoints,showAtBreakpoint:constants_1.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 i=e.transformAttributes(t),r=e.transformChildren(t),n="string"==typeof i.id?i.id:(0,utils_1.getMarkdownHeaderId)(r);return new markdoc_1.Tag("Heading",Object.assign(Object.assign({},i),{id:n,level:e.attributes.level}),r)}}},components:{SecurityDefinitions:SecurityRequirement_1.SecurityDefs,SchemaDefinition:SchemaDefinition_1.SchemaDefinition,RedocResponse:pluggable_1.RedocResponse,PullRight:pluggable_1.PullRight,Heading:theme_1.Heading}}};exports.StoreProvider=(0,react_1.memo)((({children:e,options:t,definitionUrl:i,definition:r,activeSampleLanguage:n,portalOptions:o})=>{const a=react_1.default.useRef(),s=react_1.default.useCallback((()=>{var e;const n=(0,services_1.normalizeOptions)(Object.assign({},t),DEFAULT_OPTIONS),o=isVersioned(r)?(null===(e=r.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:i,url:r},o)=>{if(e){const a=t||`Definition_${o}`;return{id:a,title:i||`Definition_${o}`,url:r,parser:new services_1.OpenAPIParser(e,void 0,Object.assign(Object.assign({},n),{versionId:a}))}}})).filter(Boolean))||[]:[{url:i,parser:new services_1.OpenAPIParser(r,i,n)}];return{options:n,versions:o}}),[r,i,t]);return(0,react_1.useEffect)((()=>{a.current&&setTimeout((()=>{a.current(store_1.globalStore,s())}),0)}),[s,r]),react_1.default.createElement(recoil_1.RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=s(),i=t.options,r=JSON.parse((0,utils_2.fromLocalStorage)("appLocalStore")||"{}"),l=JSON.parse((0,utils_2.fromSessionStorage)("appSessionStore")||"{}");if(e(app_1.appSessionStore,{showRightPanelToggle:l.showRightPanelToggle||i.showRightPanelToggle,activeVersionIdx:0}),e(app_1.appLocalStore,{layout:r.layout||i.layout,activeSampleLanguage:n||r.activeSampleLanguage||i.defaultSampleLanguage}),e(store_1.globalStore,t),e(app_1.appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==o?void 0:o.defaultMimeType)||"",menuNextLinks:[]}),null==o?void 0:o.operation){const{pointer:t,activeExampleName:i,activeServer:r}=o.operation;e((0,operation_1.operationStore)(t),{activeExampleName:i,activeOneOf:0,activeServer:r,requestValues:{}})}},key:(null==o?void 0:o.definitionId)||"openapi"},react_1.default.createElement(recoil_nexus_1.default,null),e)}));const isVersioned=e=>"versions"in e;
2
2
  //# sourceMappingURL=Providers.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),Search_1=require("../Search"),Providers_1=require("./Providers"),Overlay_1=require("../Overlay"),VersionSwitcher_1=require("../VersionSwitcher"),styled_1=require("./styled"),StickySidebar_1=require("../StickySidebar"),ErrorBoundary_1=require("../ErrorBoundary"),SideMenu_1=require("../SideMenu"),ContentItems_1=require("../ContentItems"),hooks_1=require("../../hooks"),withRouter_1=require("../../hoc/withRouter"),withStore_1=require("../../hoc/withStore"),utils_1=require("../../utils"),useLicense_1=require("../../hooks/useLicense"),RedoclyOpenAPIDocsComponent=(0,utils_1.compose)(withRouter_1.withRouter,withStore_1.withStore,react_1.memo)((({licenseKey:e,onLoaded:t,children:r,options:o,versions:n,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:d})=>{var u,s,_,f,p;const m=(0,react_1.useRef)(null),{isValid:h,licenseInfo:v}=(0,useLicense_1.useLicense)(e);(0,theme_1.useMount)((()=>{null==t||t()}));const{disableSidebar:y,whiteLabel:S,hideLogo:b,hideFab:E,scrollYOffset:g}=o||{},P=n[l].parser,{flatItems:O,contentItems:I}=(0,hooks_1.useContentItems)({parser:P,options:o});if(!n.length)return null;const R=null===(s=null===(u=P.definition)||void 0===u?void 0:u.info)||void 0===s?void 0:s["x-logo"];return react_1.default.createElement(Providers_1.ThemeProviders,{options:o},react_1.default.createElement(theme_1.GlobalStyle,null),react_1.default.createElement(styled_1.RedocWrapStyled,{className:"redoc-wrap",ref:m},!h&&react_1.default.createElement(Overlay_1.Overlay,{licenseInfo:v}),react_1.default.createElement(styled_1.CssFixes,{whiteLabel:S,showRightPanelToggle:a,layout:i}),!y&&react_1.default.createElement(StickySidebar_1.StickyResponsiveSidebar,{hideFab:E,scrollYOffset:g,className:"menu-content",collapsedSidebar:!d},!b&&react_1.default.createElement(theme_1.SidebarLogo,{imageUrl:null==R?void 0:R.url,href:(null==R?void 0:R.href)||(null===(p=null===(f=null===(_=P.definition)||void 0===_?void 0:_.info)||void 0===f?void 0:f.contact)||void 0===p?void 0:p.url),altText:null==R?void 0:R.altText,backgroundColor:null==R?void 0:R.backgroundColor}),n.length>1&&react_1.default.createElement(VersionSwitcher_1.VersionSwitcher,{versions:n,activeVersionIdx:l,onChange:c}),react_1.default.createElement(Search_1.Search,{contentItems:I,flatItems:O,options:o}),react_1.default.createElement(SideMenu_1.SideMenu,{items:h?I:[]})),react_1.default.createElement(styled_1.ApiContentWrap,{className:"api-content",id:"api-content",layout:i===theme_1.LayoutVariant.THREE_PANEL&&a?theme_1.LayoutVariant.THREE_PANEL:theme_1.LayoutVariant.STACKED,collapsedSidebar:d},a&&i!==theme_1.LayoutVariant.STACKED&&react_1.default.createElement(styled_1.BackgroundStub,null),react_1.default.createElement(ContentItems_1.ContentItems,{root:!0,items:h?I:[]}),r),a&&i!==theme_1.LayoutVariant.STACKED&&react_1.default.createElement(styled_1.BackgroundStubFix,null)))}));function RedoclyOpenAPIDocs({onLoaded:e,children:t,store:r}){var o,n,i;return(null==r?void 0:r.definition)?react_1.default.createElement(Providers_1.StoreProvider,Object.assign({},r),react_1.default.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(o=r.options)||void 0===o?void 0:o.routingBasePath,licenseKey:null===(n=r.options)||void 0===n?void 0:n.licenseKey,enableRouter:null===(i=r.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==r?void 0:r.portalOptions},t)):null}function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:t,options:r={},activeItemId:o,activeSampleLanguage:n,activeDeepLink:i}){const a=react_1.default.createElement(Providers_1.AppProvider,{definition:e,definitionUrl:t,options:r,activeItemId:o,activeSampleLanguage:n,activeDeepLink:i},react_1.default.createElement(RedoclyOpenAPIDocs,null));return r.disableErrorBoundary?a:react_1.default.createElement(ErrorBoundary_1.ErrorBoundary,null,a)}exports.RedoclyOpenAPIDocs=RedoclyOpenAPIDocs,exports.RedoclyOpenAPIDocsStandalone=RedoclyOpenAPIDocsStandalone;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),Search_1=require("../Search"),Providers_1=require("./Providers"),Overlay_1=require("../Overlay"),VersionSwitcher_1=require("../VersionSwitcher"),styled_1=require("./styled"),StickySidebar_1=require("../StickySidebar"),ErrorBoundary_1=require("../ErrorBoundary"),SideMenu_1=require("../SideMenu"),ContentItems_1=require("../ContentItems"),hooks_1=require("../../hooks"),withRouter_1=require("../../hoc/withRouter"),withStore_1=require("../../hoc/withStore"),utils_1=require("../../utils"),useLicense_1=require("../../hooks/useLicense"),RedoclyOpenAPIDocsComponent=(0,utils_1.compose)(withRouter_1.withRouter,withStore_1.withStore,react_1.memo)((({licenseKey:e,onLoaded:t,children:r,options:o,versions:n,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:d,parser:s})=>{var u,_,f,p,m;const h=(0,react_1.useRef)(null),{isValid:v,licenseInfo:y}=(0,useLicense_1.useLicense)(e);(0,theme_1.useMount)((()=>{null==t||t()}));const{disableSidebar:S,whiteLabel:b,hideLogo:E,hideFab:g,scrollYOffset:P}=o||{},{flatItems:O,contentItems:I}=(0,hooks_1.useContentItems)({parser:s,options:o}),R=null===(_=null===(u=s.definition)||void 0===u?void 0:u.info)||void 0===_?void 0:_["x-logo"];return react_1.default.createElement(Providers_1.ThemeProviders,{options:o},react_1.default.createElement(theme_1.GlobalStyle,null),react_1.default.createElement(styled_1.RedocWrapStyled,{className:"redoc-wrap",ref:h},!v&&react_1.default.createElement(Overlay_1.Overlay,{licenseInfo:y}),react_1.default.createElement(styled_1.CssFixes,{whiteLabel:b,showRightPanelToggle:a,layout:i}),!S&&react_1.default.createElement(StickySidebar_1.StickyResponsiveSidebar,{hideFab:g,scrollYOffset:P,className:"menu-content",collapsedSidebar:!d},!E&&react_1.default.createElement(theme_1.SidebarLogo,{imageUrl:null==R?void 0:R.url,href:(null==R?void 0:R.href)||(null===(m=null===(p=null===(f=s.definition)||void 0===f?void 0:f.info)||void 0===p?void 0:p.contact)||void 0===m?void 0:m.url),altText:null==R?void 0:R.altText,backgroundColor:null==R?void 0:R.backgroundColor}),n.length>1&&react_1.default.createElement(VersionSwitcher_1.VersionSwitcher,{versions:n,activeVersionIdx:l,onChange:c}),react_1.default.createElement(Search_1.Search,{contentItems:I,flatItems:O,options:o}),react_1.default.createElement(SideMenu_1.SideMenu,{items:v?I:[]})),react_1.default.createElement(styled_1.ApiContentWrap,{className:"api-content",id:"api-content",layout:i===theme_1.LayoutVariant.THREE_PANEL&&a?theme_1.LayoutVariant.THREE_PANEL:theme_1.LayoutVariant.STACKED,collapsedSidebar:d},a&&i!==theme_1.LayoutVariant.STACKED&&react_1.default.createElement(styled_1.BackgroundStub,null),react_1.default.createElement(ContentItems_1.ContentItems,{root:!0,items:v?I:[]}),r),a&&i!==theme_1.LayoutVariant.STACKED&&react_1.default.createElement(styled_1.BackgroundStubFix,null)))}));function RedoclyOpenAPIDocs({onLoaded:e,children:t,store:r}){var o,n,i;return(null==r?void 0:r.definition)?react_1.default.createElement(Providers_1.StoreProvider,Object.assign({},r),react_1.default.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(o=r.options)||void 0===o?void 0:o.routingBasePath,licenseKey:null===(n=r.options)||void 0===n?void 0:n.licenseKey,enableRouter:null===(i=r.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==r?void 0:r.portalOptions},t)):null}function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:t,options:r={},activeItemId:o,activeSampleLanguage:n,activeDeepLink:i}){const a=react_1.default.createElement(Providers_1.AppProvider,{definition:e,definitionUrl:t,options:r,activeItemId:o,activeSampleLanguage:n,activeDeepLink:i},react_1.default.createElement(RedoclyOpenAPIDocs,null));return r.disableErrorBoundary?a:react_1.default.createElement(ErrorBoundary_1.ErrorBoundary,null,a)}exports.RedoclyOpenAPIDocs=RedoclyOpenAPIDocs,exports.RedoclyOpenAPIDocsStandalone=RedoclyOpenAPIDocsStandalone;
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -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
  }
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(r=Object.getOwnPropertySymbols(e);l<r.length;l++)t.indexOf(r[l])<0&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(o[r[l]]=e[r[l]])}return o};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withStore=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),app_1=require("../recoil/app"),store_1=require("../recoil/store");function withStore(e){return t=>{var{portalOptions:o}=t,r=__rest(t,["portalOptions"]);const[l,i]=(0,recoil_1.useRecoilState)(app_1.layoutSelector),[a,n]=(0,recoil_1.useRecoilState)(app_1.showRightPanelToggleSelector),[c,s]=(0,recoil_1.useRecoilState)(app_1.collapsedSidebarSelector),{options:u,versions:p}=(0,recoil_1.useRecoilValue)(store_1.globalStore);(0,react_1.useEffect)((()=>{(null==o?void 0:o.layout)&&i(o.layout)}),[null==o?void 0:o.layout,i]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.collapsedSidebar)&&s(o.collapsedSidebar)}),[null==o?void 0:o.collapsedSidebar,s]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.showRightPanelToggle)&&n(o.showRightPanelToggle)}),[null==o?void 0:o.showRightPanelToggle,n]);const[_,d]=(0,recoil_1.useRecoilState)(app_1.activeVersionIdxSelector),f=(0,react_1.useCallback)((({idx:e})=>{e&&d(e)}),[d]);return react_1.default.createElement(e,Object.assign({},r,{options:u,versions:p,layout:l,showRightPanelToggle:a,activeVersionIdx:_,onChangeActiveVersion:f,collapsedSidebar:c}))}}exports.withStore=withStore;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,i)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(o[r[i]]=e[r[i]])}return o};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withStore=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),react_router_dom_1=require("react-router-dom"),app_1=require("../recoil/app"),store_1=require("../recoil/store"),dom_1=require("../utils/dom");function withStore(e){return t=>{var{portalOptions:o}=t,r=__rest(t,["portalOptions"]);const[i,l]=(0,recoil_1.useRecoilState)(app_1.layoutSelector),[a,n]=(0,recoil_1.useRecoilState)(app_1.showRightPanelToggleSelector),[c,s]=(0,recoil_1.useRecoilState)(app_1.collapsedSidebarSelector),{options:u,versions:_}=(0,recoil_1.useRecoilValue)(store_1.globalStore);(0,react_1.useEffect)((()=>{(null==o?void 0:o.layout)&&l(o.layout)}),[null==o?void 0:o.layout,l]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.collapsedSidebar)&&s(o.collapsedSidebar)}),[null==o?void 0:o.collapsedSidebar,s]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.showRightPanelToggle)&&n(o.showRightPanelToggle)}),[null==o?void 0:o.showRightPanelToggle,n]);const[p,d]=(0,recoil_1.useRecoilState)(app_1.activeVersionIdxSelector),[f,h]=(0,recoil_1.useRecoilState)(app_1.versionPathSelector),v=(0,react_router_dom_1.useNavigate)(),g=(0,react_router_dom_1.useLocation)(),b=(0,react_1.useCallback)((({idx:e})=>{if(void 0!==e){const t=_[e].id;if(dom_1.IS_BROWSER&&t){const{hash:e,pathname:o,search:r}=g;v(`${o}${r}${e}`.replace(f,t))}d(e)}}),[g,v,d,f,_]),{parser:S}=(null==_?void 0:_[p])||{};return(0,react_1.useEffect)((()=>{(null==S?void 0:S.versionPath)&&h(S.versionPath)}),[null==S?void 0:S.versionPath,h]),S&&_.length?react_1.default.createElement(e,Object.assign({},r,{options:u,versions:_,layout:i,showRightPanelToggle:a,activeVersionIdx:p,onChangeActiveVersion:b,collapsedSidebar:c,parser:S})):null}}exports.withStore=withStore;
2
2
  //# sourceMappingURL=withStore.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useContentItems=void 0;const react_1=require("react"),recoil_1=require("recoil"),theme_1=require("@redocly/theme"),services_1=require("../services"),app_1=require("../recoil/app"),MenuItem_1=require("../components/SideMenu/MenuItem"),helpers_1=require("../components/ContentItems/helpers"),useContentItems=({options:e,parser:t})=>{const{contentItems:s,flatItems:n}=(0,react_1.useMemo)((()=>(0,services_1.buildContentItems)(t,e)),[e,t]),r=(0,recoil_1.useSetRecoilState)(app_1.flatMenuItemsSelector),{pagination:o}=e;return(0,theme_1.useMount)((()=>{r(flattenMenuItems(s,o))})),{flatItems:n,contentItems:s}};function flattenMenuItems(e,t,s=[]){return e.forEach((e=>{const n=(0,MenuItem_1.getLink)(e,t);let r=(0,helpers_1.isRootItem)(e);switch(t){case services_1.Pagination.Item:r=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case services_1.Pagination.Section:r=Boolean(n&&["tag","schema"].includes(e.type))}r&&s.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,s)})),s}exports.useContentItems=useContentItems;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useContentItems=void 0;const react_1=require("react"),recoil_1=require("recoil"),services_1=require("../services"),app_1=require("../recoil/app"),MenuItem_1=require("../components/SideMenu/MenuItem"),helpers_1=require("../components/ContentItems/helpers"),useContentItems=({options:e,parser:t})=>{const{contentItems:s,flatItems:n}=(0,react_1.useMemo)((()=>(0,services_1.buildContentItems)(t,e)),[e,t]),r=(0,recoil_1.useSetRecoilState)(app_1.flatMenuItemsSelector),{pagination:o}=e;return(0,react_1.useEffect)((()=>{r(flattenMenuItems(s,o))}),[s,o,r]),{flatItems:n,contentItems:s}};function flattenMenuItems(e,t,s=[]){return e.forEach((e=>{const n=(0,MenuItem_1.getLink)(e,t);let r=(0,helpers_1.isRootItem)(e);switch(t){case services_1.Pagination.Item:r=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case services_1.Pagination.Section:r=Boolean(n&&["tag","schema"].includes(e.type))}r&&s.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,s)})),s}exports.useContentItems=useContentItems;
2
2
  //# sourceMappingURL=useContentItems.js.map
@@ -2,9 +2,10 @@ import { LayoutVariant } from '@redocly/theme';
2
2
  import type { CodeSampleConfig } from '../services';
3
3
  import type { MenuLink } from '../types';
4
4
  export type AppSessionStore = {
5
- activeVersionIdx: number;
6
5
  showRightPanelToggle: boolean;
7
6
  collapsedSidebar: false;
7
+ activeVersionIdx: number;
8
+ versionPath: string;
8
9
  };
9
10
  export type AppLocalStore = {
10
11
  layout: LayoutVariant;
@@ -16,7 +17,6 @@ export type AppStore = {
16
17
  menuNextLinks: MenuLink[];
17
18
  };
18
19
  export declare const appStore: import("recoil").RecoilState<AppStore>;
19
- export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
20
20
  export declare const isSidebarOpenedSelector: import("recoil").RecoilState<boolean>;
21
21
  export declare const activeMimeNameSelector: import("recoil").RecoilState<string>;
22
22
  export declare const flatMenuItemsSelector: import("recoil").RecoilState<MenuLink[]>;
@@ -31,4 +31,6 @@ export declare const activeSampleLanguageSelector: import("recoil").RecoilState<
31
31
  */
32
32
  export declare const appSessionStore: import("recoil").RecoilState<AppSessionStore>;
33
33
  export declare const showRightPanelToggleSelector: import("recoil").RecoilState<boolean>;
34
+ export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
34
35
  export declare const activeVersionIdxSelector: import("recoil").RecoilState<number>;
36
+ export declare const versionPathSelector: import("recoil").RecoilState<string>;
package/lib/recoil/app.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.activeVersionIdxSelector=exports.showRightPanelToggleSelector=exports.appSessionStore=exports.activeSampleLanguageSelector=exports.layoutSelector=exports.appLocalStore=exports.flatMenuItemsSelector=exports.activeMimeNameSelector=exports.isSidebarOpenedSelector=exports.collapsedSidebarSelector=exports.appStore=void 0;const recoil_1=require("recoil"),theme_1=require("@redocly/theme"),utils_1=require("../utils");exports.appStore=(0,recoil_1.atom)({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]}}),exports.collapsedSidebarSelector=(0,recoil_1.selector)({key:"collapsedSidebar",get:({get:e})=>e(exports.appSessionStore).collapsedSidebar,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{collapsedSidebar:o}))}}),exports.isSidebarOpenedSelector=(0,recoil_1.selector)({key:"isSidebarOpened",get:({get:e})=>e(exports.appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))}}),exports.activeMimeNameSelector=(0,recoil_1.selector)({key:"activeMimeName",get:({get:e})=>e(exports.appStore).activeMimeName,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))}}),exports.flatMenuItemsSelector=(0,recoil_1.selector)({key:"flatMenuItems",get:({get:e})=>e(exports.appStore).menuNextLinks,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{menuNextLinks:o}))}}),exports.appLocalStore=(0,recoil_1.atom)({key:"appLocalStore",default:{layout:theme_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromLocalStorage)("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appLocalStore"):(0,utils_1.toLocalStorage)("appLocalStore",JSON.stringify(e))}))}]}),exports.layoutSelector=(0,recoil_1.selector)({key:"layout",get:({get:e})=>e(exports.appLocalStore).layout,set:({set:e,get:t},o=theme_1.LayoutVariant.STACKED)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:o}))}}),exports.activeSampleLanguageSelector=(0,recoil_1.selector)({key:"activeSampleLanguage",get:({get:e})=>e(exports.appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))}}),exports.appSessionStore=(0,recoil_1.atom)({key:"appSessionStore",default:{activeVersionIdx:0,showRightPanelToggle:!0,collapsedSidebar:!1},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromSessionStorage)("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appSessionStore"):(0,utils_1.toSessionStorage)("appSessionStore",JSON.stringify(e))}))}]}),exports.showRightPanelToggleSelector=(0,recoil_1.selector)({key:"showRightPanelToggle",get:({get:e})=>e(exports.appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))}}),exports.activeVersionIdxSelector=(0,recoil_1.selector)({key:"activeVersionIdx",get:({get:e})=>e(exports.appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.versionPathSelector=exports.activeVersionIdxSelector=exports.collapsedSidebarSelector=exports.showRightPanelToggleSelector=exports.appSessionStore=exports.activeSampleLanguageSelector=exports.layoutSelector=exports.appLocalStore=exports.flatMenuItemsSelector=exports.activeMimeNameSelector=exports.isSidebarOpenedSelector=exports.appStore=void 0;const recoil_1=require("recoil"),theme_1=require("@redocly/theme"),utils_1=require("../utils");exports.appStore=(0,recoil_1.atom)({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]}}),exports.isSidebarOpenedSelector=(0,recoil_1.selector)({key:"isSidebarOpened",get:({get:e})=>e(exports.appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))}}),exports.activeMimeNameSelector=(0,recoil_1.selector)({key:"activeMimeName",get:({get:e})=>e(exports.appStore).activeMimeName,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))}}),exports.flatMenuItemsSelector=(0,recoil_1.selector)({key:"flatMenuItems",get:({get:e})=>e(exports.appStore).menuNextLinks,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{menuNextLinks:o}))}}),exports.appLocalStore=(0,recoil_1.atom)({key:"appLocalStore",default:{layout:theme_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromLocalStorage)("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appLocalStore"):(0,utils_1.toLocalStorage)("appLocalStore",JSON.stringify(e))}))}]}),exports.layoutSelector=(0,recoil_1.selector)({key:"layout",get:({get:e})=>e(exports.appLocalStore).layout,set:({set:e,get:t},o=theme_1.LayoutVariant.STACKED)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:o}))}}),exports.activeSampleLanguageSelector=(0,recoil_1.selector)({key:"activeSampleLanguage",get:({get:e})=>e(exports.appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))}}),exports.appSessionStore=(0,recoil_1.atom)({key:"appSessionStore",default:{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromSessionStorage)("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appSessionStore"):(0,utils_1.toSessionStorage)("appSessionStore",JSON.stringify(e))}))}]}),exports.showRightPanelToggleSelector=(0,recoil_1.selector)({key:"showRightPanelToggle",get:({get:e})=>e(exports.appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))}}),exports.collapsedSidebarSelector=(0,recoil_1.selector)({key:"collapsedSidebar",get:({get:e})=>e(exports.appSessionStore).collapsedSidebar,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{collapsedSidebar:o}))}}),exports.activeVersionIdxSelector=(0,recoil_1.selector)({key:"activeVersionIdx",get:({get:e})=>e(exports.appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))}}),exports.versionPathSelector=(0,recoil_1.selector)({key:"versionPath",get:({get:e})=>e(exports.appSessionStore).versionPath,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);o&&e(exports.appSessionStore,Object.assign(Object.assign({},s),{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
- "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 utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./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=utils_1.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=(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}"`);let s=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);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:s}}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)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:a}=this.deref(e,r,!0),l=e.$ref,f=l||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,l,a,f);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(a,l),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:l,properties:f,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":m}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||void 0===s.type||void 0===o){if(void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==l&&(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const r in f){const o=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!m){const i=this.mergeAllOf({allOf:[s.properties[r],f[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!m){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)}void 0!==b&&(s.oneOf=b),void 0!==h&&(s.anyOf=h),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:u,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||m}),v)}}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]);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}}exports.OpenAPIParser=OpenAPIParser;
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 utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./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,"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_1.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=utils_1.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=(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}"`);let s=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);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:s}}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)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:a}=this.deref(e,r,!0),l=e.$ref,f=l||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,l,a,f);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(a,l),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:l,properties:f,items:c,required:p,title:d,description:u,readOnly:O,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":v}=r,m=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||void 0===s.type||void 0===o){if(void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==l&&(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const r in f){const o=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!v){const i=this.mergeAllOf({allOf:[s.properties[r],f[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!v){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)}void 0!==b&&(s.oneOf=b),void 0!==h&&(s.anyOf=h),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||u,readOnly:void 0!==s.readOnly?s.readOnly:O,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||v}),m)}}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]);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}}exports.OpenAPIParser=OpenAPIParser;
2
2
  //# sourceMappingURL=OpenAPIParser.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils");function buildMenuStructure(e,t){var i,n;const{definition:o}=e,{hideInfoSection:s,hideInfoDescription:u,pagination:r,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:l,infoLabel:a}=t,c=s&&"none"!==r?[]:[{id:"",name:(null===(i=null==o?void 0:o.info)||void 0===i?void 0:i["x-label"])||a||(null===(n=null==o?void 0:o.info)||void 0===n?void 0:n.title)||"Overview",href:"/",depth:s?-1:1,level:1,type:"section",infoDefinition:o.info,items:[]}],m=[...o.tags||[]].filter((e=>e.description))||[];!m.find((e=>(null==e?void 0:e.name)===d))&&d&&m.push({name:d});const p=(0,tags_1.getTagsWithOperations)(e,m),f=o["x-tagGroups"];return s||u||c.push(...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(o.info,"description")||"",void 0,1,l,r)),f&&f.length>0?c.push(...(0,tags_1.getTagGroupsItems)(e,void 0,f,p,t)):c.push(...(0,tags_1.getTagsItems)(e,p,void 0,void 0,t)),c}function buildContentItems(e,t){const i=buildMenuStructure(e,t);return{contentItems:i,flatItems:(0,utils_1.flattenByProp)(i||[],"items")}}exports.buildMenuStructure=buildMenuStructure,exports.buildContentItems=buildContentItems;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils"),history_1=require("../history");function buildMenuStructure(e,t){var i,n;const{definition:o}=e,{hideInfoSection:r,hideInfoDescription:s,pagination:u,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:a,infoLabel:l}=t,f=r&&"none"!==u?[]:[{id:"",name:(null===(i=null==o?void 0:o.info)||void 0===i?void 0:i["x-label"])||l||(null===(n=null==o?void 0:o.info)||void 0===n?void 0:n.title)||"Overview",href:"/",depth:r?-1:1,level:1,type:"section",infoDefinition:o.info,items:[]}],m=[...o.tags||[]].filter((e=>e.description))||[];!m.find((e=>(null==e?void 0:e.name)===d))&&d&&m.push({name:d});const h=(0,tags_1.getTagsWithOperations)(e,m),p=o["x-tagGroups"];return r||s||f.push(...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(o.info,"description")||"",void 0,1,a,u)),p&&p.length>0?f.push(...(0,tags_1.getTagGroupsItems)(e,void 0,p,h,t)):f.push(...(0,tags_1.getTagsItems)(e,h,void 0,void 0,t)),f}function addVersionToHref(e,t){return e.map((e=>(e.href&&(e.href=(0,utils_1.normalizePath)((0,history_1.joinWithSeparator)(t,e.href,"/"))),e.id&&"tag"===e.type&&(e.id=(0,utils_1.normalizePath)((0,history_1.joinWithSeparator)(t,e.id,"/"))),e.items&&addVersionToHref(e.items,t),e)))}function buildContentItems(e,t){const i=buildMenuStructure(e,t),n=e.versionPath?addVersionToHref(i,e.versionPath):i;return{contentItems:n,flatItems:(0,utils_1.flattenByProp)(n||[],"items")}}exports.buildMenuStructure=buildMenuStructure,exports.buildContentItems=buildContentItems;
2
2
  //# sourceMappingURL=builder.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useMemo,useState,useEffect,useCallback}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{useRecoilValue}from"recoil";import{Pagination}from"../../services";import{IS_BROWSER}from"../../utils";import{Skeleton}from"../common";import{getFirstPageLink,getItemsByType,getNextSectionLink}from"./helpers";import{SectionContent}from"../SectionContent";import{TagItems}from"../TagItems";import{useAutoScroll}from"./useAutoScroll";import{ContentItem}from"../ContentItem";import{globalOptionsSelector}from"../../recoil/store";import{flatMenuItemsSelector}from"../../recoil/app";let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:o,showNextButton:n,disablePaginationLoadingAnimation:a,hooks:{MiddlePanelFooter:i}}=useRecoilValue(globalOptionsSelector),[m,l]=useState(IS_BROWSER&&!isInitialHydrate&&!a),r=useRecoilValue(flatMenuItemsSelector);useEffect((()=>{const e=setTimeout((()=>{l(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),useAutoScroll(m);const{groupItems:c,tagItems:s,operationItems:u,rootItem:p}=getItemsByType(e),g=!t||p?"/":getFirstPageLink(e)||"/",R=useCallback((e=>null==e?void 0:e.map((e=>{var t;const a=getNextSectionLink({flatItems:r,item:e});switch(o){case Pagination.Item:return React.createElement(Route,{key:e.id,path:e.id},React.createElement(Route,{index:!0,element:"operation"===e.type?React.createElement(ContentItem,{key:e.id,item:e}):React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:o,showNextButton:n,footerHook:i})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:getNextSectionLink({flatItems:r,item:e}),pagination:o,showNextButton:n,footerHook:i})}))));case Pagination.Section:return React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:o,showNextButton:n,footerHook:i})});default:return null}}))),[i,r,o,n]),f=useMemo((()=>React.createElement(Routes,null,p&&React.createElement(Route,{path:p.href||"/",element:React.createElement(SectionContent,{items:e,nextSectionLink:getNextSectionLink({flatItems:r,item:p}),pagination:o,showNextButton:n,footerHook:i})}),c.length?c.map((e=>R(e.items))):R(s),u.length&&R(u),React.createElement(Route,{path:"*",element:React.createElement(Navigate,{to:g,replace:!0})}))),[p,e,r,o,n,i,c,R,s,u,g]);return t&&!e.length?React.createElement(Routes,null,React.createElement(Route,{path:"*",element:React.createElement(SectionContent,{items:e,pagination:o,showNextButton:!1})})):e.length?m?React.createElement("div",{style:{flex:1,width:"100%"}},React.createElement(Skeleton,null)):React.createElement(React.Fragment,null,t?React.createElement(React.Fragment,null,f,o===Pagination.Section&&!!u.length&&u.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):e.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):null}export const ContentItems=memo(ContentItemsComponent);
1
+ import React,{memo,useMemo,useState,useEffect,useCallback}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{useRecoilValue}from"recoil";import{Pagination}from"../../services";import{IS_BROWSER}from"../../utils";import{Skeleton}from"../common";import{getFirstPageLink,getItemsByType,getNextSectionLink}from"./helpers";import{SectionContent}from"../SectionContent";import{TagItems}from"../TagItems";import{useAutoScroll}from"./useAutoScroll";import{ContentItem}from"../ContentItem";import{globalOptionsSelector}from"../../recoil/store";import{versionPathSelector,flatMenuItemsSelector}from"../../recoil/app";let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:o,showNextButton:n,disablePaginationLoadingAnimation:a,hooks:{MiddlePanelFooter:i}}=useRecoilValue(globalOptionsSelector),[m,l]=useState(IS_BROWSER&&!isInitialHydrate&&!a),r=useRecoilValue(versionPathSelector),c=useRecoilValue(flatMenuItemsSelector);useEffect((()=>{const e=setTimeout((()=>{l(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),useAutoScroll(m);const s=r?`/${r}/`:"/",{groupItems:u,tagItems:p,operationItems:R,rootItem:g}=getItemsByType(e),S=!t||g?s:getFirstPageLink(e,s),f=useCallback((e=>null==e?void 0:e.map((e=>{var t;const a=getNextSectionLink({flatItems:c,item:e});switch(o){case Pagination.Item:return React.createElement(Route,{key:e.id,path:e.id},React.createElement(Route,{index:!0,element:"operation"===e.type?React.createElement(ContentItem,{key:e.id,item:e}):React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:o,showNextButton:n,footerHook:i})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:getNextSectionLink({flatItems:c,item:e}),pagination:o,showNextButton:n,footerHook:i})}))));case Pagination.Section:return React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:o,showNextButton:n,footerHook:i})});default:return null}}))),[i,c,o,n]),I=useMemo((()=>React.createElement(Routes,null,g&&React.createElement(Route,{path:g.href||s,element:React.createElement(SectionContent,{items:e,nextSectionLink:getNextSectionLink({flatItems:c,item:g}),pagination:o,showNextButton:n,footerHook:i})}),u.length?u.map((e=>f(e.items))):f(p),R.length&&f(R),React.createElement(Route,{path:"*",element:React.createElement(Navigate,{to:S,replace:!0})}))),[g,s,e,c,o,n,i,u,f,p,R,S]);return t&&!e.length?React.createElement(Routes,null,React.createElement(Route,{path:"*",element:React.createElement(SectionContent,{items:e,pagination:o,showNextButton:!1})})):e.length?m?React.createElement("div",{style:{flex:1,width:"100%"}},React.createElement(Skeleton,null)):React.createElement(React.Fragment,null,t?React.createElement(React.Fragment,null,I,o===Pagination.Section&&!!R.length&&R.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):e.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):null}export const ContentItems=memo(ContentItemsComponent);
2
2
  //# sourceMappingURL=ContentItems.js.map
@@ -15,4 +15,4 @@ export declare function getItemsByType(items: ContentItemModel[]): {
15
15
  operationItems: ContentItemModel[];
16
16
  rootItem: import("../../models").GroupModel | undefined;
17
17
  };
18
- export declare function getFirstPageLink(items: ContentItemModel[]): string;
18
+ export declare function getFirstPageLink(items: ContentItemModel[], defaultRootLink: string): string;
@@ -1,2 +1,2 @@
1
- import{normalizePath}from"../../utils";export function getNextSectionLink({flatItems:e,item:t}){const r=e.findIndex((({id:e})=>e===t.id)),{href:i,id:o,name:n}=e[r+1]||{};if(i&&o)return{href:i,name:n}}export function isRootItem(e){return"section"===e.type&&""===e.id&&"/"===e.href}export function getItemsByType(e){const t=[],r=[],i=[];let o;for(const n of e)switch(n.type){case"group":t.push(n);break;case"tag":r.push(n);break;case"operation":i.push(n);break;case"section":isRootItem(n)&&(o=n)}return{groupItems:t,tagItems:r,operationItems:i,rootItem:o}}export function getFirstPageLink(e){for(const t of e){if("group"===t.type)return getFirstPageLink(t.items);if("tag"===t.type){if(!t.description)return normalizePath(getFirstPageLink(t.items));if(t.href)return normalizePath(t.href)}else if("operation"===t.type||"schema"===t.type)return normalizePath(t.href)}return"/"}
1
+ import{normalizePath}from"../../utils";export function getNextSectionLink({flatItems:e,item:t}){const r=e.findIndex((({id:e})=>e===t.id)),{href:i,id:o,name:n}=e[r+1]||{};if(i&&o)return{href:i,name:n}}export function isRootItem(e){return"section"===e.type&&""===e.id}export function getItemsByType(e){const t=[],r=[],i=[];let o;for(const n of e)switch(n.type){case"group":t.push(n);break;case"tag":r.push(n);break;case"operation":i.push(n);break;case"section":isRootItem(n)&&(o=n)}return{groupItems:t,tagItems:r,operationItems:i,rootItem:o}}export function getFirstPageLink(e,t){for(const r of e){if("group"===r.type)return getFirstPageLink(r.items,t);if("tag"===r.type){if(!r.description)return normalizePath(getFirstPageLink(r.items,t));if(r.href)return normalizePath(r.href)}else if("operation"===r.type||"schema"===r.type)return normalizePath(r.href)}return t}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -211,6 +211,10 @@ import styled,{css}from"styled-components";import{CodeBlock}from"@redocly/theme"
211
211
  list-style: var(--md-list-item-style);
212
212
  }
213
213
 
214
+ ul > li:has(input[type='checkbox']) {
215
+ list-style: var(--md-checkbox-list-item-style);
216
+ }
217
+
214
218
  ol > li {
215
219
  list-style: var(--md-numbered-list-item-style);
216
220
  }
@@ -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{s(i.next(e))}catch(e){r(e)}}function l(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,l)}s((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(),[l,s]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){s(!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&&s(!1)}),[m]),m?l?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(),l=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)return{id:t||`Definition_${r}`,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,n)}})).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,l())}),0)}),[l,i]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=l(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),s=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:s.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;
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:t,children:o,options:n,versions:r,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:s})=>{var d,m,u,p,v;const f=useRef(null),{isValid:R,licenseInfo:S}=useLicense(e);useMount((()=>{null==t||t()}));const{disableSidebar:h,whiteLabel:y,hideLogo:E,hideFab:b,scrollYOffset:g}=n||{},L=r[l].parser,{flatItems:I,contentItems:C}=useContentItems({parser:L,options:n});if(!r.length)return null;const P=null===(m=null===(d=L.definition)||void 0===d?void 0:d.info)||void 0===m?void 0:m["x-logo"];return React.createElement(ThemeProviders,{options:n},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:f},!R&&React.createElement(Overlay,{licenseInfo:S}),React.createElement(CssFixes,{whiteLabel:y,showRightPanelToggle:a,layout:i}),!h&&React.createElement(StickyResponsiveSidebar,{hideFab:b,scrollYOffset:g,className:"menu-content",collapsedSidebar:!s},!E&&React.createElement(SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(v=null===(p=null===(u=L.definition)||void 0===u?void 0:u.info)||void 0===p?void 0:p.contact)||void 0===v?void 0:v.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:R?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:R?C:[]}),o),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,children:t,store:o}){var n,r,i;return(null==o?void 0:o.definition)?React.createElement(StoreProvider,Object.assign({},o),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=o.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=o.options)||void 0===r?void 0:r.licenseKey,enableRouter:null===(i=o.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==o?void 0:o.portalOptions},t)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:t,options:o={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:t,options:o,activeItemId:n,activeSampleLanguage:r,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return o.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
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
@@ -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
  }
@@ -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,n]=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)&&n(t.collapsedSidebar)}),[null==t?void 0:t.collapsedSidebar,n]),useEffect((()=>{"boolean"==typeof(null==t?void 0:t.showRightPanelToggle)&&s(t.showRightPanelToggle)}),[null==t?void 0:t.showRightPanelToggle,s]);const[g,d]=useRecoilState(activeVersionIdxSelector),S=useCallback((({idx:e})=>{e&&d(e)}),[d]);return React.createElement(e,Object.assign({},l,{options:u,versions:p,layout:r,showRightPanelToggle:i,activeVersionIdx:g,onChangeActiveVersion:S,collapsedSidebar: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{useSetRecoilState}from"recoil";import{useMount}from"@redocly/theme";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]),m=useSetRecoilState(flatMenuItemsSelector),{pagination:s}=e;return useMount((()=>{m(flattenMenuItems(o,s))})),{flatItems:n,contentItems:o}};function flattenMenuItems(e,t,o=[]){return e.forEach((e=>{const n=getLink(e,t);let m=isRootItem(e);switch(t){case Pagination.Item:m=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case Pagination.Section:m=Boolean(n&&["tag","schema"].includes(e.type))}m&&o.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,o)})),o}
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
@@ -2,9 +2,10 @@ import { LayoutVariant } from '@redocly/theme';
2
2
  import type { CodeSampleConfig } from '../services';
3
3
  import type { MenuLink } from '../types';
4
4
  export type AppSessionStore = {
5
- activeVersionIdx: number;
6
5
  showRightPanelToggle: boolean;
7
6
  collapsedSidebar: false;
7
+ activeVersionIdx: number;
8
+ versionPath: string;
8
9
  };
9
10
  export type AppLocalStore = {
10
11
  layout: LayoutVariant;
@@ -16,7 +17,6 @@ export type AppStore = {
16
17
  menuNextLinks: MenuLink[];
17
18
  };
18
19
  export declare const appStore: import("recoil").RecoilState<AppStore>;
19
- export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
20
20
  export declare const isSidebarOpenedSelector: import("recoil").RecoilState<boolean>;
21
21
  export declare const activeMimeNameSelector: import("recoil").RecoilState<string>;
22
22
  export declare const flatMenuItemsSelector: import("recoil").RecoilState<MenuLink[]>;
@@ -31,4 +31,6 @@ export declare const activeSampleLanguageSelector: import("recoil").RecoilState<
31
31
  */
32
32
  export declare const appSessionStore: import("recoil").RecoilState<AppSessionStore>;
33
33
  export declare const showRightPanelToggleSelector: import("recoil").RecoilState<boolean>;
34
+ export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
34
35
  export declare const activeVersionIdxSelector: import("recoil").RecoilState<number>;
36
+ export declare const versionPathSelector: import("recoil").RecoilState<string>;
@@ -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:"",menuNextLinks:[]}});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 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:{activeVersionIdx:0,showRightPanelToggle:!0,collapsedSidebar:!1},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 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}))}});
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:f}=this.deref(e,r,!0),l=e.$ref,a=l||JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(s,l,f,a);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=o["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:f}]of s.entries()){const{type:s,enum:l,properties:a,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:m,anyOf:b,"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!==l&&(Array.isArray(l)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...l,...o.enum])):o.enum=l),void 0!==a&&"object"==typeof a){o.properties=o.properties||{};for(const r in a){const s=concatRefStacks(i,null===(n=a[r])||void 0===n?void 0:n["x-refsStack"]);if(o.properties[r]){if(!h){const i=this.mergeAllOf({allOf:[o.properties[r],a[r]],"x-refsStack":s},t+"/properties/"+r,s,JsonPointer.join(f,["allOf",String(e),"properties",r]));o.properties[r]=i}}else o.properties[r]=Object.assign(Object.assign({},a[r]),{absolutePointer:JsonPointer.join(f,["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!==m&&(o.oneOf=m),void 0!==b&&(o.anyOf=b),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}}
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 n,i;const{definition:o}=e,{hideInfoSection:s,hideInfoDescription:r,pagination:a,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:l,infoLabel:u}=t,m=s&&"none"!==a?[]:[{id:"",name:(null===(n=null==o?void 0:o.info)||void 0===n?void 0:n["x-label"])||u||(null===(i=null==o?void 0:o.info)||void 0===i?void 0:i.title)||"Overview",href:"/",depth:s?-1:1,level:1,type:"section",infoDefinition:o.info,items:[]}],f=[...o.tags||[]].filter((e=>e.description))||[];!f.find((e=>(null==e?void 0:e.name)===d))&&d&&f.push({name:d});const p=getTagsWithOperations(e,f),g=o["x-tagGroups"];return s||r||m.push(...addMarkdownItems(getValueFromMdParsedExtension(o.info,"description")||"",void 0,1,l,a)),g&&g.length>0?m.push(...getTagGroupsItems(e,void 0,g,p,t)):m.push(...getTagsItems(e,p,void 0,void 0,t)),m}export function buildContentItems(e,t){const n=buildMenuStructure(e,t);return{contentItems:n,flatItems:flattenByProp(n||[],"items")}}
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.36",
3
+ "version": "3.0.0-alpha.38",
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.2"
122
+ "@redocly/theme": "0.11.5"
123
123
  },
124
124
  "nx": {
125
125
  "namedInputs": {