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

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 (200) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +100 -98
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +1021 -1027
  4. package/lib/components/ApiInfo/ApiInfo.d.ts +4 -1
  5. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  6. package/lib/components/ContentItem/ContentItem.d.ts +0 -3
  7. package/lib/components/ContentItem/ContentItem.js +1 -1
  8. package/lib/components/ContentItems/ContentItems.d.ts +1 -7
  9. package/lib/components/ContentItems/ContentItems.js +1 -1
  10. package/lib/components/ContentItems/helpers.d.ts +9 -0
  11. package/lib/components/ContentItems/helpers.js +1 -1
  12. package/lib/components/Fields/FieldDetails.js +1 -1
  13. package/lib/components/Fields/styled.d.ts +1 -0
  14. package/lib/components/Fields/styled.js +5 -1
  15. package/lib/components/OperationItem/OperationItem.js +2 -2
  16. package/lib/components/OperationParameters/OperationParameters.js +1 -1
  17. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -1
  18. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  19. package/lib/components/RedoclyOpenAPIDocs/index.d.ts +0 -1
  20. package/lib/components/RedoclyOpenAPIDocs/index.js +1 -1
  21. package/lib/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  22. package/lib/components/RedoclyOpenAPIDocs/styled.js +8 -27
  23. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +5 -4
  24. package/lib/components/RedoclyOpenAPIDocs/utils.js +1 -1
  25. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  26. package/lib/components/SectionContent/SectionContent.d.ts +1 -2
  27. package/lib/components/SectionContent/SectionContent.js +1 -1
  28. package/lib/components/SideMenu/Actions.d.ts +2 -0
  29. package/lib/components/SideMenu/Actions.js +2 -0
  30. package/lib/components/SideMenu/MenuItem.d.ts +2 -0
  31. package/lib/components/SideMenu/MenuItem.js +1 -1
  32. package/lib/components/SideMenu/MenuItemLink.js +1 -1
  33. package/lib/components/SideMenu/MenuItems.js +1 -1
  34. package/lib/components/SideMenu/styled.d.ts +3 -1
  35. package/lib/components/SideMenu/styled.js +1 -1
  36. package/lib/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  37. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  38. package/lib/components/TagItems/TagItems.js +1 -1
  39. package/lib/components/common/panels.d.ts +1 -1
  40. package/lib/components/common/panels.js +2 -2
  41. package/lib/components/index.d.ts +1 -3
  42. package/lib/components/index.js +1 -1
  43. package/lib/components/rightPanel/Console/Console.js +1 -1
  44. package/lib/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  45. package/lib/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  46. package/lib/components/rightPanel/ParameterArray.js +3 -1
  47. package/lib/components/rightPanel/utils.d.ts +0 -1
  48. package/lib/components/rightPanel/utils.js +1 -1
  49. package/lib/constants.d.ts +1 -4
  50. package/lib/constants.js +1 -1
  51. package/lib/hoc/types.d.ts +18 -0
  52. package/lib/hoc/withStore.d.ts +3 -0
  53. package/lib/hoc/withStore.js +2 -0
  54. package/lib/index.d.ts +12 -8
  55. package/lib/index.js +1 -1
  56. package/lib/models/group.d.ts +1 -1
  57. package/lib/models/group.js +1 -1
  58. package/lib/models/index.d.ts +1 -1
  59. package/lib/models/index.js +1 -1
  60. package/lib/models/operation.js +1 -1
  61. package/lib/models/types.d.ts +2 -1
  62. package/lib/recoil/app.d.ts +3 -1
  63. package/lib/recoil/app.js +1 -1
  64. package/lib/services/OpenAPIParser.d.ts +0 -1
  65. package/lib/services/OpenAPIParser.js +1 -1
  66. package/lib/services/Options/normalizeOptions.js +1 -1
  67. package/lib/services/Options/types.d.ts +3 -2
  68. package/lib/services/code-samples/generator.js +1 -1
  69. package/lib/services/history/helpers.js +1 -1
  70. package/lib/services/menu/builder.js +1 -1
  71. package/lib/services/menu/markdown.js +1 -1
  72. package/lib/services/menu/operation.js +1 -1
  73. package/lib/services/menu/tags.js +1 -1
  74. package/lib/services/search/DeepSearchStore.js +1 -1
  75. package/lib/services/types.d.ts +1 -0
  76. package/lib/services/utils.d.ts +0 -1
  77. package/lib/services/utils.js +1 -1
  78. package/lib/standalone.d.ts +1 -1
  79. package/lib/standalone.js +1 -1
  80. package/lib/types/open-api.d.ts +0 -1
  81. package/lib/utils/helpers.js +1 -1
  82. package/lib/utils/index.d.ts +0 -1
  83. package/lib/utils/index.js +1 -1
  84. package/lib/utils/loadAndBundleSpec.d.ts +0 -2
  85. package/lib/utils/loadAndBundleSpec.js +1 -1
  86. package/lib/utils/openapi.d.ts +4 -1
  87. package/lib/utils/openapi.js +1 -1
  88. package/lib/utils/path.d.ts +2 -1
  89. package/lib/utils/path.js +1 -1
  90. package/lib-esm/components/ApiInfo/ApiInfo.d.ts +4 -1
  91. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  92. package/lib-esm/components/ContentItem/ContentItem.d.ts +0 -3
  93. package/lib-esm/components/ContentItem/ContentItem.js +1 -1
  94. package/lib-esm/components/ContentItems/ContentItems.d.ts +1 -7
  95. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  96. package/lib-esm/components/ContentItems/helpers.d.ts +9 -0
  97. package/lib-esm/components/ContentItems/helpers.js +1 -1
  98. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  99. package/lib-esm/components/Fields/styled.d.ts +1 -0
  100. package/lib-esm/components/Fields/styled.js +4 -0
  101. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  102. package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
  103. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -1
  104. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  105. package/lib-esm/components/RedoclyOpenAPIDocs/index.d.ts +0 -1
  106. package/lib-esm/components/RedoclyOpenAPIDocs/index.js +1 -1
  107. package/lib-esm/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  108. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +32 -51
  109. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +5 -4
  110. package/lib-esm/components/RedoclyOpenAPIDocs/utils.js +1 -1
  111. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  112. package/lib-esm/components/SectionContent/SectionContent.d.ts +1 -2
  113. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  114. package/lib-esm/components/SideMenu/Actions.d.ts +2 -0
  115. package/lib-esm/components/SideMenu/Actions.js +2 -0
  116. package/lib-esm/components/SideMenu/MenuItem.d.ts +2 -0
  117. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  118. package/lib-esm/components/SideMenu/MenuItemLink.js +1 -1
  119. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  120. package/lib-esm/components/SideMenu/styled.d.ts +3 -1
  121. package/lib-esm/components/SideMenu/styled.js +1 -1
  122. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  123. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  124. package/lib-esm/components/TagItems/TagItems.js +1 -1
  125. package/lib-esm/components/common/panels.d.ts +1 -1
  126. package/lib-esm/components/common/panels.js +2 -2
  127. package/lib-esm/components/index.d.ts +1 -3
  128. package/lib-esm/components/index.js +1 -1
  129. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  130. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  131. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  132. package/lib-esm/components/rightPanel/ParameterArray.js +3 -1
  133. package/lib-esm/components/rightPanel/utils.d.ts +0 -1
  134. package/lib-esm/components/rightPanel/utils.js +1 -1
  135. package/lib-esm/constants.d.ts +1 -4
  136. package/lib-esm/constants.js +1 -1
  137. package/lib-esm/hoc/types.d.ts +18 -0
  138. package/lib-esm/hoc/withStore.d.ts +3 -0
  139. package/lib-esm/hoc/withStore.js +2 -0
  140. package/lib-esm/index.d.ts +12 -8
  141. package/lib-esm/index.js +1 -1
  142. package/lib-esm/models/group.d.ts +1 -1
  143. package/lib-esm/models/group.js +1 -1
  144. package/lib-esm/models/index.d.ts +1 -1
  145. package/lib-esm/models/index.js +1 -1
  146. package/lib-esm/models/operation.js +1 -1
  147. package/lib-esm/models/types.d.ts +2 -1
  148. package/lib-esm/recoil/app.d.ts +3 -1
  149. package/lib-esm/recoil/app.js +1 -1
  150. package/lib-esm/services/OpenAPIParser.d.ts +0 -1
  151. package/lib-esm/services/OpenAPIParser.js +1 -1
  152. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  153. package/lib-esm/services/Options/types.d.ts +3 -2
  154. package/lib-esm/services/code-samples/generator.js +1 -1
  155. package/lib-esm/services/history/helpers.js +1 -1
  156. package/lib-esm/services/menu/builder.js +1 -1
  157. package/lib-esm/services/menu/markdown.js +1 -1
  158. package/lib-esm/services/menu/operation.js +1 -1
  159. package/lib-esm/services/menu/tags.js +1 -1
  160. package/lib-esm/services/search/DeepSearchStore.js +1 -1
  161. package/lib-esm/services/types.d.ts +1 -0
  162. package/lib-esm/services/utils.d.ts +0 -1
  163. package/lib-esm/services/utils.js +1 -1
  164. package/lib-esm/standalone.d.ts +1 -1
  165. package/lib-esm/standalone.js +1 -1
  166. package/lib-esm/types/open-api.d.ts +0 -1
  167. package/lib-esm/utils/helpers.js +1 -1
  168. package/lib-esm/utils/index.d.ts +0 -1
  169. package/lib-esm/utils/index.js +1 -1
  170. package/lib-esm/utils/loadAndBundleSpec.d.ts +0 -2
  171. package/lib-esm/utils/loadAndBundleSpec.js +1 -1
  172. package/lib-esm/utils/openapi.d.ts +4 -1
  173. package/lib-esm/utils/openapi.js +1 -1
  174. package/lib-esm/utils/path.d.ts +2 -1
  175. package/lib-esm/utils/path.js +1 -1
  176. package/package.json +9 -10
  177. package/lib/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  178. package/lib/components/ChangeViewButton/ChangeViewButton.js +0 -2
  179. package/lib/components/ChangeViewButton/index.d.ts +0 -1
  180. package/lib/components/ChangeViewButton/index.js +0 -2
  181. package/lib/components/ChangeViewButton/styled.d.ts +0 -4
  182. package/lib/components/ChangeViewButton/styled.js +0 -18
  183. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  184. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  185. package/lib/components/ToggleRightPanelButton/index.d.ts +0 -1
  186. package/lib/components/ToggleRightPanelButton/index.js +0 -2
  187. package/lib/components/ToggleRightPanelButton/styled.d.ts +0 -4
  188. package/lib/components/ToggleRightPanelButton/styled.js +0 -17
  189. package/lib-esm/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  190. package/lib-esm/components/ChangeViewButton/ChangeViewButton.js +0 -2
  191. package/lib-esm/components/ChangeViewButton/index.d.ts +0 -1
  192. package/lib-esm/components/ChangeViewButton/index.js +0 -2
  193. package/lib-esm/components/ChangeViewButton/styled.d.ts +0 -4
  194. package/lib-esm/components/ChangeViewButton/styled.js +0 -18
  195. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  196. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  197. package/lib-esm/components/ToggleRightPanelButton/index.d.ts +0 -1
  198. package/lib-esm/components/ToggleRightPanelButton/index.js +0 -2
  199. package/lib-esm/components/ToggleRightPanelButton/styled.d.ts +0 -4
  200. package/lib-esm/components/ToggleRightPanelButton/styled.js +0 -17
@@ -8,13 +8,15 @@ export declare const MenuItemLi: import("styled-components").StyledComponent<"li
8
8
  export declare const StyledMenuItemLink: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("react-router-dom").LinkProps & import("react").RefAttributes<HTMLAnchorElement>>, any, {
9
9
  role: "menuitem";
10
10
  className: `-depth${number} ` | `-depth${number} active`;
11
+ 'data-cy': string;
11
12
  } & Omit<import("./types").MenuItemLinkProps, "active" | "hasChildren"> & {
12
13
  $active: boolean;
13
14
  $hasChildren: boolean | undefined;
14
- }, "className" | "role">;
15
+ }, "className" | "role" | "data-cy">;
15
16
  export declare const MenuItemLabel: import("styled-components").StyledComponent<any, any, {
16
17
  role: "menuitem";
17
18
  className: `-depth${number} ` | `-depth${number} active`;
19
+ 'data-cy': string;
18
20
  } & Omit<import("./types").MenuItemLinkProps, "active" | "hasChildren"> & {
19
21
  $active: boolean;
20
22
  $hasChildren: boolean | undefined;
@@ -13,7 +13,7 @@
13
13
  text-overflow: ellipsis;
14
14
  padding: 0;
15
15
  ${({depth:e})=>0===e?"margin-top: 10px":""};
16
- `,exports.StyledMenuItemLink=(0,styled_components_1.default)(react_router_dom_1.Link).attrs((({depth:e,$active:t})=>({role:"menuitem",className:`-depth${e} ${t?"active":""}`})))`
16
+ `,exports.StyledMenuItemLink=(0,styled_components_1.default)(react_router_dom_1.Link).attrs((({depth:e,$active:t,to:r})=>({role:"menuitem",className:`-depth${e} ${t?"active":""}`,"data-cy":r})))`
17
17
  cursor: pointer;
18
18
  position: relative;
19
19
  margin: ${({depth:e})=>`1px 0 1px calc( var(--sidebar-offset-left) + var(--sidebar-item-nested-offset) * ${e>0?e-1:e})`};
@@ -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
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,o)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StickyResponsiveSidebar=void 0;const react_1=__importStar(require("react")),styled_components_1=__importStar(require("styled-components")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),utils_1=require("../../utils"),app_1=require("../../recoil/app");let Stickyfill;utils_1.IS_BROWSER&&(Stickyfill=require("stickyfill"));const stickyfill=Stickyfill&&Stickyfill(),StyledStickySidebar=styled_components_1.default.div`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,o)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.StickyResponsiveSidebar=void 0;const react_1=__importStar(require("react")),styled_components_1=__importStar(require("styled-components")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),react_router_dom_1=require("react-router-dom"),utils_1=require("../../utils"),app_1=require("../../recoil/app"),Actions_1=require("../SideMenu/Actions");let Stickyfill;utils_1.IS_BROWSER&&(Stickyfill=require("stickyfill"));const stickyfill=Stickyfill&&Stickyfill(),StyledStickySidebar=styled_components_1.default.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 @@
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})=>styled_components_1.css`
15
+ ${({theme:e,collapsedSidebar:t})=>styled_components_1.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 @@
35
35
  display: none;
36
36
  }
37
37
  `}
38
- `;function StickyResponsiveSidebarComponent({scrollYOffset:e,hideFab:t,className:i,children:r}){const[o,n]=(0,react_1.useState)("0px"),l=(0,react_1.useRef)(null),[a,c]=(0,recoil_1.useRecoilState)(app_1.isSidebarOpenedSelector);(0,theme_1.useMount)((()=>{stickyfill&&stickyfill.add(l.current);const t=e();n(`${t}px`)})),(0,theme_1.useUnmount)((()=>{stickyfill&&stickyfill.remove(l.current)}));return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(StyledStickySidebar,{open:a,className:i,style:{top:o,height:`calc(100vh - ${o})`},ref:l},r),!t&&react_1.default.createElement(FloatingButton,{opened:a,onClick:()=>{c(!a)}}))}exports.StickyResponsiveSidebar=(0,react_1.memo)(StickyResponsiveSidebarComponent);
38
+ `;function StickyResponsiveSidebarComponent({scrollYOffset:e,hideFab:t,className:i,children:r,collapsedSidebar:o}){const[a,l]=(0,react_1.useState)("0px"),n=(0,react_1.useRef)(null),c=(0,react_router_dom_1.useLocation)(),[s,d]=(0,recoil_1.useRecoilState)(app_1.isSidebarOpenedSelector);(0,react_1.useEffect)((()=>{c.hash&&d(!1)}),[c.pathname,c.hash,d]),(0,theme_1.useMount)((()=>{stickyfill&&stickyfill.add(n.current);const t=e();l(`${t}px`)})),(0,theme_1.useUnmount)((()=>{stickyfill&&stickyfill.remove(n.current)}));return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(StyledStickySidebar,{open:s,className:i,offsetTop:a,style:{top:a},ref:n,collapsedSidebar:o},o||s?r:null,react_1.default.createElement(Actions_1.Actions,null)),!t&&react_1.default.createElement(FloatingButton,{opened:s,onClick:()=>{d(!s)}},react_1.default.createElement(theme_1.MobileSidebarIcon,null)))}exports.StickyResponsiveSidebar=(0,react_1.memo)(StickyResponsiveSidebarComponent);
39
39
  //# sourceMappingURL=StickyResponsiveSidebar.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TagItems=void 0;const react_1=__importDefault(require("react")),services_1=require("../../services"),ContentItem_1=require("../ContentItem"),NextSectionButton_1=require("../NextSectionButton"),SectionContent_1=require("../SectionContent");function TagItems({tag:e,nextSectionLink:t,pagination:n,showNextButton:i}){return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e,pagination:n,showNextButton:i,withChildren:n!==services_1.Pagination.Item}),n===services_1.Pagination.Item&&react_1.default.createElement(SectionContent_1.SectionContent,{items:e.items,pagination:n,showNextButton:!1,showApiInfo:!1}),i&&t&&react_1.default.createElement(NextSectionButton_1.NextSectionButton,{href:t.href||"",label:t.name,pagination:n}))}exports.TagItems=TagItems;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TagItems=void 0;const react_1=__importDefault(require("react")),services_1=require("../../services"),ContentItem_1=require("../ContentItem"),NextSectionButton_1=require("../NextSectionButton"),SectionContent_1=require("../SectionContent");function TagItems({tag:e,nextSectionLink:t,pagination:n,showNextButton:i}){return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(ContentItem_1.ContentItem,{key:e.id,item:e,withChildren:n!==services_1.Pagination.Item}),n===services_1.Pagination.Item&&react_1.default.createElement(SectionContent_1.SectionContent,{items:e.items||[],pagination:n,showNextButton:!1}),i&&t&&react_1.default.createElement(NextSectionButton_1.NextSectionButton,{href:t.href||"",label:t.name,pagination:n}))}exports.TagItems=TagItems;
2
2
  //# sourceMappingURL=TagItems.js.map
@@ -1,4 +1,4 @@
1
- import { LayoutVariant } from '../../constants';
1
+ import { LayoutVariant } from '@redocly/theme';
2
2
  export declare const SamplesMiddlePanel: import("styled-components").StyledComponent<"div", any, {
3
3
  compact?: boolean | undefined;
4
4
  isStacked?: boolean | undefined;
@@ -17,7 +17,7 @@
17
17
  }
18
18
  `}}
19
19
  `,exports.Section=styled_components_1.default.div.attrs((e=>({[constants_1.SECTION_ATTR]:e.sectionId,id:e.id})))`
20
- z-index: 0;
20
+ z-index: 1;
21
21
  padding: 0;
22
22
  width: 100%;
23
23
 
@@ -84,7 +84,7 @@
84
84
 
85
85
  ${({theme:e,layout:t})=>styled_components_1.css`
86
86
  ${e.mediaQueries[e.showAtBreakpoint.samplesPanel]} {
87
- flex-direction: ${t!==constants_1.LayoutVariant.STACKED?"row":"column"};
87
+ flex-direction: ${t!==theme_1.LayoutVariant.STACKED?"row":"column"};
88
88
  }
89
89
 
90
90
  ${e.mediaQueries.print} {
@@ -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
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CrossIcon=exports.LockIcon=exports.ShelfIcon=exports.DropdownWrapper=exports.Example=exports.ExampleValue=exports.PayloadSamples=exports.OAuthFlow=exports.OperationItem=exports.DiscriminatorDropdown=exports.ContentItems=exports.ContentItem=exports.SectionItem=exports.NextSectionButtonWrap=exports.BackgroundStubFix=exports.ApiContentWrap=exports.BackgroundStub=exports.ControlsWrap=void 0,__exportStar(require("./NextSectionButton"),exports),__exportStar(require("./RedoclyOpenAPIDocs"),exports),__exportStar(require("./pluggable"),exports),__exportStar(require("./rightPanel/Console"),exports);var styled_1=require("./RedoclyOpenAPIDocs/styled");Object.defineProperty(exports,"ControlsWrap",{enumerable:!0,get:function(){return styled_1.ControlsWrap}}),Object.defineProperty(exports,"BackgroundStub",{enumerable:!0,get:function(){return styled_1.BackgroundStub}}),Object.defineProperty(exports,"ApiContentWrap",{enumerable:!0,get:function(){return styled_1.ApiContentWrap}}),Object.defineProperty(exports,"BackgroundStubFix",{enumerable:!0,get:function(){return styled_1.BackgroundStubFix}});var styled_2=require("./NextSectionButton/styled");Object.defineProperty(exports,"NextSectionButtonWrap",{enumerable:!0,get:function(){return styled_2.NextSectionButtonWrap}}),__exportStar(require("./common"),exports),__exportStar(require("./ApiInfo"),exports);var SectionItem_1=require("./SectionItem");Object.defineProperty(exports,"SectionItem",{enumerable:!0,get:function(){return SectionItem_1.SectionItem}});var ContentItem_1=require("./ContentItem");Object.defineProperty(exports,"ContentItem",{enumerable:!0,get:function(){return ContentItem_1.ContentItem}});var ContentItems_1=require("./ContentItems");Object.defineProperty(exports,"ContentItems",{enumerable:!0,get:function(){return ContentItems_1.ContentItems}});var DiscriminatorDropdown_1=require("./DiscriminatorDropdown");Object.defineProperty(exports,"DiscriminatorDropdown",{enumerable:!0,get:function(){return DiscriminatorDropdown_1.DiscriminatorDropdown}}),__exportStar(require("./Schema/"),exports);var OperationItem_1=require("./OperationItem");Object.defineProperty(exports,"OperationItem",{enumerable:!0,get:function(){return OperationItem_1.OperationItem}}),__exportStar(require("./Loading/Loading"),exports),__exportStar(require("./Markdown"),exports);var OAuthFlow_1=require("./SecuritySchemes/OAuthFlow");Object.defineProperty(exports,"OAuthFlow",{enumerable:!0,get:function(){return OAuthFlow_1.OAuthFlow}}),__exportStar(require("./Responses"),exports),__exportStar(require("./ResponseSamples/ResponseSamples"),exports);var PayloadSamples_1=require("./PayloadSamples");Object.defineProperty(exports,"PayloadSamples",{enumerable:!0,get:function(){return PayloadSamples_1.PayloadSamples}}),Object.defineProperty(exports,"ExampleValue",{enumerable:!0,get:function(){return PayloadSamples_1.ExampleValue}}),Object.defineProperty(exports,"Example",{enumerable:!0,get:function(){return PayloadSamples_1.Example}}),Object.defineProperty(exports,"DropdownWrapper",{enumerable:!0,get:function(){return PayloadSamples_1.DropdownWrapper}}),__exportStar(require("./MediaTypeSwitch"),exports),__exportStar(require("./Parameters"),exports),__exportStar(require("./DropdownOrLabel"),exports),__exportStar(require("./ErrorBoundary"),exports),__exportStar(require("./SideMenu/"),exports),__exportStar(require("./StickySidebar/StickyResponsiveSidebar"),exports),__exportStar(require("./SchemaDefinition/SchemaDefinition"),exports),__exportStar(require("./SourceCodeWithFile/SourceCodeWithFile"),exports),__exportStar(require("./RequestSamples/RequestSamples"),exports),__exportStar(require("./ChangeViewButton"),exports),__exportStar(require("./ToggleRightPanelButton"),exports);var icons_1=require("./icons");Object.defineProperty(exports,"ShelfIcon",{enumerable:!0,get:function(){return icons_1.ShelfIcon}}),Object.defineProperty(exports,"LockIcon",{enumerable:!0,get:function(){return icons_1.LockIcon}}),Object.defineProperty(exports,"CrossIcon",{enumerable:!0,get:function(){return icons_1.CrossIcon}});
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CrossIcon=exports.LockIcon=exports.ShelfIcon=exports.DropdownWrapper=exports.Example=exports.ExampleValue=exports.PayloadSamples=exports.OAuthFlow=exports.OperationItem=exports.DiscriminatorDropdown=exports.ContentItems=exports.ContentItem=exports.SectionItem=exports.NextSectionButtonWrap=exports.BackgroundStubFix=exports.ApiContentWrap=exports.BackgroundStub=void 0,__exportStar(require("./NextSectionButton"),exports),__exportStar(require("./RedoclyOpenAPIDocs"),exports),__exportStar(require("./pluggable"),exports),__exportStar(require("./rightPanel/Console"),exports);var styled_1=require("./RedoclyOpenAPIDocs/styled");Object.defineProperty(exports,"BackgroundStub",{enumerable:!0,get:function(){return styled_1.BackgroundStub}}),Object.defineProperty(exports,"ApiContentWrap",{enumerable:!0,get:function(){return styled_1.ApiContentWrap}}),Object.defineProperty(exports,"BackgroundStubFix",{enumerable:!0,get:function(){return styled_1.BackgroundStubFix}});var styled_2=require("./NextSectionButton/styled");Object.defineProperty(exports,"NextSectionButtonWrap",{enumerable:!0,get:function(){return styled_2.NextSectionButtonWrap}}),__exportStar(require("./common"),exports),__exportStar(require("./ApiInfo"),exports);var SectionItem_1=require("./SectionItem");Object.defineProperty(exports,"SectionItem",{enumerable:!0,get:function(){return SectionItem_1.SectionItem}});var ContentItem_1=require("./ContentItem");Object.defineProperty(exports,"ContentItem",{enumerable:!0,get:function(){return ContentItem_1.ContentItem}});var ContentItems_1=require("./ContentItems");Object.defineProperty(exports,"ContentItems",{enumerable:!0,get:function(){return ContentItems_1.ContentItems}});var DiscriminatorDropdown_1=require("./DiscriminatorDropdown");Object.defineProperty(exports,"DiscriminatorDropdown",{enumerable:!0,get:function(){return DiscriminatorDropdown_1.DiscriminatorDropdown}}),__exportStar(require("./Schema/"),exports);var OperationItem_1=require("./OperationItem");Object.defineProperty(exports,"OperationItem",{enumerable:!0,get:function(){return OperationItem_1.OperationItem}}),__exportStar(require("./Loading/Loading"),exports),__exportStar(require("./Markdown"),exports);var OAuthFlow_1=require("./SecuritySchemes/OAuthFlow");Object.defineProperty(exports,"OAuthFlow",{enumerable:!0,get:function(){return OAuthFlow_1.OAuthFlow}}),__exportStar(require("./Responses"),exports),__exportStar(require("./ResponseSamples/ResponseSamples"),exports);var PayloadSamples_1=require("./PayloadSamples");Object.defineProperty(exports,"PayloadSamples",{enumerable:!0,get:function(){return PayloadSamples_1.PayloadSamples}}),Object.defineProperty(exports,"ExampleValue",{enumerable:!0,get:function(){return PayloadSamples_1.ExampleValue}}),Object.defineProperty(exports,"Example",{enumerable:!0,get:function(){return PayloadSamples_1.Example}}),Object.defineProperty(exports,"DropdownWrapper",{enumerable:!0,get:function(){return PayloadSamples_1.DropdownWrapper}}),__exportStar(require("./MediaTypeSwitch"),exports),__exportStar(require("./Parameters"),exports),__exportStar(require("./DropdownOrLabel"),exports),__exportStar(require("./ErrorBoundary"),exports),__exportStar(require("./SideMenu/"),exports),__exportStar(require("./StickySidebar/StickyResponsiveSidebar"),exports),__exportStar(require("./SchemaDefinition/SchemaDefinition"),exports),__exportStar(require("./SourceCodeWithFile/SourceCodeWithFile"),exports),__exportStar(require("./RequestSamples/RequestSamples"),exports);var icons_1=require("./icons");Object.defineProperty(exports,"ShelfIcon",{enumerable:!0,get:function(){return icons_1.ShelfIcon}}),Object.defineProperty(exports,"LockIcon",{enumerable:!0,get:function(){return icons_1.LockIcon}}),Object.defineProperty(exports,"CrossIcon",{enumerable:!0,get:function(){return icons_1.CrossIcon}});
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const swagger_client_1=__importDefault(require("swagger-client")),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),utils_1=require("../../../utils"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_2=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../recoil/store"),models_1=require("../../../models"),operation_1=require("../../../recoil/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,securityDefaults:n,onClose:a}){let i=(0,react_1.useRef)();const[l,u]=(0,recoil_1.useRecoilState)((0,operation_1.operationStore)(e.pointer)),[c,d]=(0,react_1.useState)(l.activeServer||e.activeServer),[p,_]=(0,react_1.useState)(0),[v,h]=(0,react_1.useState)(!1),[y,m]=(0,react_1.useState)(!1),[f,b]=(0,react_1.useState)({values:{path:(0,utils_2.getParameters)(e.parameters,"path"),cookie:(0,utils_2.getParameters)(e.parameters,"cookie"),header:(0,utils_2.getParameters)(e.parameters,"header"),query:(0,utils_2.getParameters)(e.parameters,"query")}}),[g,O]=(0,react_1.useState)(),[j,S]=(0,react_1.useState)(),[q,P]=(0,react_1.useState)(),[C,w]=(0,react_1.useState)(),I=(0,hooks_1.usePrevious)(e),{parser:T,options:R}=(0,recoil_1.useRecoilValue)(store_1.globalStoreSelector),k=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_2.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),E=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_2.unescapeQueryParams)(t.query||{})})});u((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(o),(0,utils_2.updateStorage)(o)}),[u]),A=(0,react_1.useCallback)((e=>{_(e)}),[]),D=(0,react_1.useCallback)((e=>{d(e),u((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[u]),x=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,l,u,d,p,v,y,b,O,j,q,C,I;const{values:T,invalid:k}=(null===(r=null==i?void 0:i.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=i.current)||void 0===o||o.submitForm(),k)return m(!0),setTimeout((()=>m(!1)),1e3),void(null===(n=null===(s=R.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:E,requestBody:A}=e,D=A&&A.content&&(null===(a=(0,models_1.getActiveMediaType)(A.content))||void 0===a?void 0:a.name)||"";let x=T.body;if(/json/.test(D))try{x=JSON.parse(x)}catch(e){console.error(e)}h(!0);const M=g,V=(e.httpVerb||"").toLowerCase();if(!E)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 B=E.find((e=>c.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),F=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,utils_1.unescapeFormId)(e);N=Object.assign(Object.assign({},M),{components:Object.assign(Object.assign({},null==M?void 0:M.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==M?void 0:M.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(d=null===(u=null==M?void 0:M.components)||void 0===u?void 0:u.securitySchemes)||void 0===d?void 0:d[t]),{type:"openIdConnect"===(null===(y=null===(v=null===(p=null==M?void 0:M.components)||void 0===p?void 0:p.securitySchemes)||void 0===v?void 0:v[t])||void 0===y?void 0:y.type)?"oauth2":(null===(O=null===(b=null==M?void 0:M.components)||void 0===b?void 0:b.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},M);N.servers=E;const W=R.corsProxyUrl;W&&E.length&&(N.servers=E.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[V]:Object.assign(Object.assign({},N.paths[e.path][V]),{servers:void 0}),servers:void 0})}));const z=(null==A?void 0:A.content)&&(null===(j=(0,models_1.getActiveMediaType)(A.content))||void 0===j?void 0:j.name)||null;if(z&&x&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(x);x=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(B.url):B.url,serverVariables:(0,utils_2.getDefaultOrStoredVariables)(B),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:x,requestContentType:z,responseContentType:(null===(q=T.header)||void 0===q?void 0:q.Accept)||null,requestInterceptor:(0,utils_2.makeRequestInterceptor)(R,e,null==U?void 0:U.Authorization)};try{const e=yield swagger_client_1.default.execute(H),r=null==e?void 0:e.data;r instanceof Blob&&((0,helper_1.isFileUploadMime)(r.type)&&(e.fileInfo={rawData:r,fileName:(0,utils_2.getFileNameFromHeaders)(e.headers)}),e.data=yield r.text()),null==t||t({request:H,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:H,response:e.response})),w(void 0),P(e)}finally{h(!1),_(1),S(Date.now()-F),null===(I=null===(C=R.events)||void 0===C?void 0:C.tryItSent)||void 0===I||I.call(C,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[c.url,f,t,e,R,g]);(0,theme_1.useMount)((()=>__awaiter(this,void 0,void 0,(function*(){var t;const r=yield(0,utils_2.dereferenceDefinitionForTryIt)(e,T.definition);O(r),null===(t=i.current)||void 0===t||t.setValues({})})))),(0,react_1.useEffect)((()=>{I&&I!==e&&(w(void 0),P(void 0),_(0))}),[e,I]);const M=!(!C&&!q);return react_1.default.createElement(ConsoleWrapper_1.ConsoleWrapper,{shaking:y,className:r,rootElement:o},react_1.default.createElement(Panel_1.StyledCodeHeader,null,react_1.default.createElement(ConsoleTabs_1.ConsoleTabs,{active:p,hasResponse:M,onChange:A}),a&&react_1.default.createElement(styled_1.CloseButton,{onClick:a}," ✕ ")),react_1.default.createElement(styled_1.ConsoleBody,{hidden:0!==p,"data-cy":"console-request-body"},react_1.default.createElement(Request_1.Request,{operation:e,properties:s,securityDefaults:n,form:f,resolvedRawSpec:g,server:c,formApi:i.current,setFormApi:k,handleChange:E,handleServerChange:D})),react_1.default.createElement(styled_1.ConsoleBody,{hidden:1!==p,"data-cy":"console-response-body"},react_1.default.createElement(ResponsePanel_1.ResponsePanel,{response:C,error:q,time:j})),react_1.default.createElement(ActionPanel_1.ActionPanel,{hasResponse:M,params:f.values,operation:e,loading:v,execute:x}))}exports.Console=(0,react_1.memo)(ConsoleComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const swagger_client_1=__importDefault(require("swagger-client")),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),shallowCopyForTryIt_1=require("./shallowCopyForTryIt"),string_1=require("../../../utils/string"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_1=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../recoil/store"),models_1=require("../../../models"),operation_1=require("../../../recoil/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,securityDefaults:n,onClose:a}){let i=(0,react_1.useRef)();const[l,c]=(0,recoil_1.useRecoilState)((0,operation_1.operationStore)(e.pointer)),[u,d]=(0,react_1.useState)(l.activeServer||e.activeServer),[p,_]=(0,react_1.useState)(0),[v,y]=(0,react_1.useState)(!1),[h,m]=(0,react_1.useState)(!1),[f,b]=(0,react_1.useState)({values:{path:(0,utils_1.getParameters)(e.parameters,"path"),cookie:(0,utils_1.getParameters)(e.parameters,"cookie"),header:(0,utils_1.getParameters)(e.parameters,"header"),query:(0,utils_1.getParameters)(e.parameters,"query")}}),[g,O]=(0,react_1.useState)(),[j,S]=(0,react_1.useState)(),[q,C]=(0,react_1.useState)(),[P,w]=(0,react_1.useState)(),I=(0,hooks_1.usePrevious)(e),{parser:T,options:R}=(0,recoil_1.useRecoilValue)(store_1.globalStoreSelector),k=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_1.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),E=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_1.unescapeQueryParams)(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(o),(0,utils_1.updateStorage)(o)}),[c]),A=(0,react_1.useCallback)((e=>{_(e)}),[]),D=(0,react_1.useCallback)((e=>{d(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),F=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,l,c,d,p,v,h,b,O,j,q,P,I;const{values:T,invalid:k}=(null===(r=null==i?void 0:i.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=i.current)||void 0===o||o.submitForm(),k)return m(!0),setTimeout((()=>m(!1)),1e3),void(null===(n=null===(s=R.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:E,requestBody:A}=e,D=A&&A.content&&(null===(a=(0,models_1.getActiveMediaType)(A.content))||void 0===a?void 0:a.name)||"";let F=T.body;if(/json/.test(D))try{F=JSON.parse(F)}catch(e){console.error(e)}y(!0);const x=g,M=(e.httpVerb||"").toLowerCase();if(!E)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 V=E.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),B=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,string_1.unescapeFormId)(e);N=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===(d=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===d?void 0:d[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(p=null==x?void 0:x.components)||void 0===p?void 0:p.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(O=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},x);N.servers=E;const W=R.corsProxyUrl;W&&E.length&&(N.servers=E.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[M]:Object.assign(Object.assign({},N.paths[e.path][M]),{servers:void 0}),servers:void 0})}));const z=(null==A?void 0:A.content)&&(null===(j=(0,models_1.getActiveMediaType)(A.content))||void 0===j?void 0:j.name)||null;if(z&&F&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(F);F=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(V.url):V.url,serverVariables:(0,utils_1.getDefaultOrStoredVariables)(V),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:F,requestContentType:z,responseContentType:(null===(q=T.header)||void 0===q?void 0:q.Accept)||null,requestInterceptor:(0,utils_1.makeRequestInterceptor)(R,e,null==U?void 0:U.Authorization)};try{const e=yield swagger_client_1.default.execute(H),r=null==e?void 0:e.data;r instanceof Blob&&((0,helper_1.isFileUploadMime)(r.type)&&(e.fileInfo={rawData:r,fileName:(0,utils_1.getFileNameFromHeaders)(e.headers)}),e.data=yield r.text()),null==t||t({request:H,response:e}),w(e),C(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:H,response:e.response})),w(void 0),C(e)}finally{y(!1),_(1),S(Date.now()-B),null===(I=null===(P=R.events)||void 0===P?void 0:P.tryItSent)||void 0===I||I.call(P,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,f,t,e,R,g]);(0,theme_1.useMount)((()=>__awaiter(this,void 0,void 0,(function*(){var t;const r=yield(0,shallowCopyForTryIt_1.dereferenceDefinitionForTryIt)(e,T.definition);O(r),null===(t=i.current)||void 0===t||t.setValues({})})))),(0,react_1.useEffect)((()=>{I&&I!==e&&(w(void 0),C(void 0),_(0))}),[e,I]);const x=!(!P&&!q);return react_1.default.createElement(ConsoleWrapper_1.ConsoleWrapper,{shaking:h,className:r,rootElement:o},react_1.default.createElement(Panel_1.StyledCodeHeader,null,react_1.default.createElement(ConsoleTabs_1.ConsoleTabs,{active:p,hasResponse:x,onChange:A}),a&&react_1.default.createElement(styled_1.CloseButton,{onClick:a}," ✕ ")),react_1.default.createElement(styled_1.ConsoleBody,{hidden:0!==p,"data-cy":"console-request-body"},react_1.default.createElement(Request_1.Request,{operation:e,properties:s,securityDefaults:n,form:f,resolvedRawSpec:g,server:u,formApi:i.current,setFormApi:k,handleChange:E,handleServerChange:D})),react_1.default.createElement(styled_1.ConsoleBody,{hidden:1!==p,"data-cy":"console-response-body"},react_1.default.createElement(ResponsePanel_1.ResponsePanel,{response:P,error:q,time:j})),react_1.default.createElement(ActionPanel_1.ActionPanel,{hasResponse:x,params:f.values,operation:e,loading:v,execute:F}))}exports.Console=(0,react_1.memo)(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.js.map
@@ -0,0 +1,2 @@
1
+ import type { OperationModel } from '../../../models';
2
+ export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -0,0 +1,2 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,n,i,r){return new(i||(i=Promise))((function(t,o){function a(e){try{p(r.next(e))}catch(e){o(e)}}function c(e){try{p(r.throw(e))}catch(e){o(e)}}function p(e){var n;e.done?t(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(a,c)}p((r=r.apply(e,n||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.dereferenceDefinitionForTryIt=void 0;const bundle_1=require("@redocly/openapi-core/lib/bundle"),config_1=require("@redocly/openapi-core/lib/config/config"),openapi_1=require("../../../utils/openapi");function dereferenceDefinitionForTryIt(e,n){var i,r,t,o;return __awaiter(this,void 0,void 0,(function*(){const a=JSON.parse(JSON.stringify(n)),c=a.openapi?{openapi:a.openapi}:a.swagger?{swagger:a.swagger}:{},p=Object.assign(Object.assign({},c),{components:a.components,paths:{[e.path]:{[e.httpVerb]:null===(r=null===(i=a.paths)||void 0===i?void 0:i[e.path])||void 0===r?void 0:r[e.httpVerb],parameters:null===(o=null===(t=a.paths)||void 0===t?void 0:t[e.path])||void 0===o?void 0:o.parameters}}}),s={config:new config_1.Config({}),doc:(0,openapi_1.createParsedDocument)(p),dereference:!0};return yield(0,bundle_1.bundle)(s),a}))}exports.dereferenceDefinitionForTryIt=dereferenceDefinitionForTryIt;
2
+ //# sourceMappingURL=shallowCopyForTryIt.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParameterArray=void 0;const react_1=__importDefault(require("react")),styled_components_1=__importDefault(require("styled-components")),form_1=require("../common/form"),ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var l,o,n,i,d;const[s,m]=react_1.default.useState([]),c=(null===(l=t.schema.items)||void 0===l?void 0:l.fields)?null===(o=t.schema.items)||void 0===o?void 0:o.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(d=t.schema.items)||void 0===d?void 0:d.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Row,null,react_1.default.createElement(form_1.FormLabel,{required:t.required},e,"(",s.length," items)"),react_1.default.createElement("span",{onClick:()=>{m([...s,s.length?s[s.length-1]+1:0])}},"Add item +")),null==s?void 0:s.map(((t,l)=>react_1.default.createElement(Row,{key:t},react_1.default.createElement(Delete,{onClick:()=>{return e=t,void m(s.filter((t=>t!==e)));var e}},"delete"),c.map((o=>a(o,r,`${e}.[${t}]`,`[${l}]${o.name&&"."+o.name}`)))))))};exports.ParameterArray=ParameterArray;const Row=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParameterArray=void 0;const react_1=__importDefault(require("react")),styled_components_1=__importDefault(require("styled-components")),form_1=require("../common/form"),ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var l,o,n,i,d;const[s,m]=react_1.default.useState([]),c=(null===(l=t.schema.items)||void 0===l?void 0:l.fields)?null===(o=t.schema.items)||void 0===o?void 0:o.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(d=t.schema.items)||void 0===d?void 0:d.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Row,null,react_1.default.createElement(form_1.FormLabel,{required:t.required},e,"(",s.length," items)"),react_1.default.createElement("span",{onClick:()=>{m([...s,s.length?s[s.length-1]+1:0])}},"Add item +")),null==s?void 0:s.map(((t,l)=>react_1.default.createElement(Row,{key:t},c.map((o=>a(o,r,`${e}.[${t}]`,`[${l}]${o.name&&"."+o.name}`,react_1.default.createElement(Delete,{onClick:()=>{return e=t,void m(s.filter((t=>t!==e)));var e}},"Delete"))))))))};exports.ParameterArray=ParameterArray;const Row=styled_components_1.default.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  align-items: center;
@@ -24,5 +24,7 @@
24
24
  border: none;
25
25
  cursor: pointer;
26
26
  position: relative;
27
+ margin-left: 5px;
28
+ display: inline-block;
27
29
  `;
28
30
  //# sourceMappingURL=ParameterArray.js.map
@@ -26,4 +26,3 @@ export declare function encodeSample(sample: ExampleModel, properties: RequestBo
26
26
  export declare const getStorageExampleKey: (operationId: string, activeMimeType: string, activeExample?: string | false, examples?: {
27
27
  [name: string]: ExampleModel;
28
28
  } | undefined) => string;
29
- export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))((function(o,i){function n(e){try{u(a.next(e))}catch(e){i(e)}}function s(e){try{u(a.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(n,s)}u((a=a.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.dereferenceDefinitionForTryIt=exports.getStorageExampleKey=exports.encodeSample=exports.getOAuth2TokenEndpointAuthHeader=exports.validateTokenEndpointMethod=exports.fromCookie=exports.requiredValidator=exports.makeRequestInterceptor=exports.getFileNameFromHeaders=exports.unescapeQueryParams=exports.updateVariablesStorage=exports.getDefaultOrStoredVariables=exports.expandDefaultServerVariables=exports.expandVariables=exports.getInitialServerWithVariables=exports.getServerWithVariables=exports.getParameters=exports.updateStorage=exports.normalizeUrlProtocol=void 0;const deepmerge_1=__importDefault(require("deepmerge")),openapi_core_1=require("@redocly/openapi-core"),recoil_nexus_1=require("recoil-nexus"),constants_1=require("../../constants"),utils_1=require("../../services/utils"),utils_2=require("../../utils"),operation_1=require("../../recoil/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];(0,utils_2.setSecurityDetails)(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))(0,utils_2.setParameterValue)(r,t,e.values[r][t])}exports.normalizeUrlProtocol=normalizeUrlProtocol,exports.updateStorage=updateStorage;const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[a]=(0,utils_2.getParameterValue)(r||"",a),e}),{});exports.getParameters=getParameters;const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;function getServerWithVariables(e,t=0){const r=e[t],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function getInitialServerWithVariables(e){const t=(0,utils_2.fromSessionStorage)("serverUrl"),r=e.find((e=>e.url===t))||e[0],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=(0,utils_2.fromSessionStorage)("variables"),r=t&&JSON.parse(t)||{},a={};return Object.entries(e.variables||{}).forEach((([e,t])=>{a[e]=r[e]||t.default||""})),a}function updateVariablesStorage(e,t){const r=(0,utils_2.fromSessionStorage)("variables"),a=r&&JSON.parse(r)||{};(0,utils_2.toSessionStorage)("variables",JSON.stringify(Object.assign(Object.assign({},a),{[e]:t})))}function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[(0,utils_2.unescapeFormId)(t)]=r,e)),{})}function getFileNameFromHeaders(e){const t="filename=";for(const[r,a]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=a.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}exports.getServerWithVariables=getServerWithVariables,exports.getInitialServerWithVariables=getInitialServerWithVariables,exports.expandVariables=expandVariables,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.getDefaultOrStoredVariables=getDefaultOrStoredVariables,exports.updateVariablesStorage=updateVariablesStorage,exports.unescapeQueryParams=unescapeQueryParams,exports.getFileNameFromHeaders=getFileNameFromHeaders;const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},a,o)=>i=>{var n,s;const{requestValues:u}=(0,recoil_nexus_1.getRecoil)((0,operation_1.operationStore)(a.pointer));r&&(i=Object.assign(Object.assign({},i),{url:decodeURIComponent(i.url)})),t&&(i.headers["X-User-Agent"]="Redocly Try it API console");const l=(null===(n=null==u?void 0:u.header)||void 0===n?void 0:n.authorization)||(null===(s=null==u?void 0:u.header)||void 0===s?void 0:s.Authorization);return!o&&l&&(i.headers.Authorization=l),e?e(i,a):i};function requiredValidator(e){if(!e)return"Field is required"}exports.makeRequestInterceptor=makeRequestInterceptor,exports.requiredValidator=requiredValidator;const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}exports.fromCookie=fromCookie;const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};exports.validateTokenEndpointMethod=validateTokenEndpointMethod;const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};function encodeSample(e,t){if(!e)return"";if(e.mime===constants_1.MediaTypes.URL_ENCODED)return e.value;const r=e.value,a=t?(0,deepmerge_1.default)(r,t,{arrayMerge:utils_1.arrayMergeStrategy}):r;return JSON.stringify(a,null,2)}exports.getOAuth2TokenEndpointAuthHeader=getOAuth2TokenEndpointAuthHeader,exports.encodeSample=encodeSample;const getStorageExampleKey=(e,t,r,a)=>{let o=e+"_"+t;return r&&a&&Object.keys(a).includes(r)&&(o+="_"+r),o};function dereferenceDefinitionForTryIt(e,t){var r,a,o,i;return __awaiter(this,void 0,void 0,(function*(){const n=JSON.parse(JSON.stringify(t)),s=n.openapi?{openapi:n.openapi}:n.swagger?{swagger:n.swagger}:{},u=Object.assign(Object.assign({},s),{components:n.components,paths:{[e.path]:{[e.httpVerb]:null===(a=null===(r=n.paths)||void 0===r?void 0:r[e.path])||void 0===a?void 0:a[e.httpVerb],parameters:null===(i=null===(o=n.paths)||void 0===o?void 0:o[e.path])||void 0===i?void 0:i.parameters}}}),l={config:new openapi_core_1.Config({}),doc:(0,utils_2.createParsedDocument)(u),dereference:!0};return yield(0,openapi_core_1.bundle)(l),n}))}exports.getStorageExampleKey=getStorageExampleKey,exports.dereferenceDefinitionForTryIt=dereferenceDefinitionForTryIt;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStorageExampleKey=exports.encodeSample=exports.getOAuth2TokenEndpointAuthHeader=exports.validateTokenEndpointMethod=exports.fromCookie=exports.requiredValidator=exports.makeRequestInterceptor=exports.getFileNameFromHeaders=exports.unescapeQueryParams=exports.updateVariablesStorage=exports.getDefaultOrStoredVariables=exports.expandDefaultServerVariables=exports.expandVariables=exports.getInitialServerWithVariables=exports.getServerWithVariables=exports.getParameters=exports.updateStorage=exports.normalizeUrlProtocol=void 0;const deepmerge_1=__importDefault(require("deepmerge")),recoil_nexus_1=require("recoil-nexus"),constants_1=require("../../constants"),utils_1=require("../../services/utils"),utils_2=require("../../utils"),operation_1=require("../../recoil/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];(0,utils_2.setSecurityDetails)(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))(0,utils_2.setParameterValue)(r,t,e.values[r][t])}exports.normalizeUrlProtocol=normalizeUrlProtocol,exports.updateStorage=updateStorage;const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[a]=(0,utils_2.getParameterValue)(r||"",a),e}),{});exports.getParameters=getParameters;const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;function getServerWithVariables(e,t=0){const r=e[t],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function getInitialServerWithVariables(e){const t=(0,utils_2.fromSessionStorage)("serverUrl"),r=e.find((e=>e.url===t))||e[0],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=(0,utils_2.fromSessionStorage)("variables"),r=t&&JSON.parse(t)||{},a={};return Object.entries(e.variables||{}).forEach((([e,t])=>{a[e]=r[e]||t.default||""})),a}function updateVariablesStorage(e,t){const r=(0,utils_2.fromSessionStorage)("variables"),a=r&&JSON.parse(r)||{};(0,utils_2.toSessionStorage)("variables",JSON.stringify(Object.assign(Object.assign({},a),{[e]:t})))}function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[(0,utils_2.unescapeFormId)(t)]=r,e)),{})}function getFileNameFromHeaders(e){const t="filename=";for(const[r,a]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=a.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}exports.getServerWithVariables=getServerWithVariables,exports.getInitialServerWithVariables=getInitialServerWithVariables,exports.expandVariables=expandVariables,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.getDefaultOrStoredVariables=getDefaultOrStoredVariables,exports.updateVariablesStorage=updateVariablesStorage,exports.unescapeQueryParams=unescapeQueryParams,exports.getFileNameFromHeaders=getFileNameFromHeaders;const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},a,o)=>i=>{var s,n;const{requestValues:l}=(0,recoil_nexus_1.getRecoil)((0,operation_1.operationStore)(a.pointer));r&&(i=Object.assign(Object.assign({},i),{url:decodeURIComponent(i.url)})),t&&(i.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(s=null==l?void 0:l.header)||void 0===s?void 0:s.authorization)||(null===(n=null==l?void 0:l.header)||void 0===n?void 0:n.Authorization);return!o&&u&&(i.headers.Authorization=u),e?e(i,a):i};function requiredValidator(e){if(!e)return"Field is required"}exports.makeRequestInterceptor=makeRequestInterceptor,exports.requiredValidator=requiredValidator;const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}exports.fromCookie=fromCookie;const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};exports.validateTokenEndpointMethod=validateTokenEndpointMethod;const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};function encodeSample(e,t){if(!e)return"";if(e.mime===constants_1.MediaTypes.URL_ENCODED)return e.value;const r=e.value,a=t?(0,deepmerge_1.default)(r,t,{arrayMerge:utils_1.arrayMergeStrategy}):r;return JSON.stringify(a,null,2)}exports.getOAuth2TokenEndpointAuthHeader=getOAuth2TokenEndpointAuthHeader,exports.encodeSample=encodeSample;const getStorageExampleKey=(e,t,r,a)=>{let o=e+"_"+t;return r&&a&&Object.keys(a).includes(r)&&(o+="_"+r),o};exports.getStorageExampleKey=getStorageExampleKey;
2
2
  //# sourceMappingURL=utils.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";
@@ -23,3 +19,4 @@ export declare const GROUP_DEPTH = 0;
23
19
  export declare const LEGACY_REGEXP = "^ {0,3}<!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?-->\\s*$";
24
20
  export declare const MDX_COMPONENT_REGEXP: string;
25
21
  export declare const COMPONENT_REGEXP: string;
22
+ export declare const DEFAULT_TAG_SLUG = "other";
package/lib/constants.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var WindowReferenceOptions,MediaTypes,LayoutVariant;Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMPONENT_REGEXP=exports.MDX_COMPONENT_REGEXP=exports.LEGACY_REGEXP=exports.GROUP_DEPTH=exports.FIELD_ATTR=exports.SECTION_ATTR=exports.DEFAULT_SEARCH_MAX_DEPTH=exports.LayoutVariant=exports.MediaTypes=exports.WindowReferenceOptions=exports.defaultTheme=void 0,exports.defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}},function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions=exports.WindowReferenceOptions||(exports.WindowReferenceOptions={})),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=exports.MediaTypes||(exports.MediaTypes={})),function(e){e.STACKED="stacked",e.THREE_PANEL="three-panel"}(LayoutVariant=exports.LayoutVariant||(exports.LayoutVariant={})),exports.DEFAULT_SEARCH_MAX_DEPTH=1,exports.SECTION_ATTR="data-section-id",exports.FIELD_ATTR="data-field-id",exports.GROUP_DEPTH=0,exports.LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$",exports.MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))",exports.COMPONENT_REGEXP="(?:"+exports.LEGACY_REGEXP+"|"+exports.MDX_COMPONENT_REGEXP+")";
1
+ "use strict";var WindowReferenceOptions,MediaTypes;Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_TAG_SLUG=exports.COMPONENT_REGEXP=exports.MDX_COMPONENT_REGEXP=exports.LEGACY_REGEXP=exports.GROUP_DEPTH=exports.FIELD_ATTR=exports.SECTION_ATTR=exports.DEFAULT_SEARCH_MAX_DEPTH=exports.MediaTypes=exports.WindowReferenceOptions=exports.defaultTheme=void 0,exports.defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}},function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions=exports.WindowReferenceOptions||(exports.WindowReferenceOptions={})),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=exports.MediaTypes||(exports.MediaTypes={})),exports.DEFAULT_SEARCH_MAX_DEPTH=1,exports.SECTION_ATTR="data-section-id",exports.FIELD_ATTR="data-field-id",exports.GROUP_DEPTH=0,exports.LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$",exports.MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))",exports.COMPONENT_REGEXP="(?:"+exports.LEGACY_REGEXP+"|"+exports.MDX_COMPONENT_REGEXP+")",exports.DEFAULT_TAG_SLUG="other";
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
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(r=Object.getOwnPropertySymbols(e);l<r.length;l++)t.indexOf(r[l])<0&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(o[r[l]]=e[r[l]])}return o};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withStore=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),app_1=require("../recoil/app"),store_1=require("../recoil/store");function withStore(e){return t=>{var{portalOptions:o}=t,r=__rest(t,["portalOptions"]);const[l,i]=(0,recoil_1.useRecoilState)(app_1.layoutSelector),[a,n]=(0,recoil_1.useRecoilState)(app_1.showRightPanelToggleSelector),[c,s]=(0,recoil_1.useRecoilState)(app_1.collapsedSidebarSelector),{options:u,versions:p}=(0,recoil_1.useRecoilValue)(store_1.globalStore);(0,react_1.useEffect)((()=>{(null==o?void 0:o.layout)&&i(o.layout)}),[null==o?void 0:o.layout,i]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.collapsedSidebar)&&s(o.collapsedSidebar)}),[null==o?void 0:o.collapsedSidebar,s]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.showRightPanelToggle)&&n(o.showRightPanelToggle)}),[null==o?void 0:o.showRightPanelToggle,n]);const[_,d]=(0,recoil_1.useRecoilState)(app_1.activeVersionIdxSelector),f=(0,react_1.useCallback)((({idx:e})=>{e&&d(e)}),[d]);return react_1.default.createElement(e,Object.assign({},r,{options:u,versions:p,layout:l,showRightPanelToggle:a,activeVersionIdx:_,onChangeActiveVersion:f,collapsedSidebar:c}))}}exports.withStore=withStore;
2
+ //# sourceMappingURL=withStore.js.map
package/lib/index.d.ts CHANGED
@@ -1,11 +1,15 @@
1
- export * from './components/index';
2
- export * from './services/index';
3
- export * from './models/index';
4
- export * from './events/index';
5
- export * from './constants';
6
- export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue, isOperationName, JsonPointer, } from './utils';
1
+ export type { RawOptions, Options } from './services/Options/types';
2
+ export type { IMenuItem, Pagination, PaginationType } from './services/types';
3
+ export type { OperationModel, SchemaModel, ContentItemModel } from './models/types';
4
+ export type { CodeSampleOptions } from './models/code-sample-options';
5
+ export type { OpenApiResponseData } from './components/rightPanel/types';
7
6
  export type { SecurityDetails, OpenAPIDefinition, OpenAPIOperation, OpenAPIParameterLocation, OpenAPISchema, } from './types';
7
+ export { getOperation } from './models/operation';
8
+ export { Console } from './components/rightPanel/Console';
9
+ export { RequestSamples } from './components/RequestSamples';
10
+ export * from './components/pluggable';
11
+ export * from './components/RedoclyOpenAPIDocs';
12
+ export { JsonPointer } from './utils/JsonPointer';
13
+ export { isOperationName } from './utils/openapi';
8
14
  export { OpenAPIParser } from './services';
9
15
  export { buildContentItems, normalizeOptions } from './services';
10
- export type { OAuth2 } from './services/OAuth2';
11
- export type { OpenApiResponseData } from './components/rightPanel/types';
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.JsonPointer=exports.isOperationName=exports.setParameterValue=exports.setSecurityDetailsVariants=exports.setSecurityDetails=void 0,__exportStar(require("./components/index"),exports),__exportStar(require("./services/index"),exports),__exportStar(require("./models/index"),exports),__exportStar(require("./events/index"),exports),__exportStar(require("./constants"),exports);var utils_1=require("./utils");Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_1.setSecurityDetails}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_1.setSecurityDetailsVariants}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_1.setParameterValue}}),Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return utils_1.isOperationName}}),Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return utils_1.JsonPointer}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 0===n&&(n=t),e[n]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.isOperationName=exports.JsonPointer=exports.RequestSamples=exports.Console=exports.getOperation=void 0;var operation_1=require("./models/operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}});var Console_1=require("./components/rightPanel/Console");Object.defineProperty(exports,"Console",{enumerable:!0,get:function(){return Console_1.Console}});var RequestSamples_1=require("./components/RequestSamples");Object.defineProperty(exports,"RequestSamples",{enumerable:!0,get:function(){return RequestSamples_1.RequestSamples}}),__exportStar(require("./components/pluggable"),exports),__exportStar(require("./components/RedoclyOpenAPIDocs"),exports);var JsonPointer_1=require("./utils/JsonPointer");Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return JsonPointer_1.JsonPointer}});var openapi_1=require("./utils/openapi");Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return openapi_1.isOperationName}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});
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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getGroup=void 0;const utils_1=require("../utils"),operation_1=require("../services/menu/operation"),saveTextBeforeHeading_1=require("../utils/saveTextBeforeHeading");function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:r},s){const o=t.id||e+"/"+(0,utils_1.safeSlugify)(t.name),a=t["x-displayName"]||t.name,n=t.level||1,p=t.isSchema,u=t.ast||void 0;return{id:o,type:e,parent:s,name:a,level:n,depth:0,isSchema:p,description:(0,saveTextBeforeHeading_1.saveTextBeforeHeading)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",r),items:t.items,ast:u,externalDocs:t.externalDocs,href:(0,operation_1.getHref)({id:o,parent:s,type:e},i)}}exports.getGroup=getGroup;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTagOrGroup=void 0;const services_1=require("../services"),utils_1=require("../utils"),operation_1=require("../services/menu/operation"),saveTextBeforeHeading_1=require("../utils/saveTextBeforeHeading");function getTagOrGroup(e,i,{pagination:r,markdownHeadingsAnchorLevel:t},s){let a;a=r===services_1.Pagination.None&&(null==s?void 0:s.id)&&"schema"===e?(0,services_1.joinWithSeparator)(s.id,(0,utils_1.safeSlugify)(i.name)):i.id||(0,utils_1.safeSlugify)(i.name);const o=i["x-displayName"]||i.name,n=i.level||1,u=i.isSchema,d=i.ast||void 0;return{id:a,type:e,parent:s,name:o,level:n,depth:0,isSchema:u,description:(0,saveTextBeforeHeading_1.saveTextBeforeHeading)((0,utils_1.getValueFromMdParsedExtension)(i,"description")||"",t),items:i.items,ast:d,externalDocs:i.externalDocs,href:(0,operation_1.getHref)({id:a,parent:s,type:e},r)}}exports.getTagOrGroup=getTagOrGroup;
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
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCallback=exports.getField=exports.getSchema=exports.getResponse=exports.getMediaType=exports.getMediaContent=exports.getActiveMediaType=exports.getExternalExampleValue=exports.getExamples=exports.getRequestBody=exports.isPayloadSample=exports.getOperation=exports.getGroup=void 0,__exportStar(require("./code-sample-options"),exports),__exportStar(require("./file-upload"),exports);var group_1=require("./group");Object.defineProperty(exports,"getGroup",{enumerable:!0,get:function(){return group_1.getGroup}});var operation_1=require("./operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}}),Object.defineProperty(exports,"isPayloadSample",{enumerable:!0,get:function(){return operation_1.isPayloadSample}});var request_1=require("./request");Object.defineProperty(exports,"getRequestBody",{enumerable:!0,get:function(){return request_1.getRequestBody}});var example_1=require("./example");Object.defineProperty(exports,"getExamples",{enumerable:!0,get:function(){return example_1.getExamples}}),Object.defineProperty(exports,"getExternalExampleValue",{enumerable:!0,get:function(){return example_1.getExternalExampleValue}});var mediaContent_1=require("./mediaContent");Object.defineProperty(exports,"getActiveMediaType",{enumerable:!0,get:function(){return mediaContent_1.getActiveMediaType}}),Object.defineProperty(exports,"getMediaContent",{enumerable:!0,get:function(){return mediaContent_1.getMediaContent}});var mediaType_1=require("./mediaType");Object.defineProperty(exports,"getMediaType",{enumerable:!0,get:function(){return mediaType_1.getMediaType}});var response_1=require("./response");Object.defineProperty(exports,"getResponse",{enumerable:!0,get:function(){return response_1.getResponse}});var schema_1=require("./schema");Object.defineProperty(exports,"getSchema",{enumerable:!0,get:function(){return schema_1.getSchema}});var field_1=require("./field");Object.defineProperty(exports,"getField",{enumerable:!0,get:function(){return field_1.getField}});var callback_1=require("./callback");Object.defineProperty(exports,"getCallback",{enumerable:!0,get:function(){return callback_1.getCallback}}),__exportStar(require("./security"),exports),__exportStar(require("./types"),exports);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCallback=exports.getField=exports.getSchema=exports.getResponse=exports.getMediaType=exports.getMediaContent=exports.getActiveMediaType=exports.getExternalExampleValue=exports.getExamples=exports.getRequestBody=exports.isPayloadSample=exports.getOperation=exports.getTagOrGroup=void 0,__exportStar(require("./code-sample-options"),exports),__exportStar(require("./file-upload"),exports);var group_1=require("./group");Object.defineProperty(exports,"getTagOrGroup",{enumerable:!0,get:function(){return group_1.getTagOrGroup}});var operation_1=require("./operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}}),Object.defineProperty(exports,"isPayloadSample",{enumerable:!0,get:function(){return operation_1.isPayloadSample}});var request_1=require("./request");Object.defineProperty(exports,"getRequestBody",{enumerable:!0,get:function(){return request_1.getRequestBody}});var example_1=require("./example");Object.defineProperty(exports,"getExamples",{enumerable:!0,get:function(){return example_1.getExamples}}),Object.defineProperty(exports,"getExternalExampleValue",{enumerable:!0,get:function(){return example_1.getExternalExampleValue}});var mediaContent_1=require("./mediaContent");Object.defineProperty(exports,"getActiveMediaType",{enumerable:!0,get:function(){return mediaContent_1.getActiveMediaType}}),Object.defineProperty(exports,"getMediaContent",{enumerable:!0,get:function(){return mediaContent_1.getMediaContent}});var mediaType_1=require("./mediaType");Object.defineProperty(exports,"getMediaType",{enumerable:!0,get:function(){return mediaType_1.getMediaType}});var response_1=require("./response");Object.defineProperty(exports,"getResponse",{enumerable:!0,get:function(){return response_1.getResponse}});var schema_1=require("./schema");Object.defineProperty(exports,"getSchema",{enumerable:!0,get:function(){return schema_1.getSchema}});var field_1=require("./field");Object.defineProperty(exports,"getField",{enumerable:!0,get:function(){return field_1.getField}});var callback_1=require("./callback");Object.defineProperty(exports,"getCallback",{enumerable:!0,get:function(){return callback_1.getCallback}}),__exportStar(require("./security"),exports),__exportStar(require("./types"),exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeInMockServer=exports.getOperation=exports.isPayloadSample=void 0;const utils_1=require("../utils"),utils_2=require("../components/rightPanel/utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;let isCodeSamplesWarningPrinted=!1;function getOperation(e,r,t,s,i,a){var o,n,l;const p=r.isWebhook,u={operationDefinition:r,parent:t,pointer:r.pointer,description:(0,utils_1.getValueFromMdParsedExtension)(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==a?void 0:a.isCallback),isEvent:(null==a?void 0:a.isCallback)||p,name:(0,utils_1.getOperationName)(r),defaultExampleName:r.defaultSampleName,type:"operation",callbackId:null==a?void 0:a.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((a=>{var o;return(0,callback_1.getCallback)(e,a,null===(o=r.callbacks)||void 0===o?void 0:o[a],u.pointer,s,i,t)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e)))).map((i=>(0,response_1.getResponse)({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:s,isEvent:u.isEvent,operation:u})))},get parameters(){let t=(0,utils_1.mergeParams)(e,r.pathParameters,r.parameters,{pathPointer:utils_1.JsonPointer.dirName(u.pointer),operationPointer:u.pointer}).map((({paramOrRef:r,pointer:t})=>(0,field_1.getField)(e,r,t,s,{operation:u,type:"request"})));return s.sortPropsAlphabetically&&(t=(0,utils_1.sortByField)(t,"name")),s.requiredPropsFirst&&(t=(0,utils_1.sortByRequired)(t)),t}};(null==a?void 0:a.isCallback)?(u.security=(r.security||[]).map((r=>(0,security_1.getSecurityRequirement)({requirement:r,parser:e}))),u.servers=(0,utils_1.normalizeServers)("",r.servers||r.pathServers||[])):(u.id=(0,utils_1.getOperationId)(r,t),u.security=(r.security||e.definition.security||[]).map((r=>(0,security_1.getSecurityRequirement)({requirement:r,parser:e}))),u.servers=(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],s.mockServer))),s.showExtensions&&(u.extensions=(0,utils_1.extractExtensions)(r,s.showExtensions)),u.activeServer=(0,utils_2.getInitialServerWithVariables)(u.servers),u.requestBody=r.requestBody&&(0,request_1.getRequestBody)({parser:e,infoOrRef:r.requestBody,options:s,operation:u,isEvent:u.isEvent});const d=null===(n=null===(o=u.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes,[c]=d||[],[m]=Object.keys((null==c?void 0:c.examples)||[]);u.activeExampleName=!1===r.defaultSampleName?void 0:r.defaultSampleName||m;const v=null===(l=u.requestBody)||void 0===l?void 0:l.content;return u.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,u.definitionSamples=r["x-codeSamples"]||r["x-code-samples"]||[],r["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),u.hasSamples=(null==v?void 0:v.hasSample)||u.definitionSamples.length>0,u.hideTryItPanel=!0===r["x-hideTryItPanel"],u}function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeInMockServer=exports.getOperation=exports.isPayloadSample=void 0;const utils_1=require("../utils"),utils_2=require("../components/rightPanel/utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;let isCodeSamplesWarningPrinted=!1;function getOperation(e,r,t,s,i,a){var o,n,l;const p=r.isWebhook,u={operationDefinition:r,parent:t,pointer:r.pointer,description:(0,utils_1.getValueFromMdParsedExtension)(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==a?void 0:a.isCallback),isEvent:(null==a?void 0:a.isCallback)||p,name:(0,utils_1.getOperationName)(r),defaultExampleName:r.defaultSampleName,type:"operation",callbackId:null==a?void 0:a.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((a=>{var o;return(0,callback_1.getCallback)(e,a,null===(o=r.callbacks)||void 0===o?void 0:o[a],u.pointer,s,i,t)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e)))).map((i=>(0,response_1.getResponse)({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:s,isEvent:u.isEvent,operation:u})))},get parameters(){let t=(0,utils_1.mergeParams)(e,r.pathParameters,r.parameters,{pathPointer:utils_1.JsonPointer.dirName(u.pointer),operationPointer:u.pointer}).map((({paramOrRef:r,pointer:t})=>(0,field_1.getField)(e,r,t,s,{operation:u,type:"request"})));return s.sortPropsAlphabetically&&(t=(0,utils_1.sortByField)(t,"name")),s.requiredPropsFirst&&(t=(0,utils_1.sortByRequired)(t)),t}};(null==a?void 0:a.isCallback)?(u.security=(r.security||[]).map((r=>(0,security_1.getSecurityRequirement)({requirement:r,parser:e}))),u.servers=(0,utils_1.normalizeServers)("",r.servers||r.pathServers||[])):(u.id=(0,utils_1.getOperationId)(r,s.pagination,t),u.security=(r.security||e.definition.security||[]).map((r=>(0,security_1.getSecurityRequirement)({requirement:r,parser:e}))),u.servers=(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],s.mockServer))),s.showExtensions&&(u.extensions=(0,utils_1.extractExtensions)(r,s.showExtensions)),u.activeServer=(0,utils_2.getInitialServerWithVariables)(u.servers),u.requestBody=r.requestBody&&(0,request_1.getRequestBody)({parser:e,infoOrRef:r.requestBody,options:s,operation:u,isEvent:u.isEvent});const d=null===(n=null===(o=u.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes,[c]=d||[],[m]=Object.keys((null==c?void 0:c.examples)||[]);u.activeExampleName=!1===r.defaultSampleName?void 0:r.defaultSampleName||m;const v=null===(l=u.requestBody)||void 0===l?void 0:l.content;return u.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,u.definitionSamples=r["x-codeSamples"]||r["x-code-samples"]||[],r["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),u.hasSamples=(null==v?void 0:v.hasSample)||u.definitionSamples.length>0,u.hideTryItPanel=!0===r["x-hideTryItPanel"],u}function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;
2
2
  //# sourceMappingURL=operation.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
  /**
package/lib/recoil/app.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.activeVersionIdxSelector=exports.showRightPanelToggleSelector=exports.appSessionStore=exports.activeSampleLanguageSelector=exports.layoutSelector=exports.appLocalStore=exports.activeMimeNameSelector=exports.isSidebarOpenedSelector=exports.appStore=void 0;const recoil_1=require("recoil"),utils_1=require("../utils"),constants_1=require("../constants");exports.appStore=(0,recoil_1.atom)({key:"appStore",default:{isSidebarOpened:!1,activeMimeName:""}}),exports.isSidebarOpenedSelector=(0,recoil_1.selector)({key:"isSidebarOpened",get:({get:e})=>e(exports.appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))}}),exports.activeMimeNameSelector=(0,recoil_1.selector)({key:"activeMimeName",get:({get:e})=>e(exports.appStore).activeMimeName,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))}}),exports.appLocalStore=(0,recoil_1.atom)({key:"appLocalStore",default:{layout:constants_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromLocalStorage)("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appLocalStore"):(0,utils_1.toLocalStorage)("appLocalStore",JSON.stringify(e))}))}]}),exports.layoutSelector=(0,recoil_1.selector)({key:"layout",get:({get:e})=>e(exports.appLocalStore).layout,set:({set:e,get:t},o=constants_1.LayoutVariant.STACKED)=>{const s=t(exports.appLocalStore),a=o===constants_1.LayoutVariant.STACKED?constants_1.LayoutVariant.THREE_PANEL:constants_1.LayoutVariant.STACKED;e(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:a}))}}),exports.activeSampleLanguageSelector=(0,recoil_1.selector)({key:"activeSampleLanguage",get:({get:e})=>e(exports.appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))}}),exports.appSessionStore=(0,recoil_1.atom)({key:"appSessionStore",default:{activeVersionIdx:0,showRightPanelToggle:!0},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromSessionStorage)("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appSessionStore"):(0,utils_1.toSessionStorage)("appSessionStore",JSON.stringify(e))}))}]}),exports.showRightPanelToggleSelector=(0,recoil_1.selector)({key:"showRightPanelToggle",get:({get:e})=>e(exports.appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))}}),exports.activeVersionIdxSelector=(0,recoil_1.selector)({key:"activeVersionIdx",get:({get:e})=>e(exports.appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.activeVersionIdxSelector=exports.showRightPanelToggleSelector=exports.appSessionStore=exports.activeSampleLanguageSelector=exports.layoutSelector=exports.appLocalStore=exports.activeMimeNameSelector=exports.isSidebarOpenedSelector=exports.collapsedSidebarSelector=exports.appStore=void 0;const recoil_1=require("recoil"),theme_1=require("@redocly/theme"),utils_1=require("../utils");exports.appStore=(0,recoil_1.atom)({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:""}}),exports.collapsedSidebarSelector=(0,recoil_1.selector)({key:"collapsedSidebar",get:({get:e})=>e(exports.appSessionStore).collapsedSidebar,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{collapsedSidebar:o}))}}),exports.isSidebarOpenedSelector=(0,recoil_1.selector)({key:"isSidebarOpened",get:({get:e})=>e(exports.appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))}}),exports.activeMimeNameSelector=(0,recoil_1.selector)({key:"activeMimeName",get:({get:e})=>e(exports.appStore).activeMimeName,set:({set:e,get:t},o)=>{const s=t(exports.appStore);e(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))}}),exports.appLocalStore=(0,recoil_1.atom)({key:"appLocalStore",default:{layout:theme_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromLocalStorage)("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appLocalStore"):(0,utils_1.toLocalStorage)("appLocalStore",JSON.stringify(e))}))}]}),exports.layoutSelector=(0,recoil_1.selector)({key:"layout",get:({get:e})=>e(exports.appLocalStore).layout,set:({set:e,get:t},o=theme_1.LayoutVariant.STACKED)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:o}))}}),exports.activeSampleLanguageSelector=(0,recoil_1.selector)({key:"activeSampleLanguage",get:({get:e})=>e(exports.appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const s=t(exports.appLocalStore);e(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))}}),exports.appSessionStore=(0,recoil_1.atom)({key:"appSessionStore",default:{activeVersionIdx:0,showRightPanelToggle:!0,collapsedSidebar:!1},effects:[({onSet:e,setSelf:t})=>{const o=(0,utils_1.fromSessionStorage)("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof recoil_1.DefaultValue?utils_1.IS_BROWSER&&localStorage.removeItem("appSessionStore"):(0,utils_1.toSessionStorage)("appSessionStore",JSON.stringify(e))}))}]}),exports.showRightPanelToggleSelector=(0,recoil_1.selector)({key:"showRightPanelToggle",get:({get:e})=>e(exports.appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))}}),exports.activeVersionIdxSelector=(0,recoil_1.selector)({key:"activeVersionIdx",get:({get:e})=>e(exports.appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const s=t(exports.appSessionStore);e(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))}});
2
2
  //# sourceMappingURL=app.js.map
@@ -13,7 +13,6 @@ export declare class OpenAPIParser {
13
13
  private readonly allowMergeRefs;
14
14
  constructor(definition: OpenAPIDefinition, definitionUrl?: string, options?: Options);
15
15
  validate(spec: GenericObject): void;
16
- preprocess(spec: OpenAPIDefinition): void;
17
16
  /**
18
17
  * get spec part by JsonPointer ($ref)
19
18
  */
@@ -1,2 +1,2 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(i=Object.getOwnPropertySymbols(e);s<i.length;s++)t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}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=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let s=this.byRef(e.$ref);if(!s)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let n=t;if(t.includes(e.$ref))s=Object.assign({},s,{"x-circular-ref":!0});else if(this.isRef(s)){const e=this.deref(s,t,r);n=e.refsStack,s=e.resolved}return n=pushRef(t,e.$ref),s=this.allowMergeRefs?this.mergeRefs(e,s,r):s,{resolved:s,refsStack:n}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,s=__rest(e,["$ref"]),n=Object.keys(s);if(0===n.length)return t;if(r&&n.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=s,{description:r,title:i,readOnly:n,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:n,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),s)}mergeAllOf(e,t,r,i=""){var s;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let n=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});void 0!==n.properties&&"object"==typeof n.properties&&(n.properties=Object.assign({},n.properties)),void 0!==n.items&&"object"==typeof n.items&&(n.items=Object.assign({},n.items));const o=e.allOf.map(((e,t)=>{var s;const{resolved:o,refsStack:a}=this.deref(e,r,!0),f=e.$ref,l=f||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,f,a,l);if(!c["x-circular-ref"]||!c.allOf)return f&&(null===(s=n["x-parentRefs"])||void 0===s||s.push(...c["x-parentRefs"]||[],f)),{$ref:f,refsStack:pushRef(a,f),schema:c,absolutePointer:l}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:f,properties:l,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":m}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(n.type===o||void 0===n.type||void 0===o){if(void 0!==o&&(Array.isArray(o)&&Array.isArray(n.type)?n.type=[...o,...n.type]:n.type=o),void 0!==f&&(Array.isArray(f)&&Array.isArray(n.enum)?n.enum=Array.from(new Set([...f,...n.enum])):n.enum=f),void 0!==l&&"object"==typeof l){n.properties=n.properties||{};for(const r in l){const o=concatRefStacks(i,null===(s=l[r])||void 0===s?void 0:s["x-refsStack"]);if(n.properties[r]){if(!m){const i=this.mergeAllOf({allOf:[n.properties[r],l[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));n.properties[r]=i}}else n.properties[r]=Object.assign(Object.assign({},l[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!m){const e="boolean"==typeof n.items?{}:Object.assign({},n.items),s="boolean"==typeof r.items?{}:Object.assign({},r.items);n.items=this.mergeAllOf({allOf:[e,s]},t+"/items",i)}void 0!==b&&(n.oneOf=b),void 0!==h&&(n.anyOf=h),void 0!==p&&(n.required=[...n.required||[],...p]),n=Object.assign(Object.assign(Object.assign({},n),{title:n.title||d,description:n.description||O,readOnly:void 0!==n.readOnly?n.readOnly:u,writeOnly:void 0!==n.writeOnly?n.writeOnly:y,"x-circular-ref":n["x-circular-ref"]||m}),v)}}return n}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:s}=this.deref(r[i]);void 0!==s.allOf&&s.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[s["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),s=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...s]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let s=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:s}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:a}=this.deref(e,r,!0),l=e.$ref,f=l||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,l,a,f);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(a,l),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:l,properties:f,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":m}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||void 0===s.type||void 0===o){if(void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==l&&(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const r in f){const o=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!m){const i=this.mergeAllOf({allOf:[s.properties[r],f[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!m){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}void 0!==b&&(s.oneOf=b),void 0!==h&&(s.anyOf=h),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:u,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||m}),v)}}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),n=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...n]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
2
2
  //# sourceMappingURL=OpenAPIParser.js.map