@redocly/openapi-docs 3.0.0-alpha.29.alpha.0 → 3.0.0-alpha.30

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 (148) 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 +784 -743
  4. package/lib/components/ApiInfo/ApiInfo.d.ts +4 -1
  5. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  6. package/lib/components/ContentItem/ContentItem.d.ts +0 -3
  7. package/lib/components/ContentItem/ContentItem.js +1 -1
  8. package/lib/components/ContentItems/ContentItems.d.ts +1 -7
  9. package/lib/components/ContentItems/ContentItems.js +1 -1
  10. package/lib/components/ContentItems/helpers.d.ts +9 -0
  11. package/lib/components/ContentItems/helpers.js +1 -1
  12. package/lib/components/Fields/FieldDetails.js +1 -1
  13. package/lib/components/Fields/styled.d.ts +1 -0
  14. package/lib/components/Fields/styled.js +5 -1
  15. package/lib/components/OperationItem/OperationItem.js +2 -2
  16. package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
  17. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  18. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +3 -1
  19. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  20. package/lib/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  21. package/lib/components/RedoclyOpenAPIDocs/styled.js +8 -27
  22. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +6 -4
  23. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  24. package/lib/components/SectionContent/SectionContent.d.ts +1 -2
  25. package/lib/components/SectionContent/SectionContent.js +1 -1
  26. package/lib/components/SideMenu/Actions.d.ts +2 -0
  27. package/lib/components/SideMenu/Actions.js +2 -0
  28. package/lib/components/SideMenu/MenuItem.d.ts +2 -0
  29. package/lib/components/SideMenu/MenuItem.js +1 -1
  30. package/lib/components/SideMenu/MenuItemLink.js +1 -1
  31. package/lib/components/SideMenu/MenuItems.js +1 -1
  32. package/lib/components/SideMenu/styled.d.ts +3 -1
  33. package/lib/components/SideMenu/styled.js +1 -1
  34. package/lib/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  35. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  36. package/lib/components/TagItems/TagItems.js +1 -1
  37. package/lib/components/common/panels.d.ts +1 -1
  38. package/lib/components/common/panels.js +2 -2
  39. package/lib/components/index.d.ts +1 -3
  40. package/lib/components/index.js +1 -1
  41. package/lib/constants.d.ts +0 -4
  42. package/lib/constants.js +1 -1
  43. package/lib/hoc/types.d.ts +18 -0
  44. package/lib/hoc/withStore.d.ts +3 -0
  45. package/lib/hoc/withStore.js +2 -0
  46. package/lib/models/group.d.ts +1 -1
  47. package/lib/models/group.js +1 -1
  48. package/lib/models/index.d.ts +1 -1
  49. package/lib/models/index.js +1 -1
  50. package/lib/models/types.d.ts +2 -1
  51. package/lib/recoil/app.d.ts +3 -1
  52. package/lib/recoil/app.js +1 -1
  53. package/lib/services/OpenAPIParser.d.ts +0 -1
  54. package/lib/services/OpenAPIParser.js +1 -1
  55. package/lib/services/Options/normalizeOptions.js +1 -1
  56. package/lib/services/Options/types.d.ts +3 -2
  57. package/lib/services/menu/builder.js +1 -1
  58. package/lib/services/menu/markdown.js +1 -1
  59. package/lib/services/menu/tags.js +1 -1
  60. package/lib/services/types.d.ts +1 -0
  61. package/lib/standalone.d.ts +1 -1
  62. package/lib/types/open-api.d.ts +0 -1
  63. package/lib/utils/helpers.js +1 -1
  64. package/lib-esm/components/ApiInfo/ApiInfo.d.ts +4 -1
  65. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  66. package/lib-esm/components/ContentItem/ContentItem.d.ts +0 -3
  67. package/lib-esm/components/ContentItem/ContentItem.js +1 -1
  68. package/lib-esm/components/ContentItems/ContentItems.d.ts +1 -7
  69. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  70. package/lib-esm/components/ContentItems/helpers.d.ts +9 -0
  71. package/lib-esm/components/ContentItems/helpers.js +1 -1
  72. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  73. package/lib-esm/components/Fields/styled.d.ts +1 -0
  74. package/lib-esm/components/Fields/styled.js +4 -0
  75. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  76. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
  77. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  78. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +3 -1
  79. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  80. package/lib-esm/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  81. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +32 -51
  82. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +6 -4
  83. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  84. package/lib-esm/components/SectionContent/SectionContent.d.ts +1 -2
  85. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  86. package/lib-esm/components/SideMenu/Actions.d.ts +2 -0
  87. package/lib-esm/components/SideMenu/Actions.js +2 -0
  88. package/lib-esm/components/SideMenu/MenuItem.d.ts +2 -0
  89. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  90. package/lib-esm/components/SideMenu/MenuItemLink.js +1 -1
  91. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  92. package/lib-esm/components/SideMenu/styled.d.ts +3 -1
  93. package/lib-esm/components/SideMenu/styled.js +1 -1
  94. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  95. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  96. package/lib-esm/components/TagItems/TagItems.js +1 -1
  97. package/lib-esm/components/common/panels.d.ts +1 -1
  98. package/lib-esm/components/common/panels.js +2 -2
  99. package/lib-esm/components/index.d.ts +1 -3
  100. package/lib-esm/components/index.js +1 -1
  101. package/lib-esm/constants.d.ts +0 -4
  102. package/lib-esm/constants.js +1 -1
  103. package/lib-esm/hoc/types.d.ts +18 -0
  104. package/lib-esm/hoc/withStore.d.ts +3 -0
  105. package/lib-esm/hoc/withStore.js +2 -0
  106. package/lib-esm/models/group.d.ts +1 -1
  107. package/lib-esm/models/group.js +1 -1
  108. package/lib-esm/models/index.d.ts +1 -1
  109. package/lib-esm/models/index.js +1 -1
  110. package/lib-esm/models/types.d.ts +2 -1
  111. package/lib-esm/recoil/app.d.ts +3 -1
  112. package/lib-esm/recoil/app.js +1 -1
  113. package/lib-esm/services/OpenAPIParser.d.ts +0 -1
  114. package/lib-esm/services/OpenAPIParser.js +1 -1
  115. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  116. package/lib-esm/services/Options/types.d.ts +3 -2
  117. package/lib-esm/services/menu/builder.js +1 -1
  118. package/lib-esm/services/menu/markdown.js +1 -1
  119. package/lib-esm/services/menu/tags.js +1 -1
  120. package/lib-esm/services/types.d.ts +1 -0
  121. package/lib-esm/standalone.d.ts +1 -1
  122. package/lib-esm/types/open-api.d.ts +0 -1
  123. package/lib-esm/utils/helpers.js +1 -1
  124. package/package.json +3 -3
  125. package/lib/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  126. package/lib/components/ChangeViewButton/ChangeViewButton.js +0 -2
  127. package/lib/components/ChangeViewButton/index.d.ts +0 -1
  128. package/lib/components/ChangeViewButton/index.js +0 -2
  129. package/lib/components/ChangeViewButton/styled.d.ts +0 -4
  130. package/lib/components/ChangeViewButton/styled.js +0 -18
  131. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  132. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  133. package/lib/components/ToggleRightPanelButton/index.d.ts +0 -1
  134. package/lib/components/ToggleRightPanelButton/index.js +0 -2
  135. package/lib/components/ToggleRightPanelButton/styled.d.ts +0 -4
  136. package/lib/components/ToggleRightPanelButton/styled.js +0 -17
  137. package/lib-esm/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  138. package/lib-esm/components/ChangeViewButton/ChangeViewButton.js +0 -2
  139. package/lib-esm/components/ChangeViewButton/index.d.ts +0 -1
  140. package/lib-esm/components/ChangeViewButton/index.js +0 -2
  141. package/lib-esm/components/ChangeViewButton/styled.d.ts +0 -4
  142. package/lib-esm/components/ChangeViewButton/styled.js +0 -18
  143. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  144. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  145. package/lib-esm/components/ToggleRightPanelButton/index.d.ts +0 -1
  146. package/lib-esm/components/ToggleRightPanelButton/index.js +0 -2
  147. package/lib-esm/components/ToggleRightPanelButton/styled.d.ts +0 -4
  148. package/lib-esm/components/ToggleRightPanelButton/styled.js +0 -17
@@ -4,6 +4,7 @@ interface StickySidebarProps {
4
4
  className?: string;
5
5
  scrollYOffset: Options['scrollYOffset'];
6
6
  hideFab: Options['hideFab'];
7
+ collapsedSidebar: boolean;
7
8
  }
8
9
  export declare const StickyResponsiveSidebar: React.NamedExoticComponent<React.PropsWithChildren<StickySidebarProps>>;
9
10
  export {};
@@ -1,8 +1,8 @@
1
- import React,{memo,useRef,useState}from"react";import styled,{css}from"styled-components";import{MobileSidebarButton,useMount,useUnmount}from"@redocly/theme";import{useRecoilState}from"recoil";import{IS_BROWSER}from"../../utils";import{isSidebarOpenedSelector}from"../../recoil/app";let Stickyfill;IS_BROWSER&&(Stickyfill=require("stickyfill"));const stickyfill=Stickyfill&&Stickyfill(),StyledStickySidebar=styled.div`
1
+ import React,{memo,useEffect,useRef,useState}from"react";import styled,{css}from"styled-components";import{MobileSidebarButton,MobileSidebarIcon,useMount,useUnmount}from"@redocly/theme";import{useRecoilState}from"recoil";import{useLocation}from"react-router-dom";import{IS_BROWSER}from"../../utils";import{isSidebarOpenedSelector}from"../../recoil/app";import{Actions}from"../SideMenu/Actions";let Stickyfill;IS_BROWSER&&(Stickyfill=require("stickyfill"));const stickyfill=Stickyfill&&Stickyfill(),StyledStickySidebar=styled.div`
2
2
  overflow: hidden;
3
3
  flex-direction: column;
4
4
  backface-visibility: hidden;
5
- height: 100vh;
5
+ height: ${({offsetTop:e})=>`calc(100vh - ${e})`};
6
6
  top: 0;
7
7
  flex: 0 0 auto;
8
8
  position: fixed;
@@ -10,13 +10,13 @@ import React,{memo,useRef,useState}from"react";import styled,{css}from"styled-co
10
10
  z-index: 2;
11
11
  width: 100%;
12
12
  background: var(--sidebar-background-color);
13
- border-right: 1px solid var(--sidebar-border-color);
13
+ border-right: ${({collapsedSidebar:e})=>e?"1px solid var(--sidebar-border-color)":"auto"};
14
14
 
15
- ${({theme:e})=>css`
15
+ ${({theme:e,collapsedSidebar:t})=>css`
16
16
  ${e.mediaQueries[e.showAtBreakpoint.sidebar]} {
17
17
  position: sticky;
18
18
  z-index: auto;
19
- width: var(--sidebar-width);
19
+ width: ${t?"var(--sidebar-width)":"auto"};
20
20
  display: flex;
21
21
  }
22
22
  ${e.mediaQueries.print} {
@@ -35,5 +35,5 @@ import React,{memo,useRef,useState}from"react";import styled,{css}from"styled-co
35
35
  display: none;
36
36
  }
37
37
  `}
38
- `;function StickyResponsiveSidebarComponent({scrollYOffset:e,hideFab:i,className:t,children:o}){const[r,l]=useState("0px"),s=useRef(null),[n,a]=useRecoilState(isSidebarOpenedSelector);useMount((()=>{stickyfill&&stickyfill.add(s.current);const i=e();l(`${i}px`)})),useUnmount((()=>{stickyfill&&stickyfill.remove(s.current)}));return React.createElement(React.Fragment,null,React.createElement(StyledStickySidebar,{open:n,className:t,style:{top:r,height:`calc(100vh - ${r})`},ref:s},o),!i&&React.createElement(FloatingButton,{opened:n,onClick:()=>{a(!n)}}))}export const StickyResponsiveSidebar=memo(StickyResponsiveSidebarComponent);
38
+ `;function StickyResponsiveSidebarComponent({scrollYOffset:e,hideFab:t,className:i,children:o,collapsedSidebar:r}){const[a,l]=useState("0px"),s=useRef(null),c=useLocation(),[n,d]=useRecoilState(isSidebarOpenedSelector);useEffect((()=>{c.hash&&d(!1)}),[c.pathname,c.hash,d]),useMount((()=>{stickyfill&&stickyfill.add(s.current);const t=e();l(`${t}px`)})),useUnmount((()=>{stickyfill&&stickyfill.remove(s.current)}));return React.createElement(React.Fragment,null,React.createElement(StyledStickySidebar,{open:n,className:i,offsetTop:a,style:{top:a},ref:s,collapsedSidebar:r},r||n?o:null,React.createElement(Actions,null)),!t&&React.createElement(FloatingButton,{opened:n,onClick:()=>{d(!n)}},React.createElement(MobileSidebarIcon,null)))}export const StickyResponsiveSidebar=memo(StickyResponsiveSidebarComponent);
39
39
  //# sourceMappingURL=StickyResponsiveSidebar.js.map
@@ -1,2 +1,2 @@
1
- import React from"react";import{Pagination}from"../../services";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{SectionContent}from"../SectionContent";export function TagItems({tag:t,nextSectionLink:e,pagination:n,showNextButton:o}){return React.createElement(React.Fragment,null,React.createElement(ContentItem,{key:t.id,item:t,pagination:n,showNextButton:o,withChildren:n!==Pagination.Item}),n===Pagination.Item&&React.createElement(SectionContent,{items:t.items,pagination:n,showNextButton:!1,showApiInfo:!1}),o&&e&&React.createElement(NextSectionButton,{href:e.href||"",label:e.name,pagination:n}))}
1
+ import React from"react";import{Pagination}from"../../services";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{SectionContent}from"../SectionContent";export function TagItems({tag:t,nextSectionLink:e,pagination:n,showNextButton:o}){return React.createElement(React.Fragment,null,React.createElement(ContentItem,{key:t.id,item:t,withChildren:n!==Pagination.Item}),n===Pagination.Item&&React.createElement(SectionContent,{items:t.items||[],pagination:n,showNextButton:!1}),o&&e&&React.createElement(NextSectionButton,{href:e.href||"",label:e.name,pagination:n}))}
2
2
  //# sourceMappingURL=TagItems.js.map
@@ -1,4 +1,4 @@
1
- import { LayoutVariant } from '../../constants';
1
+ import { LayoutVariant } from '@redocly/theme';
2
2
  export declare const SamplesMiddlePanel: import("styled-components").StyledComponent<"div", any, {
3
3
  compact?: boolean | undefined;
4
4
  isStacked?: boolean | undefined;
@@ -1,4 +1,4 @@
1
- import{H2}from"@redocly/theme";import styled,{css}from"styled-components";import{SECTION_ATTR,LayoutVariant}from"../../constants";export const SamplesMiddlePanel=styled.div`
1
+ import{H2,LayoutVariant}from"@redocly/theme";import styled,{css}from"styled-components";import{SECTION_ATTR}from"../../constants";export const SamplesMiddlePanel=styled.div`
2
2
  ${({compact:a,isStacked:t,theme:e})=>{const i=a?0:"var(--spacing-vertical)";return css`
3
3
  width: 100%;
4
4
  padding: ${i} var(--panel-gap-horizontal);
@@ -17,7 +17,7 @@ import{H2}from"@redocly/theme";import styled,{css}from"styled-components";import
17
17
  }
18
18
  `}}
19
19
  `;export const Section=styled.div.attrs((a=>({[SECTION_ATTR]:a.sectionId,id:a.id})))`
20
- z-index: 0;
20
+ z-index: 1;
21
21
  padding: 0;
22
22
  width: 100%;
23
23
 
@@ -2,7 +2,7 @@ export * from './NextSectionButton';
2
2
  export * from './RedoclyOpenAPIDocs';
3
3
  export * from './pluggable';
4
4
  export * from './rightPanel/Console';
5
- export { ControlsWrap, BackgroundStub, ApiContentWrap, BackgroundStubFix, } from './RedoclyOpenAPIDocs/styled';
5
+ export { BackgroundStub, ApiContentWrap, BackgroundStubFix } from './RedoclyOpenAPIDocs/styled';
6
6
  export { NextSectionButtonWrap } from './NextSectionButton/styled';
7
7
  export * from './common';
8
8
  export * from './ApiInfo';
@@ -28,7 +28,5 @@ export * from './StickySidebar/StickyResponsiveSidebar';
28
28
  export * from './SchemaDefinition/SchemaDefinition';
29
29
  export * from './SourceCodeWithFile/SourceCodeWithFile';
30
30
  export * from './RequestSamples/RequestSamples';
31
- export * from './ChangeViewButton';
32
- export * from './ToggleRightPanelButton';
33
31
  export { ShelfIcon, LockIcon, CrossIcon } from './icons';
34
32
  export type { IconProps } from './icons';
@@ -1,2 +1,2 @@
1
- export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{ControlsWrap,BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{NextSectionButtonWrap}from"./NextSectionButton/styled";export*from"./common";export*from"./ApiInfo";export{SectionItem}from"./SectionItem";export{ContentItem}from"./ContentItem";export{ContentItems}from"./ContentItems";export{DiscriminatorDropdown}from"./DiscriminatorDropdown";export*from"./Schema/";export{OperationItem}from"./OperationItem";export*from"./Loading/Loading";export*from"./Markdown";export{OAuthFlow}from"./SecuritySchemes/OAuthFlow";export*from"./Responses";export*from"./ResponseSamples/ResponseSamples";export{PayloadSamples,ExampleValue,Example,DropdownWrapper}from"./PayloadSamples";export*from"./MediaTypeSwitch";export*from"./Parameters";export*from"./DropdownOrLabel";export*from"./ErrorBoundary";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCodeWithFile/SourceCodeWithFile";export*from"./RequestSamples/RequestSamples";export*from"./ChangeViewButton";export*from"./ToggleRightPanelButton";export{ShelfIcon,LockIcon,CrossIcon}from"./icons";
1
+ export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{NextSectionButtonWrap}from"./NextSectionButton/styled";export*from"./common";export*from"./ApiInfo";export{SectionItem}from"./SectionItem";export{ContentItem}from"./ContentItem";export{ContentItems}from"./ContentItems";export{DiscriminatorDropdown}from"./DiscriminatorDropdown";export*from"./Schema/";export{OperationItem}from"./OperationItem";export*from"./Loading/Loading";export*from"./Markdown";export{OAuthFlow}from"./SecuritySchemes/OAuthFlow";export*from"./Responses";export*from"./ResponseSamples/ResponseSamples";export{PayloadSamples,ExampleValue,Example,DropdownWrapper}from"./PayloadSamples";export*from"./MediaTypeSwitch";export*from"./Parameters";export*from"./DropdownOrLabel";export*from"./ErrorBoundary";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCodeWithFile/SourceCodeWithFile";export*from"./RequestSamples/RequestSamples";export{ShelfIcon,LockIcon,CrossIcon}from"./icons";
2
2
  //# sourceMappingURL=index.js.map
@@ -12,10 +12,6 @@ export declare enum MediaTypes {
12
12
  JSON = "application/json",
13
13
  XML = "application/xml"
14
14
  }
15
- export declare enum LayoutVariant {
16
- STACKED = "stacked",
17
- THREE_PANEL = "three-panel"
18
- }
19
15
  export declare const DEFAULT_SEARCH_MAX_DEPTH = 1;
20
16
  export declare const SECTION_ATTR = "data-section-id";
21
17
  export declare const FIELD_ATTR = "data-field-id";
@@ -1,2 +1,2 @@
1
- export const defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}};export var WindowReferenceOptions;!function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(MediaTypes={}));export var LayoutVariant;!function(e){e.STACKED="stacked",e.THREE_PANEL="three-panel"}(LayoutVariant||(LayoutVariant={}));export const DEFAULT_SEARCH_MAX_DEPTH=1;export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";
1
+ export const defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}};export var WindowReferenceOptions;!function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(MediaTypes={}));export const DEFAULT_SEARCH_MAX_DEPTH=1;export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,3 +1,7 @@
1
+ import type { LayoutVariant } from '@redocly/theme';
2
+ import type { DropdownOption } from '../components/common';
3
+ import type { OpenAPIDefinitionVersion } from '../recoil/store';
4
+ import type { Options } from '../services/Options/types';
1
5
  import type { RouterType } from '../types';
2
6
  export interface RoutingProps {
3
7
  /**
@@ -36,3 +40,17 @@ export interface RoutingProps {
36
40
  */
37
41
  enableRouter?: boolean;
38
42
  }
43
+ export interface StoreProps {
44
+ portalOptions?: {
45
+ layout?: LayoutVariant;
46
+ showRightPanelToggle?: boolean;
47
+ collapsedSidebar?: boolean;
48
+ };
49
+ options: Options;
50
+ versions: OpenAPIDefinitionVersion[];
51
+ layout: LayoutVariant;
52
+ showRightPanelToggle: boolean;
53
+ activeVersionIdx: number;
54
+ onChangeActiveVersion: (versionIdx: DropdownOption) => void;
55
+ collapsedSidebar: boolean;
56
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { StoreProps } from './types';
3
+ export declare function withStore<T extends StoreProps>(WrappedComponent: React.ComponentType<Omit<T, 'portalOptions'>>): React.FC<T>;
@@ -0,0 +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}))}}
2
+ //# sourceMappingURL=withStore.js.map
@@ -1,4 +1,4 @@
1
1
  import type { OpenAPITag } from '../types';
2
2
  import type { MarkdownHeading, MenuItemGroupType, Options } from '../services';
3
3
  import type { GroupModel } from './types';
4
- export declare function getGroup(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, { pagination, markdownHeadingsAnchorLevel, }: Pick<Options, 'pagination' | 'markdownHeadingsAnchorLevel'>, parent?: GroupModel): GroupModel;
4
+ export declare function getTagOrGroup(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, { pagination, markdownHeadingsAnchorLevel, }: Pick<Options, 'pagination' | 'markdownHeadingsAnchorLevel'>, parent?: GroupModel): GroupModel;
@@ -1,2 +1,2 @@
1
- import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:a},r){const n=t.id||e+"/"+safeSlugify(t.name),o=t["x-displayName"]||t.name,s=t.level||1,m=t.isSchema,d=t.ast||void 0;return{id:n,type:e,parent:r,name:o,level:s,depth:0,isSchema:m,description:saveTextBeforeHeading(getValueFromMdParsedExtension(t,"description")||"",a),items:t.items,ast:d,externalDocs:t.externalDocs,href:getHref({id:n,parent:r,type:e},i)}}
1
+ import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getTagOrGroup(e,t,{pagination:a,markdownHeadingsAnchorLevel:i},r){const n=t.id||e+"/"+safeSlugify(t.name),o=t["x-displayName"]||t.name,s=t.level||1,m=t.isSchema,d=t.ast||void 0;return{id:n,type:e,parent:r,name:o,level:s,depth:0,isSchema:m,description:saveTextBeforeHeading(getValueFromMdParsedExtension(t,"description")||"",i),items:t.items,ast:d,externalDocs:t.externalDocs,href:getHref({id:n,parent:r,type:e},a)}}
2
2
  //# sourceMappingURL=group.js.map
@@ -1,6 +1,6 @@
1
1
  export * from './code-sample-options';
2
2
  export * from './file-upload';
3
- export { getGroup } from './group';
3
+ export { getTagOrGroup } from './group';
4
4
  export { getOperation, isPayloadSample } from './operation';
5
5
  export type { Sample, XPayloadSample } from './operation';
6
6
  export { getRequestBody } from './request';
@@ -1,2 +1,2 @@
1
- export*from"./code-sample-options";export*from"./file-upload";export{getGroup}from"./group";export{getOperation,isPayloadSample}from"./operation";export{getRequestBody}from"./request";export{getExamples,getExternalExampleValue}from"./example";export{getActiveMediaType,getMediaContent}from"./mediaContent";export{getMediaType}from"./mediaType";export{getResponse}from"./response";export{getSchema}from"./schema";export{getField}from"./field";export{getCallback}from"./callback";export*from"./security";export*from"./types";
1
+ export*from"./code-sample-options";export*from"./file-upload";export{getTagOrGroup}from"./group";export{getOperation,isPayloadSample}from"./operation";export{getRequestBody}from"./request";export{getExamples,getExternalExampleValue}from"./example";export{getActiveMediaType,getMediaContent}from"./mediaContent";export{getMediaType}from"./mediaType";export{getResponse}from"./response";export{getSchema}from"./schema";export{getField}from"./field";export{getCallback}from"./callback";export*from"./security";export*from"./types";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Node } from '@markdoc/markdoc';
2
- import type { OpenAPISecurityScheme, OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameterLocation, OpenAPIParameterStyle, OpenAPIExternalDocumentation, Server, OpenAPIServer, OpenAPIXCodeSample, OpenAPISchema, Referenced } from '../types';
2
+ import type { OpenAPISecurityScheme, OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameterLocation, OpenAPIParameterStyle, OpenAPIExternalDocumentation, Server, OpenAPIServer, OpenAPIXCodeSample, OpenAPISchema, Referenced, OpenAPIInfo } from '../types';
3
3
  import type { OpenAPIParser } from '../services/OpenAPIParser';
4
4
  import type { Options } from '../services/Options';
5
5
  import type { ExtendedOpenAPIOperation, MenuItemGroupType, MenuItemType, MergedOpenAPISchema, Unstable_ExternalCodeSample } from '../services/types';
@@ -160,6 +160,7 @@ export type GroupModel = {
160
160
  ast?: Node[];
161
161
  parent?: GroupModel;
162
162
  externalDocs?: OpenAPIExternalDocumentation;
163
+ infoDefinition?: OpenAPIInfo;
163
164
  depth: number;
164
165
  level: number;
165
166
  };
@@ -1,8 +1,9 @@
1
+ import { LayoutVariant } from '@redocly/theme';
1
2
  import type { CodeSampleConfig } from '../services';
2
- import { LayoutVariant } from '../constants';
3
3
  export type AppSessionStore = {
4
4
  activeVersionIdx: number;
5
5
  showRightPanelToggle: boolean;
6
+ collapsedSidebar: false;
6
7
  };
7
8
  export type AppLocalStore = {
8
9
  layout: LayoutVariant;
@@ -13,6 +14,7 @@ export type AppStore = {
13
14
  activeMimeName: string;
14
15
  };
15
16
  export declare const appStore: import("recoil").RecoilState<AppStore>;
17
+ export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
16
18
  export declare const isSidebarOpenedSelector: import("recoil").RecoilState<boolean>;
17
19
  export declare const activeMimeNameSelector: import("recoil").RecoilState<string>;
18
20
  /**
@@ -1,2 +1,2 @@
1
- import{atom,DefaultValue,selector}from"recoil";import{toLocalStorage,fromLocalStorage,toSessionStorage,fromSessionStorage,IS_BROWSER}from"../utils";import{LayoutVariant}from"../constants";export const appStore=atom({key:"appStore",default:{isSidebarOpened:!1,activeMimeName:""}});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 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),s=o===LayoutVariant.STACKED?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED;e(appLocalStore,Object.assign(Object.assign({},a),{layout:s}))}});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},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:""}});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 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}))}});
2
2
  //# sourceMappingURL=app.js.map
@@ -13,7 +13,6 @@ export declare class OpenAPIParser {
13
13
  private readonly allowMergeRefs;
14
14
  constructor(definition: OpenAPIDefinition, definitionUrl?: string, options?: Options);
15
15
  validate(spec: GenericObject): void;
16
- preprocess(spec: OpenAPIDefinition): void;
17
16
  /**
18
17
  * get spec part by JsonPointer ($ref)
19
18
  */
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};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,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),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.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){e.info&&this.options.hideInfoDescription&&(e=Object.assign(Object.assign({},e),{info:Object.assign(Object.assign({},e.info),{description:"","x-parsed-md-description":void 0})}))}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},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,i);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,i):n,{resolved:n,refsStack:s}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(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:f}=this.deref(e,i,!0),a=e.$ref,l=a||JsonPointer.join(r,[String(t)]),c=this.mergeAllOf(o,a,f,l);if(!c["x-circular-ref"]||!c.allOf)return a&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(f,a),schema:c,absolutePointer:l}})).filter((e=>void 0!==e));for(const[e,{schema:i,refsStack:r,absolutePointer:f}]of o.entries()){const{type:o,enum:a,properties:l,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:m,"x-circular-ref":h}=i,v=__rest(i,["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!==a&&(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),void 0!==l&&"object"==typeof l){s.properties=s.properties||{};for(const i in l){const o=concatRefStacks(r,null===(n=l[i])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[i]){if(!h){const r=this.mergeAllOf({allOf:[s.properties[i],l[i]],"x-refsStack":o},t+"/properties/"+i,o,JsonPointer.join(f,["allOf",String(e),"properties",i]));s.properties[i]=r}}else s.properties[i]=Object.assign(Object.assign({},l[i]),{absolutePointer:JsonPointer.join(f,["properties",i]),"x-refsStack":o})}}if(void 0!==c&&!h){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof i.items?{}:Object.assign({},i.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",r)}void 0!==b&&(s.oneOf=b),void 0!==m&&(s.anyOf=m),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"]||h}),v)}}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:n}=this.deref(i[r]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const i=t[e];if(Array.isArray(i.oneOf)){const r=t.slice(0,e),n=t.slice(e+1);return{oneOf:i.oneOf.map((e=>({allOf:[...r,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,"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}}
2
2
  //# sourceMappingURL=OpenAPIParser.js.map
@@ -1,2 +1,2 @@
1
- import{generateMediaQueries}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,LayoutVariant,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined}from"../../utils";import{normalizePath}from"../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:void 0===e.hideDownloadButton?null:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none"};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
1
+ import{generateMediaQueries,LayoutVariant}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined}from"../../utils";import{normalizePath}from"../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none",infoNavText:null==e?void 0:e.infoNavText};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
2
2
  //# sourceMappingURL=normalizeOptions.js.map
@@ -1,10 +1,9 @@
1
1
  import type React from 'react';
2
2
  import type { Schema, ConfigFunction } from '@markdoc/markdoc/dist/src/types';
3
- import type { LayoutVariant } from 'src/constants';
4
3
  import type { CodeSamplesConfig, Languages } from '../code-samples';
5
4
  import type { ExternalLink, HooksConfig, MarkdownItemsPagination, Pagination, SideNavStyle, Unstable_ExternalCodeSample, PaginationType } from '../types';
6
5
  import type { Events } from '../../events';
7
- import type { MediaQueries } from '@redocly/theme';
6
+ import type { MediaQueries, LayoutVariant } from '@redocly/theme';
8
7
  import type { OperationModel } from '../../models/types';
9
8
  import type { LabelsConfigRaw } from '../labels/types';
10
9
  export declare enum SearchMode {
@@ -132,6 +131,7 @@ export interface RawOptions {
132
131
  };
133
132
  enableRouter?: boolean;
134
133
  feedback?: Record<string, any>;
134
+ infoNavText?: string;
135
135
  }
136
136
  export interface DefaultOptions {
137
137
  mediaQueries?: MediaQueries;
@@ -271,4 +271,5 @@ export interface Options {
271
271
  unstable_externalDescription?: string;
272
272
  searchMaxDepth: number;
273
273
  feedback: Record<string, any>;
274
+ infoNavText?: string;
274
275
  }
@@ -1,2 +1,2 @@
1
- import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(t,e){const{definition:n}=t,o=[],i=[...n.tags||[]]||[];!i.find((t=>(null==t?void 0:t.name)===e.schemaDefinitionsTagName))&&e.schemaDefinitionsTagName&&i.push({name:e.schemaDefinitionsTagName});const s=getTagsWithOperations(t,i),a=n["x-tagGroups"];return e.hideInfoSection||e.hideInfoDescription||o.push(...addMarkdownItems(getValueFromMdParsedExtension(n.info,"description")||"",void 0,1,e.markdownHeadingsAnchorLevel,e.pagination)),a&&a.length>0?o.push(...getTagGroupsItems(t,void 0,a,s,e)):o.push(...getTagsItems(t,s,void 0,void 0,e)),o}export function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:flattenByProp(n||[],"items")}}
1
+ import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(t,e){var n,i;const{definition:o}=t,{hideInfoSection:s,hideInfoDescription:r,pagination:a,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:u,infoNavText:m}=e,l=s&&"none"!==a?[]:[{id:"",name:(null===(n=null==o?void 0:o.info)||void 0===n?void 0:n["x-navText"])||m||(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((t=>t.description))||[];!f.find((t=>(null==t?void 0:t.name)===d))&&d&&f.push({name:d});const p=getTagsWithOperations(t,f),g=o["x-tagGroups"];return s||r||l.push(...addMarkdownItems(getValueFromMdParsedExtension(o.info,"description")||"",void 0,1,u,a)),g&&g.length>0?l.push(...getTagGroupsItems(t,void 0,g,p,e)):l.push(...getTagsItems(t,p,void 0,void 0,e)),l}export function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:flattenByProp(n||[],"items")}}
2
2
  //# sourceMappingURL=builder.js.map
@@ -1,2 +1,2 @@
1
- import{parse,Ast}from"@markdoc/markdoc";import{Pagination}from"../types";import{getGroup}from"../../models";import{isString,safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2,o=Pagination.Section){const r=isString(t)?parse(t):Ast.fromJSON(null==t?void 0:t.result),s=[];let l;const a=(t,e,i=s,n,o)=>{let r;t=unescapeHTMLChars(t),n.attributes.id?r=n.attributes.id:(r=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=r);const l={id:r,name:t,level:e,items:[],ast:[n]};return i.push(l),l},d=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},u=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?l=a(t,i.attributes.level,void 0,i):i.attributes.level<=n?a(t,i.attributes.level,null==l?void 0:l.items,i,null==l?void 0:l.id):(null===(e=null==l?void 0:l.items)||void 0===e?void 0:e.length)?d(null==l?void 0:l.items,i):(null==s?void 0:s.length)&&d(s,i)}};if(Array.isArray(r))for(const t of r)u(t);else u(r);return mapHeadingsDeep(e,s,i,{pagination:o,markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
1
+ import{parse,Ast}from"@markdoc/markdoc";import{Pagination}from"../types";import{getTagOrGroup}from"../../models";import{isString,safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2,o=Pagination.Section){const r=isString(t)?parse(t):Ast.fromJSON(null==t?void 0:t.result),s=[];let l;const a=(t,e,i=s,n,o)=>{let r;t=unescapeHTMLChars(t),n.attributes.id?r=n.attributes.id:(r=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=r);const l={id:r,name:t,level:e,items:[],ast:[n]};return i.push(l),l},d=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},u=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?l=a(t,i.attributes.level,void 0,i):i.attributes.level<=n?a(t,i.attributes.level,null==l?void 0:l.items,i,null==l?void 0:l.id):(null===(e=null==l?void 0:l.items)||void 0===e?void 0:e.length)?d(null==l?void 0:l.items,i):(null==s?void 0:s.length)&&d(s,i)}};if(Array.isArray(r))for(const t of r)u(t);else u(r);return mapHeadingsDeep(e,s,i,{pagination:o,markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getTagOrGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
2
2
  //# sourceMappingURL=markdown.js.map
@@ -1,2 +1,2 @@
1
- import{getGroup}from"../../models";import{GROUP_DEPTH}from"../../constants";import{alphabeticallyByProp,getValueFromMdParsedExtension,isOperationName,JsonPointer}from"../../utils";import{getOperationsItems}from"./operation";import{addMarkdownItems}from"./markdown";export function getTagsItems(e,t,n,o,a){let s;if(s=void 0===o?Object.keys(t):o.tags,!Array.isArray(s))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const i=s.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),r=[];for(const t of i){if(!t)continue;const o=getGroup("tag",t,{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel},n);if(o.depth=GROUP_DEPTH+1,""===t.name){const e=[...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",o,o.depth+1,a.markdownHeadingsAnchorLevel,a.pagination),...getOperationsItems(void 0,t,o.depth+1,a)];r.push(...e);continue}const s=getTagRelatedSchema({definition:e.definition,tag:t,parent:o,schemaDefinitionsTagName:a.schemaDefinitionsTagName,options:{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel}});o.items=[...s,...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",o,o.depth+1,a.markdownHeadingsAnchorLevel,a.pagination),...getOperationsItems(o,t,o.depth+1,a)],r.push(o)}return a.sortTagsAlphabetically&&r.sort(alphabeticallyByProp("name")),r}export function getTagGroupsItems(e,t,n,o,a){const s=[];for(const i of n){const n=getGroup("group",i,{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel},t);n.depth=GROUP_DEPTH,n.items=getTagsItems(e,o,n,i,a),s.push(n)}return s}function getTagRelatedSchema({definition:e,tag:t,parent:n,schemaDefinitionsTagName:o,options:a}){var s;const i=o?[o]:[];return Object.entries((null===(s=e.components)||void 0===s?void 0:s.schemas)||{}).map((([e,o])=>{if(!(o["x-tags"]||i).includes(t.name))return null;const s=getGroup("schema",{name:e,"x-displayName":`${o.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},a,n);return s.depth=n.depth+1,s})).filter(Boolean)}export function getTagsWithOperations(e,t){const{definition:n}=e,o={},a=n["x-webhooks"]||n.webhooks;for(const e of t||[])o[e.name]=Object.assign(Object.assign({},e),{operations:[]});return n.paths&&getTags(e,n.paths,o),a&&getTags(e,a,o,!0),o}function getTags(e,t,n,o){for(const a of Object.keys(t||{})){const s=t[a],i=Object.keys(s).filter(isOperationName);for(const t of i){const i=s[t];if(s.$ref){const{resolved:t}=e.deref(s);getTags(e,{[a]:t},n,o);continue}let r=null==i?void 0:i.tags;r&&r.length||(r=[""]);for(const e of r){let r=n[e];void 0===r&&(r={name:e,operations:[]},n[e]=r),r["x-traitTag"]||r.operations.push(Object.assign(Object.assign({},i),{pathName:a,pointer:JsonPointer.compile(["paths",a,t]),httpVerb:t,pathParameters:s.parameters||[],pathServers:s.servers,isWebhook:!!o}))}}}}
1
+ import{getTagOrGroup}from"../../models";import{GROUP_DEPTH}from"../../constants";import{alphabeticallyByProp,getValueFromMdParsedExtension,isOperationName,JsonPointer}from"../../utils";import{getOperationsItems}from"./operation";import{addMarkdownItems}from"./markdown";export function getTagsItems(e,t,n,o,a){let s;if(s=void 0===o?Object.keys(t):o.tags,!Array.isArray(s))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const i=s.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),r=[];for(const t of i){if(!t)continue;const o=getTagOrGroup("tag",t,{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel},n);if(o.depth=GROUP_DEPTH+1,""===t.name){const e=[...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",o,o.depth+1,a.markdownHeadingsAnchorLevel,a.pagination),...getOperationsItems(void 0,t,o.depth+1,a)];r.push(...e);continue}const s=getTagRelatedSchema({definition:e.definition,tag:t,parent:o,schemaDefinitionsTagName:a.schemaDefinitionsTagName,options:{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel}});o.items=[...s,...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",o,o.depth+1,a.markdownHeadingsAnchorLevel,a.pagination),...getOperationsItems(o,t,o.depth+1,a)],r.push(o)}return a.sortTagsAlphabetically&&r.sort(alphabeticallyByProp("name")),r}export function getTagGroupsItems(e,t,n,o,a){const s=[];for(const i of n){const n=getTagOrGroup("group",i,{pagination:a.pagination,markdownHeadingsAnchorLevel:a.markdownHeadingsAnchorLevel},t);n.depth=GROUP_DEPTH,n.items=getTagsItems(e,o,n,i,a),s.push(n)}return s}function getTagRelatedSchema({definition:e,tag:t,parent:n,schemaDefinitionsTagName:o,options:a}){var s;const i=o?[o]:[];return Object.entries((null===(s=e.components)||void 0===s?void 0:s.schemas)||{}).map((([e,o])=>{if(!(o["x-tags"]||i).includes(t.name))return null;const s=getTagOrGroup("schema",{name:e,"x-displayName":`${o.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},a,n);return s.depth=n.depth+1,s})).filter(Boolean)}export function getTagsWithOperations(e,t){const{definition:n}=e,o={},a=n["x-webhooks"]||n.webhooks;for(const e of t||[])o[e.name]=Object.assign(Object.assign({},e),{operations:[]});return n.paths&&getTags(e,n.paths,o),a&&getTags(e,a,o,!0),o}function getTags(e,t,n,o){for(const a of Object.keys(t||{})){const s=t[a],i=Object.keys(s).filter(isOperationName);for(const t of i){const i=s[t];if(s.$ref){const{resolved:t}=e.deref(s);getTags(e,{[a]:t},n,o);continue}let r=null==i?void 0:i.tags;r&&r.length||(r=[""]);for(const e of r){let r=n[e];void 0===r&&(r={name:e,operations:[]},n[e]=r),r["x-traitTag"]||r.operations.push(Object.assign(Object.assign({},i),{pathName:a,pointer:JsonPointer.compile(["paths",a,t]),httpVerb:t,pathParameters:s.parameters||[],pathServers:s.servers,isWebhook:!!o}))}}}}
2
2
  //# sourceMappingURL=tags.js.map
@@ -46,6 +46,7 @@ export interface IMenuItem {
46
46
  isSchema?: boolean;
47
47
  httpVerb?: string;
48
48
  path?: string;
49
+ definition?: OpenAPIDefinition;
49
50
  }
50
51
  export type TagInfo = OpenAPITag & {
51
52
  operations: ExtendedOpenAPIOperation[];
@@ -16,7 +16,7 @@ import 'url-polyfill';
16
16
  import type { OpenAPIDefinition } from './types';
17
17
  import type { RawOptions } from './services/Options/types';
18
18
  import type { StoreProviderProps } from './components';
19
- import type { LayoutVariant } from './constants';
19
+ import type { LayoutVariant } from '@redocly/theme';
20
20
  import type { SpecVersions } from './services/types';
21
21
  export { setSecurityDetails, setParameterValue, setSecurityDetailsVariants } from './utils';
22
22
  export declare function toggleLayout(layout?: LayoutVariant): void;
@@ -37,7 +37,6 @@ export interface XLogo {
37
37
  }
38
38
  export interface XMetadata {
39
39
  apiId?: string;
40
- [key: string]: unknown;
41
40
  }
42
41
  export interface OpenAPIServer extends ParsedDescription {
43
42
  url: string;
@@ -1,2 +1,2 @@
1
- import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import{JsonPointer}from"./JsonPointer";import{IS_BROWSER}from"./dom";import{isString}from"./typeGuards";export function mapWithLast(e,t){const r=[];for(let n=0;n<e.length-1;n++)r.push(t(e[n],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}export function mapValues(e,t){const r={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=t(e[n],n,e));return r}export function flattenByProp(e,t){const r=[],n=e=>{for(const o of e)r.push(o),o[t]&&n(o[t])};return n(e),r}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,t,r){const n=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),o=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(n.test(e))return e.replace(o,`$1\n\n${r}\n$4`);{const n=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${n}# ${t}\n\n${r}`}}export const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:(isMergeableObject(e)&&isMergeableObject(r)&&Object.keys(r).forEach((t=>{isMergeableObject(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][ZERO_BREAKPOINT]||0===r[t][ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[ZERO_BREAKPOINT]:e[t]}),mergeObjects(e[t],r[t])):e[t]=r[t]})),mergeObjects(e,...t))};export const isObject=e=>null!==e&&"object"==typeof e;export const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>isObject(e)));export const deleteEmptyArrayItem=e=>e.filter((e=>!!e));export const isMergeableObject=e=>isObject(e)&&!Array.isArray(e);export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:n}=parse(e);r=`${n||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const n=parse(e);r=format(Object.assign(Object.assign({},n),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}export function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function useSchemaTitle(e,t){return t||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}export function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}export function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}export const dottedString=joinStringFactory(".");export function getWindowReferenceOptions(e){var t;return IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}export function getJsUrl(){var e;if(!IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}export const normalizeText=e=>isString(e)?e:null==e?void 0:e.raw;export const getValueFromMdParsedExtension=(e,t)=>e[`x-parsed-md-${t}`]||e[t];
1
+ import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import{JsonPointer}from"./JsonPointer";import{IS_BROWSER}from"./dom";import{isString}from"./typeGuards";export function mapWithLast(e,t){const r=[];for(let n=0;n<e.length-1;n++)r.push(t(e[n],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}export function mapValues(e,t){const r={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=t(e[n],n,e));return r}export function flattenByProp(e,t){const r=[],n=e=>{for(const o of e)r.push(o),o[t]&&n(o[t])};return n(e),r}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,t,r){const n=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),o=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(n.test(e))return e.replace(o,`$1\n\n${r}\n$4`);{const n=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${n}# ${t}\n\n${r}`}}export const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:(isMergeableObject(e)&&isMergeableObject(r)&&Object.keys(r).forEach((t=>{isMergeableObject(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][ZERO_BREAKPOINT]||0===r[t][ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[ZERO_BREAKPOINT]:e[t]}),mergeObjects(e[t],r[t])):e[t]=r[t]})),mergeObjects(e,...t))};export const isObject=e=>null!==e&&"object"==typeof e;export const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>isObject(e)));export const deleteEmptyArrayItem=e=>e.filter((e=>!!e));export const isMergeableObject=e=>isObject(e)&&!Array.isArray(e);export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:n}=parse(e);r=`${n||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const n=parse(e);r=format(Object.assign(Object.assign({},n),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}export function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function useSchemaTitle(e,t){return t||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}export function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}export function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}export const dottedString=joinStringFactory(".");export function getWindowReferenceOptions(e){var t;return IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}export function getJsUrl(){var e;if(!IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}export const normalizeText=e=>isString(e)?e:null==e?void 0:e.raw;export const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let n={};for(const e in r)e.startsWith("x-parsed-md")||(n[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(n).length?n:r};
2
2
  //# sourceMappingURL=helpers.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.29.alpha.0",
3
+ "version": "3.0.0-alpha.30",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -57,7 +57,7 @@
57
57
  "yargs": "^17.3.0"
58
58
  },
59
59
  "peerDependencies": {
60
- "@redocly/theme": "^0.9.12-alpha.0",
60
+ "@redocly/theme": "^0.9.4",
61
61
  "core-js": "^3.1.4",
62
62
  "react": "^16.8.4 || ^17.0.0",
63
63
  "react-dom": "^16.8.4 || ^17.0.0",
@@ -120,7 +120,7 @@
120
120
  "webpack-dev-server": "^4.9.3",
121
121
  "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
122
122
  "js-yaml": "4.1.0",
123
- "@redocly/theme": "0.9.12-alpha.0"
123
+ "@redocly/theme": "0.9.13"
124
124
  },
125
125
  "nx": {
126
126
  "namedInputs": {
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const ChangeViewButton: () => JSX.Element | null;
@@ -1,2 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChangeViewButton=void 0;const react_1=__importDefault(require("react")),recoil_1=require("recoil"),theme_1=require("@redocly/theme"),store_1=require("../../recoil/store"),app_1=require("../../recoil/app"),constants_1=require("../../constants"),styled_1=require("./styled"),ChangeViewButton=()=>{const{showChangeLayoutButton:e}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),t=(0,recoil_1.useRecoilValue)(app_1.showRightPanelToggleSelector),[l,o]=(0,recoil_1.useRecoilState)(app_1.layoutSelector);return e&&t?react_1.default.createElement(theme_1.Tooltip,{tip:"Change layout",placement:"left"},react_1.default.createElement(styled_1.StyledChangeViewButton,{onClick:()=>{o(l)}},l===constants_1.LayoutVariant.STACKED?react_1.default.createElement(styled_1.ChangeViewSvgRow,null):react_1.default.createElement(styled_1.ChangeViewSvgColumn,null))):null};exports.ChangeViewButton=ChangeViewButton;
2
- //# sourceMappingURL=ChangeViewButton.js.map
@@ -1 +0,0 @@
1
- export * from './ChangeViewButton';
@@ -1,2 +0,0 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./ChangeViewButton"),exports);
2
- //# sourceMappingURL=index.js.map
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const StyledChangeViewButton: import("styled-components").StyledComponent<"a", any, {}, never>;
3
- export declare const ChangeViewSvgRow: import("styled-components").StyledComponent<() => JSX.Element, any, {}, never>;
4
- export declare const ChangeViewSvgColumn: import("styled-components").StyledComponent<() => JSX.Element, any, {}, never>;
@@ -1,18 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChangeViewSvgColumn=exports.ChangeViewSvgRow=exports.StyledChangeViewButton=void 0;const react_1=__importDefault(require("react")),styled_components_1=__importDefault(require("styled-components"));exports.StyledChangeViewButton=styled_components_1.default.a`
2
- display: flex;
3
- position: relative;
4
- justify-content: center;
5
- align-items: center;
6
- cursor: pointer;
7
- z-index: 1;
8
- /* Rectangle 201 */
9
- height: var(--layout-controls-height);
10
- width: var(--layout-controls-width);
11
- background: var(--color-emphasis-100);
12
- border-radius: var(--border-radius);
13
- `,exports.ChangeViewSvgRow=(0,styled_components_1.default)((()=>react_1.default.createElement("svg",{width:"20",height:"16",viewBox:"0 0 20 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("line",{x1:"1",y1:"4",x2:"8",y2:"4",stroke:"var(--color-emphasis-400)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("line",{x1:"1",y1:"8",x2:"8",y2:"8",stroke:"var(--color-emphasis-400)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("line",{x1:"1",y1:"12",x2:"8",y2:"12",stroke:"var(--color-emphasis-400)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("rect",{x:"11",width:"9",height:"16",rx:"1",fill:"var(--color-emphasis-400)"}))))`
14
- position: absolute;
15
- `,exports.ChangeViewSvgColumn=(0,styled_components_1.default)((()=>react_1.default.createElement("svg",{width:"15",height:"20",viewBox:"0 0 15 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},react_1.default.createElement("line",{x1:"13.2858",y1:"5.28564",x2:"1.00005",y2:"5.28564",stroke:"var(--color-emphasis-400)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("line",{x1:"13.2858",y1:"1",x2:"1.00005",y2:"0.999998",stroke:"var(--color-emphasis-400)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),react_1.default.createElement("rect",{x:"14.2858",y:"20",width:"14.2857",height:"11.4286",rx:"1",transform:"rotate(-180 14.2858 20)",fill:"var(--color-emphasis-400)"}))))`
16
- position: absolute;
17
- `;
18
- //# sourceMappingURL=styled.js.map
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare function ToggleRightPanelButton(): JSX.Element | null;
@@ -1,2 +0,0 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ToggleRightPanelButton=void 0;const react_1=__importDefault(require("react")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),constants_1=require("../../constants"),app_1=require("../../recoil/app"),store_1=require("../../recoil/store"),styled_1=require("./styled");function ToggleRightPanelButton(){const e=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),[t,l]=(0,recoil_1.useRecoilState)(app_1.showRightPanelToggleSelector),o=(0,recoil_1.useRecoilValue)(app_1.layoutSelector)===constants_1.LayoutVariant.THREE_PANEL;return e.showRightPanelToggle&&o?react_1.default.createElement(theme_1.Tooltip,{tip:""+(t?"Hide samples":"Show samples"),placement:"left"},react_1.default.createElement(styled_1.StyledToggleRightPanelButton,{onClick:()=>{l(!t)}},t?react_1.default.createElement(styled_1.HideRightPanelSVG,null):react_1.default.createElement(styled_1.ShowRightPanelSVG,null))):null}exports.ToggleRightPanelButton=ToggleRightPanelButton;
2
- //# sourceMappingURL=ToggleRightPanelButton.js.map
@@ -1 +0,0 @@
1
- export * from './ToggleRightPanelButton';
@@ -1,2 +0,0 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=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,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./ToggleRightPanelButton"),exports);
2
- //# sourceMappingURL=index.js.map
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const HideRightPanelSVG: import("styled-components").StyledComponent<() => JSX.Element, any, {}, never>;
3
- export declare const StyledToggleRightPanelButton: import("styled-components").StyledComponent<"a", any, {}, never>;
4
- export declare const ShowRightPanelSVG: import("styled-components").StyledComponent<() => JSX.Element, any, {}, never>;