import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{titleize}from"../../utils";import{OAuthFlow}from"./OAuthFlow";import{StyledLink,Tag}from"./styled";import{Markdown}from"../Markdown";import{getRequiredScopes}from"./helper";export function SecurityFlow({type:e,bearerFormat:r,name:t,flows:a,openIdConnectUrl:i,description:s,id:o,securities:l,in:n}){if(!e||!o)return null;const m=getRequiredScopes(o,l),c={http:_jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:"HTTP Authorization Scheme",value:e}),_jsx(SecuritySchemeItem,{label:"Bearer Format",value:r})]}),apiKey:_jsx(SecuritySchemeItem,{label:`${titleize(n||"")} parameter name:`,value:t}),oauth2:_jsxs(_Fragment,{children:[_jsx(SecuritySchemeItem,{label:"Flow type:",value:e}),a&&Object.keys(a).map((e=>_jsx(OAuthFlow,{flow:a[e]},e)))]}),openIdConnect:_jsx(SecuritySchemeItem,{label:"Connect URL:",value:i&&_jsx(StyledLink,{target:"_blank",rel:"noopener noreferrer",href:i,children:i})})};return _jsxs(Wrapper,{children:[_jsx(TitleSchema,{children:o}),_jsx(Markdown,{source:s}),_jsxs(List,{children:[c[e]||null,_jsx(SecuritySchemeItem,{label:"Required scopes",value:m.length&&_jsx(Row,{children:m.map((e=>_jsx(Tag,{className:"tag-grey",children:e},e)))})})]})]})}const Wrapper=styled.div`
  background: var(--layer-color);
  padding: var(--spacing-base);
  border-radius: var(--border-radius);
  border: 1px solid var(--border-color-secondary);
  width: 100%;
  margin-top: var(--spacing-base);
`,List=styled.div`
  width: 100%;
  margin-top: var(--spacing-md);
`,Row=styled.div`
  display: flex;
  gap: var(--spacing-xxs);
  word-break: normal;
`,TitleSchema=styled.p`
  font-size: var(--font-size-base);
  margin: 0 0 var(--spacing-xs);
  text-transform: capitalize;
  font-weight: var(--font-weight-semibold);
`;
//# sourceMappingURL=SecurityFlow.js.map