@redocly/openapi-docs 3.0.0-alpha.49 → 3.0.0-alpha.51

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 (56) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +78 -78
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +1489 -1191
  4. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  5. package/lib/components/ApiInfo/Metadata.d.ts +7 -0
  6. package/lib/components/ApiInfo/Metadata.js +2 -0
  7. package/lib/components/Endpoint/Endpoint.js +1 -1
  8. package/lib/components/Fields/DescriptionEnums.js +1 -1
  9. package/lib/components/OperationItem/OperationItem.js +1 -1
  10. package/lib/components/Panel/MiddlePanelWrapper.js +4 -0
  11. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  12. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  13. package/lib/components/common/Dropdown/styled.js +5 -5
  14. package/lib/components/common/Fields/fields-layout.js +2 -1
  15. package/lib/components/common/panels.js +7 -0
  16. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  17. package/lib/components/shared/MimeLabel.js +2 -2
  18. package/lib/events/index.d.ts +2 -1
  19. package/lib/events/index.js +1 -1
  20. package/lib/events/panelToggle.d.ts +1 -1
  21. package/lib/events/panelToggle.js +1 -1
  22. package/lib/events/serverSwitch.d.ts +2 -0
  23. package/lib/events/serverSwitch.js +2 -0
  24. package/lib/events/types.d.ts +11 -2
  25. package/lib/events/types.js +1 -1
  26. package/lib/services/Options/normalizeOptions.js +1 -1
  27. package/lib/services/Options/types.d.ts +2 -0
  28. package/lib/utils/typeGuards.d.ts +1 -0
  29. package/lib/utils/typeGuards.js +1 -1
  30. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  31. package/lib-esm/components/ApiInfo/Metadata.d.ts +7 -0
  32. package/lib-esm/components/ApiInfo/Metadata.js +2 -0
  33. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  34. package/lib-esm/components/Fields/DescriptionEnums.js +1 -1
  35. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  36. package/lib-esm/components/Panel/MiddlePanelWrapper.js +4 -0
  37. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  38. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  39. package/lib-esm/components/common/Dropdown/styled.js +5 -5
  40. package/lib-esm/components/common/Fields/fields-layout.js +2 -1
  41. package/lib-esm/components/common/panels.js +7 -0
  42. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  43. package/lib-esm/components/shared/MimeLabel.js +1 -1
  44. package/lib-esm/events/index.d.ts +2 -1
  45. package/lib-esm/events/index.js +1 -1
  46. package/lib-esm/events/panelToggle.d.ts +1 -1
  47. package/lib-esm/events/panelToggle.js +1 -1
  48. package/lib-esm/events/serverSwitch.d.ts +2 -0
  49. package/lib-esm/events/serverSwitch.js +2 -0
  50. package/lib-esm/events/types.d.ts +11 -2
  51. package/lib-esm/events/types.js +1 -1
  52. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  53. package/lib-esm/services/Options/types.d.ts +2 -0
  54. package/lib-esm/utils/typeGuards.d.ts +1 -0
  55. package/lib-esm/utils/typeGuards.js +1 -1
  56. package/package.json +12 -12
@@ -26,15 +26,15 @@ import styled,{css}from"styled-components";import{Dropdown as DropdownComponent}
26
26
  height: 36px;
27
27
  outline: none;
28
28
  display: inline-block;
29
- color: var(--dropdown-text-color);
29
+ color: var(--docs-dropdown-text-color);
30
30
  border-radius: var(--border-radius);
31
- border: var(--dropdown-border);
32
- padding: var(--dropdown-padding);
31
+ border: var(--docs-dropdown-border);
32
+ padding: var(--docs-dropdown-padding);
33
33
  vertical-align: bottom;
34
34
  width: ${({fullWidth:o})=>o?"100%":"auto"};
35
35
  text-transform: none;
36
36
  line-height: inherit;
37
- font-size: var(--dropdown-font-size);
37
+ font-size: var(--docs-dropdown-font-size);
38
38
  font-family: inherit;
39
39
  text-overflow: ellipsis;
40
40
  overflow: hidden;
@@ -65,7 +65,7 @@ import styled,{css}from"styled-components";import{Dropdown as DropdownComponent}
65
65
  line-height: inherit;
66
66
  font-size: 14px;
67
67
  font-family: inherit;
68
- padding: var(--dropdown-padding);
68
+ padding: var(--docs-dropdown-padding);
69
69
  ${({variant:o})=>"dark"===o?darkDropdownStyle:""};
70
70
  }
71
71
  `;export const SimpleDropdown=styled(Dropdown)`
@@ -163,13 +163,14 @@ import styled,{css}from"styled-components";import{typography}from"../../../utils
163
163
  > tr,
164
164
  > tbody > tr {
165
165
  display: block;
166
- margin-bottom: 2px;
166
+ margin-bottom: 10px;
167
167
  border-spacing: 0;
168
168
 
169
169
  ${({theme:e})=>e.mediaQueries.small} {
170
170
  display: table-row;
171
171
  margin-bottom: 0;
172
172
  border-spacing: 0 2px;
173
+ margin-bottom: 0;
173
174
  }
174
175
  }
175
176
 
@@ -1,5 +1,8 @@
1
1
  import{H2,LayoutVariant}from"@redocly/theme";import styled,{css}from"styled-components";import{SECTION_ATTR}from"../../constants";export const SamplesMiddlePanel=styled.div`
2
2
  ${({compact:a,isStacked:t,theme:e})=>{const i=a?0:"var(--spacing-vertical)";return css`
3
+ &:empty {
4
+ display: none;
5
+ }
3
6
  width: 100%;
4
7
  padding: ${i} var(--panel-gap-horizontal);
5
8
 
@@ -61,6 +64,10 @@ import{H2,LayoutVariant}from"@redocly/theme";import styled,{css}from"styled-comp
61
64
  position: sticky;
62
65
  top: calc(var(--navbar-height) + var(--panel-gap-vertical));
63
66
 
67
+ &:empty {
68
+ display: none;
69
+ }
70
+
64
71
  ${({theme:a})=>css`
65
72
  ${a.mediaQueries[a.showAtBreakpoint.samplesPanel]} {
66
73
  width: var(--panel-samples-width);
@@ -1,4 +1,4 @@
1
- import React,{memo,useState}from"react";import styled from"styled-components";import{useMount}from"@redocly/theme";import{fromSessionStorage,normalizeText,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{TryItDropdown}from"../styled";function ServersDropdownComponent({operation:e,onChange:r}){const t=fromSessionStorage("serverUrl"),a=e.servers.findIndex((e=>e.url===t)),[o,s]=useState(a<0?0:a),[n,l]=useState({});useMount((()=>{const t=getServerWithVariables(e.servers,o);r(t),l(t.variables)}));const i=e.servers.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${expandDefaultServerVariables(expandVariables(e.url,n),e.variables)}\n - ${normalizeText(e.description)||"Default"}\n `}))),m=Object.keys(n);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(TryItDropdown,{variant:"dark",value:i[o].value,options:i,fullWidth:!0,onChange:t=>{const a=e.servers.find((e=>e.url===t.serverUrl)),o=e.servers.findIndex((e=>e.url===t.serverUrl)),n=getDefaultOrStoredVariables(a);r({url:t.serverUrl||"",variables:n}),toSessionStorage("serverUrl",t.serverUrl||""),s(o),l(n)}})),null==m?void 0:m.map((t=>{var a;const s=null===(a=e.servers[o].variables)||void 0===a?void 0:a[t];if(s)return React.createElement(ServerVariable,{key:t,name:t,value:n[t],defaultValue:s.default,onChange:a=>((t,a)=>{const s=e.servers[o],i=a||""===a?a:getDefaultOrStoredVariables(s)[t],m=Object.assign(Object.assign({},n),{[t]:i});l(m),updateVariablesStorage(t,i),r(Object.assign(Object.assign({},s),{variables:m}))})(t,a),variableEnum:s.enum,description:s.description})})))}export const ServersDropdown=memo(ServersDropdownComponent);const ServerDropdownWrap=styled.div`
1
+ import React,{memo,useState}from"react";import styled from"styled-components";import{useMount}from"@redocly/theme";import{useRecoilValue}from"recoil";import{globalOptionsSelector}from"../../../recoil/store";import{fromSessionStorage,normalizeText,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{TryItDropdown}from"../styled";import{createServerSwitchEvent}from"../../../events";function ServersDropdownComponent({operation:e,onChange:r}){const{events:t}=useRecoilValue(globalOptionsSelector),{servers:o}=e,a=fromSessionStorage("serverUrl"),l=o.findIndex((e=>e.url===a)),[n,s]=useState(l<0?0:l),[i,m]=useState({});useMount((()=>{const e=getServerWithVariables(o,n);r(e),m(e.variables)}));const c=o.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${expandDefaultServerVariables(expandVariables(e.url,i),e.variables)}\n - ${normalizeText(e.description)||"Default"}\n `}))),v=Object.keys(i);return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(TryItDropdown,{variant:"dark",value:c[n].value,options:c,fullWidth:!0,onChange:({serverUrl:a=""})=>{var l;const n=o.find((e=>e.url===a)),i=o.findIndex((e=>e.url===a)),c=getDefaultOrStoredVariables(n);r({url:a,variables:c}),toSessionStorage("serverUrl",a),s(i),m(c);const v=createServerSwitchEvent({operation:e,serverUrl:a});null===(l=t.targetServerSwitch)||void 0===l||l.call(t,v)}})),null==v?void 0:v.map((e=>{var t;const a=null===(t=o[n].variables)||void 0===t?void 0:t[e];if(a)return React.createElement(ServerVariable,{key:e,name:e,value:i[e],defaultValue:a.default,onChange:t=>((e,t)=>{const a=o[n],l=t||""===t?t:getDefaultOrStoredVariables(a)[e],s=Object.assign(Object.assign({},i),{[e]:l});m(s),updateVariablesStorage(e,l),r(Object.assign(Object.assign({},a),{variables:s}))})(e,t),variableEnum:a.enum,description:a.description})})))}export const ServersDropdown=memo(ServersDropdownComponent);const ServerDropdownWrap=styled.div`
2
2
  margin-bottom: 20px;
3
3
  `;
4
4
  //# sourceMappingURL=ServersDropdown.js.map
@@ -4,7 +4,7 @@ import styled from"styled-components";export const MimeLabel=styled.div`
4
4
  font-family: var(--code-font-family);
5
5
  margin-bottom: 0;
6
6
  height: 36px;
7
- padding: var(--dropdown-padding);
7
+ padding: var(--docs-dropdown-padding);
8
8
  font-size: 14px;
9
9
  line-height: 16px;
10
10
  border: var(--panel-samples-dropdown-border);
@@ -1,5 +1,6 @@
1
1
  export type { Events } from './types';
2
2
  export { AnalyticsEventType } from './types';
3
3
  export { createLanguageSwitchEvent } from './languageSwitch';
4
- export { creatPanelToggleEvent } from './panelToggle';
4
+ export { createPanelToggleEvent } from './panelToggle';
5
5
  export { createCodeSampleCopyEvent } from './codeSampleCopy';
6
+ export { createServerSwitchEvent } from './serverSwitch';
@@ -1,2 +1,2 @@
1
- export{AnalyticsEventType}from"./types";export{createLanguageSwitchEvent}from"./languageSwitch";export{creatPanelToggleEvent}from"./panelToggle";export{createCodeSampleCopyEvent}from"./codeSampleCopy";
1
+ export{AnalyticsEventType}from"./types";export{createLanguageSwitchEvent}from"./languageSwitch";export{createPanelToggleEvent}from"./panelToggle";export{createCodeSampleCopyEvent}from"./codeSampleCopy";export{createServerSwitchEvent}from"./serverSwitch";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  import type { PanelToggleEvent, PanelToggleProps } from './types';
2
- export declare const creatPanelToggleEvent: ({ operation, isExpanded, panelType, }: PanelToggleProps) => PanelToggleEvent;
2
+ export declare const createPanelToggleEvent: ({ operation, isExpanded, panelType, }: PanelToggleProps) => PanelToggleEvent;
@@ -1,2 +1,2 @@
1
- import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const panelToggleEvent=createTrackingEvent(AnalyticsEventType.PanelToggle);export const creatPanelToggleEvent=({operation:e,isExpanded:t,panelType:a})=>panelToggleEvent({resource:"Redocly_Operation",action:"PanelToggled",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,panelType:a,state:t?"expanded":"collapsed"});
1
+ import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const panelToggleEvent=createTrackingEvent(AnalyticsEventType.PanelToggle);export const createPanelToggleEvent=({operation:e,isExpanded:t,panelType:a})=>panelToggleEvent({resource:"Redocly_Operation",action:"PanelToggled",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,panelType:a,state:t?"expanded":"collapsed"});
2
2
  //# sourceMappingURL=panelToggle.js.map
@@ -0,0 +1,2 @@
1
+ import type { TargetServerSwitchedEvent, TargetServerSwitchProps } from './types';
2
+ export declare const createServerSwitchEvent: ({ operation, serverUrl, }: TargetServerSwitchProps) => TargetServerSwitchedEvent;
@@ -0,0 +1,2 @@
1
+ import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const targetServerSwitchEvent=createTrackingEvent(AnalyticsEventType.TargetServerSwitched);export const createServerSwitchEvent=({operation:e,serverUrl:r})=>targetServerSwitchEvent({resource:"Redocly_OperationTryIt",action:"TargetServerSwitched",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,serverUrl:r});
2
+ //# sourceMappingURL=serverSwitch.js.map
@@ -15,18 +15,23 @@ export interface CodeSampleCopyProps {
15
15
  type: 'request' | 'response';
16
16
  exampleId?: string;
17
17
  }
18
+ export interface TargetServerSwitchProps {
19
+ operation: OperationModel;
20
+ serverUrl: string;
21
+ }
18
22
  export declare enum AnalyticsEventType {
19
23
  CodeSampleLanguageSwitched = "CodeSampleLanguageSwitched",
20
24
  CodeSampleCopied = "CodeSampleCopied",
21
25
  OperationServerExpanded = "OperationServerExpanded",
22
26
  PanelToggle = "PanelToggle",
23
27
  TryItOpen = "TryItOpen",
24
- TryItSent = "TryItSent"
28
+ TryItSent = "TryItSent",
29
+ TargetServerSwitched = "TargetServerSwitched"
25
30
  }
26
31
  export interface AnalyticsEvent {
27
32
  eventType: AnalyticsEventType;
28
33
  resource: 'Redocly_CodeSample' | 'Redocly_Operation' | 'Redocly_OperationTryIt';
29
- action: 'LanguageSwitched' | 'PanelToggled' | 'Opened' | 'NavigatedOverrideLink' | 'Sent' | 'ValidationFailed' | 'CodeSampleCopied';
34
+ action: 'LanguageSwitched' | 'PanelToggled' | 'Opened' | 'NavigatedOverrideLink' | 'Sent' | 'ValidationFailed' | 'CodeSampleCopied' | 'TargetServerSwitched';
30
35
  operationId?: string;
31
36
  operationPath: string;
32
37
  operationHttpVerb: string;
@@ -53,11 +58,15 @@ export interface PanelToggleEvent extends AnalyticsEvent {
53
58
  operationHttpVerb: string;
54
59
  operationSummary?: string | GenericObject;
55
60
  }
61
+ export interface TargetServerSwitchedEvent extends AnalyticsEvent {
62
+ serverUrl: string;
63
+ }
56
64
  export type Events = {
57
65
  codeSamplesLanguageSwitch?: (event: CodeSamplesLanguageSwitchedEvent) => void;
58
66
  codeSamplesCopy?: (event: CodeSamplesCopiedEvent) => void;
59
67
  tryItOpen?: (event: TryItOpenedEvent) => void;
60
68
  tryItSent?: (event: TryItOpenedEvent) => void;
61
69
  panelToggle?: (event: PanelToggleEvent) => void;
70
+ targetServerSwitch?: (event: TargetServerSwitchedEvent) => void;
62
71
  };
63
72
  export {};
@@ -1,2 +1,2 @@
1
- export var AnalyticsEventType;!function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent"}(AnalyticsEventType||(AnalyticsEventType={}));
1
+ export var AnalyticsEventType;!function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent",e.TargetServerSwitched="TargetServerSwitched"}(AnalyticsEventType||(AnalyticsEventType={}));
2
2
  //# sourceMappingURL=types.js.map
@@ -1,2 +1,2 @@
1
- import{generateMediaQueries,LayoutVariant}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined,normalizePath}from"../../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none",infoLabel:null==e?void 0:e.infoLabel};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
1
+ import{generateMediaQueries,LayoutVariant}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined,normalizePath}from"../../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none",infoLabel:null==e?void 0:e.infoLabel,showMetadata:argValueToBoolean(null==e?void 0:e.showMetadata,!1)};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
2
2
  //# sourceMappingURL=normalizeOptions.js.map
@@ -132,6 +132,7 @@ export interface RawOptions {
132
132
  enableRouter?: boolean;
133
133
  feedback?: Record<string, any>;
134
134
  infoLabel?: string;
135
+ showMetadata?: boolean;
135
136
  }
136
137
  export interface DefaultOptions {
137
138
  mediaQueries?: MediaQueries;
@@ -272,4 +273,5 @@ export interface Options {
272
273
  searchMaxDepth: number;
273
274
  feedback: Record<string, any>;
274
275
  infoLabel?: string;
276
+ showMetadata: boolean;
275
277
  }
@@ -1,3 +1,4 @@
1
1
  export declare function isUndefined<T>(value: T | undefined): value is undefined;
2
2
  export declare function isNull<T>(value: T | null): value is null;
3
3
  export declare function isString<T>(value: T | string): value is string;
4
+ export declare function isNotNull<T>(value: T): value is NonNullable<T>;
@@ -1,2 +1,2 @@
1
- export function isUndefined(n){return void 0===n}export function isNull(n){return null===n}export function isString(n){return"string"==typeof n}
1
+ export function isUndefined(n){return void 0===n}export function isNull(n){return null===n}export function isString(n){return"string"==typeof n}export function isNotNull(n){return!isNull(n)}
2
2
  //# sourceMappingURL=typeGuards.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.49",
3
+ "version": "3.0.0-alpha.51",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@markdoc/markdoc": "0.2.2",
26
- "@redocly/openapi-core": "^1.0.0-beta.123",
26
+ "@redocly/openapi-core": "^1.0.0-beta.131",
27
27
  "@redocly/vscode-json-languageservice": "3.4.9",
28
28
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
29
29
  "codemirror": "^5.65.0",
@@ -42,8 +42,6 @@
42
42
  "mkdirp": "^0.5.1",
43
43
  "openapi-sampler": "^1.3.0",
44
44
  "path-browserify": "^1.0.1",
45
- "url": "~0.11.0",
46
- "util": "~0.12.5",
47
45
  "perfect-scrollbar": "^1.5.5",
48
46
  "prismjs": "^1.22.0",
49
47
  "query-string": "^6.13.6",
@@ -60,22 +58,18 @@
60
58
  "swagger-client": "^3.13.3",
61
59
  "swagger2openapi": "^7.0.8",
62
60
  "tslib": "^2.2.0",
61
+ "url": "~0.11.0",
63
62
  "url-template": "^2.0.8",
63
+ "util": "~0.12.5",
64
64
  "yargs": "^17.3.0"
65
65
  },
66
66
  "devDependencies": {
67
- "react": "^17.0.2",
68
- "react-dom": "^17.0.2",
69
- "react-is": "^17.0.2",
70
67
  "@percy/cli": "^1.10.3",
71
68
  "@percy/cypress": "^3.1.1",
72
- "styled-components": "^5.3.9",
73
69
  "@testing-library/jest-dom": "^5.16.5",
74
- "@types/testing-library__jest-dom": "^5.14.5",
75
70
  "@testing-library/react": "^12.1.4",
76
71
  "@testing-library/react-hooks": "^8.0.1",
77
72
  "@testing-library/user-event": "^13.5.0",
78
- "@types/markdown-it": "*",
79
73
  "@types/codemirror": "0.0.88",
80
74
  "@types/dompurify": "^2.0.2",
81
75
  "@types/enzyme-to-json": "^1.5.3",
@@ -83,12 +77,14 @@
83
77
  "@types/jest-when": "^3.5.2",
84
78
  "@types/json-pointer": "^1.0.30",
85
79
  "@types/mark.js": "^8.11.5",
80
+ "@types/markdown-it": "*",
86
81
  "@types/node": "^18.11.18",
87
82
  "@types/prismjs": "^1.16.1",
88
83
  "@types/react": "^17.0.43",
89
84
  "@types/react-dom": "^17.0.11",
90
85
  "@types/react-tabs": "^2.3.2",
91
86
  "@types/styled-components": "^5.1.9",
87
+ "@types/testing-library__jest-dom": "^5.14.5",
92
88
  "@types/webpack": "^4.41.9",
93
89
  "@types/webpack-env": "^1.14.1",
94
90
  "compare-versions": "^5.0.1",
@@ -103,11 +99,16 @@
103
99
  "jest-environment-jsdom": "^29.3.0",
104
100
  "jest-styled-components": "^7.1.1",
105
101
  "jest-when": "^3.5.2",
102
+ "js-yaml": "4.1.0",
106
103
  "json-schema": "^0.4.0",
107
104
  "outdent": "^0.8.0",
105
+ "react": "^17.0.2",
106
+ "react-dom": "^17.0.2",
108
107
  "react-hot-loader": "^4.12.18",
108
+ "react-is": "^17.0.2",
109
109
  "string-replace-loader": "^3.1.0",
110
110
  "style-loader": "^1.0.1",
111
+ "styled-components": "^5.3.9",
111
112
  "terser": "^5.6.1",
112
113
  "ts-jest": "^29.0.3",
113
114
  "ts-node": "^10.9.1",
@@ -118,8 +119,7 @@
118
119
  "webpack-cli": "^4.9.1",
119
120
  "webpack-dev-server": "^4.9.3",
120
121
  "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
121
- "js-yaml": "4.1.0",
122
- "@redocly/theme": "0.17.1"
122
+ "@redocly/theme": "0.18.1"
123
123
  },
124
124
  "scripts": {
125
125
  "start": "webpack serve --mode=development --hot",