@redocly/openapi-docs 3.0.0-alpha.50 → 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 (36) 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 +703 -689
  4. package/lib/components/Endpoint/Endpoint.js +1 -1
  5. package/lib/components/OperationItem/OperationItem.js +1 -1
  6. package/lib/components/Panel/MiddlePanelWrapper.js +4 -0
  7. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  8. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  9. package/lib/components/common/Fields/fields-layout.js +2 -1
  10. package/lib/components/common/panels.js +7 -0
  11. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  12. package/lib/events/index.d.ts +2 -1
  13. package/lib/events/index.js +1 -1
  14. package/lib/events/panelToggle.d.ts +1 -1
  15. package/lib/events/panelToggle.js +1 -1
  16. package/lib/events/serverSwitch.d.ts +2 -0
  17. package/lib/events/serverSwitch.js +2 -0
  18. package/lib/events/types.d.ts +11 -2
  19. package/lib/events/types.js +1 -1
  20. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  21. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  22. package/lib-esm/components/Panel/MiddlePanelWrapper.js +4 -0
  23. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  24. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  25. package/lib-esm/components/common/Fields/fields-layout.js +2 -1
  26. package/lib-esm/components/common/panels.js +7 -0
  27. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  28. package/lib-esm/events/index.d.ts +2 -1
  29. package/lib-esm/events/index.js +1 -1
  30. package/lib-esm/events/panelToggle.d.ts +1 -1
  31. package/lib-esm/events/panelToggle.js +1 -1
  32. package/lib-esm/events/serverSwitch.d.ts +2 -0
  33. package/lib-esm/events/serverSwitch.js +2 -0
  34. package/lib-esm/events/types.d.ts +11 -2
  35. package/lib-esm/events/types.js +1 -1
  36. package/package.json +11 -11
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Endpoint=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),Panel_1=require("../Panel"),Console_1=require("../rightPanel/Console"),events_1=require("../../events"),ServerList_1=require("./ServerList"),Summary_1=require("./Summary"),store_1=require("../../recoil/store"),Endpoint=({operation:e,hideHostname:t})=>{const[r,n]=(0,react_1.useState)(!1),a=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),o=()=>{var t,o;n(!r),null===(o=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===o||o.call(t,{eventType:events_1.AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return react_1.default.createElement(react_1.default.Fragment,null,r?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Console_1.Console,{operation:e,onClose:o})):react_1.default.createElement(Panel_1.CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:r})=>{const n=!!a.showConsole&&!e.hideTryItPanel;return react_1.default.createElement(Summary_1.Summary,{operation:e,expanded:r,toggle:t,showConsole:n,onToggleConsole:o,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},react_1.default.createElement(ServerList_1.ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};exports.Endpoint=Endpoint;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,a)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Endpoint=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),Panel_1=require("../Panel"),Console_1=require("../rightPanel/Console"),events_1=require("../../events"),ServerList_1=require("./ServerList"),Summary_1=require("./Summary"),store_1=require("../../recoil/store"),Endpoint=({operation:e,hideHostname:t})=>{const[r,n]=(0,react_1.useState)(!1),a=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),o=()=>{var t,o;const i=!r;n(i),i&&(null===(o=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===o||o.call(t,{eventType:events_1.AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}))};return react_1.default.createElement(react_1.default.Fragment,null,r?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Console_1.Console,{operation:e,onClose:o})):react_1.default.createElement(Panel_1.CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:r})=>{const n=!!a.showConsole&&!e.hideTryItPanel;return react_1.default.createElement(Summary_1.Summary,{operation:e,expanded:r,toggle:t,showConsole:n,onToggleConsole:o,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},react_1.default.createElement(ServerList_1.ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};exports.Endpoint=Endpoint;
2
2
  //# sourceMappingURL=Endpoint.js.map
@@ -8,5 +8,5 @@
8
8
  margin: calc(var(--spacing-unit) * 2) 0;
9
9
  `,Description=styled_components_1.default.div`
10
10
  margin-bottom: calc(var(--spacing-unit) * 4);
11
- `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var r,l,n;const o=(0,recoil_1.useRecoilValue)(app_1.layoutSelector),c=(0,recoil_1.useRecoilValue)(app_1.showRightPanelToggleSelector),{parser:i,options:s}=(0,recoil_1.useRecoilValue)(store_1.globalStoreSelector),{hooks:u,events:p,feedback:m,showWebhookVerb:d,pathInMiddlePanel:_,expandDefaultRequest:f,expandDefaultResponse:S}=s,E=(0,operation_1.getOperation)(i,e,t,s,a),{name:k,description:b,deprecated:v,externalDocs:y,isWebhook:h,httpVerb:R}=E,q=(0,recoil_1.useSetRecoilState)((0,operation_2.operationStore)(E.pointer)),O=o===theme_1.LayoutVariant.STACKED||!c;(0,theme_1.useMount)((()=>{q((e=>Object.assign(Object.assign({},e),{activeExampleName:E.activeExampleName,activeServer:E.activeServer})))}));const g=!(!b&&!y),P=(0,react_1.useCallback)((e=>t=>{var a;const r=(0,events_1.creatPanelToggleEvent)({operation:E,isExpanded:t,panelType:e});null===(a=null==p?void 0:p.panelToggle)||void 0===a||a.call(p,r)}),[p,E]);return react_1.default.createElement(OperationRow,{layout:o},react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==u?void 0:u.BeforeOperation),props:{operation:E}}),react_1.default.createElement(theme_1.H2,null,react_1.default.createElement(common_1.ShareLink,{to:a}),react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperationSummary||(null==u?void 0:u.BeforeOperationSummary),props:{operation:E}}),k,react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperationSummary||(null==u?void 0:u.AfterOperationSummary),props:{operation:E}}),v&&react_1.default.createElement(common_1.Badge,{deprecated:!0},"Deprecated"),h&&react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(common_1.Badge,null,"Webhook"),d&&R&&react_1.default.createElement(common_1.Badge,null,R.toUpperCase()))),_&&!h&&react_1.default.createElement(Endpoint_1.Endpoint,{operation:E}))),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},g&&react_1.default.createElement(Description,null,void 0!==b&&react_1.default.createElement(Markdown_1.Markdown,{source:b}),y&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:y}),Object.keys(E.extensions||{}).length?react_1.default.createElement(Fields_1.Extensions,{extensions:E.extensions}):null),react_1.default.createElement(SecurityRequirement_1.SecurityRequirements,{securities:E.security}),(null===(r=E.parameters)||void 0===r?void 0:r.length)||E.requestBody?react_1.default.createElement(Panel_1.ContentPanel,{header:(0,services_1.l)("request"),onToggle:P("request"),expanded:f,className:"panel-request-schemas"},react_1.default.createElement(Parameters_1.Parameters,{parameters:E.parameters,body:E.requestBody})):null),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},!_&&!h&&react_1.default.createElement(Endpoint_1.Endpoint,{operation:E}),react_1.default.createElement(RequestSamples_1.RequestSamples,{operation:E})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},(null===(l=E.responses)||void 0===l?void 0:l.length)?react_1.default.createElement(Panel_1.ContentPanel,{header:(0,services_1.l)("responses"),onToggle:P("responses"),expanded:S,className:"panel-response-schemas"},react_1.default.createElement(Responses_1.OperationResponseList,{responses:E.responses,operationPointer:E.pointer})):null),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},react_1.default.createElement(ResponseSamples_1.ResponseSamples,{operation:E})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},(null===(n=E.callbacks)||void 0===n?void 0:n.length)?react_1.default.createElement(Panel_1.ContentPanel,{className:"panel-callback-schemas",header:(0,services_1.l)("callbacks")},react_1.default.createElement(Callbacks_1.CallbacksList,{callbacks:E.callbacks})):null,react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==u?void 0:u.AfterOperation),props:{operation:E}})),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},react_1.default.createElement(CallbackSamples_1.CallbackSamples,{callbacks:E.callbacks})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},!1===(null==m?void 0:m.hide)?react_1.default.createElement(theme_1.Feedback,{type:m.type,settings:m.settings,path:E.href}):null)))}exports.OperationItem=(0,react_1.memo)(OperationItemComponent);
11
+ `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var r,l,n;const o=(0,recoil_1.useRecoilValue)(app_1.layoutSelector),c=(0,recoil_1.useRecoilValue)(app_1.showRightPanelToggleSelector),{parser:i,options:s}=(0,recoil_1.useRecoilValue)(store_1.globalStoreSelector),{hooks:u,events:p,feedback:m,showWebhookVerb:d,pathInMiddlePanel:_,expandDefaultRequest:f,expandDefaultResponse:S}=s,E=(0,operation_1.getOperation)(i,e,t,s,a),{name:k,description:b,deprecated:v,externalDocs:y,isWebhook:h,httpVerb:R}=E,q=(0,recoil_1.useSetRecoilState)((0,operation_2.operationStore)(E.pointer)),O=o===theme_1.LayoutVariant.STACKED||!c;(0,theme_1.useMount)((()=>{q((e=>Object.assign(Object.assign({},e),{activeExampleName:E.activeExampleName,activeServer:E.activeServer})))}));const g=!(!b&&!y),P=(0,react_1.useCallback)((e=>t=>{var a;const r=(0,events_1.createPanelToggleEvent)({operation:E,isExpanded:t,panelType:e});null===(a=null==p?void 0:p.panelToggle)||void 0===a||a.call(p,r)}),[p,E]);return react_1.default.createElement(OperationRow,{layout:o},react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==u?void 0:u.BeforeOperation),props:{operation:E}}),react_1.default.createElement(theme_1.H2,null,react_1.default.createElement(common_1.ShareLink,{to:a}),react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperationSummary||(null==u?void 0:u.BeforeOperationSummary),props:{operation:E}}),k,react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperationSummary||(null==u?void 0:u.AfterOperationSummary),props:{operation:E}}),v&&react_1.default.createElement(common_1.Badge,{deprecated:!0},"Deprecated"),h&&react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(common_1.Badge,null,"Webhook"),d&&R&&react_1.default.createElement(common_1.Badge,null,R.toUpperCase()))),_&&!h&&react_1.default.createElement(Endpoint_1.Endpoint,{operation:E}))),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},g&&react_1.default.createElement(Description,null,void 0!==b&&react_1.default.createElement(Markdown_1.Markdown,{source:b}),y&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:y}),Object.keys(E.extensions||{}).length?react_1.default.createElement(Fields_1.Extensions,{extensions:E.extensions}):null),react_1.default.createElement(SecurityRequirement_1.SecurityRequirements,{securities:E.security}),(null===(r=E.parameters)||void 0===r?void 0:r.length)||E.requestBody?react_1.default.createElement(Panel_1.ContentPanel,{header:(0,services_1.l)("request"),onToggle:P("request"),expanded:f,className:"panel-request-schemas"},react_1.default.createElement(Parameters_1.Parameters,{parameters:E.parameters,body:E.requestBody})):null),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},!_&&!h&&react_1.default.createElement(Endpoint_1.Endpoint,{operation:E}),react_1.default.createElement(RequestSamples_1.RequestSamples,{operation:E})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},(null===(l=E.responses)||void 0===l?void 0:l.length)?react_1.default.createElement(Panel_1.ContentPanel,{header:(0,services_1.l)("responses"),onToggle:P("responses"),expanded:S,className:"panel-response-schemas"},react_1.default.createElement(Responses_1.OperationResponseList,{responses:E.responses,operationPointer:E.pointer})):null),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},react_1.default.createElement(ResponseSamples_1.ResponseSamples,{operation:E})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},(null===(n=E.callbacks)||void 0===n?void 0:n.length)?react_1.default.createElement(Panel_1.ContentPanel,{className:"panel-callback-schemas",header:(0,services_1.l)("callbacks")},react_1.default.createElement(Callbacks_1.CallbacksList,{callbacks:E.callbacks})):null,react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==u?void 0:u.AfterOperation),props:{operation:E}})),c?react_1.default.createElement(common_1.SamplesPanel,{"data-cy":"samples-block"},react_1.default.createElement(CallbackSamples_1.CallbackSamples,{callbacks:E.callbacks})):null),react_1.default.createElement(OperationSubRowStyled,{layout:o},react_1.default.createElement(common_1.SamplesMiddlePanel,{isStacked:O},!1===(null==m?void 0:m.hide)?react_1.default.createElement(theme_1.Feedback,{type:m.type,settings:m.settings,path:E.href}):null)))}exports.OperationItem=(0,react_1.memo)(OperationItemComponent);
12
12
  //# sourceMappingURL=OperationItem.js.map
@@ -14,5 +14,9 @@
14
14
  width: calc(100% - var(--panel-samples-width));
15
15
  padding-right: var(--panel-gap-vertical, var(--panel-gap-horizontal));
16
16
  }
17
+
18
+ &:empty {
19
+ display: none;
20
+ }
17
21
  `;
18
22
  //# sourceMappingURL=MiddlePanelWrapper.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),__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 a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var a={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&t.indexOf(l)<0&&(a[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(l=Object.getOwnPropertySymbols(e);r<l.length;r++)t.indexOf(l[r])<0&&Object.prototype.propertyIsEnumerable.call(e,l[r])&&(a[l[r]]=e[l[r]])}return a};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const react_1=__importStar(require("react")),react_tabs_1=require("react-tabs"),recoil_1=require("recoil"),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),services_1=require("../../services"),models_1=require("../../models"),events_1=require("../../events"),Samples_1=require("../Samples"),Panel_1=require("../Panel"),store_1=require("../../recoil/store");function RequestSamplesComponent(e){var{operation:t,defaultLanguage:a,disableHeader:l,content:r}=e,n=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:o,hideSingleRequestSampleTab:s}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),{samples:i,payload:u}=(0,useCodeSamples_1.useCodeSamples)(t),c=1===i.length&&s,p=(0,react_1.useCallback)((({lang:e,title:a})=>()=>{var l;const r=(0,events_1.createCodeSampleCopyEvent)({operation:t,label:a,lang:e,type:"request"});null===(l=null==o?void 0:o.codeSamplesCopy)||void 0===l||l.call(o,r)}),[t,o]);return i.length?react_1.default.createElement(Panel_1.CodePanel,{className:"panel-request-samples",header:l?void 0:(0,services_1.l)("requestSamples"),onToggle:e=>{var a;const l=(0,events_1.creatPanelToggleEvent)({operation:t,isExpanded:e,panelType:"request-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,l)}},react_1.default.createElement(Samples_1.SamplesTabs,{tabs:i,onChange:e=>{var a;const l=(0,events_1.createLanguageSwitchEvent)({operation:t,sample:e});null===(a=null==o?void 0:o.codeSamplesLanguageSwitch)||void 0===a||a.call(o,l)},hidden:c,defaultLanguage:a,id:t.id+"/request-tab"},i.map((e=>react_1.default.createElement(react_tabs_1.TabPanel,{key:e.key+t.id},(0,models_1.isPayloadSample)(e)?react_1.default.createElement(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:p(e)},n)):react_1.default.createElement(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==u?void 0:u.requestBodyContent,operation:t,onCopyClick:p(e)},n))))))):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),__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 a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var a={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&t.indexOf(l)<0&&(a[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(l=Object.getOwnPropertySymbols(e);r<l.length;r++)t.indexOf(l[r])<0&&Object.prototype.propertyIsEnumerable.call(e,l[r])&&(a[l[r]]=e[l[r]])}return a};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const react_1=__importStar(require("react")),react_tabs_1=require("react-tabs"),recoil_1=require("recoil"),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),services_1=require("../../services"),models_1=require("../../models"),events_1=require("../../events"),Samples_1=require("../Samples"),Panel_1=require("../Panel"),store_1=require("../../recoil/store");function RequestSamplesComponent(e){var{operation:t,defaultLanguage:a,disableHeader:l,content:r}=e,n=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:o,hideSingleRequestSampleTab:s}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),{samples:i,payload:u}=(0,useCodeSamples_1.useCodeSamples)(t),c=1===i.length&&s,p=(0,react_1.useCallback)((({lang:e,title:a})=>()=>{var l;const r=(0,events_1.createCodeSampleCopyEvent)({operation:t,label:a,lang:e,type:"request"});null===(l=null==o?void 0:o.codeSamplesCopy)||void 0===l||l.call(o,r)}),[t,o]);return i.length?react_1.default.createElement(Panel_1.CodePanel,{className:"panel-request-samples",header:l?void 0:(0,services_1.l)("requestSamples"),onToggle:e=>{var a;const l=(0,events_1.createPanelToggleEvent)({operation:t,isExpanded:e,panelType:"request-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,l)}},react_1.default.createElement(Samples_1.SamplesTabs,{tabs:i,onChange:e=>{var a;const l=(0,events_1.createLanguageSwitchEvent)({operation:t,sample:e});null===(a=null==o?void 0:o.codeSamplesLanguageSwitch)||void 0===a||a.call(o,l)},hidden:c,defaultLanguage:a,id:t.id+"/request-tab"},i.map((e=>react_1.default.createElement(react_tabs_1.TabPanel,{key:e.key+t.id},(0,models_1.isPayloadSample)(e)?react_1.default.createElement(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:p(e)},n)):react_1.default.createElement(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==u?void 0:u.requestBodyContent,operation:t,onCopyClick:p(e)},n))))))):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var l=Object.getOwnPropertyDescriptor(t,a);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,l)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__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 a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),Tabs_1=require("../Tabs"),Panel_1=require("../Panel"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),services_1=require("../../services"),store_1=require("../../recoil/store");function ResponseSamplesComponent({operation:e}){const{events:t}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),a=e.responses.filter((e=>{var t,a;return null!==(a=null===(t=e.content)||void 0===t?void 0:t.hasSample)&&void 0!==a&&a})),r=(0,react_1.useCallback)((()=>{var a;const r=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response"});null===(a=null==t?void 0:t.codeSamplesCopy)||void 0===a||a.call(t,r)}),[e,t]);if(!a.length)return null;const l=a.map((({code:e})=>({key:e,title:e})));return react_1.default.createElement(Panel_1.CodePanel,{className:"panel-response-samples",header:(0,services_1.l)("responseSamples"),onToggle:a=>{var r;const l=(0,events_1.creatPanelToggleEvent)({operation:e,isExpanded:a,panelType:"response-samples"});null===(r=null==t?void 0:t.panelToggle)||void 0===r||r.call(t,l)}},react_1.default.createElement(Tabs_1.CollapsingTabs,{tabs:l,operation:e},a.map((e=>react_1.default.createElement(Tabs_1.TabPanel,{key:e.code,value:e.code},react_1.default.createElement("div",null,react_1.default.createElement(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:r})))))))}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var l=Object.getOwnPropertyDescriptor(t,a);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,l)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__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 a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const react_1=__importStar(require("react")),recoil_1=require("recoil"),Tabs_1=require("../Tabs"),Panel_1=require("../Panel"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),services_1=require("../../services"),store_1=require("../../recoil/store");function ResponseSamplesComponent({operation:e}){const{events:t}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),a=e.responses.filter((e=>{var t,a;return null!==(a=null===(t=e.content)||void 0===t?void 0:t.hasSample)&&void 0!==a&&a})),r=(0,react_1.useCallback)((()=>{var a;const r=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response"});null===(a=null==t?void 0:t.codeSamplesCopy)||void 0===a||a.call(t,r)}),[e,t]);if(!a.length)return null;const l=a.map((({code:e})=>({key:e,title:e})));return react_1.default.createElement(Panel_1.CodePanel,{className:"panel-response-samples",header:(0,services_1.l)("responseSamples"),onToggle:a=>{var r;const l=(0,events_1.createPanelToggleEvent)({operation:e,isExpanded:a,panelType:"response-samples"});null===(r=null==t?void 0:t.panelToggle)||void 0===r||r.call(t,l)}},react_1.default.createElement(Tabs_1.CollapsingTabs,{tabs:l,operation:e},a.map((e=>react_1.default.createElement(Tabs_1.TabPanel,{key:e.code,value:e.code},react_1.default.createElement("div",null,react_1.default.createElement(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:r})))))))}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -163,13 +163,14 @@
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
  "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,n)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),__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 a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Row=exports.SamplesPanel=exports.Section=exports.SamplesMiddlePanel=void 0;const theme_1=require("@redocly/theme"),styled_components_1=__importStar(require("styled-components")),constants_1=require("../../constants");exports.SamplesMiddlePanel=styled_components_1.default.div`
2
2
  ${({compact:e,isStacked:t,theme:a})=>{const i=e?0:"var(--spacing-vertical)";return styled_components_1.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 @@
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:e})=>styled_components_1.css`
65
72
  ${e.mediaQueries[e.showAtBreakpoint.samplesPanel]} {
66
73
  width: var(--panel-samples-width);
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var l=Object.getOwnPropertyDescriptor(r,t);l&&!("get"in l?!r.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,l)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),utils_1=require("../../../utils"),form_1=require("../../common/form"),utils_2=require("../utils"),ServerVariable_1=__importDefault(require("../ServerVariable")),styled_1=require("../styled");function ServersDropdownComponent({operation:e,onChange:r}){const t=(0,utils_1.fromSessionStorage)("serverUrl"),a=e.servers.findIndex((e=>e.url===t)),[l,s]=(0,react_1.useState)(a<0?0:a),[o,n]=(0,react_1.useState)({});(0,theme_1.useMount)((()=>{const t=(0,utils_2.getServerWithVariables)(e.servers,l);r(t),n(t.variables)}));const i=e.servers.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${(0,utils_2.expandDefaultServerVariables)((0,utils_2.expandVariables)(e.url,o),e.variables)}\n - ${(0,utils_1.normalizeText)(e.description)||"Default"}\n `}))),u=Object.keys(o);return react_1.default.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},react_1.default.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(styled_1.TryItDropdown,{variant:"dark",value:i[l].value,options:i,fullWidth:!0,onChange:t=>{const a=e.servers.find((e=>e.url===t.serverUrl)),l=e.servers.findIndex((e=>e.url===t.serverUrl)),o=(0,utils_2.getDefaultOrStoredVariables)(a);r({url:t.serverUrl||"",variables:o}),(0,utils_1.toSessionStorage)("serverUrl",t.serverUrl||""),s(l),n(o)}})),null==u?void 0:u.map((t=>{var a;const s=null===(a=e.servers[l].variables)||void 0===a?void 0:a[t];if(s)return react_1.default.createElement(ServerVariable_1.default,{key:t,name:t,value:o[t],defaultValue:s.default,onChange:a=>((t,a)=>{const s=e.servers[l],i=a||""===a?a:(0,utils_2.getDefaultOrStoredVariables)(s)[t],u=Object.assign(Object.assign({},o),{[t]:i});n(u),(0,utils_2.updateVariablesStorage)(t,i),r(Object.assign(Object.assign({},s),{variables:u}))})(t,a),variableEnum:s.enum,description:s.description})})))}exports.ServersDropdown=(0,react_1.memo)(ServersDropdownComponent);const ServerDropdownWrap=styled_components_1.default.div`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=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,a,o)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),recoil_1=require("recoil"),store_1=require("../../../recoil/store"),utils_1=require("../../../utils"),form_1=require("../../common/form"),utils_2=require("../utils"),ServerVariable_1=__importDefault(require("../ServerVariable")),styled_1=require("../styled"),events_1=require("../../../events");function ServersDropdownComponent({operation:e,onChange:r}){const{events:t}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),{servers:a}=e,o=(0,utils_1.fromSessionStorage)("serverUrl"),l=a.findIndex((e=>e.url===o)),[i,n]=(0,react_1.useState)(l<0?0:l),[s,u]=(0,react_1.useState)({});(0,theme_1.useMount)((()=>{const e=(0,utils_2.getServerWithVariables)(a,i);r(e),u(e.variables)}));const c=a.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${(0,utils_2.expandDefaultServerVariables)((0,utils_2.expandVariables)(e.url,s),e.variables)}\n - ${(0,utils_1.normalizeText)(e.description)||"Default"}\n `}))),_=Object.keys(s);return react_1.default.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},react_1.default.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(styled_1.TryItDropdown,{variant:"dark",value:c[i].value,options:c,fullWidth:!0,onChange:({serverUrl:o=""})=>{var l;const i=a.find((e=>e.url===o)),s=a.findIndex((e=>e.url===o)),c=(0,utils_2.getDefaultOrStoredVariables)(i);r({url:o,variables:c}),(0,utils_1.toSessionStorage)("serverUrl",o),n(s),u(c);const _=(0,events_1.createServerSwitchEvent)({operation:e,serverUrl:o});null===(l=t.targetServerSwitch)||void 0===l||l.call(t,_)}})),null==_?void 0:_.map((e=>{var t;const o=null===(t=a[i].variables)||void 0===t?void 0:t[e];if(o)return react_1.default.createElement(ServerVariable_1.default,{key:e,name:e,value:s[e],defaultValue:o.default,onChange:t=>((e,t)=>{const o=a[i],l=t||""===t?t:(0,utils_2.getDefaultOrStoredVariables)(o)[e],n=Object.assign(Object.assign({},s),{[e]:l});u(n),(0,utils_2.updateVariablesStorage)(e,l),r(Object.assign(Object.assign({},o),{variables:n}))})(e,t),variableEnum:o.enum,description:o.description})})))}exports.ServersDropdown=(0,react_1.memo)(ServersDropdownComponent);const ServerDropdownWrap=styled_components_1.default.div`
2
2
  margin-bottom: 20px;
3
3
  `;
4
4
  //# sourceMappingURL=ServersDropdown.js.map
@@ -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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCodeSampleCopyEvent=exports.creatPanelToggleEvent=exports.createLanguageSwitchEvent=exports.AnalyticsEventType=void 0;var types_1=require("./types");Object.defineProperty(exports,"AnalyticsEventType",{enumerable:!0,get:function(){return types_1.AnalyticsEventType}});var languageSwitch_1=require("./languageSwitch");Object.defineProperty(exports,"createLanguageSwitchEvent",{enumerable:!0,get:function(){return languageSwitch_1.createLanguageSwitchEvent}});var panelToggle_1=require("./panelToggle");Object.defineProperty(exports,"creatPanelToggleEvent",{enumerable:!0,get:function(){return panelToggle_1.creatPanelToggleEvent}});var codeSampleCopy_1=require("./codeSampleCopy");Object.defineProperty(exports,"createCodeSampleCopyEvent",{enumerable:!0,get:function(){return codeSampleCopy_1.createCodeSampleCopyEvent}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createServerSwitchEvent=exports.createCodeSampleCopyEvent=exports.createPanelToggleEvent=exports.createLanguageSwitchEvent=exports.AnalyticsEventType=void 0;var types_1=require("./types");Object.defineProperty(exports,"AnalyticsEventType",{enumerable:!0,get:function(){return types_1.AnalyticsEventType}});var languageSwitch_1=require("./languageSwitch");Object.defineProperty(exports,"createLanguageSwitchEvent",{enumerable:!0,get:function(){return languageSwitch_1.createLanguageSwitchEvent}});var panelToggle_1=require("./panelToggle");Object.defineProperty(exports,"createPanelToggleEvent",{enumerable:!0,get:function(){return panelToggle_1.createPanelToggleEvent}});var codeSampleCopy_1=require("./codeSampleCopy");Object.defineProperty(exports,"createCodeSampleCopyEvent",{enumerable:!0,get:function(){return codeSampleCopy_1.createCodeSampleCopyEvent}});var serverSwitch_1=require("./serverSwitch");Object.defineProperty(exports,"createServerSwitchEvent",{enumerable:!0,get:function(){return serverSwitch_1.createServerSwitchEvent}});
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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.creatPanelToggleEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),panelToggleEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.PanelToggle),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"});exports.creatPanelToggleEvent=creatPanelToggleEvent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createPanelToggleEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),panelToggleEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.PanelToggle),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"});exports.createPanelToggleEvent=createPanelToggleEvent;
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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createServerSwitchEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),targetServerSwitchEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.TargetServerSwitched),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});exports.createServerSwitchEvent=createServerSwitchEvent;
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
- "use strict";var AnalyticsEventType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnalyticsEventType=void 0,function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent"}(AnalyticsEventType=exports.AnalyticsEventType||(exports.AnalyticsEventType={}));
1
+ "use strict";var AnalyticsEventType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnalyticsEventType=void 0,function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent",e.TargetServerSwitched="TargetServerSwitched"}(AnalyticsEventType=exports.AnalyticsEventType||(exports.AnalyticsEventType={}));
2
2
  //# sourceMappingURL=types.js.map
@@ -1,2 +1,2 @@
1
- import React,{useState}from"react";import{useRecoilValue}from"recoil";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsSelector}from"../../recoil/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useRecoilValue(globalOptionsSelector),n=()=>{var t,n;r(!o),null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===n||n.call(t,{eventType:AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(Console,{operation:e,onClose:n})):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
1
+ import React,{useState}from"react";import{useRecoilValue}from"recoil";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsSelector}from"../../recoil/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useRecoilValue(globalOptionsSelector),n=()=>{var t,n;const l=!o;r(l),l&&(null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItOpen)||void 0===n||n.call(t,{eventType:AnalyticsEventType.TryItOpen,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":"Opened",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}))};return React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(Console,{operation:e,onClose:n})):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
2
2
  //# sourceMappingURL=Endpoint.js.map
@@ -1,4 +1,4 @@
1
- import React,{memo,useCallback}from"react";import styled from"styled-components";import{useRecoilValue,useSetRecoilState}from"recoil";import{H2,useMount,Feedback,LayoutVariant,BeforeOpenApiOperation,BeforeOpenApiOperationSummary,AfterOpenApiOperationSummary,AfterOpenApiOperation}from"@redocly/theme";import{Endpoint}from"../Endpoint";import{Row}from"../common/panels";import{Badge,SamplesMiddlePanel,SamplesPanel,ShareLink}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation";import{Extensions}from"../Fields";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement";import{ContentPanel}from"../Panel";import{l}from"../../services";import{creatPanelToggleEvent}from"../../events";import{showRightPanelToggleSelector,layoutSelector}from"../../recoil/app";import{globalStoreSelector}from"../../recoil/store";import{getOperation}from"../../models/operation";import{operationStore}from"../../recoil/operation";import{RenderHook}from"../RenderHook";const OperationRow=styled(Row)`
1
+ import React,{memo,useCallback}from"react";import styled from"styled-components";import{useRecoilValue,useSetRecoilState}from"recoil";import{H2,useMount,Feedback,LayoutVariant,BeforeOpenApiOperation,BeforeOpenApiOperationSummary,AfterOpenApiOperationSummary,AfterOpenApiOperation}from"@redocly/theme";import{Endpoint}from"../Endpoint";import{Row}from"../common/panels";import{Badge,SamplesMiddlePanel,SamplesPanel,ShareLink}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation";import{Extensions}from"../Fields";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement";import{ContentPanel}from"../Panel";import{l}from"../../services";import{createPanelToggleEvent}from"../../events";import{showRightPanelToggleSelector,layoutSelector}from"../../recoil/app";import{globalStoreSelector}from"../../recoil/store";import{getOperation}from"../../models/operation";import{operationStore}from"../../recoil/operation";import{RenderHook}from"../RenderHook";const OperationRow=styled(Row)`
2
2
  flex-direction: column;
3
3
  align-items: flex-start;
4
4
  ${H2} {
@@ -8,5 +8,5 @@ import React,{memo,useCallback}from"react";import styled from"styled-components"
8
8
  margin: calc(var(--spacing-unit) * 2) 0;
9
9
  `,Description=styled.div`
10
10
  margin-bottom: calc(var(--spacing-unit) * 4);
11
- `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var o,n,r;const c=useRecoilValue(layoutSelector),i=useRecoilValue(showRightPanelToggleSelector),{parser:s,options:p}=useRecoilValue(globalStoreSelector),{hooks:m,events:d,feedback:u,showWebhookVerb:R,pathInMiddlePanel:S,expandDefaultRequest:E,expandDefaultResponse:f}=p,k=getOperation(s,e,t,p,a),{name:y,description:b,deprecated:g,externalDocs:O,isWebhook:v,httpVerb:h}=k,P=useSetRecoilState(operationStore(k.pointer)),x=c===LayoutVariant.STACKED||!i;useMount((()=>{P((e=>Object.assign(Object.assign({},e),{activeExampleName:k.activeExampleName,activeServer:k.activeServer})))}));const w=!(!b&&!O),C=useCallback((e=>t=>{var a;const o=creatPanelToggleEvent({operation:k,isExpanded:t,panelType:e});null===(a=null==d?void 0:d.panelToggle)||void 0===a||a.call(d,o)}),[d,k]);return React.createElement(OperationRow,{layout:c},React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},React.createElement(RenderHook,{Hook:BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:k}}),React.createElement(H2,null,React.createElement(ShareLink,{to:a}),React.createElement(RenderHook,{Hook:BeforeOpenApiOperationSummary||(null==m?void 0:m.BeforeOperationSummary),props:{operation:k}}),y,React.createElement(RenderHook,{Hook:AfterOpenApiOperationSummary||(null==m?void 0:m.AfterOperationSummary),props:{operation:k}}),g&&React.createElement(Badge,{deprecated:!0},"Deprecated"),v&&React.createElement(React.Fragment,null,React.createElement(Badge,null,"Webhook"),R&&h&&React.createElement(Badge,null,h.toUpperCase()))),S&&!v&&React.createElement(Endpoint,{operation:k}))),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},w&&React.createElement(Description,null,void 0!==b&&React.createElement(Markdown,{source:b}),O&&React.createElement(ExternalDocumentation,{externalDocs:O}),Object.keys(k.extensions||{}).length?React.createElement(Extensions,{extensions:k.extensions}):null),React.createElement(SecurityRequirements,{securities:k.security}),(null===(o=k.parameters)||void 0===o?void 0:o.length)||k.requestBody?React.createElement(ContentPanel,{header:l("request"),onToggle:C("request"),expanded:E,className:"panel-request-schemas"},React.createElement(Parameters,{parameters:k.parameters,body:k.requestBody})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},!S&&!v&&React.createElement(Endpoint,{operation:k}),React.createElement(RequestSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(n=k.responses)||void 0===n?void 0:n.length)?React.createElement(ContentPanel,{header:l("responses"),onToggle:C("responses"),expanded:f,className:"panel-response-schemas"},React.createElement(OperationResponseList,{responses:k.responses,operationPointer:k.pointer})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(ResponseSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(r=k.callbacks)||void 0===r?void 0:r.length)?React.createElement(ContentPanel,{className:"panel-callback-schemas",header:l("callbacks")},React.createElement(CallbacksList,{callbacks:k.callbacks})):null,React.createElement(RenderHook,{Hook:AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:k}})),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(CallbackSamples,{callbacks:k.callbacks})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},!1===(null==u?void 0:u.hide)?React.createElement(Feedback,{type:u.type,settings:u.settings,path:k.href}):null)))}export const OperationItem=memo(OperationItemComponent);
11
+ `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var o,n,r;const c=useRecoilValue(layoutSelector),i=useRecoilValue(showRightPanelToggleSelector),{parser:s,options:p}=useRecoilValue(globalStoreSelector),{hooks:m,events:d,feedback:u,showWebhookVerb:R,pathInMiddlePanel:S,expandDefaultRequest:E,expandDefaultResponse:f}=p,k=getOperation(s,e,t,p,a),{name:y,description:b,deprecated:g,externalDocs:O,isWebhook:v,httpVerb:h}=k,P=useSetRecoilState(operationStore(k.pointer)),x=c===LayoutVariant.STACKED||!i;useMount((()=>{P((e=>Object.assign(Object.assign({},e),{activeExampleName:k.activeExampleName,activeServer:k.activeServer})))}));const w=!(!b&&!O),C=useCallback((e=>t=>{var a;const o=createPanelToggleEvent({operation:k,isExpanded:t,panelType:e});null===(a=null==d?void 0:d.panelToggle)||void 0===a||a.call(d,o)}),[d,k]);return React.createElement(OperationRow,{layout:c},React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},React.createElement(RenderHook,{Hook:BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:k}}),React.createElement(H2,null,React.createElement(ShareLink,{to:a}),React.createElement(RenderHook,{Hook:BeforeOpenApiOperationSummary||(null==m?void 0:m.BeforeOperationSummary),props:{operation:k}}),y,React.createElement(RenderHook,{Hook:AfterOpenApiOperationSummary||(null==m?void 0:m.AfterOperationSummary),props:{operation:k}}),g&&React.createElement(Badge,{deprecated:!0},"Deprecated"),v&&React.createElement(React.Fragment,null,React.createElement(Badge,null,"Webhook"),R&&h&&React.createElement(Badge,null,h.toUpperCase()))),S&&!v&&React.createElement(Endpoint,{operation:k}))),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},w&&React.createElement(Description,null,void 0!==b&&React.createElement(Markdown,{source:b}),O&&React.createElement(ExternalDocumentation,{externalDocs:O}),Object.keys(k.extensions||{}).length?React.createElement(Extensions,{extensions:k.extensions}):null),React.createElement(SecurityRequirements,{securities:k.security}),(null===(o=k.parameters)||void 0===o?void 0:o.length)||k.requestBody?React.createElement(ContentPanel,{header:l("request"),onToggle:C("request"),expanded:E,className:"panel-request-schemas"},React.createElement(Parameters,{parameters:k.parameters,body:k.requestBody})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},!S&&!v&&React.createElement(Endpoint,{operation:k}),React.createElement(RequestSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(n=k.responses)||void 0===n?void 0:n.length)?React.createElement(ContentPanel,{header:l("responses"),onToggle:C("responses"),expanded:f,className:"panel-response-schemas"},React.createElement(OperationResponseList,{responses:k.responses,operationPointer:k.pointer})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(ResponseSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(r=k.callbacks)||void 0===r?void 0:r.length)?React.createElement(ContentPanel,{className:"panel-callback-schemas",header:l("callbacks")},React.createElement(CallbacksList,{callbacks:k.callbacks})):null,React.createElement(RenderHook,{Hook:AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:k}})),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(CallbackSamples,{callbacks:k.callbacks})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},!1===(null==u?void 0:u.hide)?React.createElement(Feedback,{type:u.type,settings:u.settings,path:k.href}):null)))}export const OperationItem=memo(OperationItemComponent);
12
12
  //# sourceMappingURL=OperationItem.js.map
@@ -14,5 +14,9 @@ import styled from"styled-components";export const MiddlePanelWrapper=styled.div
14
14
  width: calc(100% - var(--panel-samples-width));
15
15
  padding-right: var(--panel-gap-vertical, var(--panel-gap-horizontal));
16
16
  }
17
+
18
+ &:empty {
19
+ display: none;
20
+ }
17
21
  `;
18
22
  //# sourceMappingURL=MiddlePanelWrapper.js.map
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(o=Object.getOwnPropertySymbols(e);l<o.length;l++)a.indexOf(o[l])<0&&Object.prototype.propertyIsEnumerable.call(e,o[l])&&(t[o[l]]=e[o[l]])}return t};import React,{memo,useCallback}from"react";import{TabPanel}from"react-tabs";import{useRecoilValue}from"recoil";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{l}from"../../services";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent,createLanguageSwitchEvent,creatPanelToggleEvent}from"../../events";import{SamplesTabs}from"../Samples";import{CodePanel}from"../Panel";import{globalOptionsSelector}from"../../recoil/store";function RequestSamplesComponent(e){var{operation:a,defaultLanguage:t,disableHeader:o,content:n}=e,r=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:s,hideSingleRequestSampleTab:p}=useRecoilValue(globalOptionsSelector),{samples:m,payload:c}=useCodeSamples(a),i=1===m.length&&p,d=useCallback((({lang:e,title:t})=>()=>{var o;const l=createCodeSampleCopyEvent({operation:a,label:t,lang:e,type:"request"});null===(o=null==s?void 0:s.codeSamplesCopy)||void 0===o||o.call(s,l)}),[a,s]);return m.length?React.createElement(CodePanel,{className:"panel-request-samples",header:o?void 0:l("requestSamples"),onToggle:e=>{var t;const o=creatPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{tabs:m,onChange:e=>{var t;const o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:i,defaultLanguage:t,id:a.id+"/request-tab"},m.map((e=>React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:d(e)},r)):React.createElement(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a,onCopyClick:d(e)},r))))))):null}export const RequestSamples=memo(RequestSamplesComponent);
1
+ var __rest=this&&this.__rest||function(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(o=Object.getOwnPropertySymbols(e);l<o.length;l++)a.indexOf(o[l])<0&&Object.prototype.propertyIsEnumerable.call(e,o[l])&&(t[o[l]]=e[o[l]])}return t};import React,{memo,useCallback}from"react";import{TabPanel}from"react-tabs";import{useRecoilValue}from"recoil";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{l}from"../../services";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent,createLanguageSwitchEvent,createPanelToggleEvent}from"../../events";import{SamplesTabs}from"../Samples";import{CodePanel}from"../Panel";import{globalOptionsSelector}from"../../recoil/store";function RequestSamplesComponent(e){var{operation:a,defaultLanguage:t,disableHeader:o,content:n}=e,r=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:s,hideSingleRequestSampleTab:p}=useRecoilValue(globalOptionsSelector),{samples:m,payload:c}=useCodeSamples(a),i=1===m.length&&p,d=useCallback((({lang:e,title:t})=>()=>{var o;const l=createCodeSampleCopyEvent({operation:a,label:t,lang:e,type:"request"});null===(o=null==s?void 0:s.codeSamplesCopy)||void 0===o||o.call(s,l)}),[a,s]);return m.length?React.createElement(CodePanel,{className:"panel-request-samples",header:o?void 0:l("requestSamples"),onToggle:e=>{var t;const o=createPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{tabs:m,onChange:e=>{var t;const o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:i,defaultLanguage:t,id:a.id+"/request-tab"},m.map((e=>React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:d(e)},r)):React.createElement(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a,onCopyClick:d(e)},r))))))):null}export const RequestSamples=memo(RequestSamplesComponent);
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback}from"react";import{useRecoilValue}from"recoil";import{TabPanel,CollapsingTabs}from"../Tabs";import{CodePanel}from"../Panel";import{PayloadSamples}from"../PayloadSamples";import{createCodeSampleCopyEvent,creatPanelToggleEvent}from"../../events";import{l}from"../../services";import{globalOptionsSelector}from"../../recoil/store";function ResponseSamplesComponent({operation:e}){const{events:o}=useRecoilValue(globalOptionsSelector),a=e.responses.filter((e=>{var o,l;return null!==(l=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==l&&l})),n=useCallback((()=>{var l;const a=createCodeSampleCopyEvent({operation:e,type:"response"});null===(l=null==o?void 0:o.codeSamplesCopy)||void 0===l||l.call(o,a)}),[e,o]);if(!a.length)return null;const t=a.map((({code:e})=>({key:e,title:e})));return React.createElement(CodePanel,{className:"panel-response-samples",header:l("responseSamples"),onToggle:l=>{var a;const n=creatPanelToggleEvent({operation:e,isExpanded:l,panelType:"response-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,n)}},React.createElement(CollapsingTabs,{tabs:t,operation:e},a.map((e=>React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content,onCopyClick:n})))))))}export const ResponseSamples=memo(ResponseSamplesComponent);
1
+ import React,{memo,useCallback}from"react";import{useRecoilValue}from"recoil";import{TabPanel,CollapsingTabs}from"../Tabs";import{CodePanel}from"../Panel";import{PayloadSamples}from"../PayloadSamples";import{createCodeSampleCopyEvent,createPanelToggleEvent}from"../../events";import{l}from"../../services";import{globalOptionsSelector}from"../../recoil/store";function ResponseSamplesComponent({operation:e}){const{events:o}=useRecoilValue(globalOptionsSelector),a=e.responses.filter((e=>{var o,l;return null!==(l=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==l&&l})),n=useCallback((()=>{var l;const a=createCodeSampleCopyEvent({operation:e,type:"response"});null===(l=null==o?void 0:o.codeSamplesCopy)||void 0===l||l.call(o,a)}),[e,o]);if(!a.length)return null;const t=a.map((({code:e})=>({key:e,title:e})));return React.createElement(CodePanel,{className:"panel-response-samples",header:l("responseSamples"),onToggle:l=>{var a;const n=createPanelToggleEvent({operation:e,isExpanded:l,panelType:"response-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,n)}},React.createElement(CollapsingTabs,{tabs:t,operation:e},a.map((e=>React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content,onCopyClick:n})))))))}export const ResponseSamples=memo(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -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
@@ -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.50",
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,7 +119,6 @@
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
122
  "@redocly/theme": "0.18.1"
123
123
  },
124
124
  "scripts": {