mirror of
				https://github.com/Redocly/redoc.git
				synced 2025-11-01 00:07:32 +03:00 
			
		
		
		
	DX-2817 Support classNames
This commit is contained in:
		
							parent
							
								
									407cacef0f
								
							
						
					
					
						commit
						caa3bfde5a
					
				
							
								
								
									
										67
									
								
								docs/css.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								docs/css.md
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,67 @@ | |||
| --- | ||||
| title: Redoc CSS Guide | ||||
| --- | ||||
| 
 | ||||
| # Custom CSS Overrides Guide | ||||
| 
 | ||||
| Certain components and containers in this project have been given unique classNames to allow for easier CSS overriding. | ||||
| 
 | ||||
| ## List of Unique ClassNames | ||||
| 
 | ||||
| ### Operations | ||||
| 
 | ||||
|  - `middle-panel`: top level container for content in the middle panel of an **Operation** | ||||
|  - `right-panel`: top level container for content in the right panel of an **Operation** | ||||
|  - `operation-header`: `<h2>` that contains the **Operation** header/summary | ||||
|  - `operation-description`: container for the **Operation** description | ||||
| 
 | ||||
| ### Security | ||||
| 
 | ||||
|  - `operation-security`: top level container for the Security/Auth section in an **Operation** | ||||
|  - `security-details`: container for an individual security method in the Security/Auth section | ||||
| 
 | ||||
| ### Parameters | ||||
|  - `operation-parameters`: container for **Operation** query/path/header/form parameters | ||||
| 
 | ||||
| ### Requests | ||||
| 
 | ||||
|  - `operation-request-samples`: top level container for the **Request Samples** section in the right panel | ||||
|  - `request-code-sample`: container for the request code samples in the right panel | ||||
|  - `request-payload`: container for the request payload sample in the right panel | ||||
| 
 | ||||
| ### Responses | ||||
| 
 | ||||
|  - `operation-responses`: top level container for the **Responses** section in the middle panel | ||||
|  - `response`: container for individual responses in the **Responses** section | ||||
|  - `response-headers`: `<tbody>` for response headers for an individual response | ||||
|  - `operation-response-samples`: top level container for the **Response Samples** section in the right panel | ||||
|  - `response-sample`: container for the response payload sample in the right panel | ||||
| 
 | ||||
| ### Callbacks | ||||
| 
 | ||||
|  - `callbacks`: top level container for the **Callbacks** section in the middle panel | ||||
|  - `callback`: container for individual callbacks in the **Callbacks** section | ||||
|  - `operation-callback-samples`: top level container for the **Callback Samples** section in the right panel | ||||
|  - `callback-sample`: container for the callback payload sample in the right panel | ||||
| 
 | ||||
| ### Schemas | ||||
| 
 | ||||
|  - `array-schema`: container for array schema | ||||
|  - `object-schema`: `<tbody>` for object schema | ||||
|  - `oneOf-schema`: container for oneOf schema | ||||
|  - `recursive-schema` container for recursive schema | ||||
| 
 | ||||
| ### Fields | ||||
| 
 | ||||
|  - `field`: `<tr>` for individual fields inside a **Schema** | ||||
|  - `field-details`: container for details on an individual **Field** | ||||
|  - `field-constraints`: `<span>` for constraints on an individual **Field** inside the field details | ||||
|  - `field-deprecated`: deprecated badge for an individual **Field** inside the field details | ||||
|  - `field-example`: example value for an individual **Field** inside the field details | ||||
|  - `field-pattern`: regex pattern for an individual **Field** inside the field details | ||||
| 
 | ||||
| ### Other | ||||
| 
 | ||||
|  - `side-menu`: top level container for the sidebar menu | ||||
|  - `endpoint`: container for the endpoint URL used in multiple places | ||||
|  - `request-body-description`: container for the description of a request body used in multiple places | ||||
|  | @ -23,7 +23,7 @@ export class CallbackPayloadSample extends React.Component<PayloadSampleProps> { | |||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <PayloadSampleWrapper> | ||||
|       <PayloadSampleWrapper className="callback-sample"> | ||||
|         <PayloadSamples content={payloadSample.requestBodyContent} /> | ||||
|       </PayloadSampleWrapper> | ||||
|     ); | ||||
|  |  | |||
|  | @ -56,7 +56,7 @@ export class CallbackSamples extends React.Component<CallbackSamplesProps> { | |||
|     }); | ||||
| 
 | ||||
|     return ( | ||||
|       <div> | ||||
|       <div className="operation-callback-samples"> | ||||
|         <RightPanelHeader> Callback payload samples </RightPanelHeader> | ||||
| 
 | ||||
|         <SamplesWrapper> | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ export class CallbackDetails extends React.Component<CallbackDetailsProps> { | |||
|     const hasDescription = !!(description || externalDocs); | ||||
| 
 | ||||
|     return ( | ||||
|       <CallbackDetailsWrap> | ||||
|       <CallbackDetailsWrap className="callback"> | ||||
|         {hasDescription && ( | ||||
|           <Description> | ||||
|             {description !== undefined && <Markdown source={description} />} | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ export class CallbacksList extends React.PureComponent<CallbacksListProps> { | |||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <div> | ||||
|       <div className="operation-callbacks"> | ||||
|         <CallbacksHeader> Callbacks </CallbacksHeader> | ||||
|         {callbacks.map(callback => { | ||||
|           return callback.operations.map((operation, index) => { | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ export class Endpoint extends React.Component<EndpointProps, EndpointState> { | |||
|     return ( | ||||
|       <OptionsContext.Consumer> | ||||
|         {options => ( | ||||
|           <OperationEndpointWrap> | ||||
|           <OperationEndpointWrap className="endpoint"> | ||||
|             <EndpointInfo onClick={this.toggle} expanded={expanded} inverted={inverted}> | ||||
|               <HttpVerb type={operation.httpVerb} compact={this.props.compact}> | ||||
|                 {operation.httpVerb} | ||||
|  |  | |||
|  | @ -90,7 +90,7 @@ export class Field extends React.Component<FieldProps> { | |||
| 
 | ||||
|     return ( | ||||
|       <> | ||||
|         <tr className={isLast ? 'last ' + className : className}> | ||||
|         <tr className={isLast ? 'last field' + className : className + ' field'}> | ||||
|           {paramName} | ||||
|           <PropertyDetailsCell> | ||||
|             <FieldDetails {...this.props} /> | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ export class ConstraintsView extends React.PureComponent<ConstraintsViewProps> { | |||
|       return null; | ||||
|     } | ||||
|     return ( | ||||
|       <span> | ||||
|       <span className="field-constraints"> | ||||
|         {' '} | ||||
|         {this.props.constraints.map(constraint => ( | ||||
|           <ConstraintItem key={constraint}> {constraint} </ConstraintItem> | ||||
|  |  | |||
|  | @ -16,7 +16,8 @@ function FieldDetailComponent({ value, label, raw }: FieldDetailProps) { | |||
| 
 | ||||
|   return ( | ||||
|     <div> | ||||
|       <FieldLabel> {label} </FieldLabel> <ExampleValue>{stringifyValue}</ExampleValue> | ||||
|       <FieldLabel> {label} </FieldLabel>{' '} | ||||
|       <ExampleValue className="field-example">{stringifyValue}</ExampleValue> | ||||
|     </div> | ||||
|   ); | ||||
| } | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ export const FieldDetailsComponent = observer((props: FieldProps) => { | |||
|     : schema.default; | ||||
| 
 | ||||
|   return ( | ||||
|     <div> | ||||
|     <div className="field-details"> | ||||
|       <div> | ||||
|         <TypePrefix>{schema.typePrefix}</TypePrefix> | ||||
|         <TypeName>{schema.displayType}</TypeName> | ||||
|  | @ -92,7 +92,7 @@ export const FieldDetailsComponent = observer((props: FieldProps) => { | |||
|         {isArrayType && schema.items && <ArrayItemDetails schema={schema.items} />} | ||||
|       </div> | ||||
|       {deprecated && ( | ||||
|         <div> | ||||
|         <div className="field-deprecated"> | ||||
|           <Badge type="warning"> {l('deprecated')} </Badge> | ||||
|         </div> | ||||
|       )} | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ export function Pattern(props: { schema: SchemaModel }) { | |||
| 
 | ||||
|   return ( | ||||
|     <> | ||||
|       <PatternLabel> | ||||
|       <PatternLabel className="field-pattern"> | ||||
|         {isPatternShown || pattern.length < MAX_PATTERN_LENGTH | ||||
|           ? pattern | ||||
|           : `${pattern.substr(0, MAX_PATTERN_LENGTH)}...`} | ||||
|  |  | |||
|  | @ -35,8 +35,8 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element = | |||
|     <OptionsContext.Consumer> | ||||
|       {options => ( | ||||
|         <Row {...{ [SECTION_ATTR]: operation.operationHash }} id={operation.operationHash}> | ||||
|           <MiddlePanel> | ||||
|             <H2> | ||||
|           <MiddlePanel className="middle-panel"> | ||||
|             <H2 className="operation-header"> | ||||
|               <ShareLink to={operation.id} /> | ||||
|               {summary} {deprecated && <Badge type="warning"> Deprecated </Badge>} | ||||
|               {isWebhook && ( | ||||
|  | @ -50,7 +50,7 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element = | |||
|               <Endpoint operation={operation} inverted={true} /> | ||||
|             )} | ||||
|             {hasDescription && ( | ||||
|               <Description> | ||||
|               <Description className="operation-description"> | ||||
|                 {description !== undefined && <Markdown source={description} />} | ||||
|                 {externalDocs && <ExternalDocumentation externalDocs={externalDocs} />} | ||||
|               </Description> | ||||
|  | @ -61,7 +61,7 @@ export const Operation = observer(({ operation }: OperationProps): JSX.Element = | |||
|             <ResponsesList responses={operation.responses} /> | ||||
|             <CallbacksList callbacks={operation.callbacks} /> | ||||
|           </MiddlePanel> | ||||
|           <DarkRightPanel> | ||||
|           <DarkRightPanel className="right-panel"> | ||||
|             {!options.pathInMiddlePanel && !isWebhook && <Endpoint operation={operation} />} | ||||
|             <RequestSamples operation={operation} /> | ||||
|             <ResponseSamples operation={operation} /> | ||||
|  |  | |||
|  | @ -79,7 +79,9 @@ export function BodyContent(props: { | |||
|       {({ schema }) => { | ||||
|         return ( | ||||
|           <> | ||||
|             {description !== undefined && <Markdown source={description} />} | ||||
|             {description !== undefined && ( | ||||
|               <Markdown source={description} className="request-body-description" /> | ||||
|             )} | ||||
|             {schema?.type === 'object' && ( | ||||
|               <ConstraintsView constraints={schema?.constraints || []} /> | ||||
|             )} | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ export class ParametersGroup extends React.PureComponent<ParametersGroupProps, a | |||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <div key={place}> | ||||
|       <div key={place} className="operation-parameters"> | ||||
|         <UnderlinedHeader>{place} Parameters</UnderlinedHeader> | ||||
|         <PropertiesTable> | ||||
|           <tbody> | ||||
|  |  | |||
|  | @ -53,7 +53,7 @@ export class Redoc extends React.Component<RedocProps> { | |||
|                   /> | ||||
|                 )) || | ||||
|                   null} | ||||
|                 <SideMenu menu={menu} /> | ||||
|                 <SideMenu menu={menu} className="side-menu" /> | ||||
|               </StickyResponsiveSidebar> | ||||
|               <ApiContentWrap className="api-content"> | ||||
|                 <ApiInfo store={store} /> | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ export class RequestSamples extends React.Component<RequestSamplesProps> { | |||
|     const hideTabList = samples.length === 1 ? this.context.hideSingleRequestSampleTab : false; | ||||
|     return ( | ||||
|       (hasSamples && ( | ||||
|         <div> | ||||
|         <div className="operation-request-samples"> | ||||
|           <RightPanelHeader> {l('requestSamples')} </RightPanelHeader> | ||||
| 
 | ||||
|           <Tabs defaultIndex={0}> | ||||
|  | @ -40,7 +40,7 @@ export class RequestSamples extends React.Component<RequestSamplesProps> { | |||
|             {samples.map(sample => ( | ||||
|               <TabPanel key={sample.lang + '_' + (sample.label || '')}> | ||||
|                 {isPayloadSample(sample) ? ( | ||||
|                   <div> | ||||
|                   <div className="request-payload"> | ||||
|                     <PayloadSamples content={sample.requestBodyContent} /> | ||||
|                   </div> | ||||
|                 ) : ( | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ export class ResponseSamples extends React.Component<ResponseSamplesProps> { | |||
| 
 | ||||
|     return ( | ||||
|       (responses.length > 0 && ( | ||||
|         <div> | ||||
|         <div className="operation-response-samples"> | ||||
|           <RightPanelHeader> {l('responseSamples')} </RightPanelHeader> | ||||
| 
 | ||||
|           <Tabs defaultIndex={0}> | ||||
|  | @ -36,7 +36,7 @@ export class ResponseSamples extends React.Component<ResponseSamplesProps> { | |||
|             </TabList> | ||||
|             {responses.map(response => ( | ||||
|               <TabPanel key={response.code}> | ||||
|                 <div> | ||||
|                 <div className="response-sample"> | ||||
|                   <PayloadSamples content={response.content!} /> | ||||
|                 </div> | ||||
|               </TabPanel> | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ export const ResponseView = observer(({ response }: ResponseViewProps): React.Re | |||
|   ); | ||||
| 
 | ||||
|   return ( | ||||
|     <div> | ||||
|     <div className="response"> | ||||
|       <StyledResponseTitle | ||||
|         onClick={() => response.toggle()} | ||||
|         type={type} | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ export class ResponseHeaders extends React.PureComponent<ResponseHeadersProps> { | |||
|     return ( | ||||
|       <PropertiesTable> | ||||
|         <HeadersCaption> Response Headers </HeadersCaption> | ||||
|         <tbody> | ||||
|         <tbody className="response-headers"> | ||||
|           {mapWithLast(headers, (header, isLast) => ( | ||||
|             <Field isLast={isLast} key={header.name} field={header} showExamples={true} /> | ||||
|           ))} | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ export class ResponsesList extends React.PureComponent<ResponseListProps> { | |||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <div> | ||||
|       <div className="operation-responses"> | ||||
|         <ResponsesHeader>{isCallback ? l('callbackResponses') : l('responses')}</ResponsesHeader> | ||||
|         {responses.map(response => { | ||||
|           return <ResponseView key={response.code} response={response} />; | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ export class ArraySchema extends React.PureComponent<SchemaProps> { | |||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <div> | ||||
|       <div className="array-schema"> | ||||
|         <ArrayOpenningLabel> Array {minMaxItems}</ArrayOpenningLabel> | ||||
|         <PaddedSchema> | ||||
|           <Schema {...this.props} schema={itemsSchema} /> | ||||
|  |  | |||
|  | @ -50,7 +50,7 @@ export const ObjectSchema = observer( | |||
|     return ( | ||||
|       <PropertiesTable> | ||||
|         {showTitle && <PropertiesTableCaption>{title}</PropertiesTableCaption>} | ||||
|         <tbody> | ||||
|         <tbody className="object-schema"> | ||||
|           {mapWithLast(filteredFields, (field, isLast) => { | ||||
|             return ( | ||||
|               <Field | ||||
|  |  | |||
|  | @ -51,7 +51,7 @@ export class OneOfSchema extends React.Component<SchemaProps> { | |||
|     const activeSchema = oneOf[schema.activeOneOf]; | ||||
| 
 | ||||
|     return ( | ||||
|       <div> | ||||
|       <div className="oneOf-schema"> | ||||
|         <OneOfLabel> {schema.oneOfType} </OneOfLabel> | ||||
|         <OneOfList> | ||||
|           {oneOf.map((subSchema, idx) => ( | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ import type { SchemaProps } from '.'; | |||
| 
 | ||||
| export const RecursiveSchema = observer(({ schema }: SchemaProps) => { | ||||
|   return ( | ||||
|     <div> | ||||
|     <div className="recursive-schema"> | ||||
|       <TypeName>{schema.displayType}</TypeName> | ||||
|       {schema.title && <TypeTitle> {schema.title} </TypeTitle>} | ||||
|       <RecursiveLabel> {l('recursive')} </RecursiveLabel> | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ export function SecurityRequirements(props: SecurityRequirementsProps) { | |||
| 
 | ||||
|   return ( | ||||
|     <> | ||||
|       <Wrap expanded={expanded}> | ||||
|       <Wrap expanded={expanded} className="operation-security"> | ||||
|         <AuthHeaderColumn onClick={() => setExpanded(!expanded)}> | ||||
|           <AuthHeader>Authorizations:</AuthHeader> | ||||
|           <ShelfIcon size={'1.3em'} direction={expanded ? 'down' : 'right'} /> | ||||
|  | @ -56,7 +56,7 @@ export function SecurityRequirements(props: SecurityRequirementsProps) { | |||
|       {expanded && | ||||
|         operationSecuritySchemes?.length && | ||||
|         operationSecuritySchemes.map((scheme, idx) => ( | ||||
|           <SecurityDetailsStyle key={idx}> | ||||
|           <SecurityDetailsStyle key={idx} className="security-details"> | ||||
|             <h5> | ||||
|               <LockIcon /> {AUTH_TYPES[scheme.type] || scheme.type}: {scheme.id} | ||||
|             </h5> | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ export const SourceCodeWithCopy = (props: SourceCodeProps) => { | |||
|   return ( | ||||
|     <CopyButtonWrapper data={source}> | ||||
|       {({ renderCopyButton }) => ( | ||||
|         <SampleControlsWrap> | ||||
|         <SampleControlsWrap className="request-code-sample"> | ||||
|           <SampleControls>{renderCopyButton()}</SampleControls> | ||||
|           <SourceCode lang={lang} source={source} /> | ||||
|         </SampleControlsWrap> | ||||
|  |  | |||
|  | @ -2856,7 +2856,9 @@ exports[`Components SchemaView discriminator should correctly render SchemaView | |||
| 
 | ||||
| exports[`Components SchemaView discriminator should correctly render discriminator dropdown 1`] = ` | ||||
| <styled.table> | ||||
|   <tbody> | ||||
|   <tbody | ||||
|     className="object-schema" | ||||
|   > | ||||
|     <Field | ||||
|       expandByDefault={false} | ||||
|       field={ | ||||
|  |  | |||
|  | @ -1,7 +1,9 @@ | |||
| // Jest Snapshot v1, https://goo.gl/fbAQLP | ||||
| 
 | ||||
| exports[`Components SchemaView OneOf deprecated should match snapshot 1`] = ` | ||||
| <div> | ||||
| <div | ||||
|   class="oneOf-schema" | ||||
| > | ||||
|   <span | ||||
|     class="sc-kfYoZR juYXUf" | ||||
|   > | ||||
|  | @ -30,7 +32,9 @@ exports[`Components SchemaView OneOf deprecated should match snapshot 1`] = ` | |||
|     </span> | ||||
|   </div> | ||||
|   <div> | ||||
|     <div> | ||||
|     <div | ||||
|       class="field-details" | ||||
|     > | ||||
|       <div> | ||||
|         <span | ||||
|           class="sc-laZMeE sc-iNiQyp jWaWWE jrLlAa" | ||||
|  |  | |||
|  | @ -10,14 +10,14 @@ OAuth2 is also a safer and more secure way to give you access.</p> | |||
| </div><div class=\\"sc-EZqKI aOkZE\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Security Scheme Type: </b><span>OpenID Connect</span></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div></div></div></div><div id=\\"section/Authentication/basicAuth\\" data-section-id=\\"section/Authentication/basicAuth\\" class=\\"sc-eCApnc jlMQbh\\"><div class=\\"sc-iCoGMd gLxhOh\\"><div class=\\"sc-hKFxyN juinod\\"><h2 class=\\"sc-pNWdM eftmgB\\">basicAuth</h2><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-EZqKI aOkZE\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Security Scheme Type: </b><span>HTTP</span></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div></div></div></div>" | ||||
| `; | ||||
| 
 | ||||
| exports[`SecurityRequirement should render authDefinition 1`] = `"<div class=\\"sc-bQCEYZ eDdCgW\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp iPqByX\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb kJFNCL\\"><span class=\\"sc-kYPZxB irJeRy\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB irJeRy\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i></span></span></div></div>,"`; | ||||
| exports[`SecurityRequirement should render authDefinition 1`] = `"<div class=\\"sc-bQCEYZ eDdCgW operation-security\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp iPqByX\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb kJFNCL\\"><span class=\\"sc-kYPZxB irJeRy\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB irJeRy\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i></span></span></div></div>,"`; | ||||
| 
 | ||||
| exports[`SecurityRequirement should render authDefinition 2`] = ` | ||||
| "<div class=\\"sc-bQCEYZ dSwEDq\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp fVWtGJ\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb ekRdav\\"><span class=\\"sc-kYPZxB fhGdrc\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB fhGdrc\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i> (<code class=\\"sc-eHEENL fwFTyL\\">write:pets</code><code class=\\"sc-eHEENL fwFTyL\\">read:pets</code>) </span></span></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OAuth2: petstore_auth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>Get access to data while protecting your account credentials. | ||||
| "<div class=\\"sc-bQCEYZ dSwEDq operation-security\\"><div class=\\"sc-xGAEC femyTb\\"><h5 class=\\"sc-iqAclL sc-jHcXXw eONCmm keQLTh\\">Authorizations:</h5><svg class=\\"sc-dIsUp fVWtGJ\\" version=\\"1.1\\" viewBox=\\"0 0 24 24\\" x=\\"0\\" xmlns=\\"http://www.w3.org/2000/svg\\" y=\\"0\\" aria-hidden=\\"true\\"><polygon points=\\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \\"></polygon></svg></div><div class=\\"sc-dWBRfb ekRdav\\"><span class=\\"sc-kYPZxB fhGdrc\\">(<span class=\\"sc-hzUIXc gcouO\\">API Key: <i>GitLab_PersonalAccessToken</i></span><span class=\\"sc-hzUIXc gcouO\\">OpenID Connect: <i>GitLab_OpenIdConnect</i></span><span class=\\"sc-hzUIXc gcouO\\">HTTP: <i>basicAuth</i></span>) </span><span class=\\"sc-kYPZxB fhGdrc\\"><span class=\\"sc-hzUIXc gcouO\\">OAuth2: <i>petstore_auth</i> (<code class=\\"sc-eHEENL fwFTyL\\">write:pets</code><code class=\\"sc-eHEENL fwFTyL\\">read:pets</code>) </span></span></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OAuth2: petstore_auth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>Get access to data while protecting your account credentials. | ||||
| OAuth2 is also a safer and more secure way to give you access.</p> | ||||
| </div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Flow type: </b><code>implicit </code></div><div class=\\"sc-fXgAZx gZCyoW\\"><strong> Authorization URL: </strong><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"http://petstore.swagger.io/api/oauth/dialog\\">http://petstore.swagger.io/api/oauth/dialog</a></code></div><div><b>Required scopes: </b><code>write:pets</code> <code>read:pets</code> </div><div class=\\"sc-fXgAZx gZCyoW\\"><b> Scopes: </b></div><div class=\\"sc-jXcxbT blWOKY container\\" style=\\"height: 4em;\\"><ul><li><code>write:pets</code> - <span class=\\"sc-carFqZ bmTzxo redoc-markdown\\"><p>modify pets in your account</p> | ||||
| </span></li><li><code>read:pets</code> - <span class=\\"sc-carFqZ bmTzxo redoc-markdown\\"><p>read your pets</p> | ||||
| </span></li></ul></div><div class=\\"sc-eEVmNe gbLbHj\\"></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> API Key: GitLab_PersonalAccessToken</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab Personal Access Token description</p> | ||||
| </div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Header parameter name: </b><code>PRIVATE-TOKEN</code></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OpenID Connect: GitLab_OpenIdConnect</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab OpenIdConnect description</p> | ||||
| </div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div><div class=\\"sc-EZqKI aOkZE\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> HTTP: basicAuth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div>," | ||||
| </span></li></ul></div><div class=\\"sc-eEVmNe gbLbHj\\"></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> API Key: GitLab_PersonalAccessToken</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab Personal Access Token description</p> | ||||
| </div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Header parameter name: </b><code>PRIVATE-TOKEN</code></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> OpenID Connect: GitLab_OpenIdConnect</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><p>GitLab OpenIdConnect description</p> | ||||
| </div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>Connect URL: </b><code><a target=\\"_blank\\" rel=\\"noopener noreferrer\\" href=\\"https://gitlab.com/.well-known/openid-configuration\\">https://gitlab.com/.well-known/openid-configuration</a></code></div></div></div><div class=\\"sc-EZqKI aOkZE security-details\\"><h5><svg xmlns=\\"http://www.w3.org/2000/svg\\" viewBox=\\"0 0 24 24\\" width=\\"11\\" height=\\"11\\"><path fill=\\"currentColor\\" d=\\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\\"></path></svg> HTTP: basicAuth</h5><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"></div><div class=\\"sc-iJCRrE sc-ciSkZP jCdxGr QGruV\\"><div class=\\"sc-fXgAZx gZCyoW\\"><b>HTTP Authorization Scheme: </b><code>basic</code></div><div class=\\"sc-fXgAZx gZCyoW\\"></div></div></div>," | ||||
| `; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user