@redocly/openapi-docs 3.10.0-next.6 → 3.10.0-next.8

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/redocly-openapi-docs.min.js +1843 -1684
  2. package/lib/components/Download/DownloadSpecification.js +1 -1
  3. package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
  4. package/lib/components/Language/LanguageList.js +1 -1
  5. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  6. package/lib/components/Replay/Replay.js +1 -1
  7. package/lib/components/RequestSamples/Example.js +1 -1
  8. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  9. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  10. package/lib/components/Samples/ExampleSwitch.js +1 -1
  11. package/lib/components/Security/OAuthFlow.js +1 -3
  12. package/lib/components/Security/OAuthScopes.d.ts +13 -0
  13. package/lib/components/Security/OAuthScopes.js +34 -0
  14. package/lib/components/Security/SecurityButton.js +22 -19
  15. package/lib/components/Security/SecurityFlow.js +1 -6
  16. package/lib/components/Security/SecuritySchemeItem.js +1 -1
  17. package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
  18. package/lib/hooks/useOtelTelemetry.d.ts +2 -3
  19. package/lib-esm/components/Download/DownloadSpecification.js +1 -1
  20. package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
  21. package/lib-esm/components/Language/LanguageList.js +1 -1
  22. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  23. package/lib-esm/components/Replay/Replay.js +1 -1
  24. package/lib-esm/components/RequestSamples/Example.js +1 -1
  25. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  26. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  27. package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
  28. package/lib-esm/components/Security/OAuthFlow.js +1 -3
  29. package/lib-esm/components/Security/OAuthScopes.d.ts +13 -0
  30. package/lib-esm/components/Security/OAuthScopes.js +34 -0
  31. package/lib-esm/components/Security/SecurityButton.js +22 -19
  32. package/lib-esm/components/Security/SecurityFlow.js +1 -6
  33. package/lib-esm/components/Security/SecuritySchemeItem.js +1 -1
  34. package/lib-esm/components/ServerListDropdown/ServerListDropdown.js +1 -1
  35. package/lib-esm/hooks/useOtelTelemetry.d.ts +2 -3
  36. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadSpecification=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),useDownloadInfo_1=require("./useDownloadInfo"),store_1=require("../../jotai/store"),hooks_1=require("../../hooks");function DownloadSpecificationComponent(){const e=(0,hooks_1.useOtelTelemetry)(),{options:t}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),o=(0,theme_1.getPathPrefix)(),r=(0,useDownloadInfo_1.useDownloadInfo)({downloadUrls:t.downloadUrls}),n=(0,react_1.useCallback)((e=>{switch(e){case"yaml":return(0,jsx_runtime_1.jsx)(theme_1.DocumentIcon,{});case"json":return(0,jsx_runtime_1.jsx)(theme_1.JsonIcon,{});default:return(0,jsx_runtime_1.jsx)(theme_1.FileIcon,{})}}),[]);return r?(0,jsx_runtime_1.jsx)(Wrapper,{children:(r||[]).map((({title:t,url:r,iconType:s})=>{const i=o?(0,theme_1.combineUrls)(o,r):r;return(0,jsx_runtime_1.jsxs)(Card,{onClick:()=>e.send("openapi_docs.download_definition.clicked",{}),children:[(0,jsx_runtime_1.jsxs)(FileName,{children:[n(s),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:t})]}),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:(0,jsx_runtime_1.jsx)(theme_1.Button,{variant:"text",size:"small",icon:(0,jsx_runtime_1.jsx)(theme_1.DownloadIcon,{})})})]},t)}))}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{})}exports.DownloadSpecification=(0,react_1.memo)(DownloadSpecificationComponent);const Card=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DownloadSpecification=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),useDownloadInfo_1=require("./useDownloadInfo"),store_1=require("../../jotai/store"),hooks_1=require("../../hooks");function DownloadSpecificationComponent(){const e=(0,hooks_1.useOtelTelemetry)(),{options:t}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),o=(0,theme_1.getPathPrefix)(),r=(0,useDownloadInfo_1.useDownloadInfo)({downloadUrls:t.downloadUrls}),n=(0,react_1.useCallback)((e=>{switch(e){case"yaml":return(0,jsx_runtime_1.jsx)(theme_1.DocumentIcon,{});case"json":return(0,jsx_runtime_1.jsx)(theme_1.JsonIcon,{});default:return(0,jsx_runtime_1.jsx)(theme_1.FileIcon,{})}}),[]);return r?(0,jsx_runtime_1.jsx)(Wrapper,{children:(r||[]).map((({title:t,url:r,iconType:s})=>{const i=o?(0,theme_1.combineUrls)(o,r):r;return(0,jsx_runtime_1.jsxs)(Card,{onClick:()=>e.send({type:"openapi_docs.download_definition.clicked"}),children:[(0,jsx_runtime_1.jsxs)(FileName,{children:[n(s),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:t})]}),(0,jsx_runtime_1.jsx)("a",{href:i,target:"_blank",download:!0,rel:"noreferrer",children:(0,jsx_runtime_1.jsx)(theme_1.Button,{variant:"text",size:"small",icon:(0,jsx_runtime_1.jsx)(theme_1.DownloadIcon,{})})})]},t)}))}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{})}exports.DownloadSpecification=(0,react_1.memo)(DownloadSpecificationComponent);const Card=styled_components_1.default.div`
2
2
  display: flex;
3
3
  align-items: baseline;
4
4
  justify-content: space-between;
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExpandAllButton=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),index_1=require("jotai/index"),operation_1=require("../../jotai/operation"),hooks_1=require("../../hooks"),ExpandAllButton=({operationPointer:e,type:t})=>{const o=(0,hooks_1.useTranslate)(),[n,l]=(0,index_1.useAtom)((0,operation_1.operationStore)(e)),i=(0,hooks_1.useOtelTelemetry)();return(0,jsx_runtime_1.jsx)(StyledButton,{icon:(0,jsx_runtime_1.jsx)(theme_1.MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!n[t].expandedAll;i.send("openapi_docs.expand_collapse_all.clicked",{is_expanded:e}),l({[t]:{expandedAll:e}})},children:n[t].expandedAll?o("openapi.collapseAll","Collapse all"):o("openapi.expandAll","Expand all")})};exports.ExpandAllButton=ExpandAllButton;const StyledButton=(0,styled_components_1.default)(theme_1.Button)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExpandAllButton=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),index_1=require("jotai/index"),operation_1=require("../../jotai/operation"),hooks_1=require("../../hooks"),ExpandAllButton=({operationPointer:e,type:t})=>{const o=(0,hooks_1.useTranslate)(),[n,l]=(0,index_1.useAtom)((0,operation_1.operationStore)(e)),i=(0,hooks_1.useOtelTelemetry)();return(0,jsx_runtime_1.jsx)(StyledButton,{icon:(0,jsx_runtime_1.jsx)(theme_1.MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!n[t].expandedAll;i.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),l({[t]:{expandedAll:e}})},children:n[t].expandedAll?o("openapi.collapseAll","Collapse all"):o("openapi.expandAll","Expand all")})};exports.ExpandAllButton=ExpandAllButton;const StyledButton=(0,styled_components_1.default)(theme_1.Button)`
2
2
  margin-left: auto;
3
3
  `;
4
4
  //# sourceMappingURL=ExpandAllButton.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),LanguageDropdown_1=require("./LanguageDropdown"),app_1=require("../../jotai/app"),styled_1=require("./styled"),LanguageItem_1=require("./LanguageItem"),constants_1=require("./constants"),LanguageListSkeleton_1=require("../common/Skeleton/LanguageListSkeleton"),hooks_1=require("../../hooks");function LanguageListComponent({languages:e,activeLanguage:t}){const[n,s]=(0,react_1.useState)([]),[a,i]=(0,react_1.useState)([]),r=(0,hooks_1.useOtelTelemetry)(),o=(0,react_1.useRef)(null),u=(0,jotai_1.useAtomValue)(app_1.layoutAtom),g=(0,jotai_1.useSetAtom)(app_1.languageAtom),l=e=>{r.send("openapi_docs.select_language.clicked",{language:e})},_=(0,react_1.useCallback)((()=>{var n;const a=null===(n=null==o?void 0:o.current)||void 0===n?void 0:n.offsetWidth;if(!a)return;const{newVisibleItems:r,newHiddenItems:u}=calculateVisibleAndHiddenItems(a,[...e]),g=u.findIndex((e=>e.key===t));-1!==g&&swapItems(r,u,g),s(r),i(u)}),[t,e]);(0,react_1.useLayoutEffect)((()=>(_(),window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)})),[u,t]);const c=(0,react_1.useMemo)((()=>n.length>=5||a.length?"space-between":"start"),[a.length,n.length]);return(0,jsx_runtime_1.jsxs)(styled_1.Container,{ref:o,children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageListContainer,{$justifyContent:c,children:[!n.length&&(0,jsx_runtime_1.jsx)(LanguageListSkeleton_1.LanguageListSkeleton,{}),n.map((e=>(0,jsx_runtime_1.jsx)(styled_1.LanguageListItem,{onClick:()=>{return t=e.key,g(t),void l(t);var t},active:t===e.key,children:(0,jsx_runtime_1.jsx)(LanguageItem_1.LanguageItem,{item:e,withIcon:!0})},e.key)))]}),a.length?(0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{activeTab:t,samples:a,onChange:e=>{const t=a.findIndex((t=>t.key===e));if(-1!==t){const r=[...a],o=[...n];swapItems(o,r,t),s(o),i(r),l(e),g(e)}},trigger:(0,jsx_runtime_1.jsx)(theme_1.Button,{icon:(0,jsx_runtime_1.jsx)(theme_1.OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}function calculateVisibleAndHiddenItems(e,t){let n=0;const s=[],a=[];return t.forEach(((i,r)=>{const o=r===t.length-1&&0===a.length?0:constants_1.DROPDOWN_TRIGGER_WIDTH;e&&n+constants_1.ITEM_WIDTH+o<=e?(s.push(i),n+=constants_1.ITEM_WIDTH):a.push(i)})),{newVisibleItems:s,newHiddenItems:a}}function swapItems(e,t,n){const s=e[e.length-1];s&&(e[e.length-1]=t[n],t[n]=s)}exports.LanguageList=(0,react_1.memo)(LanguageListComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),LanguageDropdown_1=require("./LanguageDropdown"),app_1=require("../../jotai/app"),styled_1=require("./styled"),LanguageItem_1=require("./LanguageItem"),constants_1=require("./constants"),LanguageListSkeleton_1=require("../common/Skeleton/LanguageListSkeleton"),hooks_1=require("../../hooks");function LanguageListComponent({languages:e,activeLanguage:t}){const[n,a]=(0,react_1.useState)([]),[s,i]=(0,react_1.useState)([]),r=(0,hooks_1.useOtelTelemetry)(),o=(0,react_1.useRef)(null),u=(0,jotai_1.useAtomValue)(app_1.layoutAtom),l=(0,jotai_1.useSetAtom)(app_1.languageAtom),g=e=>{r.send({type:"openapi_docs.select_language.clicked",payload:{language:e}})},_=(0,react_1.useCallback)((()=>{var n;const s=null===(n=null==o?void 0:o.current)||void 0===n?void 0:n.offsetWidth;if(!s)return;const{newVisibleItems:r,newHiddenItems:u}=calculateVisibleAndHiddenItems(s,[...e]),l=u.findIndex((e=>e.key===t));-1!==l&&swapItems(r,u,l),a(r),i(u)}),[t,e]);(0,react_1.useLayoutEffect)((()=>(_(),window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)})),[u,t]);const c=(0,react_1.useMemo)((()=>n.length>=5||s.length?"space-between":"start"),[s.length,n.length]);return(0,jsx_runtime_1.jsxs)(styled_1.Container,{ref:o,children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageListContainer,{$justifyContent:c,children:[!n.length&&(0,jsx_runtime_1.jsx)(LanguageListSkeleton_1.LanguageListSkeleton,{}),n.map((e=>(0,jsx_runtime_1.jsx)(styled_1.LanguageListItem,{onClick:()=>{return t=e.key,l(t),void g(t);var t},active:t===e.key,children:(0,jsx_runtime_1.jsx)(LanguageItem_1.LanguageItem,{item:e,withIcon:!0})},e.key)))]}),s.length?(0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{activeTab:t,samples:s,onChange:e=>{const t=s.findIndex((t=>t.key===e));if(-1!==t){const r=[...s],o=[...n];swapItems(o,r,t),a(o),i(r),g(e),l(e)}},trigger:(0,jsx_runtime_1.jsx)(theme_1.Button,{icon:(0,jsx_runtime_1.jsx)(theme_1.OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}function calculateVisibleAndHiddenItems(e,t){let n=0;const a=[],s=[];return t.forEach(((i,r)=>{const o=r===t.length-1&&0===s.length?0:constants_1.DROPDOWN_TRIGGER_WIDTH;e&&n+constants_1.ITEM_WIDTH+o<=e?(a.push(i),n+=constants_1.ITEM_WIDTH):s.push(i)})),{newVisibleItems:a,newHiddenItems:s}}function swapItems(e,t,n){const a=e[e.length-1];a&&(e[e.length-1]=t[n],t[n]=a)}exports.LanguageList=(0,react_1.memo)(LanguageListComponent);
2
2
  //# sourceMappingURL=LanguageList.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedoclyOpenAPIDocs=RedoclyOpenAPIDocs,exports.RedoclyOpenAPIDocsStandalone=RedoclyOpenAPIDocsStandalone;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),Providers_1=require("./Providers"),Overlay_1=require("../Overlay"),styled_1=require("./styled"),StickySidebar_1=require("../StickySidebar"),SideMenu_1=require("../SideMenu"),Content_1=require("../Content"),hooks_1=require("../../hooks"),withRouter_1=require("../../hoc/withRouter"),withStore_1=require("../../hoc/withStore"),utils_1=require("../../utils"),useLicense_1=require("../../hooks/useLicense"),replay_1=require("../../jotai/replay"),RedoclyOpenAPIDocsComponent=(0,utils_1.compose)(withRouter_1.withRouter,withStore_1.withStore,react_1.memo)((({licenseKey:e,onLoaded:o,children:t,options:i,layout:n,collapsedSidebar:r,parser:s,withCommonStyles:l})=>{var a,d,u,c,_;const m=(0,react_1.useRef)(null),{isValid:p,licenseInfo:h}=(0,useLicense_1.useLicense)(e),y=(0,jotai_1.useSetAtom)(replay_1.allOperationsAtom),v=(0,hooks_1.useOtelTelemetry)();(0,hooks_1.useUppercase2LowercaseRedirect)();const{contentItems:j,flatItems:x}=(0,hooks_1.useContentItems)({parser:s,options:i});(0,hooks_1.usePerformanceMetrics)({sendTelemetry:e=>{const o=Object.fromEntries(Object.entries(e).map((([e,o])=>[e.toLowerCase(),o])));v.send("openapi_docs.performance_metrics",o)}}),(0,theme_1.useMount)((()=>{if(null==o||o(),v.send("openapi_docs.viewed",{layout:n}),!i.hideReplay){const e=x.filter((e=>"operation"===e.type));y(e)}}));const{hideSidebar:S,scrollYOffset:f}=i||{},P=null===(d=null===(a=s.definition)||void 0===a?void 0:a.info)||void 0===d?void 0:d["x-logo"];return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[l&&(0,jsx_runtime_1.jsx)(theme_1.GlobalStyle,{}),(0,jsx_runtime_1.jsxs)(styled_1.RedocWrap,{className:"redoc-wrap",ref:m,children:[!p&&(0,jsx_runtime_1.jsx)(Overlay_1.Overlay,{licenseInfo:h}),!S&&(0,jsx_runtime_1.jsxs)(StickySidebar_1.StickyResponsiveSidebar,{scrollYOffset:f,className:"menu-content",collapsedSidebar:!r,children:[(0,jsx_runtime_1.jsx)(theme_1.SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(_=null===(c=null===(u=s.definition)||void 0===u?void 0:u.info)||void 0===c?void 0:c.contact)||void 0===_?void 0:_.url),altText:null==P?void 0:P.altText,backgroundColor:null==P?void 0:P.backgroundColor}),(0,jsx_runtime_1.jsx)(SideMenu_1.SideMenu,{items:p?j:[]})]}),(0,jsx_runtime_1.jsxs)(theme_1.ThreePanelLayout,{className:"api-content",id:"api-content",layout:n===theme_1.LayoutVariant.THREE_PANEL?theme_1.LayoutVariant.THREE_PANEL:theme_1.LayoutVariant.STACKED,collapsedSidebar:r,children:[(0,jsx_runtime_1.jsx)(Content_1.Content,{items:p?j:[],routingBasePath:i.routingBasePath}),t]})]})]})}));function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t,withCommonStyles:i}){var n,r,s;return(null==t?void 0:t.definition)?(0,jsx_runtime_1.jsx)(Providers_1.StoreProvider,Object.assign({},t,{children:(0,jsx_runtime_1.jsx)(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,disableRouter:null===(s=t.options)||void 0===s?void 0:s.disableRouter,withCommonStyles:i,children:o})})):null}function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:i,activeSampleLanguage:n,activeDeepLink:r}){return(0,jsx_runtime_1.jsx)(Providers_1.AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:i,activeSampleLanguage:n,activeDeepLink:r,children:(0,jsx_runtime_1.jsx)(RedoclyOpenAPIDocs,{withCommonStyles:!0})})}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RedoclyOpenAPIDocs=RedoclyOpenAPIDocs,exports.RedoclyOpenAPIDocsStandalone=RedoclyOpenAPIDocsStandalone;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),Providers_1=require("./Providers"),Overlay_1=require("../Overlay"),styled_1=require("./styled"),StickySidebar_1=require("../StickySidebar"),SideMenu_1=require("../SideMenu"),Content_1=require("../Content"),hooks_1=require("../../hooks"),withRouter_1=require("../../hoc/withRouter"),withStore_1=require("../../hoc/withStore"),utils_1=require("../../utils"),useLicense_1=require("../../hooks/useLicense"),replay_1=require("../../jotai/replay"),RedoclyOpenAPIDocsComponent=(0,utils_1.compose)(withRouter_1.withRouter,withStore_1.withStore,react_1.memo)((({licenseKey:e,onLoaded:o,children:t,options:i,layout:n,collapsedSidebar:r,parser:s,withCommonStyles:l})=>{var a,d,c,u,_;const m=(0,react_1.useRef)(null),{isValid:p,licenseInfo:h}=(0,useLicense_1.useLicense)(e),y=(0,jotai_1.useSetAtom)(replay_1.allOperationsAtom),v=(0,hooks_1.useOtelTelemetry)();(0,hooks_1.useUppercase2LowercaseRedirect)();const{contentItems:j,flatItems:x}=(0,hooks_1.useContentItems)({parser:s,options:i});(0,hooks_1.usePerformanceMetrics)({sendTelemetry:e=>{const o=Object.fromEntries(Object.entries(e).map((([e,o])=>[e.toLowerCase(),o])));v.send({type:"openapi_docs.performance_metrics",payload:{cls:o.cls,lcp:o.lcp,fcp:o.fcp,ttfb:o.ttfb}})}}),(0,theme_1.useMount)((()=>{if(null==o||o(),v.send({type:"openapi_docs.viewed",payload:{layout:n}}),!i.hideReplay){const e=x.filter((e=>"operation"===e.type));y(e)}}));const{hideSidebar:S,scrollYOffset:f}=i||{},P=null===(d=null===(a=s.definition)||void 0===a?void 0:a.info)||void 0===d?void 0:d["x-logo"];return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[l&&(0,jsx_runtime_1.jsx)(theme_1.GlobalStyle,{}),(0,jsx_runtime_1.jsxs)(styled_1.RedocWrap,{className:"redoc-wrap",ref:m,children:[!p&&(0,jsx_runtime_1.jsx)(Overlay_1.Overlay,{licenseInfo:h}),!S&&(0,jsx_runtime_1.jsxs)(StickySidebar_1.StickyResponsiveSidebar,{scrollYOffset:f,className:"menu-content",collapsedSidebar:!r,children:[(0,jsx_runtime_1.jsx)(theme_1.SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(_=null===(u=null===(c=s.definition)||void 0===c?void 0:c.info)||void 0===u?void 0:u.contact)||void 0===_?void 0:_.url),altText:null==P?void 0:P.altText,backgroundColor:null==P?void 0:P.backgroundColor}),(0,jsx_runtime_1.jsx)(SideMenu_1.SideMenu,{items:p?j:[]})]}),(0,jsx_runtime_1.jsxs)(theme_1.ThreePanelLayout,{className:"api-content",id:"api-content",layout:n===theme_1.LayoutVariant.THREE_PANEL?theme_1.LayoutVariant.THREE_PANEL:theme_1.LayoutVariant.STACKED,collapsedSidebar:r,children:[(0,jsx_runtime_1.jsx)(Content_1.Content,{items:p?j:[],routingBasePath:i.routingBasePath}),t]})]})]})}));function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t,withCommonStyles:i}){var n,r,s;return(null==t?void 0:t.definition)?(0,jsx_runtime_1.jsx)(Providers_1.StoreProvider,Object.assign({},t,{children:(0,jsx_runtime_1.jsx)(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,disableRouter:null===(s=t.options)||void 0===s?void 0:s.disableRouter,withCommonStyles:i,children:o})})):null}function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:i,activeSampleLanguage:n,activeDeepLink:r}){return(0,jsx_runtime_1.jsx)(Providers_1.AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:i,activeSampleLanguage:n,activeDeepLink:r,children:(0,jsx_runtime_1.jsx)(RedoclyOpenAPIDocs,{withCommonStyles:!0})})}
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,a){function i(e){try{u(o.next(e))}catch(e){a(e)}}function s(e){try{u(o.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((o=o.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),deepmerge_1=__importDefault(require("deepmerge")),ReplayOverlay=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.ReplayOverlay})))})))),store_1=require("../../jotai/store"),replay_1=require("../../jotai/replay"),operation_1=require("../../jotai/operation"),constants_1=require("../../constants"),app_1=require("../../jotai/app"),utils_1=require("./utils"),hooks_1=require("../../hooks"),utils_2=require("../../utils");function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){var o,n;const a=(0,hooks_1.useTranslate)(),i=(0,hooks_1.useOtelTelemetry)(),s=(0,react_1.useRef)(null),{mockServer:u,oAuth2RedirectURI:l,routingBasePath:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),c=(0,jotai_1.useAtomValue)(replay_1.allOperationsAtom),{parser:p}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),d=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),[m,f]=(0,react_1.useState)(!1),[h,y]=(0,jotai_1.useAtom)(replay_1.replayStateAtom),[j,v]=(0,jotai_1.useAtom)(operation_1.allOperations),[[,O],A]=(0,jotai_1.useAtom)(app_1.environmentAtom);(0,theme_1.useFocusTrap)(s),(0,theme_1.useModalScrollLock)(m);const x=(0,react_1.useCallback)((({operations:e,environment:t,environments:r})=>{const o=e.reduce(((e,t)=>{t.requestValues.body=t.requestValues.body instanceof URLSearchParams?Object.fromEntries(t.requestValues.body.entries()):t.requestValues.body;const{path:r,method:o}=t.sourcePath,n=utils_2.JsonPointer.compile(["paths",r,o]);return e[n]=(0,deepmerge_1.default)((0,operation_1.getDefaultOperationStore)(n),t),e}),{});v(Object.assign(Object.assign({},j),o)),A({environment:t,environments:r})}),[j,v,A]),b=()=>{h!==constants_1.LOADING_STATE.LOADING&&(m||i.send("openapi_docs.try_it.opened",{}),f(!m)),h===constants_1.LOADING_STATE.NOT_LOADED&&y(constants_1.LOADING_STATE.LOADING)},g=(0,react_1.useCallback)((e=>{if(!e)return;const t=c.find((t=>t.operationId===e));return _+(null==t?void 0:t.href)}),[c,_]);return r?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(theme_1.Button,{onClick:b,variant:"primary",iconPosition:"left",icon:h===constants_1.LOADING_STATE.LOADING?(0,jsx_runtime_1.jsx)(theme_1.CircleDashIcon,{}):(0,jsx_runtime_1.jsx)(theme_1.RocketIcon,{}),children:h===constants_1.LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),m&&(0,jsx_runtime_1.jsx)(react_1.Suspense,{children:(0,jsx_runtime_1.jsx)(theme_1.Portal,{mountId:"api-content",children:(0,jsx_runtime_1.jsx)("div",{ref:s,children:(0,jsx_runtime_1.jsx)(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,source:{data:r,type:"openapi"},onRequestChange:x,onClose:b,onLoad:()=>y(constants_1.LOADING_STATE.LOADED),settings:{corsProxyUrl:t,mockServer:u,environment:O,apiId:null===(n=null===(o=null==p?void 0:p.definition.info)||void 0===o?void 0:o["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:l,disableCollectionsTab:!0,disableWorkflowTab:!0,storageKey:_,convertOperationToReplayValue:(e,t,r)=>(0,utils_1.convertOperationToReplayValueForRedoc)(d)(e,t,r),getOperationUrl:g}})})})})]}):null}exports.Replay=(0,react_1.memo)(ReplayComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,a){function i(e){try{u(o.next(e))}catch(e){a(e)}}function s(e){try{u(o.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}u((o=o.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),deepmerge_1=__importDefault(require("deepmerge")),ReplayOverlay=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.ReplayOverlay})))})))),store_1=require("../../jotai/store"),replay_1=require("../../jotai/replay"),operation_1=require("../../jotai/operation"),constants_1=require("../../constants"),app_1=require("../../jotai/app"),utils_1=require("./utils"),hooks_1=require("../../hooks"),utils_2=require("../../utils");function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){var o,n;const a=(0,hooks_1.useTranslate)(),i=(0,hooks_1.useOtelTelemetry)(),s=(0,react_1.useRef)(null),{mockServer:u,oAuth2RedirectURI:l,routingBasePath:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),c=(0,jotai_1.useAtomValue)(replay_1.allOperationsAtom),{parser:p}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),d=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),[m,f]=(0,react_1.useState)(!1),[h,y]=(0,jotai_1.useAtom)(replay_1.replayStateAtom),[j,v]=(0,jotai_1.useAtom)(operation_1.allOperations),[[,O],A]=(0,jotai_1.useAtom)(app_1.environmentAtom);(0,theme_1.useFocusTrap)(s),(0,theme_1.useModalScrollLock)(m);const x=(0,react_1.useCallback)((({operations:e,environment:t,environments:r})=>{const o=e.reduce(((e,t)=>{t.requestValues.body=t.requestValues.body instanceof URLSearchParams?Object.fromEntries(t.requestValues.body.entries()):t.requestValues.body;const{path:r,method:o}=t.sourcePath,n=utils_2.JsonPointer.compile(["paths",r,o]);return e[n]=(0,deepmerge_1.default)((0,operation_1.getDefaultOperationStore)(n),t),e}),{});v(Object.assign(Object.assign({},j),o)),A({environment:t,environments:r})}),[j,v,A]),b=()=>{h!==constants_1.LOADING_STATE.LOADING&&(m||i.send({type:"openapi_docs.try_it.opened"}),f(!m)),h===constants_1.LOADING_STATE.NOT_LOADED&&y(constants_1.LOADING_STATE.LOADING)},g=(0,react_1.useCallback)((e=>{if(!e)return;const t=c.find((t=>t.operationId===e));return _+(null==t?void 0:t.href)}),[c,_]);return r?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(theme_1.Button,{onClick:b,variant:"primary",iconPosition:"left",icon:h===constants_1.LOADING_STATE.LOADING?(0,jsx_runtime_1.jsx)(theme_1.CircleDashIcon,{}):(0,jsx_runtime_1.jsx)(theme_1.RocketIcon,{}),children:h===constants_1.LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),m&&(0,jsx_runtime_1.jsx)(react_1.Suspense,{children:(0,jsx_runtime_1.jsx)(theme_1.Portal,{mountId:"api-content",children:(0,jsx_runtime_1.jsx)("div",{ref:s,children:(0,jsx_runtime_1.jsx)(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,source:{data:r,type:"openapi"},onRequestChange:x,onClose:b,onLoad:()=>y(constants_1.LOADING_STATE.LOADED),settings:{corsProxyUrl:t,mockServer:u,environment:O,apiId:null===(n=null===(o=null==p?void 0:p.definition.info)||void 0===o?void 0:o["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:l,disableCollectionsTab:!0,disableWorkflowTab:!0,storageKey:_,convertOperationToReplayValue:(e,t,r)=>(0,utils_1.convertOperationToReplayValueForRedoc)(d)(e,t,r),getOperationUrl:g}})})})})]}):null}exports.Replay=(0,react_1.memo)(ReplayComponent);
2
2
  //# sourceMappingURL=Replay.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Example=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),Samples_1=require("../Samples"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function ExampleComponent({mediaType:e,mediaContent:t,renderSample:a}){const o=(0,hooks_1.useOtelTelemetry)(),r=e.operation.pointer,[s,n]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(r)),i=e.examples||{},m=Object.keys(i),p=(0,hooks_1.useActivateExample)(t),{exampleKey:l}=(0,Samples_1.useExampleKey)(e.operation,i);if(!m.length||1===m.length)return a();return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:i,exampleKey:l,onChange:e=>{o.send("openapi_docs.examples_switcher.clicked",{example:e,number_of_examples:m.length}),n(Object.assign(Object.assign({},s),{activeExampleName:e,activeOneOf:{[r]:m.indexOf(e)},requestValues:{body:null}})),p(e)}}),a(l)]})}exports.Example=(0,react_1.memo)(ExampleComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Example=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),Samples_1=require("../Samples"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function ExampleComponent({mediaType:e,mediaContent:t,renderSample:a}){const o=(0,hooks_1.useOtelTelemetry)(),r=e.operation.pointer,[s,n]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(r)),i=e.examples||{},p=Object.keys(i),m=(0,hooks_1.useActivateExample)(t),{exampleKey:l}=(0,Samples_1.useExampleKey)(e.operation,i);if(!p.length||1===p.length)return a();return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:i,exampleKey:l,onChange:e=>{o.send({type:"openapi_docs.examples_switcher.clicked",payload:{example:e,number_of_examples:p.length}}),n(Object.assign(Object.assign({},s),{activeExampleName:e,activeOneOf:{[r]:p.indexOf(e)},requestValues:{body:null}})),m(e)}}),a(l)]})}exports.Example=(0,react_1.memo)(ExampleComponent);
2
2
  //# sourceMappingURL=Example.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,a){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)a.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(o[t[r]]=e[t[r]])}return o},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),models_1=require("../../models"),events_1=require("../../events"),store_1=require("../../jotai/store"),ServerListDropdown_1=require("../ServerListDropdown"),Language_1=require("../Language"),app_1=require("../../jotai/app"),Replay_1=require("../Replay"),common_1=require("../common"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function RequestSamplesComponent(e){var{operation:a,disableFooter:o}=e,t=__rest(e,["operation","disableFooter"]);const r=(0,hooks_1.useOtelTelemetry)(),[{activeLanguage:s,languages:n},l]=(0,jotai_1.useAtom)(app_1.languageAtom),{samples:i}=(0,useCodeSamples_1.useCodeSamples)(a),{parser:p,options:{events:u,corsProxyUrl:d,hideReplay:_}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),m=!(o||a.isWebhook||_||a.hideReplay),c=!!(null==n?void 0:n.length),y=(0,hooks_1.useActiveWithFallback)(i,s),g=e=>{l(e),r.send("openapi_docs.select_language.clicked",{language:e})},x=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:j}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(a.pointer)),v=(0,react_1.useCallback)((({lang:e,title:o})=>()=>{var t;const s=(0,events_1.createCodeSampleCopyEvent)({operation:a,label:o,lang:e,type:"request",activeMimeName:x,activeExampleName:j});r.send("openapi_docs.copy_code_snippet.clicked",{language:e,type:"request"}),null===(t=null==u?void 0:u.codeSamplesCopy)||void 0===t||t.call(u,s)}),[a,r,u,x,j]),S=()=>(0,jsx_runtime_1.jsxs)(StyledPanelHeader,{isExpandable:!1,withReplay:!c&&m,children:[(0,jsx_runtime_1.jsx)(StyledServerListDropdown,{operation:a}),c&&(0,jsx_runtime_1.jsx)(Language_1.LanguageDropdown,{activeTab:y,samples:i,onChange:g}),!c&&m&&(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:d,fullOpenApi:p.definition})]}),h=(0,react_1.useMemo)((()=>{if(m&&c)return(0,jsx_runtime_1.jsx)(ReplayWrapper,{children:(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:d,fullOpenApi:p.definition})})}),[m,c,a,d,p.definition]),f=(0,react_1.useMemo)((()=>i.map((e=>e.key===y?(0,jsx_runtime_1.jsx)("div",{children:(0,models_1.isPayloadSample)(e)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:v(e)},t)):(0,jsx_runtime_1.jsx)(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:v(e)},t))},e.key+a.id):null))),[y,v,a,t,i]);return n&&!i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,isExpandable:!1,expanded:!1}):i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,footer:h,isExpandable:!1,children:f}):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);const StyledPanelHeader=(0,styled_components_1.default)(theme_1.PanelHeader)`
1
+ "use strict";var __rest=this&&this.__rest||function(e,a){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)a.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(o[t[r]]=e[t[r]])}return o},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),models_1=require("../../models"),events_1=require("../../events"),store_1=require("../../jotai/store"),ServerListDropdown_1=require("../ServerListDropdown"),Language_1=require("../Language"),app_1=require("../../jotai/app"),Replay_1=require("../Replay"),common_1=require("../common"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function RequestSamplesComponent(e){var{operation:a,disableFooter:o}=e,t=__rest(e,["operation","disableFooter"]);const r=(0,hooks_1.useOtelTelemetry)(),[{activeLanguage:s,languages:n},l]=(0,jotai_1.useAtom)(app_1.languageAtom),{samples:i}=(0,useCodeSamples_1.useCodeSamples)(a),{parser:p,options:{events:d,corsProxyUrl:u,hideReplay:_}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),m=!(o||a.isWebhook||_||a.hideReplay),c=!!(null==n?void 0:n.length),y=(0,hooks_1.useActiveWithFallback)(i,s),g=e=>{l(e),r.send({type:"openapi_docs.select_language.clicked",payload:{language:e}})},x=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:j}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(a.pointer)),v=(0,react_1.useCallback)((({lang:e,title:o})=>()=>{var t;const s=(0,events_1.createCodeSampleCopyEvent)({operation:a,label:o,lang:e,type:"request",activeMimeName:x,activeExampleName:j});r.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"request",language:e}}),null===(t=null==d?void 0:d.codeSamplesCopy)||void 0===t||t.call(d,s)}),[a,r,d,x,j]),S=()=>(0,jsx_runtime_1.jsxs)(StyledPanelHeader,{isExpandable:!1,withReplay:!c&&m,children:[(0,jsx_runtime_1.jsx)(StyledServerListDropdown,{operation:a}),c&&(0,jsx_runtime_1.jsx)(Language_1.LanguageDropdown,{activeTab:y,samples:i,onChange:g}),!c&&m&&(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:u,fullOpenApi:p.definition})]}),h=(0,react_1.useMemo)((()=>{if(m&&c)return(0,jsx_runtime_1.jsx)(ReplayWrapper,{children:(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:u,fullOpenApi:p.definition})})}),[m,c,a,u,p.definition]),f=(0,react_1.useMemo)((()=>i.map((e=>e.key===y?(0,jsx_runtime_1.jsx)("div",{children:(0,models_1.isPayloadSample)(e)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:v(e)},t)):(0,jsx_runtime_1.jsx)(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:v(e)},t))},e.key+a.id):null))),[y,v,a,t,i]);return n&&!i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,isExpandable:!1,expanded:!1}):i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,footer:h,isExpandable:!1,children:f}):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);const StyledPanelHeader=(0,styled_components_1.default)(theme_1.PanelHeader)`
2
2
  flex-wrap: nowrap;
3
3
  ${({withReplay:e})=>e&&"padding: var(--spacing-xs) var(--spacing-sm);"}
4
4
  `,StyledServerListDropdown=(0,styled_components_1.default)(ServerListDropdown_1.ServerListDropdown)`
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),store_1=require("../../jotai/store"),Summary_1=require("./Summary"),Tabs_1=require("../Tabs"),common_1=require("../common"),hooks_1=require("../../hooks"),app_1=require("../../jotai/app"),operation_1=require("../../jotai/operation");function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const s=(0,hooks_1.useOtelTelemetry)(),{events:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),n=(0,hooks_1.useTranslate)(),r=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),i=e.responses.map((({code:e})=>({key:e,title:e}))),l=(null==i?void 0:i.find((({key:e})=>e===o)))||(null==i?void 0:i[0]),p=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:m}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(e.pointer)),u=(0,react_1.useCallback)((()=>{var o;s.send("openapi_docs.copy_code_snippet.clicked",{type:"response"});const a=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response",activeMimeName:p,activeExampleName:m});null===(o=null==t?void 0:t.codeSamplesCopy)||void 0===o||o.call(t,a)}),[s,e,t,p,m]);if(!r.length)return null;return(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-response-samples",header:()=>(0,jsx_runtime_1.jsx)(Summary_1.Summary,{tabs:(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:i,activeTab:l,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===l.key?(0,jsx_runtime_1.jsx)("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:u}):(0,jsx_runtime_1.jsx)(PayloadSamples_1.StyledCodeBlock,{source:n("openapi.noResponseContent","No content")})},e.code):null}))})}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),store_1=require("../../jotai/store"),Summary_1=require("./Summary"),Tabs_1=require("../Tabs"),common_1=require("../common"),hooks_1=require("../../hooks"),app_1=require("../../jotai/app"),operation_1=require("../../jotai/operation");function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const s=(0,hooks_1.useOtelTelemetry)(),{events:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),n=(0,hooks_1.useTranslate)(),r=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),i=e.responses.map((({code:e})=>({key:e,title:e}))),l=(null==i?void 0:i.find((({key:e})=>e===o)))||(null==i?void 0:i[0]),p=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:m}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(e.pointer)),u=(0,react_1.useCallback)((()=>{var o;s.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"response"}});const a=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response",activeMimeName:p,activeExampleName:m});null===(o=null==t?void 0:t.codeSamplesCopy)||void 0===o||o.call(t,a)}),[s,e,t,p,m]);if(!r.length)return null;return(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-response-samples",header:()=>(0,jsx_runtime_1.jsx)(Summary_1.Summary,{tabs:(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:i,activeTab:l,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===l.key?(0,jsx_runtime_1.jsx)("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:u}):(0,jsx_runtime_1.jsx)(PayloadSamples_1.StyledCodeBlock,{source:n("openapi.noResponseContent","No content")})},e.code):null}))})}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),common_1=require("../common"),SelectOrLabel_1=require("../SelectOrLabel"),utils_1=require("../../utils"),hooks_1=require("../../hooks"),ExampleSwitch=({exampleKey:e,examples:t,onChange:l,className:a})=>{var r;const s=(0,hooks_1.useOtelTelemetry)(),i=Object.keys(t),o=e?i.indexOf(e):0,[c,m]=(0,react_1.useState)(o>-1?o:0);(0,react_1.useEffect)((()=>m(o>-1?o:0)),[e,o]);const n=i.map(((e,l)=>({value:(0,utils_1.normalizeText)(t[e].summary)||e,idx:l})));return n.length<2?null:(0,jsx_runtime_1.jsx)(common_1.Container,{"data-testid":"example-switch",className:a,children:(0,jsx_runtime_1.jsx)(SelectOrLabel_1.SelectOrLabel,{Select:common_1.Select,Label:common_1.MimeLabel,variant:"dark",fullWidth:!0,options:n,value:null===(r=n[c])||void 0===r?void 0:r.value,onChange:({idx:e})=>{s.send("openapi_docs.examples_switcher.clicked",{example:i[e],number_of_examples:i.length}),m(e),l(i[e])}})})};exports.ExampleSwitch=ExampleSwitch;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),common_1=require("../common"),SelectOrLabel_1=require("../SelectOrLabel"),utils_1=require("../../utils"),hooks_1=require("../../hooks"),ExampleSwitch=({exampleKey:e,examples:t,onChange:l,className:a})=>{var r;const s=(0,hooks_1.useOtelTelemetry)(),i=Object.keys(t),o=e?i.indexOf(e):0,[c,m]=(0,react_1.useState)(o>-1?o:0);(0,react_1.useEffect)((()=>m(o>-1?o:0)),[e,o]);const n=i.map(((e,l)=>({value:(0,utils_1.normalizeText)(t[e].summary)||e,idx:l})));return n.length<2?null:(0,jsx_runtime_1.jsx)(common_1.Container,{"data-testid":"example-switch",className:a,children:(0,jsx_runtime_1.jsx)(SelectOrLabel_1.SelectOrLabel,{Select:common_1.Select,Label:common_1.MimeLabel,variant:"dark",fullWidth:!0,options:n,value:null===(r=n[c])||void 0===r?void 0:r.value,onChange:({idx:e})=>{s.send({type:"openapi_docs.examples_switcher.clicked",payload:{example:i[e],number_of_examples:i.length}}),m(e),l(i[e])}})})};exports.ExampleSwitch=ExampleSwitch;
2
2
  //# sourceMappingURL=ExampleSwitch.js.map
@@ -1,4 +1,2 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuthFlow=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),Markdown_1=require("../Markdown"),SecuritySchemeItem_1=require("./SecuritySchemeItem"),styled_1=require("./styled"),hooks_1=require("../../hooks");function OAuthFlowComponent({flow:e}){const t=Object.keys((null==e?void 0:e.scopes)||{}),r=(0,hooks_1.useTranslate)();return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.authorizationUrl","Authorization URL")}:`,value:(null==e?void 0:e.authorizationUrl)&&(0,jsx_runtime_1.jsx)(styled_1.StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl,children:null==e?void 0:e.authorizationUrl})}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.tokenUrl","Token URL")}:`,value:null==e?void 0:e.tokenUrl}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.refreshUrl","Refresh URL")}:`,value:null==e?void 0:e.refreshUrl}),t.length&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.scopes","Scopes")}:`,value:" "}),t.map((t=>(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:(0,jsx_runtime_1.jsx)(StyledTag,{className:"tag-grey",children:t}),value:(0,jsx_runtime_1.jsx)(Markdown_1.Markdown,{source:(null==e?void 0:e.scopes[t])||""})},t)))]})||null]})}const StyledTag=(0,styled_components_1.default)(styled_1.Tag)`
2
- margin-left: var(--spacing-xs);
3
- `;exports.OAuthFlow=(0,react_1.memo)(OAuthFlowComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuthFlow=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),SecuritySchemeItem_1=require("./SecuritySchemeItem"),styled_1=require("./styled"),hooks_1=require("../../hooks");function OAuthFlowComponent({flow:e}){const r=(0,hooks_1.useTranslate)();return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.authorizationUrl","Authorization URL")}:`,value:(null==e?void 0:e.authorizationUrl)&&(0,jsx_runtime_1.jsx)(styled_1.StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl,children:null==e?void 0:e.authorizationUrl})}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.tokenUrl","Token URL")}:`,value:null==e?void 0:e.tokenUrl}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${r("openapi.refreshUrl","Refresh URL")}:`,value:null==e?void 0:e.refreshUrl})]})}exports.OAuthFlow=(0,react_1.memo)(OAuthFlowComponent);
4
2
  //# sourceMappingURL=OAuthFlow.js.map
@@ -0,0 +1,13 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { OpenAPISecurityScheme } from '../../types';
3
+ import type { SecurityRequirement } from '../../models';
4
+ export interface OAuthOptionalScopesProps {
5
+ flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];
6
+ }
7
+ export interface OAuthRequiredScopesProps {
8
+ id: string;
9
+ securities: SecurityRequirement[];
10
+ flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];
11
+ }
12
+ export declare const OAuthOptionalScopes: import("react").NamedExoticComponent<PropsWithChildren<OAuthOptionalScopesProps>>;
13
+ export declare const OAuthRequiredScopes: import("react").NamedExoticComponent<PropsWithChildren<OAuthRequiredScopesProps>>;
@@ -0,0 +1,34 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuthRequiredScopes=exports.OAuthOptionalScopes=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),Markdown_1=require("../Markdown"),SecuritySchemeItem_1=require("./SecuritySchemeItem"),styled_1=require("./styled"),hooks_1=require("../../hooks"),helper_1=require("./helper");function OAuthOptionalScopesComponent({flow:e}){const t=Object.keys((null==e?void 0:e.scopes)||{}),r=(0,hooks_1.useTranslate)(),[s,o]=(0,react_1.useState)(!1);if(!t.length)return null;return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:(0,jsx_runtime_1.jsxs)(ScopeHeader,{onClick:()=>{o((e=>!e))},children:[r(s?"openapi.hideOptionalScopes":"openapi.showOptionalScopes",s?"Hide optional scopes":"Show optional scopes"),(0,jsx_runtime_1.jsx)(AnimatedChevronWrapper,{isOpen:s,children:(0,jsx_runtime_1.jsx)(theme_1.ChevronRightIcon,{size:"var(--font-size-base)",color:"var(--tree-content-color-default)"})})]}),value:" "}),(0,jsx_runtime_1.jsx)(ScopesListWrapper,{isOpen:s,children:t.map((t=>(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:(0,jsx_runtime_1.jsx)(StyledTag,{className:"tag-grey",children:t}),value:(0,jsx_runtime_1.jsx)(Markdown_1.Markdown,{source:(null==e?void 0:e.scopes[t])||""})},t)))})]})}function OAuthRequiredScopesComponent({id:e,securities:t,flow:r}){const s=(0,helper_1.getRequiredScopes)(e,t),o=(0,hooks_1.useTranslate)();return s.length?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:o("openapi.requiredScopes","Required scopes"),value:" "}),(0,jsx_runtime_1.jsx)(Row,{children:s.map((e=>(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:(0,jsx_runtime_1.jsx)(StyledTag,{className:"tag-grey",children:e}),value:(0,jsx_runtime_1.jsx)(Markdown_1.Markdown,{source:(null==r?void 0:r.scopes[e])||""})},e)))})]}):null}const StyledTag=(0,styled_components_1.default)(styled_1.Tag)`
2
+ font-family: var(--font-family-base);
3
+ font-size: var(--font-size-base);
4
+ line-height: var(--line-height-base);
5
+ align-self: flex-start;
6
+ padding: 0 var(--spacing-xs);
7
+ border: var(--tag-border-width) var(--tag-border-style) var(--tag-bg-color);
8
+ border-radius: var(--tag-border-radius);
9
+ `,ScopeHeader=styled_components_1.default.div`
10
+ cursor: pointer;
11
+ display: flex;
12
+ gap: var(--spacing-xxs);
13
+ align-items: center;
14
+ user-select: none;
15
+ `,Row=styled_components_1.default.div`
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ gap: var(--spacing-xxs);
19
+ word-break: normal;
20
+ `,ScopesListWrapper=styled_components_1.default.div`
21
+ max-height: ${e=>e.isOpen?"1000px":"0"};
22
+ opacity: ${e=>e.isOpen?"1":"0"};
23
+ overflow: hidden;
24
+ transition:
25
+ max-height 0.5s ease-in-out,
26
+ opacity 0.5s ease-in-out;
27
+ `,AnimatedChevronWrapper=styled_components_1.default.span`
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ transform: ${e=>e.isOpen?"rotate(90deg)":"rotate(0deg)"};
32
+ transition: transform 0.5s ease-in-out;
33
+ `;exports.OAuthOptionalScopes=(0,react_1.memo)(OAuthOptionalScopesComponent),exports.OAuthRequiredScopes=(0,react_1.memo)(OAuthRequiredScopesComponent);
34
+ //# sourceMappingURL=OAuthScopes.js.map
@@ -1,28 +1,31 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SecurityButton=SecurityButton;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme");function SecurityButton({securities:e,onClick:t}){return(0,jsx_runtime_1.jsxs)(StyledButton,{onClick:t,children:[(0,jsx_runtime_1.jsx)(theme_1.SecurityIcon,{}),(0,jsx_runtime_1.jsx)(Title,{children:"Security:"}),(0,jsx_runtime_1.jsx)(SecurityList,{children:e.map((t=>{const n=e.length>1&&t.schemes.length>1;return`\n ${n?"(":""}\n ${t.schemes.map((({id:e})=>e)).join(" and ")}\n ${n?")":""}\n `})).join(" or ")})]})}const StyledButton=styled_components_1.default.button`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SecurityButton=SecurityButton;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),react_1=require("react"),hooks_1=require("../../hooks");function SecurityButton({securities:e,onClick:t}){const r=(0,hooks_1.useTranslate)();return(0,jsx_runtime_1.jsx)(SecurityPanel,{header:()=>(0,jsx_runtime_1.jsxs)(SecurityHeader,{children:[(0,jsx_runtime_1.jsx)(theme_1.SecurityIcon,{}),(0,jsx_runtime_1.jsx)(Title,{children:"Security"}),(0,jsx_runtime_1.jsx)(ViewDetailsButton,{onClick:t,variant:"link",children:r("openapi.viewDetails","View details")})]}),isExpandable:!1,children:(0,jsx_runtime_1.jsx)(SecurityList,{children:e.map(((t,r)=>{const n=e.length>1&&t.schemes.length>1,i=t.schemes.map((({id:e},r)=>(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[e,r<t.schemes.length-1&&(0,jsx_runtime_1.jsx)(Conjunction,{children:" and "})]},e)));return(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[n?"(":"",i,n?")":"",r<e.length-1&&(0,jsx_runtime_1.jsx)(Conjunction,{children:" or "})]},r)}))})})}const SecurityPanel=(0,styled_components_1.default)(theme_1.Panel)`
2
+ margin-top: var(--spacing-base);
3
+ border: var(--panel-border);
4
+ border-radius: var(--panel-border-radius);
5
+ `,SecurityHeader=styled_components_1.default.div`
2
6
  display: flex;
3
7
  align-items: center;
4
- align-self: flex-start;
5
- gap: var(--spacing-xxs);
6
- min-height: 32px;
7
- background: var(--color-info-bg);
8
- padding: 0 var(--spacing-xs);
9
- margin-top: var(--spacing-base);
8
+ justify-content: space-between;
9
+ gap: var(--spacing-xs);
10
10
  color: var(--link-color-primary);
11
- border: none;
12
- font-size: var(--font-size-base);
13
- font-family: var(--font-family-base);
14
- line-height: var(--line-height-base);
15
- border-radius: var(--border-radius-md);
16
- max-width: 100%;
11
+ padding: var(--spacing-xs) var(--spacing-sm);
12
+ background-color: var(--layer-color);
13
+ border-bottom: var(--panel-border);
14
+ border-radius: var(--panel-border-radius) var(--panel-border-radius) 0 0;
15
+ `,ViewDetailsButton=(0,styled_components_1.default)(theme_1.Button)`
16
+ margin-left: auto;
17
+ font-size: var(--font-size-sm);
17
18
  `,Title=styled_components_1.default.span`
18
- font-family: var(--font-family-monospaced);
19
- font-weight: var(--font-weight-semibold);
20
- letter-spacing: -0.5px;
21
- `,SecurityList=styled_components_1.default.span`
19
+ font-family: var(--font-family-base);
20
+ font-weight: var(--font-weight-medium);
21
+ color: var(--text-color-primary);
22
+ `,SecurityList=styled_components_1.default.div`
22
23
  flex: 1;
23
- cursor: pointer;
24
- white-space: nowrap;
25
24
  text-overflow: ellipsis;
26
25
  overflow: hidden;
26
+ padding: var(--spacing-xs) var(--spacing-sm);
27
+ color: var(--text-color-primary);
28
+ `,Conjunction=styled_components_1.default.span`
29
+ color: var(--text-color-description);
27
30
  `;
28
31
  //# sourceMappingURL=SecurityButton.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SecurityFlow=SecurityFlow;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),SecuritySchemeItem_1=require("./SecuritySchemeItem"),utils_1=require("../../utils"),OAuthFlow_1=require("./OAuthFlow"),styled_1=require("./styled"),Markdown_1=require("../Markdown"),helper_1=require("./helper"),hooks_1=require("../../hooks");function SecurityFlow({type:e,bearerFormat:r,name:t,flows:i,openIdConnectUrl:s,description:n,id:a,securities:o,in:u}){const l=(0,hooks_1.useTranslate)();if(!e||!a)return null;const c=(0,helper_1.getRequiredScopes)(a,o),m={http:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:l("openapi.httpAuthorizationScheme","HTTP Authorization Scheme"),value:e}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:l("openapi.bearerFormat","Bearer Format"),value:r})]}),apiKey:(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${(0,utils_1.titleize)(u||"")} ${l("openapi.parameterName","parameter name")}:`,value:t}),oauth2:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:l("openapi.flowType","Flow type"),value:e}),i&&Object.keys(i).map((e=>(0,jsx_runtime_1.jsx)(OAuthFlow_1.OAuthFlow,{flow:i[e]},e)))]}),openIdConnect:(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:l("openapi.connectUrl","Connect URL"),value:s&&(0,jsx_runtime_1.jsx)(styled_1.StyledLink,{target:"_blank",rel:"noopener noreferrer",href:s,children:s})})};return(0,jsx_runtime_1.jsxs)(Wrapper,{children:[(0,jsx_runtime_1.jsx)(TitleSchema,{children:a}),(0,jsx_runtime_1.jsx)(Markdown_1.Markdown,{source:n}),(0,jsx_runtime_1.jsxs)(List,{children:[m[e]||null,(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:l("openapi.requiredScopes","Required scopes"),value:c.length&&(0,jsx_runtime_1.jsx)(Row,{children:c.map((e=>(0,jsx_runtime_1.jsx)(styled_1.Tag,{className:"tag-grey",children:e},e)))})})]})]})}const Wrapper=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SecurityFlow=SecurityFlow;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),SecuritySchemeItem_1=require("./SecuritySchemeItem"),utils_1=require("../../utils"),OAuthFlow_1=require("./OAuthFlow"),styled_1=require("./styled"),Markdown_1=require("../Markdown"),hooks_1=require("../../hooks"),OAuthScopes_1=require("./OAuthScopes");function SecurityFlow({type:e,bearerFormat:t,name:r,flows:i,openIdConnectUrl:s,description:n,id:o,securities:u,in:a}){const c=(0,hooks_1.useTranslate)();if(!e||!o)return null;const l={http:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:c("openapi.httpAuthorizationScheme","HTTP Authorization Scheme"),value:e}),(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:c("openapi.bearerFormat","Bearer Format"),value:t})]}),apiKey:(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:`${(0,utils_1.titleize)(a||"")} ${c("openapi.parameterName","parameter name")}:`,value:r}),oauth2:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:c("openapi.flowType","Flow type"),value:e}),i&&Object.keys(i).map((e=>(0,jsx_runtime_1.jsx)(OAuthFlow_1.OAuthFlow,{flow:i[e]},e)))]}),openIdConnect:(0,jsx_runtime_1.jsx)(SecuritySchemeItem_1.SecuritySchemeItem,{label:c("openapi.connectUrl","Connect URL"),value:s&&(0,jsx_runtime_1.jsx)(styled_1.StyledLink,{target:"_blank",rel:"noopener noreferrer",href:s,children:s})})},m=i&&Object.keys(i).map((e=>(0,jsx_runtime_1.jsx)(OAuthScopes_1.OAuthRequiredScopes,{id:o,securities:u,flow:i[e]},e))),_=i&&Object.keys(i).map((e=>(0,jsx_runtime_1.jsx)(OAuthScopes_1.OAuthOptionalScopes,{flow:i[e]},e)));return(0,jsx_runtime_1.jsxs)(Wrapper,{children:[(0,jsx_runtime_1.jsx)(TitleSchema,{children:o}),(0,jsx_runtime_1.jsx)(Markdown_1.Markdown,{source:n}),(0,jsx_runtime_1.jsxs)(List,{children:[l[e]||null,m,_]})]})}const Wrapper=styled_components_1.default.div`
2
2
  background: var(--layer-color);
3
3
  padding: var(--spacing-base);
4
4
  border-radius: var(--border-radius);
@@ -8,11 +8,6 @@
8
8
  `,List=styled_components_1.default.div`
9
9
  width: 100%;
10
10
  margin-top: var(--spacing-md);
11
- `,Row=styled_components_1.default.div`
12
- display: flex;
13
- flex-wrap: wrap;
14
- gap: var(--spacing-xxs);
15
- word-break: normal;
16
11
  `,TitleSchema=styled_components_1.default.p`
17
12
  font-size: var(--font-size-base);
18
13
  margin: 0 0 var(--spacing-xs);
@@ -2,7 +2,7 @@
2
2
  display: flex;
3
3
  flex-wrap: wrap;
4
4
  justify-content: flex-start;
5
- margin-bottom: var(--spacing-xxs);
5
+ margin-bottom: var(--spacing-xs);
6
6
  font-size: var(--font-size-sm);
7
7
  color: var(--text-color-secondary);
8
8
  `,Label=styled_components_1.default.div`
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServerListDropdown=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),common_1=require("../common"),styled_1=require("./styled"),PanelItem_1=require("../PanelItem"),services_1=require("../../services"),utils_1=require("../../utils"),app_1=require("../../jotai/app"),hooks_1=require("../../hooks"),environments_1=require("../../utils/environments"),ServerListDropdown=({operation:e,className:r})=>{const t=(0,hooks_1.useOtelTelemetry)(),[[s],i]=(0,jotai_1.useAtom)(app_1.environmentAtom),n=(0,hooks_1.useActiveWithFallback)(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),s.server),o=(0,react_1.useCallback)((e=>{e.stopPropagation()}),[]),a=(0,react_1.useCallback)((r=>()=>{1!==e.servers.length&&(i({environment:(0,environments_1.getServerEnvName)(r)}),t.send("openapi_docs.switch_servers.clicked",{server:(0,environments_1.getServerEnvName)(r)}))}),[e.servers.length,i,t]),_=(0,react_1.useMemo)((()=>e.servers.map((r=>{const t=(0,services_1.joinWithSeparator)((0,utils_1.replaceVariables)(r),e.path);return(0,jsx_runtime_1.jsx)(styled_1.StyledDropdownMenuItem,{onAction:a(r),children:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:r.description,title:t,actions:[(0,jsx_runtime_1.jsx)(styled_1.StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:o},t)],active:r.url===n,withCheckmark:!0})},t)}))),[e.servers,e.path,a,o,n]);return(0,jsx_runtime_1.jsx)(theme_1.Dropdown,{className:r,trigger:(0,jsx_runtime_1.jsxs)(styled_1.PathWrapper,{variant:"ghost",children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:e.httpVerb,children:e.httpVerb}),(0,jsx_runtime_1.jsx)(styled_1.Path,{children:e.path})]}),withArrow:!0,children:(0,jsx_runtime_1.jsx)(theme_1.DropdownMenu,{children:_})})};exports.ServerListDropdown=ServerListDropdown;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServerListDropdown=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),common_1=require("../common"),styled_1=require("./styled"),PanelItem_1=require("../PanelItem"),services_1=require("../../services"),utils_1=require("../../utils"),app_1=require("../../jotai/app"),hooks_1=require("../../hooks"),environments_1=require("../../utils/environments"),ServerListDropdown=({operation:e,className:r})=>{const t=(0,hooks_1.useOtelTelemetry)(),[[s],i]=(0,jotai_1.useAtom)(app_1.environmentAtom),n=(0,hooks_1.useActiveWithFallback)(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),s.server),o=(0,react_1.useCallback)((e=>{e.stopPropagation()}),[]),a=(0,react_1.useCallback)((r=>()=>{1!==e.servers.length&&(i({environment:(0,environments_1.getServerEnvName)(r)}),t.send({type:"openapi_docs.switch_servers.clicked",payload:{server:(0,environments_1.getServerEnvName)(r)}}))}),[e.servers.length,i,t]),_=(0,react_1.useMemo)((()=>e.servers.map((r=>{const t=(0,services_1.joinWithSeparator)((0,utils_1.replaceVariables)(r),e.path);return(0,jsx_runtime_1.jsx)(styled_1.StyledDropdownMenuItem,{onAction:a(r),children:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:r.description,title:t,actions:[(0,jsx_runtime_1.jsx)(styled_1.StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:o},t)],active:r.url===n,withCheckmark:!0})},t)}))),[e.servers,e.path,a,o,n]);return(0,jsx_runtime_1.jsx)(theme_1.Dropdown,{className:r,trigger:(0,jsx_runtime_1.jsxs)(styled_1.PathWrapper,{variant:"ghost",children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:e.httpVerb,children:e.httpVerb}),(0,jsx_runtime_1.jsx)(styled_1.Path,{children:e.path})]}),withArrow:!0,children:(0,jsx_runtime_1.jsx)(theme_1.DropdownMenu,{children:_})})};exports.ServerListDropdown=ServerListDropdown;
2
2
  //# sourceMappingURL=ServerListDropdown.js.map
@@ -1,3 +1,2 @@
1
- export declare function useOtelTelemetry(): {
2
- send(action: "error" | "page.viewed" | "search.ai.query" | "search.query" | "feedback.sent" | "search.result.clicked" | "openapi_docs.viewed" | "openapi_docs.performance_metrics" | "openapi_docs.download_definition.clicked" | "openapi_docs.select_language.clicked" | "openapi_docs.expand_collapse_all.clicked" | "openapi_docs.copy_code_snippet.clicked" | "openapi_docs.switch_servers.clicked" | "openapi_docs.examples_switcher.clicked" | "openapi_docs.try_it.opened" | "asyncapi_docs.performance_metrics" | "asyncapi_docs.viewed" | "asyncapi_docs.switch_message.clicked" | "asyncapi_docs.switch_example.clicked" | "asyncapi_docs.message.clicked", data: unknown): void;
3
- };
1
+ import { useThemeHooks } from '@redocly/theme';
2
+ export declare function useOtelTelemetry(): ReturnType<ReturnType<typeof useThemeHooks>['useOtelTelemetry']>;
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{DownloadIcon,DocumentIcon,JsonIcon,Button,FileIcon,getPathPrefix,combineUrls}from"@redocly/theme";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreAtom}from"../../jotai/store";import{useOtelTelemetry}from"../../hooks";function DownloadSpecificationComponent(){const e=useOtelTelemetry(),{options:o}=useAtomValue(globalStoreAtom),t=getPathPrefix(),n=useDownloadInfo({downloadUrls:o.downloadUrls}),r=useCallback((e=>{switch(e){case"yaml":return _jsx(DocumentIcon,{});case"json":return _jsx(JsonIcon,{});default:return _jsx(FileIcon,{})}}),[]);return n?_jsx(Wrapper,{children:(n||[]).map((({title:o,url:n,iconType:a})=>{const s=t?combineUrls(t,n):n;return _jsxs(Card,{onClick:()=>e.send("openapi_docs.download_definition.clicked",{}),children:[_jsxs(FileName,{children:[r(a),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:o})]}),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:_jsx(Button,{variant:"text",size:"small",icon:_jsx(DownloadIcon,{})})})]},o)}))}):_jsx(_Fragment,{})}export const DownloadSpecification=memo(DownloadSpecificationComponent);const Card=styled.div`
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{DownloadIcon,DocumentIcon,JsonIcon,Button,FileIcon,getPathPrefix,combineUrls}from"@redocly/theme";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreAtom}from"../../jotai/store";import{useOtelTelemetry}from"../../hooks";function DownloadSpecificationComponent(){const e=useOtelTelemetry(),{options:o}=useAtomValue(globalStoreAtom),t=getPathPrefix(),n=useDownloadInfo({downloadUrls:o.downloadUrls}),r=useCallback((e=>{switch(e){case"yaml":return _jsx(DocumentIcon,{});case"json":return _jsx(JsonIcon,{});default:return _jsx(FileIcon,{})}}),[]);return n?_jsx(Wrapper,{children:(n||[]).map((({title:o,url:n,iconType:a})=>{const s=t?combineUrls(t,n):n;return _jsxs(Card,{onClick:()=>e.send({type:"openapi_docs.download_definition.clicked"}),children:[_jsxs(FileName,{children:[r(a),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:o})]}),_jsx("a",{href:s,target:"_blank",download:!0,rel:"noreferrer",children:_jsx(Button,{variant:"text",size:"small",icon:_jsx(DownloadIcon,{})})})]},o)}))}):_jsx(_Fragment,{})}export const DownloadSpecification=memo(DownloadSpecificationComponent);const Card=styled.div`
2
2
  display: flex;
3
3
  align-items: baseline;
4
4
  justify-content: space-between;
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import styled from"styled-components";import{Button,MaximizeIcon}from"@redocly/theme";import{useAtom}from"jotai/index";import{operationStore}from"../../jotai/operation";import{useOtelTelemetry,useTranslate}from"../../hooks";export const ExpandAllButton=({operationPointer:e,type:o})=>{const t=useTranslate(),[l,n]=useAtom(operationStore(e)),a=useOtelTelemetry();return _jsx(StyledButton,{icon:_jsx(MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!l[o].expandedAll;a.send("openapi_docs.expand_collapse_all.clicked",{is_expanded:e}),n({[o]:{expandedAll:e}})},children:l[o].expandedAll?t("openapi.collapseAll","Collapse all"):t("openapi.expandAll","Expand all")})};const StyledButton=styled(Button)`
1
+ import{jsx as _jsx}from"react/jsx-runtime";import styled from"styled-components";import{Button,MaximizeIcon}from"@redocly/theme";import{useAtom}from"jotai/index";import{operationStore}from"../../jotai/operation";import{useOtelTelemetry,useTranslate}from"../../hooks";export const ExpandAllButton=({operationPointer:e,type:o})=>{const t=useTranslate(),[l,n]=useAtom(operationStore(e)),a=useOtelTelemetry();return _jsx(StyledButton,{icon:_jsx(MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!l[o].expandedAll;a.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),n({[o]:{expandedAll:e}})},children:l[o].expandedAll?t("openapi.collapseAll","Collapse all"):t("openapi.expandAll","Expand all")})};const StyledButton=styled(Button)`
2
2
  margin-left: auto;
3
3
  `;
4
4
  //# sourceMappingURL=ExpandAllButton.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useLayoutEffect,useRef,useState,useCallback,memo,useMemo}from"react";import{useAtomValue,useSetAtom}from"jotai";import{Button,OverflowMenuVerticalIcon}from"@redocly/theme";import{LanguageDropdown}from"./LanguageDropdown";import{languageAtom,layoutAtom}from"../../jotai/app";import{LanguageListContainer,LanguageListItem,Container}from"./styled";import{LanguageItem}from"./LanguageItem";import{DROPDOWN_TRIGGER_WIDTH,ITEM_WIDTH}from"./constants";import{LanguageListSkeleton}from"../common/Skeleton/LanguageListSkeleton";import{useOtelTelemetry}from"../../hooks";function LanguageListComponent({languages:e,activeLanguage:t}){const[n,o]=useState([]),[a,s]=useState([]),i=useOtelTelemetry(),r=useRef(null),u=useAtomValue(layoutAtom),m=useSetAtom(languageAtom),l=e=>{i.send("openapi_docs.select_language.clicked",{language:e})},g=useCallback((()=>{var n;const a=null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.offsetWidth;if(!a)return;const{newVisibleItems:i,newHiddenItems:u}=calculateVisibleAndHiddenItems(a,[...e]),m=u.findIndex((e=>e.key===t));-1!==m&&swapItems(i,u,m),o(i),s(u)}),[t,e]);useLayoutEffect((()=>(g(),window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)})),[u,t]);const c=useMemo((()=>n.length>=5||a.length?"space-between":"start"),[a.length,n.length]);return _jsxs(Container,{ref:r,children:[_jsxs(LanguageListContainer,{$justifyContent:c,children:[!n.length&&_jsx(LanguageListSkeleton,{}),n.map((e=>_jsx(LanguageListItem,{onClick:()=>{return t=e.key,m(t),void l(t);var t},active:t===e.key,children:_jsx(LanguageItem,{item:e,withIcon:!0})},e.key)))]}),a.length?_jsx(LanguageDropdown,{activeTab:t,samples:a,onChange:e=>{const t=a.findIndex((t=>t.key===e));if(-1!==t){const i=[...a],r=[...n];swapItems(r,i,t),o(r),s(i),l(e),m(e)}},trigger:_jsx(Button,{icon:_jsx(OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}export const LanguageList=memo(LanguageListComponent);function calculateVisibleAndHiddenItems(e,t){let n=0;const o=[],a=[];return t.forEach(((s,i)=>{const r=i===t.length-1&&0===a.length?0:DROPDOWN_TRIGGER_WIDTH;e&&n+ITEM_WIDTH+r<=e?(o.push(s),n+=ITEM_WIDTH):a.push(s)})),{newVisibleItems:o,newHiddenItems:a}}function swapItems(e,t,n){const o=e[e.length-1];o&&(e[e.length-1]=t[n],t[n]=o)}
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useLayoutEffect,useRef,useState,useCallback,memo,useMemo}from"react";import{useAtomValue,useSetAtom}from"jotai";import{Button,OverflowMenuVerticalIcon}from"@redocly/theme";import{LanguageDropdown}from"./LanguageDropdown";import{languageAtom,layoutAtom}from"../../jotai/app";import{LanguageListContainer,LanguageListItem,Container}from"./styled";import{LanguageItem}from"./LanguageItem";import{DROPDOWN_TRIGGER_WIDTH,ITEM_WIDTH}from"./constants";import{LanguageListSkeleton}from"../common/Skeleton/LanguageListSkeleton";import{useOtelTelemetry}from"../../hooks";function LanguageListComponent({languages:e,activeLanguage:t}){const[n,o]=useState([]),[a,s]=useState([]),i=useOtelTelemetry(),r=useRef(null),u=useAtomValue(layoutAtom),l=useSetAtom(languageAtom),m=e=>{i.send({type:"openapi_docs.select_language.clicked",payload:{language:e}})},g=useCallback((()=>{var n;const a=null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.offsetWidth;if(!a)return;const{newVisibleItems:i,newHiddenItems:u}=calculateVisibleAndHiddenItems(a,[...e]),l=u.findIndex((e=>e.key===t));-1!==l&&swapItems(i,u,l),o(i),s(u)}),[t,e]);useLayoutEffect((()=>(g(),window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)})),[u,t]);const c=useMemo((()=>n.length>=5||a.length?"space-between":"start"),[a.length,n.length]);return _jsxs(Container,{ref:r,children:[_jsxs(LanguageListContainer,{$justifyContent:c,children:[!n.length&&_jsx(LanguageListSkeleton,{}),n.map((e=>_jsx(LanguageListItem,{onClick:()=>{return t=e.key,l(t),void m(t);var t},active:t===e.key,children:_jsx(LanguageItem,{item:e,withIcon:!0})},e.key)))]}),a.length?_jsx(LanguageDropdown,{activeTab:t,samples:a,onChange:e=>{const t=a.findIndex((t=>t.key===e));if(-1!==t){const i=[...a],r=[...n];swapItems(r,i,t),o(r),s(i),m(e),l(e)}},trigger:_jsx(Button,{icon:_jsx(OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}export const LanguageList=memo(LanguageListComponent);function calculateVisibleAndHiddenItems(e,t){let n=0;const o=[],a=[];return t.forEach(((s,i)=>{const r=i===t.length-1&&0===a.length?0:DROPDOWN_TRIGGER_WIDTH;e&&n+ITEM_WIDTH+r<=e?(o.push(s),n+=ITEM_WIDTH):a.push(s)})),{newVisibleItems:o,newHiddenItems:a}}function swapItems(e,t,n){const o=e[e.length-1];o&&(e[e.length-1]=t[n],t[n]=o)}
2
2
  //# sourceMappingURL=LanguageList.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useRef}from"react";import{GlobalStyle as ThemeCommonStyle,LayoutVariant,SidebarLogo,ThreePanelLayout,useMount}from"@redocly/theme";import{useSetAtom}from"jotai";import{AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{RedocWrap}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{SideMenu}from"../SideMenu";import{Content}from"../Content";import{useContentItems,useUppercase2LowercaseRedirect,useOtelTelemetry,usePerformanceMetrics}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";import{allOperationsAtom}from"../../jotai/replay";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:o,children:t,options:i,layout:n,collapsedSidebar:r,parser:s,withCommonStyles:a})=>{var l,d,c,m,p;const u=useRef(null),{isValid:f,licenseInfo:v}=useLicense(e),y=useSetAtom(allOperationsAtom),h=useOtelTelemetry();useUppercase2LowercaseRedirect();const{contentItems:S,flatItems:j}=useContentItems({parser:s,options:i});usePerformanceMetrics({sendTelemetry:e=>{const o=Object.fromEntries(Object.entries(e).map((([e,o])=>[e.toLowerCase(),o])));h.send("openapi_docs.performance_metrics",o)}}),useMount((()=>{if(null==o||o(),h.send("openapi_docs.viewed",{layout:n}),!i.hideReplay){const e=j.filter((e=>"operation"===e.type));y(e)}}));const{hideSidebar:x,scrollYOffset:L}=i||{},_=null===(d=null===(l=s.definition)||void 0===l?void 0:l.info)||void 0===d?void 0:d["x-logo"];return _jsxs(_Fragment,{children:[a&&_jsx(ThemeCommonStyle,{}),_jsxs(RedocWrap,{className:"redoc-wrap",ref:u,children:[!f&&_jsx(Overlay,{licenseInfo:v}),!x&&_jsxs(StickyResponsiveSidebar,{scrollYOffset:L,className:"menu-content",collapsedSidebar:!r,children:[_jsx(SidebarLogo,{imageUrl:null==_?void 0:_.url,href:(null==_?void 0:_.href)||(null===(p=null===(m=null===(c=s.definition)||void 0===c?void 0:c.info)||void 0===m?void 0:m.contact)||void 0===p?void 0:p.url),altText:null==_?void 0:_.altText,backgroundColor:null==_?void 0:_.backgroundColor}),_jsx(SideMenu,{items:f?S:[]})]}),_jsxs(ThreePanelLayout,{className:"api-content",id:"api-content",layout:n===LayoutVariant.THREE_PANEL?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED,collapsedSidebar:r,children:[_jsx(Content,{items:f?S:[],routingBasePath:i.routingBasePath}),t]})]})]})}));export function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t,withCommonStyles:i}){var n,r,s;return(null==t?void 0:t.definition)?_jsx(StoreProvider,Object.assign({},t,{children:_jsx(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,disableRouter:null===(s=t.options)||void 0===s?void 0:s.disableRouter,withCommonStyles:i,children:o})})):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:i,activeSampleLanguage:n,activeDeepLink:r}){return _jsx(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:i,activeSampleLanguage:n,activeDeepLink:r,children:_jsx(RedoclyOpenAPIDocs,{withCommonStyles:!0})})}
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useRef}from"react";import{GlobalStyle as ThemeCommonStyle,LayoutVariant,SidebarLogo,ThreePanelLayout,useMount}from"@redocly/theme";import{useSetAtom}from"jotai";import{AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{RedocWrap}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{SideMenu}from"../SideMenu";import{Content}from"../Content";import{useContentItems,useUppercase2LowercaseRedirect,useOtelTelemetry,usePerformanceMetrics}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";import{allOperationsAtom}from"../../jotai/replay";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:o,children:t,options:i,layout:n,collapsedSidebar:r,parser:s,withCommonStyles:a})=>{var l,d,c,m,p;const u=useRef(null),{isValid:f,licenseInfo:y}=useLicense(e),v=useSetAtom(allOperationsAtom),h=useOtelTelemetry();useUppercase2LowercaseRedirect();const{contentItems:S,flatItems:j}=useContentItems({parser:s,options:i});usePerformanceMetrics({sendTelemetry:e=>{const o=Object.fromEntries(Object.entries(e).map((([e,o])=>[e.toLowerCase(),o])));h.send({type:"openapi_docs.performance_metrics",payload:{cls:o.cls,lcp:o.lcp,fcp:o.fcp,ttfb:o.ttfb}})}}),useMount((()=>{if(null==o||o(),h.send({type:"openapi_docs.viewed",payload:{layout:n}}),!i.hideReplay){const e=j.filter((e=>"operation"===e.type));v(e)}}));const{hideSidebar:x,scrollYOffset:L}=i||{},_=null===(d=null===(l=s.definition)||void 0===l?void 0:l.info)||void 0===d?void 0:d["x-logo"];return _jsxs(_Fragment,{children:[a&&_jsx(ThemeCommonStyle,{}),_jsxs(RedocWrap,{className:"redoc-wrap",ref:u,children:[!f&&_jsx(Overlay,{licenseInfo:y}),!x&&_jsxs(StickyResponsiveSidebar,{scrollYOffset:L,className:"menu-content",collapsedSidebar:!r,children:[_jsx(SidebarLogo,{imageUrl:null==_?void 0:_.url,href:(null==_?void 0:_.href)||(null===(p=null===(m=null===(c=s.definition)||void 0===c?void 0:c.info)||void 0===m?void 0:m.contact)||void 0===p?void 0:p.url),altText:null==_?void 0:_.altText,backgroundColor:null==_?void 0:_.backgroundColor}),_jsx(SideMenu,{items:f?S:[]})]}),_jsxs(ThreePanelLayout,{className:"api-content",id:"api-content",layout:n===LayoutVariant.THREE_PANEL?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED,collapsedSidebar:r,children:[_jsx(Content,{items:f?S:[],routingBasePath:i.routingBasePath}),t]})]})]})}));export function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t,withCommonStyles:i}){var n,r,s;return(null==t?void 0:t.definition)?_jsx(StoreProvider,Object.assign({},t,{children:_jsx(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,disableRouter:null===(s=t.options)||void 0===s?void 0:s.disableRouter,withCommonStyles:i,children:o})})):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:i,activeSampleLanguage:n,activeDeepLink:r}){return _jsx(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:i,activeSampleLanguage:n,activeDeepLink:r,children:_jsx(RedoclyOpenAPIDocs,{withCommonStyles:!0})})}
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(i,s)}l((r=r.apply(e,o||[])).next())}))};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{lazy,memo,Suspense,useCallback,useRef,useState}from"react";import{Button,CircleDashIcon,Portal,RocketIcon,useFocusTrap,useModalScrollLock}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import merge from"deepmerge";const ReplayOverlay=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.ReplayOverlay})))}))));import{globalOptionsAtom,globalStoreAtom}from"../../jotai/store";import{allOperationsAtom,replayStateAtom}from"../../jotai/replay";import{allOperations,getDefaultOperationStore}from"../../jotai/operation";import{LOADING_STATE}from"../../constants";import{environmentAtom,userClaimsAtom}from"../../jotai/app";import{convertOperationToReplayValueForRedoc}from"./utils";import{useTranslate,useOtelTelemetry}from"../../hooks";import{JsonPointer}from"../../utils";function ReplayComponent({operation:e,corsProxyUrl:o,fullOpenApi:t}){var r,n;const a=useTranslate(),i=useOtelTelemetry(),s=useRef(null),{mockServer:l,oAuth2RedirectURI:u,routingBasePath:m}=useAtomValue(globalOptionsAtom),p=useAtomValue(allOperationsAtom),{parser:c}=useAtomValue(globalStoreAtom),d=useAtomValue(userClaimsAtom),[A,f]=useState(!1),[y,O]=useAtom(replayStateAtom),[v,_]=useAtom(allOperations),[[,T],h]=useAtom(environmentAtom);useFocusTrap(s),useModalScrollLock(A);const I=useCallback((({operations:e,environment:o,environments:t})=>{const r=e.reduce(((e,o)=>{o.requestValues.body=o.requestValues.body instanceof URLSearchParams?Object.fromEntries(o.requestValues.body.entries()):o.requestValues.body;const{path:t,method:r}=o.sourcePath,n=JsonPointer.compile(["paths",t,r]);return e[n]=merge(getDefaultOperationStore(n),o),e}),{});_(Object.assign(Object.assign({},v),r)),h({environment:o,environments:t})}),[v,_,h]),S=()=>{y!==LOADING_STATE.LOADING&&(A||i.send("openapi_docs.try_it.opened",{}),f(!A)),y===LOADING_STATE.NOT_LOADED&&O(LOADING_STATE.LOADING)},g=useCallback((e=>{if(!e)return;const o=p.find((o=>o.operationId===e));return m+(null==o?void 0:o.href)}),[p,m]);return t?_jsxs(_Fragment,{children:[_jsx(Button,{onClick:S,variant:"primary",iconPosition:"left",icon:y===LOADING_STATE.LOADING?_jsx(CircleDashIcon,{}):_jsx(RocketIcon,{}),children:y===LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),A&&_jsx(Suspense,{children:_jsx(Portal,{mountId:"api-content",children:_jsx("div",{ref:s,children:_jsx(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,source:{data:t,type:"openapi"},onRequestChange:I,onClose:S,onLoad:()=>O(LOADING_STATE.LOADED),settings:{corsProxyUrl:o,mockServer:l,environment:T,apiId:null===(n=null===(r=null==c?void 0:c.definition.info)||void 0===r?void 0:r["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:u,disableCollectionsTab:!0,disableWorkflowTab:!0,storageKey:m,convertOperationToReplayValue:(e,o,t)=>convertOperationToReplayValueForRedoc(d)(e,o,t),getOperationUrl:g}})})})})]}):null}export const Replay=memo(ReplayComponent);
1
+ var __awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(i,s)}l((r=r.apply(e,o||[])).next())}))};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{lazy,memo,Suspense,useCallback,useRef,useState}from"react";import{Button,CircleDashIcon,Portal,RocketIcon,useFocusTrap,useModalScrollLock}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import merge from"deepmerge";const ReplayOverlay=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.ReplayOverlay})))}))));import{globalOptionsAtom,globalStoreAtom}from"../../jotai/store";import{allOperationsAtom,replayStateAtom}from"../../jotai/replay";import{allOperations,getDefaultOperationStore}from"../../jotai/operation";import{LOADING_STATE}from"../../constants";import{environmentAtom,userClaimsAtom}from"../../jotai/app";import{convertOperationToReplayValueForRedoc}from"./utils";import{useTranslate,useOtelTelemetry}from"../../hooks";import{JsonPointer}from"../../utils";function ReplayComponent({operation:e,corsProxyUrl:o,fullOpenApi:t}){var r,n;const a=useTranslate(),i=useOtelTelemetry(),s=useRef(null),{mockServer:l,oAuth2RedirectURI:u,routingBasePath:m}=useAtomValue(globalOptionsAtom),p=useAtomValue(allOperationsAtom),{parser:c}=useAtomValue(globalStoreAtom),d=useAtomValue(userClaimsAtom),[A,f]=useState(!1),[y,O]=useAtom(replayStateAtom),[v,_]=useAtom(allOperations),[[,T],h]=useAtom(environmentAtom);useFocusTrap(s),useModalScrollLock(A);const I=useCallback((({operations:e,environment:o,environments:t})=>{const r=e.reduce(((e,o)=>{o.requestValues.body=o.requestValues.body instanceof URLSearchParams?Object.fromEntries(o.requestValues.body.entries()):o.requestValues.body;const{path:t,method:r}=o.sourcePath,n=JsonPointer.compile(["paths",t,r]);return e[n]=merge(getDefaultOperationStore(n),o),e}),{});_(Object.assign(Object.assign({},v),r)),h({environment:o,environments:t})}),[v,_,h]),S=()=>{y!==LOADING_STATE.LOADING&&(A||i.send({type:"openapi_docs.try_it.opened"}),f(!A)),y===LOADING_STATE.NOT_LOADED&&O(LOADING_STATE.LOADING)},g=useCallback((e=>{if(!e)return;const o=p.find((o=>o.operationId===e));return m+(null==o?void 0:o.href)}),[p,m]);return t?_jsxs(_Fragment,{children:[_jsx(Button,{onClick:S,variant:"primary",iconPosition:"left",icon:y===LOADING_STATE.LOADING?_jsx(CircleDashIcon,{}):_jsx(RocketIcon,{}),children:y===LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),A&&_jsx(Suspense,{children:_jsx(Portal,{mountId:"api-content",children:_jsx("div",{ref:s,children:_jsx(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,source:{data:t,type:"openapi"},onRequestChange:I,onClose:S,onLoad:()=>O(LOADING_STATE.LOADED),settings:{corsProxyUrl:o,mockServer:l,environment:T,apiId:null===(n=null===(r=null==c?void 0:c.definition.info)||void 0===r?void 0:r["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:u,disableCollectionsTab:!0,disableWorkflowTab:!0,storageKey:m,convertOperationToReplayValue:(e,o,t)=>convertOperationToReplayValueForRedoc(d)(e,o,t),getOperationUrl:g}})})})})]}):null}export const Replay=memo(ReplayComponent);
2
2
  //# sourceMappingURL=Replay.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtom}from"jotai";import{ExampleSwitch,useExampleKey}from"../Samples";import{useActivateExample,useOtelTelemetry}from"../../hooks";import{operationStore}from"../../jotai/operation";function ExampleComponent({mediaType:e,mediaContent:t,renderSample:m}){const o=useOtelTelemetry(),a=e.operation.pointer,[r,s]=useAtom(operationStore(a)),n=e.examples||{},p=Object.keys(n),i=useActivateExample(t),{exampleKey:l}=useExampleKey(e.operation,n);if(!p.length||1===p.length)return m();return _jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:n,exampleKey:l,onChange:e=>{o.send("openapi_docs.examples_switcher.clicked",{example:e,number_of_examples:p.length}),s(Object.assign(Object.assign({},r),{activeExampleName:e,activeOneOf:{[a]:p.indexOf(e)},requestValues:{body:null}})),i(e)}}),m(l)]})}export const Example=memo(ExampleComponent);
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtom}from"jotai";import{ExampleSwitch,useExampleKey}from"../Samples";import{useActivateExample,useOtelTelemetry}from"../../hooks";import{operationStore}from"../../jotai/operation";function ExampleComponent({mediaType:e,mediaContent:t,renderSample:m}){const a=useOtelTelemetry(),o=e.operation.pointer,[p,r]=useAtom(operationStore(o)),s=e.examples||{},n=Object.keys(s),i=useActivateExample(t),{exampleKey:l}=useExampleKey(e.operation,s);if(!n.length||1===n.length)return m();return _jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:s,exampleKey:l,onChange:e=>{a.send({type:"openapi_docs.examples_switcher.clicked",payload:{example:e,number_of_examples:n.length}}),r(Object.assign(Object.assign({},p),{activeExampleName:e,activeOneOf:{[o]:n.indexOf(e)},requestValues:{body:null}})),i(e)}}),m(l)]})}export const Example=memo(ExampleComponent);
2
2
  //# sourceMappingURL=Example.js.map
@@ -1,4 +1,4 @@
1
- var __rest=this&&this.__rest||function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)o.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(a[t[r]]=e[t[r]])}return a};import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback,useMemo}from"react";import{useAtomValue,useAtom}from"jotai";import{PanelHeader}from"@redocly/theme";import styled from"styled-components";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent}from"../../events";import{globalStoreAtom}from"../../jotai/store";import{ServerListDropdown}from"../ServerListDropdown";import{LanguageDropdown}from"../Language";import{activeMimeNameAtom,languageAtom}from"../../jotai/app";import{Replay}from"../Replay";import{CodeBlockPanel}from"../common";import{useActiveWithFallback,useOtelTelemetry}from"../../hooks";import{operationStore}from"../../jotai/operation";function RequestSamplesComponent(e){var{operation:o,disableFooter:a}=e,t=__rest(e,["operation","disableFooter"]);const r=useOtelTelemetry(),[{activeLanguage:l,languages:s},n]=useAtom(languageAtom),{samples:p}=useCodeSamples(o),{parser:i,options:{events:m,corsProxyUrl:d,hideReplay:c}}=useAtomValue(globalStoreAtom),u=!(a||o.isWebhook||c||o.hideReplay),y=!!(null==s?void 0:s.length),g=useActiveWithFallback(p,l),f=e=>{n(e),r.send("openapi_docs.select_language.clicked",{language:e})},v=useAtomValue(activeMimeNameAtom),{activeExampleName:x}=useAtomValue(operationStore(o.pointer)),S=useCallback((({lang:e,title:a})=>()=>{var t;const l=createCodeSampleCopyEvent({operation:o,label:a,lang:e,type:"request",activeMimeName:v,activeExampleName:x});r.send("openapi_docs.copy_code_snippet.clicked",{language:e,type:"request"}),null===(t=null==m?void 0:m.codeSamplesCopy)||void 0===t||t.call(m,l)}),[o,r,m,v,x]),b=()=>_jsxs(StyledPanelHeader,{isExpandable:!1,withReplay:!y&&u,children:[_jsx(StyledServerListDropdown,{operation:o}),y&&_jsx(LanguageDropdown,{activeTab:g,samples:p,onChange:f}),!y&&u&&_jsx(Replay,{operation:o,corsProxyUrl:d,fullOpenApi:i.definition})]}),j=useMemo((()=>{if(u&&y)return _jsx(ReplayWrapper,{children:_jsx(Replay,{operation:o,corsProxyUrl:d,fullOpenApi:i.definition})})}),[u,y,o,d,i.definition]),h=useMemo((()=>p.map((e=>e.key===g?_jsx("div",{children:isPayloadSample(e)?_jsx(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:S(e)},t)):_jsx(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:o,onCopyClick:S(e)},t))},e.key+o.id):null))),[g,S,o,t,p]);return s&&!p.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:b,isExpandable:!1,expanded:!1}):p.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:b,footer:j,isExpandable:!1,children:h}):null}export const RequestSamples=memo(RequestSamplesComponent);const StyledPanelHeader=styled(PanelHeader)`
1
+ var __rest=this&&this.__rest||function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)o.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(a[t[r]]=e[t[r]])}return a};import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback,useMemo}from"react";import{useAtomValue,useAtom}from"jotai";import{PanelHeader}from"@redocly/theme";import styled from"styled-components";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent}from"../../events";import{globalStoreAtom}from"../../jotai/store";import{ServerListDropdown}from"../ServerListDropdown";import{LanguageDropdown}from"../Language";import{activeMimeNameAtom,languageAtom}from"../../jotai/app";import{Replay}from"../Replay";import{CodeBlockPanel}from"../common";import{useActiveWithFallback,useOtelTelemetry}from"../../hooks";import{operationStore}from"../../jotai/operation";function RequestSamplesComponent(e){var{operation:o,disableFooter:a}=e,t=__rest(e,["operation","disableFooter"]);const r=useOtelTelemetry(),[{activeLanguage:l,languages:p},s]=useAtom(languageAtom),{samples:n}=useCodeSamples(o),{parser:i,options:{events:m,corsProxyUrl:d,hideReplay:c}}=useAtomValue(globalStoreAtom),u=!(a||o.isWebhook||c||o.hideReplay),y=!!(null==p?void 0:p.length),g=useActiveWithFallback(n,l),f=e=>{s(e),r.send({type:"openapi_docs.select_language.clicked",payload:{language:e}})},v=useAtomValue(activeMimeNameAtom),{activeExampleName:x}=useAtomValue(operationStore(o.pointer)),S=useCallback((({lang:e,title:a})=>()=>{var t;const l=createCodeSampleCopyEvent({operation:o,label:a,lang:e,type:"request",activeMimeName:v,activeExampleName:x});r.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"request",language:e}}),null===(t=null==m?void 0:m.codeSamplesCopy)||void 0===t||t.call(m,l)}),[o,r,m,v,x]),b=()=>_jsxs(StyledPanelHeader,{isExpandable:!1,withReplay:!y&&u,children:[_jsx(StyledServerListDropdown,{operation:o}),y&&_jsx(LanguageDropdown,{activeTab:g,samples:n,onChange:f}),!y&&u&&_jsx(Replay,{operation:o,corsProxyUrl:d,fullOpenApi:i.definition})]}),j=useMemo((()=>{if(u&&y)return _jsx(ReplayWrapper,{children:_jsx(Replay,{operation:o,corsProxyUrl:d,fullOpenApi:i.definition})})}),[u,y,o,d,i.definition]),h=useMemo((()=>n.map((e=>e.key===g?_jsx("div",{children:isPayloadSample(e)?_jsx(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:S(e)},t)):_jsx(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:o,onCopyClick:S(e)},t))},e.key+o.id):null))),[g,S,o,t,n]);return p&&!n.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:b,isExpandable:!1,expanded:!1}):n.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:b,footer:j,isExpandable:!1,children:h}):null}export const RequestSamples=memo(RequestSamplesComponent);const StyledPanelHeader=styled(PanelHeader)`
2
2
  flex-wrap: nowrap;
3
3
  ${({withReplay:e})=>e&&"padding: var(--spacing-xs) var(--spacing-sm);"}
4
4
  `,StyledServerListDropdown=styled(ServerListDropdown)`
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{PayloadSamples,StyledCodeBlock}from"../PayloadSamples";import{createCodeSampleCopyEvent}from"../../events";import{globalOptionsAtom}from"../../jotai/store";import{Summary}from"./Summary";import{Tabs}from"../Tabs";import{CodeBlockPanel}from"../common";import{useOtelTelemetry,useTranslate}from"../../hooks";import{activeMimeNameAtom}from"../../jotai/app";import{operationStore}from"../../jotai/operation";function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const t=useOtelTelemetry(),{events:n}=useAtomValue(globalOptionsAtom),s=useTranslate(),l=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),m=e.responses.map((({code:e})=>({key:e,title:e}))),r=(null==m?void 0:m.find((({key:e})=>e===o)))||(null==m?void 0:m[0]),p=useAtomValue(activeMimeNameAtom),{activeExampleName:i}=useAtomValue(operationStore(e.pointer)),c=useCallback((()=>{var o;t.send("openapi_docs.copy_code_snippet.clicked",{type:"response"});const a=createCodeSampleCopyEvent({operation:e,type:"response",activeMimeName:p,activeExampleName:i});null===(o=null==n?void 0:n.codeSamplesCopy)||void 0===o||o.call(n,a)}),[t,e,n,p,i]);if(!l.length)return null;return _jsx(CodeBlockPanel,{className:"panel-response-samples",header:()=>_jsx(Summary,{tabs:_jsx(Tabs,{tabs:m,activeTab:r,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===r.key?_jsx("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?_jsx(PayloadSamples,{content:e.content,onCopyClick:c}):_jsx(StyledCodeBlock,{source:s("openapi.noResponseContent","No content")})},e.code):null}))})}export const ResponseSamples=memo(ResponseSamplesComponent);
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{PayloadSamples,StyledCodeBlock}from"../PayloadSamples";import{createCodeSampleCopyEvent}from"../../events";import{globalOptionsAtom}from"../../jotai/store";import{Summary}from"./Summary";import{Tabs}from"../Tabs";import{CodeBlockPanel}from"../common";import{useOtelTelemetry,useTranslate}from"../../hooks";import{activeMimeNameAtom}from"../../jotai/app";import{operationStore}from"../../jotai/operation";function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const t=useOtelTelemetry(),{events:n}=useAtomValue(globalOptionsAtom),s=useTranslate(),l=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),m=e.responses.map((({code:e})=>({key:e,title:e}))),p=(null==m?void 0:m.find((({key:e})=>e===o)))||(null==m?void 0:m[0]),r=useAtomValue(activeMimeNameAtom),{activeExampleName:i}=useAtomValue(operationStore(e.pointer)),c=useCallback((()=>{var o;t.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"response"}});const a=createCodeSampleCopyEvent({operation:e,type:"response",activeMimeName:r,activeExampleName:i});null===(o=null==n?void 0:n.codeSamplesCopy)||void 0===o||o.call(n,a)}),[t,e,n,r,i]);if(!l.length)return null;return _jsx(CodeBlockPanel,{className:"panel-response-samples",header:()=>_jsx(Summary,{tabs:_jsx(Tabs,{tabs:m,activeTab:p,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===p.key?_jsx("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?_jsx(PayloadSamples,{content:e.content,onCopyClick:c}):_jsx(StyledCodeBlock,{source:s("openapi.noResponseContent","No content")})},e.code):null}))})}export const ResponseSamples=memo(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:l,className:a})=>{var m;const r=useOtelTelemetry(),o=Object.keys(t),s=e?o.indexOf(e):0,[i,n]=useState(s>-1?s:0);useEffect((()=>n(s>-1?s:0)),[e,s]);const c=o.map(((e,l)=>({value:normalizeText(t[e].summary)||e,idx:l})));return c.length<2?null:_jsx(Container,{"data-testid":"example-switch",className:a,children:_jsx(SelectOrLabel,{Select:Select,Label:MimeLabel,variant:"dark",fullWidth:!0,options:c,value:null===(m=c[i])||void 0===m?void 0:m.value,onChange:({idx:e})=>{r.send("openapi_docs.examples_switcher.clicked",{example:o[e],number_of_examples:o.length}),n(e),l(o[e])}})})};
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:a,className:l})=>{var m;const o=useOtelTelemetry(),r=Object.keys(t),s=e?r.indexOf(e):0,[i,n]=useState(s>-1?s:0);useEffect((()=>n(s>-1?s:0)),[e,s]);const c=r.map(((e,a)=>({value:normalizeText(t[e].summary)||e,idx:a})));return c.length<2?null:_jsx(Container,{"data-testid":"example-switch",className:l,children:_jsx(SelectOrLabel,{Select:Select,Label:MimeLabel,variant:"dark",fullWidth:!0,options:c,value:null===(m=c[i])||void 0===m?void 0:m.value,onChange:({idx:e})=>{o.send({type:"openapi_docs.examples_switcher.clicked",payload:{example:r[e],number_of_examples:r.length}}),n(e),a(r[e])}})})};
2
2
  //# sourceMappingURL=ExampleSwitch.js.map
@@ -1,4 +1,2 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{Markdown}from"../Markdown";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{StyledLink,Tag}from"./styled";import{useTranslate}from"../../hooks";function OAuthFlowComponent({flow:e}){const r=Object.keys((null==e?void 0:e.scopes)||{}),o=useTranslate();return _jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:`${o("openapi.authorizationUrl","Authorization URL")}:`,value:(null==e?void 0:e.authorizationUrl)&&_jsx(StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl,children:null==e?void 0:e.authorizationUrl})}),_jsx(SecuritySchemeItem,{label:`${o("openapi.tokenUrl","Token URL")}:`,value:null==e?void 0:e.tokenUrl}),_jsx(SecuritySchemeItem,{label:`${o("openapi.refreshUrl","Refresh URL")}:`,value:null==e?void 0:e.refreshUrl}),r.length&&_jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:`${o("openapi.scopes","Scopes")}:`,value:" "}),r.map((r=>_jsx(SecuritySchemeItem,{label:_jsx(StyledTag,{className:"tag-grey",children:r}),value:_jsx(Markdown,{source:(null==e?void 0:e.scopes[r])||""})},r)))]})||null]})}const StyledTag=styled(Tag)`
2
- margin-left: var(--spacing-xs);
3
- `;export const OAuthFlow=memo(OAuthFlowComponent);
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{StyledLink}from"./styled";import{useTranslate}from"../../hooks";function OAuthFlowComponent({flow:e}){const r=useTranslate();return _jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:`${r("openapi.authorizationUrl","Authorization URL")}:`,value:(null==e?void 0:e.authorizationUrl)&&_jsx(StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl,children:null==e?void 0:e.authorizationUrl})}),_jsx(SecuritySchemeItem,{label:`${r("openapi.tokenUrl","Token URL")}:`,value:null==e?void 0:e.tokenUrl}),_jsx(SecuritySchemeItem,{label:`${r("openapi.refreshUrl","Refresh URL")}:`,value:null==e?void 0:e.refreshUrl})]})}export const OAuthFlow=memo(OAuthFlowComponent);
4
2
  //# sourceMappingURL=OAuthFlow.js.map
@@ -0,0 +1,13 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { OpenAPISecurityScheme } from '../../types';
3
+ import type { SecurityRequirement } from '../../models';
4
+ export interface OAuthOptionalScopesProps {
5
+ flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];
6
+ }
7
+ export interface OAuthRequiredScopesProps {
8
+ id: string;
9
+ securities: SecurityRequirement[];
10
+ flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];
11
+ }
12
+ export declare const OAuthOptionalScopes: import("react").NamedExoticComponent<PropsWithChildren<OAuthOptionalScopesProps>>;
13
+ export declare const OAuthRequiredScopes: import("react").NamedExoticComponent<PropsWithChildren<OAuthRequiredScopesProps>>;
@@ -0,0 +1,34 @@
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useState}from"react";import styled from"styled-components";import{ChevronRightIcon}from"@redocly/theme";import{Markdown}from"../Markdown";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{Tag}from"./styled";import{useTranslate}from"../../hooks";import{getRequiredScopes}from"./helper";function OAuthOptionalScopesComponent({flow:e}){const t=Object.keys((null==e?void 0:e.scopes)||{}),o=useTranslate(),[r,s]=useState(!1);if(!t.length)return null;return _jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:_jsxs(ScopeHeader,{onClick:()=>{s((e=>!e))},children:[o(r?"openapi.hideOptionalScopes":"openapi.showOptionalScopes",r?"Hide optional scopes":"Show optional scopes"),_jsx(AnimatedChevronWrapper,{isOpen:r,children:_jsx(ChevronRightIcon,{size:"var(--font-size-base)",color:"var(--tree-content-color-default)"})})]}),value:" "}),_jsx(ScopesListWrapper,{isOpen:r,children:t.map((t=>_jsx(SecuritySchemeItem,{label:_jsx(StyledTag,{className:"tag-grey",children:t}),value:_jsx(Markdown,{source:(null==e?void 0:e.scopes[t])||""})},t)))})]})}function OAuthRequiredScopesComponent({id:e,securities:t,flow:o}){const r=getRequiredScopes(e,t),s=useTranslate();return r.length?_jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:s("openapi.requiredScopes","Required scopes"),value:" "}),_jsx(Row,{children:r.map((e=>_jsx(SecuritySchemeItem,{label:_jsx(StyledTag,{className:"tag-grey",children:e}),value:_jsx(Markdown,{source:(null==o?void 0:o.scopes[e])||""})},e)))})]}):null}const StyledTag=styled(Tag)`
2
+ font-family: var(--font-family-base);
3
+ font-size: var(--font-size-base);
4
+ line-height: var(--line-height-base);
5
+ align-self: flex-start;
6
+ padding: 0 var(--spacing-xs);
7
+ border: var(--tag-border-width) var(--tag-border-style) var(--tag-bg-color);
8
+ border-radius: var(--tag-border-radius);
9
+ `,ScopeHeader=styled.div`
10
+ cursor: pointer;
11
+ display: flex;
12
+ gap: var(--spacing-xxs);
13
+ align-items: center;
14
+ user-select: none;
15
+ `,Row=styled.div`
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ gap: var(--spacing-xxs);
19
+ word-break: normal;
20
+ `,ScopesListWrapper=styled.div`
21
+ max-height: ${e=>e.isOpen?"1000px":"0"};
22
+ opacity: ${e=>e.isOpen?"1":"0"};
23
+ overflow: hidden;
24
+ transition:
25
+ max-height 0.5s ease-in-out,
26
+ opacity 0.5s ease-in-out;
27
+ `,AnimatedChevronWrapper=styled.span`
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ transform: ${e=>e.isOpen?"rotate(90deg)":"rotate(0deg)"};
32
+ transition: transform 0.5s ease-in-out;
33
+ `;export const OAuthOptionalScopes=memo(OAuthOptionalScopesComponent);export const OAuthRequiredScopes=memo(OAuthRequiredScopesComponent);
34
+ //# sourceMappingURL=OAuthScopes.js.map