@redocly/openapi-docs 3.0.0-alpha.56 → 3.0.0-alpha.56.patch.1

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 (108) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +102 -108
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +5630 -4853
  4. package/lib/components/Callbacks/CallbackSummary.js +1 -1
  5. package/lib/components/Download/DownloadButtonWithLabel.js +6 -14
  6. package/lib/components/DropdownOrLabel/DropdownOrLabel.js +3 -3
  7. package/lib/components/Endpoint/Summary.js +1 -1
  8. package/lib/components/Endpoint/styled.js +2 -2
  9. package/lib/components/Fields/FieldDetails.js +1 -1
  10. package/lib/components/NextSectionButton/NextSectionButton.js +1 -1
  11. package/lib/components/Panel/CodeHeader.js +5 -2
  12. package/lib/components/Panel/CodePanel.js +1 -5
  13. package/lib/components/Parameters/BodyContent.d.ts +1 -0
  14. package/lib/components/Parameters/BodyContent.js +1 -1
  15. package/lib/components/Parameters/DropdownWithinHeader.d.ts +4 -1
  16. package/lib/components/Parameters/DropdownWithinHeader.js +6 -1
  17. package/lib/components/Parameters/Parameters.js +1 -1
  18. package/lib/components/Parameters/ParametersGroup.js +1 -1
  19. package/lib/components/RedoclyOpenAPIDocs/styled.js +2 -2
  20. package/lib/components/Search/styled.js +3 -1
  21. package/lib/components/SecurityRequirement/RequirementElement.js +1 -1
  22. package/lib/components/SecurityRequirement/SecurityRequirement.js +1 -1
  23. package/lib/components/SideMenu/MenuItem.js +1 -1
  24. package/lib/components/SideMenu/MenuOperationItemContent.js +1 -1
  25. package/lib/components/SourceCodeWithFile/SourceCodeWithFile.js +1 -1
  26. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  27. package/lib/components/Tabs/CollapsingTabs/CollapsingTabList.js +10 -2
  28. package/lib/components/Tabs/Tab.js +8 -12
  29. package/lib/components/common/CheckboxList.js +3 -3
  30. package/lib/components/common/Dropdown/Dropdown.js +3 -3
  31. package/lib/components/common/Dropdown/styled.js +11 -23
  32. package/lib/components/common/Dropdown/types.d.ts +0 -1
  33. package/lib/components/common/Fields/fields-layout.js +3 -3
  34. package/lib/components/common/Fields/fields.d.ts +1 -0
  35. package/lib/components/common/Fields/fields.js +11 -7
  36. package/lib/components/common/form.js +4 -4
  37. package/lib/components/common/headers.js +1 -1
  38. package/lib/components/common/panels.js +1 -1
  39. package/lib/components/icons/LinkIcon.js +1 -1
  40. package/lib/components/pluggable/RedocRequestBody.js +1 -1
  41. package/lib/components/pluggable/styled.components.js +1 -0
  42. package/lib/components/rightPanel/ActionPanel.js +1 -1
  43. package/lib/components/rightPanel/CodemirrorInput/styled.js +14 -10
  44. package/lib/components/rightPanel/ConsoleTabs/styled.js +6 -16
  45. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  46. package/lib/components/rightPanel/ParameterArray.js +1 -1
  47. package/lib/components/rightPanel/ResponsePanel.js +1 -1
  48. package/lib/components/rightPanel/TryItPanel.js +3 -3
  49. package/lib/components/rightPanel/styled.js +3 -4
  50. package/lib/components/shared/HttpVerb.d.ts +2 -6
  51. package/lib/components/shared/HttpVerb.js +2 -3
  52. package/lib/components/shared/MimeLabel.js +4 -5
  53. package/lib/components/shared/NoSampleLabel.js +1 -1
  54. package/lib/models/request.js +1 -1
  55. package/lib/models/types.d.ts +1 -1
  56. package/lib-esm/components/Callbacks/CallbackSummary.js +1 -1
  57. package/lib-esm/components/Download/DownloadButtonWithLabel.js +6 -14
  58. package/lib-esm/components/DropdownOrLabel/DropdownOrLabel.js +1 -1
  59. package/lib-esm/components/Endpoint/Summary.js +1 -1
  60. package/lib-esm/components/Endpoint/styled.js +2 -2
  61. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  62. package/lib-esm/components/NextSectionButton/NextSectionButton.js +1 -1
  63. package/lib-esm/components/Panel/CodeHeader.js +5 -2
  64. package/lib-esm/components/Panel/CodePanel.js +1 -5
  65. package/lib-esm/components/Parameters/BodyContent.d.ts +1 -0
  66. package/lib-esm/components/Parameters/BodyContent.js +1 -1
  67. package/lib-esm/components/Parameters/DropdownWithinHeader.d.ts +4 -1
  68. package/lib-esm/components/Parameters/DropdownWithinHeader.js +6 -1
  69. package/lib-esm/components/Parameters/Parameters.js +1 -1
  70. package/lib-esm/components/Parameters/ParametersGroup.js +1 -1
  71. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +2 -2
  72. package/lib-esm/components/Search/styled.js +3 -1
  73. package/lib-esm/components/SecurityRequirement/RequirementElement.js +1 -1
  74. package/lib-esm/components/SecurityRequirement/SecurityRequirement.js +1 -1
  75. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  76. package/lib-esm/components/SideMenu/MenuOperationItemContent.js +2 -2
  77. package/lib-esm/components/SourceCodeWithFile/SourceCodeWithFile.js +1 -1
  78. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +3 -3
  79. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabList.js +9 -1
  80. package/lib-esm/components/Tabs/Tab.js +7 -11
  81. package/lib-esm/components/common/CheckboxList.js +3 -3
  82. package/lib-esm/components/common/Dropdown/Dropdown.js +2 -2
  83. package/lib-esm/components/common/Dropdown/styled.js +10 -22
  84. package/lib-esm/components/common/Dropdown/types.d.ts +0 -1
  85. package/lib-esm/components/common/Fields/fields-layout.js +2 -2
  86. package/lib-esm/components/common/Fields/fields.d.ts +1 -0
  87. package/lib-esm/components/common/Fields/fields.js +8 -4
  88. package/lib-esm/components/common/form.js +4 -4
  89. package/lib-esm/components/common/headers.js +1 -1
  90. package/lib-esm/components/common/panels.js +1 -1
  91. package/lib-esm/components/icons/LinkIcon.js +1 -1
  92. package/lib-esm/components/pluggable/RedocRequestBody.js +1 -1
  93. package/lib-esm/components/pluggable/styled.components.js +1 -0
  94. package/lib-esm/components/rightPanel/ActionPanel.js +1 -1
  95. package/lib-esm/components/rightPanel/CodemirrorInput/styled.js +14 -10
  96. package/lib-esm/components/rightPanel/ConsoleTabs/styled.js +5 -15
  97. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  98. package/lib-esm/components/rightPanel/ParameterArray.js +1 -1
  99. package/lib-esm/components/rightPanel/ResponsePanel.js +2 -2
  100. package/lib-esm/components/rightPanel/TryItPanel.js +3 -3
  101. package/lib-esm/components/rightPanel/styled.js +3 -4
  102. package/lib-esm/components/shared/HttpVerb.d.ts +2 -6
  103. package/lib-esm/components/shared/HttpVerb.js +2 -3
  104. package/lib-esm/components/shared/MimeLabel.js +3 -4
  105. package/lib-esm/components/shared/NoSampleLabel.js +1 -1
  106. package/lib-esm/models/request.js +1 -1
  107. package/lib-esm/models/types.d.ts +1 -1
  108. package/package.json +4 -4
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,l){return new(o||(o=Promise))((function(n,r){function a(e){try{c(l.next(e))}catch(e){r(e)}}function i(e){try{c(l.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}c((l=l.apply(e,t||[])).next())}))};import React,{useEffect,useState}from"react";import{Button}from"@redocly/theme";import{useRecoilValue}from"recoil";import{ButtonsWrapper,PkceOptionsWrapper,PkceDetails}from"./styled";import{LinearProgress}from"../../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper}from"../../common/form";import{FormDropdown,FormTextField,TextField}from"../../common/TextField";import{Checkbox}from"../../common/Checkbox";import{OAuth2,deriveCodeChallenge}from"../../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../../utils";import{isEmptyObject,randString}from"../../../services/utils";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"../utils";import Scope from"../Scope";import{Error}from"./Error";import{globalOptionsSelector}from"../../../recoil/store";function requiredValidator(e){if(!e)return"Field is required"}export const OAuth2Flow=({usePkce:e,form:t,id:o,formApi:l,flow:n,tokenUrl:r,authCorsProxyUrl:a,tokenEndpointAuthMethod:i,server:c,scopes:u,authorizationUrl:d,defaultValues:s,clientId:m})=>{var p,h,f,v;const{oAuth2RedirectURI:g,routingBasePath:E}=useRecoilValue(globalOptionsSelector),[k,C]=useState(null),[R,F]=useState(!1),[S,y]=useState(!1),[O,b]=useState(void 0),[_,A]=useState(void 0),[x,W]=useState(void 0),P=(null===(h=null===(p=t.values)||void 0===p?void 0:p.auth)||void 0===h?void 0:h[o])||{},T=(null===(v=null===(f=t.errors)||void 0===f?void 0:f.auth)||void 0===v?void 0:v[o])||{},V=void 0!==O&&_!==x?{label:"sync",onClick:()=>{O&&A(x)}}:void 0;useEffect((()=>{if(e){const e=randString(43);deriveCodeChallenge(e).then((t=>{b(e),A(t),W(t)}))}}),[e]);const w=()=>{l.setValue(`auth.${o}.token`,"")};if(!d)return React.createElement(FormError,null,"No flow info");let z=fromSessionStorage(`auth.${o}.token`)||JSON.stringify(null==s?void 0:s.token);z=z?JSON.parse(z):"";const B=getSecurityDetailsOptions(o,"client_id"),U={field:`auth.${o}.client_id`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${o}.client_id`)||m||(null==s?void 0:s.client_id),initValue:fromSessionStorage(`auth.${o}.client_id`)||m||(null==s?void 0:s.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),B?React.createElement(FormDropdown,Object.assign({},U,{options:B})):React.createElement(FormTextField,Object.assign({},U,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===n&&React.createElement(React.Fragment,null,(!(null==e?void 0:e.hideClientSecretInput)||!e)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:`auth.${o}.client_secret`,initialValue:fromSessionStorage(`auth.${o}.client_secret`)||(null==s?void 0:s.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),e&&!e.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:S,onChange:()=>{y((e=>!e))},"data-cy":"pkce-options-toggle"}),S&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:O,onChange:({target:{value:e}})=>__awaiter(void 0,void 0,void 0,(function*(){const t=yield deriveCodeChallenge(e);b(e),W(t)})),panel:"try-it","data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:_,onChange:({target:{value:e}})=>{A(e)},inputActionButton:V,panel:"try-it","data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:`auth.${o}.token`,type:"hidden",initialValue:z,panel:"try-it"}),React.createElement(Scope,{id:o,scopes:u}),P.token&&P.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:P.token.access_token,panel:"try-it"})):null),React.createElement(ButtonsWrapper,null,P.token&&P.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:()=>{w(),C(null)}},"Log out"):R?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:()=>{F(!1),C(null),OAuth2.clearRedirectData(n)}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,color:"secondary",disabled:!isEmptyObject(T),onClick:()=>{(t=>{if(!t)return;if(l.validate(),!isEmptyObject(T))return;F(!0),C(null);const u=a?a+normalizeUrlProtocol(t):t,d=a&&r?a+normalizeUrlProtocol(r):r,s=l.getValue(`auth.${o}.scopes`),m={authorizationUrl:u.startsWith("http")?u:c+u,clientId:P.client_id,scopes:s,redirectUri:g,routingBasePath:E,successCallback:e=>{l.setValue(`auth.${o}.token`,e),F(!1),C(null)},errorCallback:e=>{F(!1),C((null==e?void 0:e.message)||"Failed to retrieve the access token")}};"implicit"===n&&OAuth2.authorizeImplicit(m),validateTokenEndpointMethod(i)?"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(Object.assign(Object.assign(Object.assign({},m),{tokenUrl:(null==d?void 0:d.startsWith("http"))?d:c+d,clientSecret:P.client_secret,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:i,clientId:P.client_id,clientSecret:P.client_secret})}),e&&{codeVerifier:O,codeChallenge:_})):console.log(`Unsupported token endpoint auth method: ${i}`)})(d)}},"Authorize")),R||k||!P.token||!P.token.access_token&&React.createElement(Error,{loading:R,error:k,token:P.token}))};
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,l){return new(o||(o=Promise))((function(n,r){function a(e){try{c(l.next(e))}catch(e){r(e)}}function i(e){try{c(l.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}c((l=l.apply(e,t||[])).next())}))};import React,{useEffect,useState}from"react";import{Button}from"@redocly/theme";import{useRecoilValue}from"recoil";import{ButtonsWrapper,PkceOptionsWrapper,PkceDetails}from"./styled";import{LinearProgress}from"../../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper}from"../../common/form";import{FormDropdown,FormTextField,TextField}from"../../common/TextField";import{Checkbox}from"../../common/Checkbox";import{OAuth2,deriveCodeChallenge}from"../../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../../utils";import{isEmptyObject,randString}from"../../../services/utils";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"../utils";import Scope from"../Scope";import{Error}from"./Error";import{globalOptionsSelector}from"../../../recoil/store";function requiredValidator(e){if(!e)return"Field is required"}export const OAuth2Flow=({usePkce:e,form:t,id:o,formApi:l,flow:n,tokenUrl:r,authCorsProxyUrl:a,tokenEndpointAuthMethod:i,server:c,scopes:u,authorizationUrl:d,defaultValues:s,clientId:m})=>{var p,h,f,v;const{oAuth2RedirectURI:g,routingBasePath:E}=useRecoilValue(globalOptionsSelector),[k,C]=useState(null),[R,F]=useState(!1),[S,y]=useState(!1),[O,b]=useState(void 0),[_,A]=useState(void 0),[x,W]=useState(void 0),P=(null===(h=null===(p=t.values)||void 0===p?void 0:p.auth)||void 0===h?void 0:h[o])||{},T=(null===(v=null===(f=t.errors)||void 0===f?void 0:f.auth)||void 0===v?void 0:v[o])||{},V=void 0!==O&&_!==x?{label:"sync",onClick:()=>{O&&A(x)}}:void 0;useEffect((()=>{if(e){const e=randString(43);deriveCodeChallenge(e).then((t=>{b(e),A(t),W(t)}))}}),[e]);const w=()=>{l.setValue(`auth.${o}.token`,"")};if(!d)return React.createElement(FormError,null,"No flow info");let z=fromSessionStorage(`auth.${o}.token`)||JSON.stringify(null==s?void 0:s.token);z=z?JSON.parse(z):"";const B=getSecurityDetailsOptions(o,"client_id"),U={field:`auth.${o}.client_id`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${o}.client_id`)||m||(null==s?void 0:s.client_id),initValue:fromSessionStorage(`auth.${o}.client_id`)||m||(null==s?void 0:s.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),B?React.createElement(FormDropdown,Object.assign({},U,{options:B})):React.createElement(FormTextField,Object.assign({},U,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===n&&React.createElement(React.Fragment,null,(!(null==e?void 0:e.hideClientSecretInput)||!e)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:`auth.${o}.client_secret`,initialValue:fromSessionStorage(`auth.${o}.client_secret`)||(null==s?void 0:s.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),e&&!e.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:S,onChange:()=>{y((e=>!e))},"data-cy":"pkce-options-toggle"}),S&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:O,onChange:({target:{value:e}})=>__awaiter(void 0,void 0,void 0,(function*(){const t=yield deriveCodeChallenge(e);b(e),W(t)})),panel:"try-it","data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:_,onChange:({target:{value:e}})=>{A(e)},inputActionButton:V,panel:"try-it","data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:`auth.${o}.token`,type:"hidden",initialValue:z,panel:"try-it"}),React.createElement(Scope,{id:o,scopes:u}),P.token&&P.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:P.token.access_token,panel:"try-it"})):null),React.createElement(ButtonsWrapper,null,P.token&&P.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:()=>{w(),C(null)}},"Log out"):R?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:()=>{F(!1),C(null),OAuth2.clearRedirectData(n)}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(T),onClick:()=>{(t=>{if(!t)return;if(l.validate(),!isEmptyObject(T))return;F(!0),C(null);const u=a?a+normalizeUrlProtocol(t):t,d=a&&r?a+normalizeUrlProtocol(r):r,s=l.getValue(`auth.${o}.scopes`),m={authorizationUrl:u.startsWith("http")?u:c+u,clientId:P.client_id,scopes:s,redirectUri:g,routingBasePath:E,successCallback:e=>{l.setValue(`auth.${o}.token`,e),F(!1),C(null)},errorCallback:e=>{F(!1),C((null==e?void 0:e.message)||"Failed to retrieve the access token")}};"implicit"===n&&OAuth2.authorizeImplicit(m),validateTokenEndpointMethod(i)?"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(Object.assign(Object.assign(Object.assign({},m),{tokenUrl:(null==d?void 0:d.startsWith("http"))?d:c+d,clientSecret:P.client_secret,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:i,clientId:P.client_id,clientSecret:P.client_secret})}),e&&{codeVerifier:O,codeChallenge:_})):console.log(`Unsupported token endpoint auth method: ${i}`)})(d)}},"Authorize")),R||k||!P.token||!P.token.access_token&&React.createElement(Error,{loading:R,error:k,token:P.token}))};
2
2
  //# sourceMappingURL=OAuth2Flow.js.map
@@ -14,7 +14,7 @@ import React from"react";import styled from"styled-components";import{FormLabel}
14
14
  span {
15
15
  cursor: pointer;
16
16
  margin-left: auto;
17
- color: var(--text-color-secondary);
17
+ color: var(--text-secondary);
18
18
  &:hover {
19
19
  color: #fff;
20
20
  }
@@ -5,7 +5,7 @@ import React from"react";import styled from"styled-components";import{ResponseBo
5
5
  margin-right: 20px;
6
6
  padding: 2px 0;
7
7
  text-align: center;
8
- color: var(--text-color-inverse);
8
+ color: var(--text-primary);
9
9
  `,ResponseBadge=styled(ResponseBadgeBase)`
10
10
  color: ${({code:e})=>e>=200&&e<300?"var(--response-success-text-color)":e>=300&&e<400?"var(--response-redirect-text-color)":e>400?"var(--response-error-text-color)":"var(--response-info-text-color)"};
11
11
  `,ErrorHeader=styled.header`
@@ -14,5 +14,5 @@ import React from"react";import styled from"styled-components";import{ResponseBo
14
14
  `,ErrorDetails=styled.code`
15
15
  border-left: 3px solid #ff4040;
16
16
  padding-left: 5px;
17
- `;export const ResponsePanel=({error:e,response:t,time:n})=>{const r=t||e&&e.response,s=r&&r.data&&r.data.length||0;let a;return a=s>1e6?(s/1e6).toFixed(2)+" MB":s>1e3?(s/1e3).toFixed(2)+" KB":s+" B",e&&!e.response||!r?React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,e&&e.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - The server couldn't send a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition")):r?React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),n,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),a)),React.createElement("div",null,React.createElement(ResponseHeadersList,{headers:r.headers}),React.createElement(ResponseBody,{response:r}))):React.createElement(React.Fragment,null,"Something went wrong")};
17
+ `;export const ResponsePanel=({error:e,response:t,time:n})=>{const r=t||e&&e.response,a=r&&r.data&&r.data.length||0;let s;return s=a>1e6?(a/1e6).toFixed(2)+" MB":a>1e3?(a/1e3).toFixed(2)+" KB":a+" B",e&&!e.response||!r?React.createElement(React.Fragment,null,React.createElement(ErrorHeader,null," Could not get any response "),React.createElement(ErrorDetails,null,e&&e.message||"Unknown error"),React.createElement("br",null),React.createElement(ErrorHeader,null," Why this might have happened:"),React.createElement("div",null," - CORS is misconfigured on the server"),React.createElement("div",null," - The server couldn't send a response"),React.createElement("div",null," - No internet access"),React.createElement("div",null," - Documentation issue - contact API owner"),React.createElement("div",null," - Misconfigured security definition")):r?React.createElement(React.Fragment,null,React.createElement(ResponseBadges,null,React.createElement(ResponseBadge,{code:r.status},React.createElement("span",null," Status: "),r.status," ",r.statusText),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Time: "),n,"ms"),React.createElement(ResponseBadgeBase,null,React.createElement("span",null," Size: "),s)),React.createElement("div",null,React.createElement(ResponseHeadersList,{headers:r.headers}),React.createElement(ResponseBody,{response:r}))):React.createElement(React.Fragment,null,"Something went wrong")};
18
18
  //# sourceMappingURL=ResponsePanel.js.map
@@ -1,13 +1,13 @@
1
- var __rest=this&&this.__rest||function(e,r){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)r.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(t[o[a]]=e[o[a]])}return t};import*as React from"react";import styled from"styled-components";import{PanelHeaderTitle,PanelHeader,Panel,PanelBody,ShelfIcon}from"@redocly/theme";import{Trigger}from"../Panel";import{CrossIcon,LockIcon}from"../icons";export function TryItPanel(e){var{header:r,error:t,success:o}=e,a=__rest(e,["header","error","success"]);return React.createElement(StyledTryItPanel,Object.assign({className:"panel-try-it-nested"},a,{header:({toggle:e,expanded:n=!1})=>React.createElement(PanelHeader,{onClick:e,expanded:n,"data-cy":a["data-cy"]},React.createElement(Trigger,null,React.createElement(PanelHeaderTitle,null,r),React.createElement(ShelfIcon,{direction:n?"down":"right"})),t&&React.createElement(CrossIcon,{size:"14px",color:"--color-error-500"})||null,o&&React.createElement(LockIcon,{size:"14px",color:"--color-success-500"})||null)}))}const StyledTryItPanel=styled(Panel)`
1
+ var __rest=this&&this.__rest||function(e,r){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)r.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(t[o[a]]=e[o[a]])}return t};import*as React from"react";import styled from"styled-components";import{PanelHeaderTitle,PanelHeader,Panel,PanelBody,ShelfIcon}from"@redocly/theme";import{Trigger}from"../Panel";import{CrossIcon,LockIcon}from"../icons";export function TryItPanel(e){var{header:r,error:t,success:o}=e,a=__rest(e,["header","error","success"]);return React.createElement(StyledTryItPanel,Object.assign({className:"panel-try-it-nested"},a,{header:({toggle:e,expanded:n=!1})=>React.createElement(PanelHeader,{onClick:e,expanded:n,"data-cy":a["data-cy"]},React.createElement(Trigger,null,React.createElement(PanelHeaderTitle,null,r),React.createElement(ShelfIcon,{direction:n?"down":"right"})),t&&React.createElement(CrossIcon,{size:"14px",color:"--color-error"})||null,o&&React.createElement(LockIcon,{size:"14px",color:"--color-success"})||null)}))}const StyledTryItPanel=styled(Panel)`
2
2
  ${PanelHeader} {
3
3
  border: 1px solid
4
- ${({error:e})=>e?"var(--color-error-300)":"var(--panel-try-it-nested-heading-border-color)"};
4
+ ${({error:e})=>e?"var(--color-error-border)":"var(--panel-try-it-nested-heading-border-color)"};
5
5
  padding: 10px;
6
6
  }
7
7
 
8
8
  ${PanelBody} {
9
9
  border: 1px solid
10
- ${({error:e})=>e?"var(--color-error-300)":"var(--panel-try-it-nested-body-border-color)"};
10
+ ${({error:e})=>e?"var(--color-error-border)":"var(--panel-try-it-nested-body-border-color)"};
11
11
  border-top: 0;
12
12
  }
13
13
  `;
@@ -41,8 +41,7 @@ import styled,{css,keyframes}from"styled-components";import{Dropdown}from"../com
41
41
  margin-bottom: 10px;
42
42
  ${({shaking:o})=>o&&shakeAnimation};
43
43
  > div:last-child {
44
- border-top-left-radius: 0;
45
- border-top-right-radius: 0;
44
+ border-radius: 0 0 var(--panel-border-radius) var(--panel-border-radius);
46
45
  }
47
46
  `;export const ConsoleBody=styled.div`
48
47
  flex: 1;
@@ -56,7 +55,7 @@ import styled,{css,keyframes}from"styled-components";import{Dropdown}from"../com
56
55
  cursor: pointer;
57
56
  font-size: 18px;
58
57
  font-weight: bold;
59
- color: var(--text-color-inverse);
58
+ color: var(--text-secondary);
60
59
  `;export const invertedInputStyles=css`
61
60
  border: none;
62
61
  outline: none;
@@ -70,7 +69,7 @@ import styled,{css,keyframes}from"styled-components";import{Dropdown}from"../com
70
69
 
71
70
  &::placeholder {
72
71
  opacity: 0.6;
73
- color: var(--text-color-inverse);
72
+ color: var(--text-secondary);
74
73
  }
75
74
 
76
75
  &:-webkit-autofill {
@@ -1,6 +1,2 @@
1
- export declare const HttpVerb: import("styled-components").StyledComponent<"span", any, {
2
- className: `operation-type ${string}`;
3
- 'data-component-name': string;
4
- } & {
5
- type: string;
6
- }, "className" | "data-component-name">;
1
+ import { Tag } from '@redocly/theme';
2
+ export declare const HttpVerb: import("styled-components").StyledComponent<typeof Tag, any, {}, never>;
@@ -1,5 +1,4 @@
1
- import styled from"styled-components";import{OperationBadge}from"@redocly/theme";export const HttpVerb=styled(OperationBadge)`
2
- display: inline-block;
3
- padding: 0 8px;
1
+ import styled from"styled-components";import{Tag}from"@redocly/theme";export const HttpVerb=styled(Tag)`
2
+ text-transform: uppercase;
4
3
  `;
5
4
  //# sourceMappingURL=HttpVerb.js.map
@@ -1,13 +1,12 @@
1
1
  import styled from"styled-components";export const MimeLabel=styled.div`
2
2
  background-color: var(--panel-samples-dropdown-background-color);
3
- color: var(---panel-samples-dropdown-color);
3
+ color: var(--panel-samples-text-color);
4
4
  font-family: var(--code-font-family);
5
5
  margin-bottom: 0;
6
6
  height: 36px;
7
7
  padding: var(--docs-dropdown-padding);
8
- font-size: 14px;
9
- line-height: 16px;
8
+ font-size: var(--font-size-base);
10
9
  border: var(--panel-samples-dropdown-border);
11
- border-radius: var(--border-radius);
10
+ border-radius: var(--panel-border-radius);
12
11
  `;
13
12
  //# sourceMappingURL=MimeLabel.js.map
@@ -4,7 +4,7 @@ import styled from"styled-components";export const NoSampleLabel=styled.div`
4
4
  `;export const WarnMessage=styled.div`
5
5
  font-size: 12px;
6
6
  padding-bottom: 10px;
7
- color: var(--color-warning-500);
7
+ color: var(--color-warning);
8
8
  font-family: var(--code-font-family);
9
9
  `;
10
10
  //# sourceMappingURL=NoSampleLabel.js.map
@@ -1,2 +1,2 @@
1
- import{getContentWithLegacyExamples,getValueFromMdParsedExtension,JsonPointer}from"../utils";import{getMediaContent}from"./mediaContent";export function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:n,operation:r}){const{resolved:i}=e.deref(t),s=getValueFromMdParsedExtension(i,"description")||"",a=!!i.required;let d;const p=!n,u=getContentWithLegacyExamples(i);return void 0!==u&&(d=getMediaContent({parser:e,info:u,isRequestType:p,options:o,data:{operation:r,type:"request",absolutePointer:t.$ref||JsonPointer.join(r.pointer,["requestBody"])}})),{description:s,required:a,content:d}}
1
+ import{getContentWithLegacyExamples,getValueFromMdParsedExtension,JsonPointer}from"../utils";import{getMediaContent}from"./mediaContent";export function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:n,operation:r}){const{resolved:i}=e.deref(t),s=getValueFromMdParsedExtension(i,"description")||"",a=i.required;let d;const p=!n,u=getContentWithLegacyExamples(i);return void 0!==u&&(d=getMediaContent({parser:e,info:u,isRequestType:p,options:o,data:{operation:r,type:"request",absolutePointer:t.$ref||JsonPointer.join(r.pointer,["requestBody"])}})),{description:s,required:a,content:d}}
2
2
  //# sourceMappingURL=request.js.map
@@ -33,7 +33,7 @@ export interface SecurityScheme {
33
33
  }
34
34
  export type RequestBodyModel = {
35
35
  description: string | GenericObject;
36
- required: boolean;
36
+ required?: boolean;
37
37
  content: MediaContentModel | undefined;
38
38
  };
39
39
  export type ExampleModel = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.56",
3
+ "version": "3.0.0-alpha.56.patch.1",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -15,7 +15,7 @@
15
15
  "openapi-docs": "bin.js"
16
16
  },
17
17
  "peerDependencies": {
18
- "@redocly/theme": ">=0.9.4",
18
+ "@redocly/theme": "0.18.3-patch.1",
19
19
  "core-js": "^3.1.4",
20
20
  "react": "^16.8.4 || ^17.0.0",
21
21
  "react-dom": "^16.8.4 || ^17.0.0",
@@ -64,6 +64,7 @@
64
64
  "yargs": "^17.3.0"
65
65
  },
66
66
  "devDependencies": {
67
+ "@redocly/theme": "0.18.3-patch.1",
67
68
  "@testing-library/jest-dom": "^5.16.5",
68
69
  "@testing-library/react": "^12.1.4",
69
70
  "@testing-library/react-hooks": "^8.0.1",
@@ -116,8 +117,7 @@
116
117
  "webpack": "^5.88.2",
117
118
  "webpack-cli": "^5.1.4",
118
119
  "webpack-dev-server": "^4.15.1",
119
- "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
120
- "@redocly/theme": "0.18.3"
120
+ "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist"
121
121
  },
122
122
  "scripts": {
123
123
  "start": "webpack serve --mode=development --hot",