@redocly/openapi-docs 3.0.0-alpha.27 → 3.0.0-alpha.29

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 (214) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +128 -128
  2. package/dist/oauth2-redirect.js +2 -2
  3. package/dist/redocly-openapi-docs.min.js +943 -821
  4. package/lib/components/ApiInfo/ApiInfo.d.ts +4 -1
  5. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  6. package/lib/components/Callbacks/CallbackOperation.js +1 -1
  7. package/lib/components/ContentItem/ContentItem.d.ts +0 -3
  8. package/lib/components/ContentItem/ContentItem.js +1 -1
  9. package/lib/components/ContentItems/ContentItems.d.ts +1 -7
  10. package/lib/components/ContentItems/ContentItems.js +1 -1
  11. package/lib/components/ContentItems/helpers.d.ts +9 -0
  12. package/lib/components/ContentItems/helpers.js +1 -1
  13. package/lib/components/ContentItems/useAutoScroll.js +1 -1
  14. package/lib/components/Fields/Field.js +1 -1
  15. package/lib/components/Fields/FieldDetails.js +1 -1
  16. package/lib/components/Fields/styled.d.ts +1 -0
  17. package/lib/components/Fields/styled.js +5 -1
  18. package/lib/components/OperationItem/OperationItem.js +2 -2
  19. package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +2 -1
  20. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  21. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +3 -1
  22. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  23. package/lib/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  24. package/lib/components/RedoclyOpenAPIDocs/styled.js +8 -27
  25. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +7 -4
  26. package/lib/components/Responses/Response.js +1 -1
  27. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  28. package/lib/components/Search/MenuItemSearch.js +1 -1
  29. package/lib/components/SectionContent/SectionContent.d.ts +1 -2
  30. package/lib/components/SectionContent/SectionContent.js +1 -1
  31. package/lib/components/SideMenu/Actions.d.ts +2 -0
  32. package/lib/components/SideMenu/Actions.js +2 -0
  33. package/lib/components/SideMenu/MenuItem.d.ts +4 -5
  34. package/lib/components/SideMenu/MenuItem.js +1 -1
  35. package/lib/components/SideMenu/MenuItemLink.js +1 -1
  36. package/lib/components/SideMenu/MenuItems.js +1 -1
  37. package/lib/components/SideMenu/SideMenu.js +1 -1
  38. package/lib/components/SideMenu/hooks/index.d.ts +2 -0
  39. package/lib/components/SideMenu/hooks/index.js +2 -0
  40. package/lib/components/SideMenu/hooks/useMenuItemExpanded.d.ts +3 -0
  41. package/lib/components/SideMenu/hooks/useMenuItemExpanded.js +2 -0
  42. package/lib/components/SideMenu/hooks/useMenuItems.d.ts +9 -0
  43. package/lib/components/SideMenu/hooks/useMenuItems.js +2 -0
  44. package/lib/components/SideMenu/styled.d.ts +3 -1
  45. package/lib/components/SideMenu/styled.js +1 -1
  46. package/lib/components/SideMenu/types.d.ts +8 -3
  47. package/lib/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  48. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  49. package/lib/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  50. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  51. package/lib/components/TagItems/TagItems.js +1 -1
  52. package/lib/components/common/LinkToField.d.ts +1 -1
  53. package/lib/components/common/LinkToField.js +1 -1
  54. package/lib/components/common/panels.d.ts +1 -1
  55. package/lib/components/common/panels.js +1 -1
  56. package/lib/components/index.d.ts +1 -3
  57. package/lib/components/index.js +1 -1
  58. package/lib/components/rightPanel/Console/Console.js +1 -1
  59. package/lib/constants.d.ts +0 -4
  60. package/lib/constants.js +1 -1
  61. package/lib/hoc/types.d.ts +18 -0
  62. package/lib/hoc/withStore.d.ts +3 -0
  63. package/lib/hoc/withStore.js +2 -0
  64. package/lib/hooks/index.d.ts +0 -1
  65. package/lib/hooks/index.js +1 -1
  66. package/lib/models/group.d.ts +1 -1
  67. package/lib/models/group.js +1 -1
  68. package/lib/models/index.d.ts +1 -1
  69. package/lib/models/index.js +1 -1
  70. package/lib/models/types.d.ts +2 -1
  71. package/lib/recoil/app.d.ts +3 -1
  72. package/lib/recoil/app.js +1 -1
  73. package/lib/services/OAuth2.js +1 -1
  74. package/lib/services/OpenAPIParser.d.ts +0 -1
  75. package/lib/services/OpenAPIParser.js +1 -1
  76. package/lib/services/Options/normalizeOptions.js +1 -1
  77. package/lib/services/Options/types.d.ts +3 -2
  78. package/lib/services/code-samples/httpsnippet/index.js +1 -1
  79. package/lib/services/menu/builder.js +1 -1
  80. package/lib/services/menu/markdown.js +1 -1
  81. package/lib/services/menu/operation.js +1 -1
  82. package/lib/services/menu/tags.js +1 -1
  83. package/lib/services/search/SearchStore.js +1 -1
  84. package/lib/services/types.d.ts +1 -0
  85. package/lib/standalone.d.ts +1 -1
  86. package/lib/utils/helpers.js +1 -1
  87. package/lib/utils/index.d.ts +1 -1
  88. package/lib/utils/index.js +1 -1
  89. package/lib/utils/path.d.ts +4 -0
  90. package/lib/utils/path.js +2 -0
  91. package/lib/utils/string.d.ts +1 -0
  92. package/lib/utils/string.js +1 -1
  93. package/lib-esm/components/ApiInfo/ApiInfo.d.ts +4 -1
  94. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  95. package/lib-esm/components/Callbacks/CallbackOperation.js +1 -1
  96. package/lib-esm/components/ContentItem/ContentItem.d.ts +0 -3
  97. package/lib-esm/components/ContentItem/ContentItem.js +1 -1
  98. package/lib-esm/components/ContentItems/ContentItems.d.ts +1 -7
  99. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  100. package/lib-esm/components/ContentItems/helpers.d.ts +9 -0
  101. package/lib-esm/components/ContentItems/helpers.js +1 -1
  102. package/lib-esm/components/ContentItems/useAutoScroll.js +1 -1
  103. package/lib-esm/components/Fields/Field.js +1 -1
  104. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  105. package/lib-esm/components/Fields/styled.d.ts +1 -0
  106. package/lib-esm/components/Fields/styled.js +4 -0
  107. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  108. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +2 -1
  109. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  110. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +3 -1
  111. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  112. package/lib-esm/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  113. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +32 -51
  114. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +7 -4
  115. package/lib-esm/components/Responses/Response.js +1 -1
  116. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  117. package/lib-esm/components/Search/MenuItemSearch.js +1 -1
  118. package/lib-esm/components/SectionContent/SectionContent.d.ts +1 -2
  119. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  120. package/lib-esm/components/SideMenu/Actions.d.ts +2 -0
  121. package/lib-esm/components/SideMenu/Actions.js +2 -0
  122. package/lib-esm/components/SideMenu/MenuItem.d.ts +4 -5
  123. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  124. package/lib-esm/components/SideMenu/MenuItemLink.js +1 -1
  125. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  126. package/lib-esm/components/SideMenu/SideMenu.js +1 -1
  127. package/lib-esm/components/SideMenu/hooks/index.d.ts +2 -0
  128. package/lib-esm/components/SideMenu/hooks/index.js +2 -0
  129. package/lib-esm/components/SideMenu/hooks/useMenuItemExpanded.d.ts +3 -0
  130. package/lib-esm/components/SideMenu/hooks/useMenuItemExpanded.js +2 -0
  131. package/lib-esm/components/SideMenu/hooks/useMenuItems.d.ts +9 -0
  132. package/lib-esm/components/SideMenu/hooks/useMenuItems.js +2 -0
  133. package/lib-esm/components/SideMenu/styled.d.ts +3 -1
  134. package/lib-esm/components/SideMenu/styled.js +1 -1
  135. package/lib-esm/components/SideMenu/types.d.ts +8 -3
  136. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  137. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  138. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  139. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  140. package/lib-esm/components/TagItems/TagItems.js +1 -1
  141. package/lib-esm/components/common/LinkToField.d.ts +1 -1
  142. package/lib-esm/components/common/LinkToField.js +2 -2
  143. package/lib-esm/components/common/panels.d.ts +1 -1
  144. package/lib-esm/components/common/panels.js +1 -1
  145. package/lib-esm/components/index.d.ts +1 -3
  146. package/lib-esm/components/index.js +1 -1
  147. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  148. package/lib-esm/constants.d.ts +0 -4
  149. package/lib-esm/constants.js +1 -1
  150. package/lib-esm/hoc/types.d.ts +18 -0
  151. package/lib-esm/hoc/withStore.d.ts +3 -0
  152. package/lib-esm/hoc/withStore.js +2 -0
  153. package/lib-esm/hooks/index.d.ts +0 -1
  154. package/lib-esm/hooks/index.js +1 -1
  155. package/lib-esm/models/group.d.ts +1 -1
  156. package/lib-esm/models/group.js +1 -1
  157. package/lib-esm/models/index.d.ts +1 -1
  158. package/lib-esm/models/index.js +1 -1
  159. package/lib-esm/models/types.d.ts +2 -1
  160. package/lib-esm/recoil/app.d.ts +3 -1
  161. package/lib-esm/recoil/app.js +1 -1
  162. package/lib-esm/services/OAuth2.js +1 -1
  163. package/lib-esm/services/OpenAPIParser.d.ts +0 -1
  164. package/lib-esm/services/OpenAPIParser.js +1 -1
  165. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  166. package/lib-esm/services/Options/types.d.ts +3 -2
  167. package/lib-esm/services/code-samples/httpsnippet/index.js +1 -1
  168. package/lib-esm/services/menu/builder.js +1 -1
  169. package/lib-esm/services/menu/markdown.js +1 -1
  170. package/lib-esm/services/menu/operation.js +1 -1
  171. package/lib-esm/services/menu/tags.js +1 -1
  172. package/lib-esm/services/search/SearchStore.js +1 -1
  173. package/lib-esm/services/types.d.ts +1 -0
  174. package/lib-esm/standalone.d.ts +1 -1
  175. package/lib-esm/utils/helpers.js +1 -1
  176. package/lib-esm/utils/index.d.ts +1 -1
  177. package/lib-esm/utils/index.js +1 -1
  178. package/lib-esm/utils/path.d.ts +4 -0
  179. package/lib-esm/utils/path.js +2 -0
  180. package/lib-esm/utils/string.d.ts +1 -0
  181. package/lib-esm/utils/string.js +1 -1
  182. package/package.json +40 -35
  183. package/lib/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  184. package/lib/components/ChangeViewButton/ChangeViewButton.js +0 -2
  185. package/lib/components/ChangeViewButton/index.d.ts +0 -1
  186. package/lib/components/ChangeViewButton/index.js +0 -2
  187. package/lib/components/ChangeViewButton/styled.d.ts +0 -4
  188. package/lib/components/ChangeViewButton/styled.js +0 -18
  189. package/lib/components/SideMenu/useMenuItemLink.d.ts +0 -18
  190. package/lib/components/SideMenu/useMenuItemLink.js +0 -2
  191. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  192. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  193. package/lib/components/ToggleRightPanelButton/index.d.ts +0 -1
  194. package/lib/components/ToggleRightPanelButton/index.js +0 -2
  195. package/lib/components/ToggleRightPanelButton/styled.d.ts +0 -4
  196. package/lib/components/ToggleRightPanelButton/styled.js +0 -17
  197. package/lib/utils/decorators.d.ts +0 -1
  198. package/lib/utils/decorators.js +0 -2
  199. package/lib-esm/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  200. package/lib-esm/components/ChangeViewButton/ChangeViewButton.js +0 -2
  201. package/lib-esm/components/ChangeViewButton/index.d.ts +0 -1
  202. package/lib-esm/components/ChangeViewButton/index.js +0 -2
  203. package/lib-esm/components/ChangeViewButton/styled.d.ts +0 -4
  204. package/lib-esm/components/ChangeViewButton/styled.js +0 -18
  205. package/lib-esm/components/SideMenu/useMenuItemLink.d.ts +0 -18
  206. package/lib-esm/components/SideMenu/useMenuItemLink.js +0 -2
  207. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  208. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  209. package/lib-esm/components/ToggleRightPanelButton/index.d.ts +0 -1
  210. package/lib-esm/components/ToggleRightPanelButton/index.js +0 -2
  211. package/lib-esm/components/ToggleRightPanelButton/styled.d.ts +0 -4
  212. package/lib-esm/components/ToggleRightPanelButton/styled.js +0 -17
  213. package/lib-esm/utils/decorators.d.ts +0 -1
  214. package/lib-esm/utils/decorators.js +0 -2
@@ -1,5 +1,5 @@
1
1
  import type { CSSProperties } from 'react';
2
- import type { IMenuItem, ExternalLink, Pagination } from '../../services';
2
+ import type { ExternalLink, IMenuItem } from '../../services';
3
3
  export interface MenuItemLinkProps {
4
4
  depth: number;
5
5
  active: boolean;
@@ -8,18 +8,23 @@ export interface MenuItemLinkProps {
8
8
  hasChildren?: boolean;
9
9
  to: string;
10
10
  href?: string;
11
+ onClick?: () => void;
11
12
  }
12
13
  export interface MenuItemsProps {
13
- items: IMenuItem[];
14
+ items: ExtendedMenuItem[];
14
15
  expanded?: boolean;
15
16
  style?: CSSProperties;
16
17
  root?: boolean;
17
18
  className?: string;
18
19
  linksBefore?: ExternalLink[];
19
20
  linksAfter?: ExternalLink[];
20
- pagination: Pagination;
21
21
  }
22
22
  export type StyledMenuItemLinkProps = Omit<MenuItemLinkProps, 'active' | 'hasChildren'> & {
23
23
  $active: MenuItemLinkProps['active'];
24
24
  $hasChildren: MenuItemLinkProps['hasChildren'];
25
25
  };
26
+ export type ExtendedMenuItem = IMenuItem & {
27
+ active: boolean;
28
+ hasActiveSubItem: boolean;
29
+ items: ExtendedMenuItem[];
30
+ };
@@ -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
- var __rest=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]])}return n};import React,{memo,useCallback,useEffect,useState}from"react";import{useRecoilState}from"recoil";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{operationStore}from"../../../recoil/operation";function getActiveIndexFromOperation(e,t,n){var o;if(!t)return-1;if("number"==typeof n&&n>0){return hasActiveExampleName(null===(o=e[n])||void 0===o?void 0:o.content,t)?n:getActiveIndexFromOperation(e,t)}return e.findIndex((({content:e})=>hasActiveExampleName(e,t)))}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((e=>Object.keys(e.examples||[]).includes(t||""))))}function CollapsingTabsComponent(e){var{children:t}=e,n=__rest(e,["children"]);const{operation:{pointer:o,responses:a},tabs:i}=n,[r,s]=useRecoilState(operationStore(o)),[l,c]=useState(0);function p(e){s((t=>Object.assign(Object.assign({},t),{activeResponseTab:e})))}useEffect((()=>{const e=i.findIndex((e=>e.title===(null==r?void 0:r.activeResponseTab)));c(e)}),[i,null==r?void 0:r.activeResponseTab,c]);const m=null==r?void 0:r.activeExampleName;useEffect((()=>{const e=getActiveIndexFromOperation(a,m,l);e>-1&&(c(e),p(i[e].title))}),[m]);const u=useCallback((e=>{l!==e&&(c(e),p(i[e].title))}),[l]);return React.createElement(CollapsingTabsBase,Object.assign({},n,{activeIndex:l,onChange:u}),t)}export const CollapsingTabs=memo(CollapsingTabsComponent);
1
+ var __rest=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]])}return n};import React,{memo,useCallback,useEffect,useState}from"react";import{useRecoilState}from"recoil";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{operationStore}from"../../../recoil/operation";function getActiveIndexFromOperation(e,t,n){var o;if(!t)return-1;if("number"==typeof n&&n>0){return hasActiveExampleName(null===(o=e[n])||void 0===o?void 0:o.content,t)?n:getActiveIndexFromOperation(e,t)}return e.findIndex((({content:e})=>hasActiveExampleName(e,t)))}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((e=>Object.keys(e.examples||[]).includes(t||""))))}function CollapsingTabsComponent(e){var{children:t}=e,n=__rest(e,["children"]);const{operation:{pointer:o,responses:a},tabs:i}=n,[r,s]=useRecoilState(operationStore(o)),[l,c]=useState(0);function p(e){s((t=>Object.assign(Object.assign({},t),{activeResponseTab:e})))}useEffect((()=>{const e=i.findIndex((e=>e.title===(null==r?void 0:r.activeResponseTab)));c(e)}),[i,null==r?void 0:r.activeResponseTab,c]);const m=null==r?void 0:r.activeExampleName;useEffect((()=>{const e=getActiveIndexFromOperation(a,m,l);e>-1&&i[e]&&(c(e),p(i[e].title))}),[m]);const u=useCallback((e=>{l!==e&&(c(e),p(i[e].title))}),[l]);return React.createElement(CollapsingTabsBase,Object.assign({},n,{activeIndex:l,onChange:u}),t)}export const CollapsingTabs=memo(CollapsingTabsComponent);
2
2
  //# sourceMappingURL=CollapsingTabs.js.map
@@ -1,2 +1,2 @@
1
- import React from"react";import{Tabs}from"react-tabs";import{useRecoilValue}from"recoil";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{globalOptionsSelector}from"../../../recoil/store";function CollapsingTabsBaseComponent({tabs:e,children:t,hidden:o,activeIndex:a,onChange:l}){const{samplesTabsMaxCount:n}=useRecoilValue(globalOptionsSelector),s=React.useMemo((()=>e.slice(n).map((({title:e},t)=>({idx:t,value:e})))),[e,n]),i=`${s.length} more`,[c,r]=React.useState(i),p=React.useCallback((()=>{const t=a>=n;c!==i&&c===e[a].title||!t?c===i||t||r(i):r(e[a].title)}),[a,n,c,i,e]);React.useEffect((()=>{setTimeout(p,0)}),[a,n,p]);return React.createElement(Tabs,{selectedIndex:a,onSelect:l},React.createElement(CollapsingTabList,{hidden:o},e.map(((e,t)=>React.createElement(CollapsingTab,{key:e.key,disabled:t>=n},e.title))),s.length?React.createElement(CollapsingDropdown,{options:s,onChange:e=>{l(n+e.idx)},placeholder:i,value:c,active:a>=n}):null),t)}export const CollapsingTabsBase=React.memo(CollapsingTabsBaseComponent);
1
+ import React from"react";import{Tabs}from"react-tabs";import{useRecoilValue}from"recoil";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{globalOptionsSelector}from"../../../recoil/store";function CollapsingTabsBaseComponent({tabs:e,children:o,hidden:t,activeIndex:a,onChange:l}){const{samplesTabsMaxCount:n}=useRecoilValue(globalOptionsSelector),i=React.useMemo((()=>e.slice(n).map((({title:e},o)=>({idx:o,value:e})))),[e,n]),s=`${i.length} more`,[c,r]=React.useState(s),p=React.useCallback((()=>{var o;const t=a>=n;c!==s&&c===e[a].title||!t?c===s||t||r(s):r(null===(o=e[a])||void 0===o?void 0:o.title)}),[a,n,c,s,e]);React.useEffect((()=>{setTimeout(p,0)}),[a,n,p]);return React.createElement(Tabs,{selectedIndex:a,onSelect:l},React.createElement(CollapsingTabList,{hidden:t},e.map(((e,o)=>React.createElement(CollapsingTab,{key:null==e?void 0:e.key,disabled:o>=n},null==e?void 0:e.title))),i.length?React.createElement(CollapsingDropdown,{options:i,onChange:e=>{l(n+e.idx)},placeholder:s,value:c,active:a>=n}):null),o)}export const CollapsingTabsBase=React.memo(CollapsingTabsBaseComponent);
2
2
  //# sourceMappingURL=CollapsingTabsBase.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
@@ -6,7 +6,7 @@ import { ShareLink } from './linkify';
6
6
  interface LinkToFieldProps {
7
7
  className?: string;
8
8
  to?: string;
9
- location?: Location;
9
+ location: Location;
10
10
  }
11
11
  export declare function generateDeepLink(field: FieldModel, options: {
12
12
  pagination: Pagination;
@@ -1,7 +1,7 @@
1
- import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{checkIfPathMatched}from"../SideMenu/useMenuItemLink";import{ShareLink}from"./linkify";export function generateDeepLink(e,i){const t=e.deps.operation,o=constructFieldDeepFragment(e);if(!(null==t?void 0:t.id)&&!t.isCallback)return"#"+o;let n=i.pagination===Pagination.Item?"#":t.href;return joinWithSeparator(n,o,"!")}export const LinkToField=e=>{const i=e.to;return React.createElement(ShareLinkToField,{className:e.className,isActive:!(!(null==e?void 0:e.location)||!checkIfPathMatched(null==e?void 0:e.location,i)),to:i,id:null==i?void 0:i.split("#")[1]})};export const ShareLinkToField=styled(ShareLink)`
1
+ import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{pathMatchedLink}from"../../utils";import{ShareLink}from"./linkify";export function generateDeepLink(i,e){const t=i.deps.operation,o=constructFieldDeepFragment(i);if(!(null==t?void 0:t.id)&&!t.isCallback)return"#"+o;let n=e.pagination===Pagination.Item?"#":t.href;return joinWithSeparator(n,o,"!")}export const LinkToField=i=>{const e=i.to;return React.createElement(ShareLinkToField,{className:i.className,isActive:!(!(null==i?void 0:i.location)||!pathMatchedLink(i.location,e)),to:e,id:null==e?void 0:e.split("#")[1]})};export const ShareLinkToField=styled(ShareLink)`
2
2
  left: 10px;
3
3
  display: flex;
4
- ${({isActive:e})=>e&&`\n ${AnchorIcon} {\n visibility: visible;\n }\n `}
4
+ ${({isActive:i})=>i&&`\n ${AnchorIcon} {\n visibility: visible;\n }\n `}
5
5
  :hover ${AnchorIcon}, :focus ${AnchorIcon} {
6
6
  visibility: visible;
7
7
  }
@@ -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);
@@ -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
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,w]=useState(),T=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),F=useCallback((e=>{m(e)}),[]),A=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,T;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:F}=e,A=F&&F.content&&(null===(a=getActiveMediaType(F.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(A))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),M=Date.now(),N=!!window.document.documentMode;let U,H=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);U=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),H=Object.assign(Object.assign({},H),{[t]:H[e]})}else U=Object.assign({},x);U.servers=k;const W=E.corsProxyUrl;W&&k.length&&(U.servers=k.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),U.paths=Object.assign(Object.assign({},U.paths),{[e.path]:Object.assign(Object.assign({},U.paths[e.path]),{[B]:Object.assign(Object.assign({},U.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const z=(null==F?void 0:F.content)&&(null===(j=getActiveMediaType(F.content))||void 0===j?void 0:j.name)||null;if(z&&V&&isFileUploadMime(z)){const e=Object.values(V);V=e.length>1?e:e[0]}const J={userFetch:N&&require("cross-fetch").fetch,server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:U,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:H},requestBody:V,requestContentType:z,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==H?void 0:H.Authorization)};try{const e=yield Swagger.execute(J),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:J,response:e}),w(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:J,response:e.response})),w(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-M),null===(T=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===T||T.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{T&&T!==e&&(w(void 0),P(void 0),m(0))}),[e,T]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:F}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:A})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),A=useCallback((e=>{m(e)}),[]),F=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:A}=e,F=A&&A.content&&(null===(a=getActiveMediaType(A.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(F))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==A?void 0:A.content)&&(null===(j=getActiveMediaType(A.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),T(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:A}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:F})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.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,6 +1,5 @@
1
1
  export { useDimensions } from './useDimensions';
2
2
  export { usePrevious } from './usePrevious';
3
- export { useLicense } from './useLicense';
4
3
  export { useActivateExample } from './useActivateExample';
5
4
  export { useRouter } from './useRouter';
6
5
  export { useContentItems } from './useContentItems';
@@ -1,2 +1,2 @@
1
- export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{useLicense}from"./useLicense";export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";
1
+ export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";
2
2
  //# sourceMappingURL=index.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
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function c(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(c,o)}n((r=r.apply(e,t||[])).next())}))};import*as qs from"querystring";import{base64UrlEncode,encodeState,sha256}from"./utils";const DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";export class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:s,successCallback:c,errorCallback:o}){const n=encodeState({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,h=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||h),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{c(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:s,scopes:c,extraParams:o={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:h,errorCallback:u}){const p=new URL(e),w="/"===l?"":l,_=`${window.location.origin}${w}/oauth2-redirect.html`,m=encodeState({date:(new Date).toString()});p.searchParams.set("client_id",a),p.searchParams.set("redirect_uri",d||_),p.searchParams.set("response_type","code"),p.searchParams.set("state",m),Array.isArray(c)&&p.searchParams.set("scope",c.join(" ")),s&&(p.searchParams.set("code_challenge",s),p.searchParams.set("code_challenge_method","S256"));for(const e in o)p.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:c},state:m,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||_}),o))});yield handleResponseCallback(s,h,u)}catch(e){u(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{u(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(p.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:s={},successCallback:c,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:qs.stringify(n)});yield handleResponseCallback(l,c,o)}catch(e){o(e)}}))}}export const oauth2Instance=new OAuth2;function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return base64UrlEncode(yield sha256(e))}))}
1
+ var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function c(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(c,o)}n((r=r.apply(e,t||[])).next())}))};import*as qs from"query-string";import{base64UrlEncode,encodeState,sha256}from"./utils";const DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";export class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:s,successCallback:c,errorCallback:o}){const n=encodeState({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,h=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||h),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{c(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:s,scopes:c,extraParams:o={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:h,errorCallback:u}){const p=new URL(e),w="/"===l?"":l,_=`${window.location.origin}${w}/oauth2-redirect.html`,m=encodeState({date:(new Date).toString()});p.searchParams.set("client_id",a),p.searchParams.set("redirect_uri",d||_),p.searchParams.set("response_type","code"),p.searchParams.set("state",m),Array.isArray(c)&&p.searchParams.set("scope",c.join(" ")),s&&(p.searchParams.set("code_challenge",s),p.searchParams.set("code_challenge_method","S256"));for(const e in o)p.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:c},state:m,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||_}),o))});yield handleResponseCallback(s,h,u)}catch(e){u(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{u(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(p.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:s={},successCallback:c,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:qs.stringify(n)});yield handleResponseCallback(l,c,o)}catch(e){o(e)}}))}}export const oauth2Instance=new OAuth2;function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return base64UrlEncode(yield sha256(e))}))}
2
2
  //# sourceMappingURL=OAuth2.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*as qs from"querystring";import*as url from"url";import{normalizeMimeType,unescapeServerVariables}from"../../utils";import{MediaTypes}from"../../../constants";import targets from"./targets";import reducer from"./helpers/reducer";export class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const r=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},r),{httpVersion:r.httpVersion||"HTTP/1.1",queryString:r.queryString||[],headers:r.headers||[],cookies:r.cookies||[],postData:r.postData?Object.assign(Object.assign({},r.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:r.pathParameters||{},serverVariables:r.serverVariables||{}}))}prepare(e){var r;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer,{})),e.headers&&e.headers.length){const r=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(t,a){let s=a.name;return e.httpVersion.match(r)&&(s=s.toLowerCase()),t[s]=a.value,t}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,r){return e[r.name]=r.value,e}),{}));const t=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(t.length&&(e.allHeaders.cookie=t.join("; ")),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case MediaTypes.MULTIPART:case"multipart/alternative":break;case MediaTypes.URL_ENCODED:(null===(r=e.postData)||void 0===r?void 0:r.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer,{}),e.postData.text=qs.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(r){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=unescapeServerVariables(e.uriObj.pathname),e.url=unescapeServerVariables(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=qs.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=unescapeServerVariables(url.format(e.uriObj)),e}convert(e,r,t){!t&&r&&(t=r);const a=this._matchTarget(e,r);if(a){const s=a(this.request,t,{target:e,client:r});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,r){return!!Object.prototype.hasOwnProperty.call(targets,e)&&("string"==typeof r&&"function"==typeof targets[e][r]?targets[e][r]:targets[e][targets[e].info.default])}}
1
+ import*as qs from"query-string";import*as url from"url";import{normalizeMimeType,unescapeServerVariables}from"../../utils";import{MediaTypes}from"../../../constants";import targets from"./targets";import reducer from"./helpers/reducer";export class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const r=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},r),{httpVersion:r.httpVersion||"HTTP/1.1",queryString:r.queryString||[],headers:r.headers||[],cookies:r.cookies||[],postData:r.postData?Object.assign(Object.assign({},r.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:r.pathParameters||{},serverVariables:r.serverVariables||{}}))}prepare(e){var r;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer,{})),e.headers&&e.headers.length){const r=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(t,a){let s=a.name;return e.httpVersion.match(r)&&(s=s.toLowerCase()),t[s]=a.value,t}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,r){return e[r.name]=r.value,e}),{}));const t=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(t.length&&(e.allHeaders.cookie=t.join("; ")),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case MediaTypes.MULTIPART:case"multipart/alternative":break;case MediaTypes.URL_ENCODED:(null===(r=e.postData)||void 0===r?void 0:r.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer,{}),e.postData.text=qs.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(r){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=unescapeServerVariables(e.uriObj.pathname),e.url=unescapeServerVariables(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=qs.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=unescapeServerVariables(url.format(e.uriObj)),e}convert(e,r,t){!t&&r&&(t=r);const a=this._matchTarget(e,r);if(a){const s=a(this.request,t,{target:e,client:r});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,r){return!!Object.prototype.hasOwnProperty.call(targets,e)&&("string"==typeof r&&"function"==typeof targets[e][r]?targets[e][r]:targets[e][targets[e].info.default])}}
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(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{alphabeticallyByProp,getOperationId,getOperationName}from"../../utils";import{Pagination}from"../types";import{normalizePath}from"../utils";import{joinWithSeparator}from"../history";export function getOperationsItems(t,e,o,a){if(0===e.operations.length)return[];const i=[];for(const r of e.operations){const e=getOperationId(r,t),n="operation";i.push({id:e,type:n,parent:t,operationDefinition:r,depth:o,name:getOperationName(r),httpVerb:r.httpVerb,path:r.pathName,items:[],isWebhook:r.isWebhook,operationId:r.operationId,href:getHref({id:e,type:n,parent:t},a.pagination)})}return a.sortOperationsAlphabetically&&i.sort(alphabeticallyByProp("name")),i}export function getHref({type:t,id:e,parent:o},a){switch(a){case Pagination.None:return`#${e}`;case Pagination.Item:return"section"===t?"tag"===(null==o?void 0:o.type)?normalizePath(joinWithSeparator(o.id,e,"#")):`#${e}`:o&&"group"!==o.type?normalizePath(joinWithSeparator(o.id,e)):normalizePath(e);case Pagination.Section:return"operation"===t?normalizePath(o?joinWithSeparator(o.id,e,"#"):`#${e}`):"section"===t?o?`#${e}`:normalizePath(`#${e}`):normalizePath(e);default:return""}}
1
+ import{alphabeticallyByProp,getOperationId,getOperationName}from"../../utils";import{Pagination}from"../types";import{normalizePath}from"../utils";import{joinWithSeparator}from"../history";export function getOperationsItems(t,e,o,a){if(0===e.operations.length)return[];const i=[];for(const r of e.operations){const e=getOperationId(r,t),n="operation";i.push({id:e,type:n,parent:t,operationDefinition:r,depth:o,name:getOperationName(r),httpVerb:r.httpVerb,path:r.pathName,items:[],isWebhook:r.isWebhook,operationId:r.operationId,href:getHref({id:e,type:n,parent:t},a.pagination)})}return a.sortOperationsAlphabetically&&i.sort(alphabeticallyByProp("name")),i}export function getHref({type:t,id:e,parent:o},a){switch(a){case Pagination.None:return`#${e}`;case Pagination.Item:return"section"===t?"tag"===(null==o?void 0:o.type)?normalizePath(joinWithSeparator(o.id,e,"#")):`#${e}`:o&&"group"!==o.type?normalizePath(joinWithSeparator(o.id,e)):normalizePath(e);case Pagination.Section:return"operation"===t||"schema"===t?normalizePath(o?joinWithSeparator(o.id,e,"#"):`#${e}`):"section"===t?o?`#${e}`:normalizePath(`#${e}`):normalizePath(e);default:return""}}
2
2
  //# sourceMappingURL=operation.js.map