A11y: switch rest underlinenav to tabnav (#41152)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { useState, useEffect, useRef, FormEvent } from 'react'
|
||||
import { FormControl, Select, Tooltip, UnderlineNav } from '@primer/react'
|
||||
import { FormControl, Select, Tooltip, TabNav } from '@primer/react'
|
||||
import { CheckIcon, CopyIcon } from '@primer/octicons-react'
|
||||
import Cookies from 'components/lib/cookies'
|
||||
import cx from 'classnames'
|
||||
@@ -246,13 +246,15 @@ export function RestCodeSamples({ operation, slug, heading }: Props) {
|
||||
<div className="my-0 p-3">
|
||||
<RestMethod verb={operation.verb} requestPath={operation.requestPath} />
|
||||
</div>
|
||||
<div className="border-top d-inline-flex flex-justify-between width-full flex-items-center">
|
||||
<div className="border-top d-inline-flex flex-justify-between width-full flex-items-center pt-2">
|
||||
<div className="d-inline-flex ml-2">
|
||||
<UnderlineNav aria-label="Example language selector">
|
||||
<TabNav aria-label="Example language selector">
|
||||
{languageSelectOptions.map((optionKey) => (
|
||||
<UnderlineNav.Link
|
||||
<TabNav.Link
|
||||
key={optionKey}
|
||||
onClick={() => {
|
||||
selected={optionKey === selectedLanguage}
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
handleLanguageSelection(optionKey)
|
||||
}}
|
||||
onKeyDown={(event) => {
|
||||
@@ -260,17 +262,12 @@ export function RestCodeSamples({ operation, slug, heading }: Props) {
|
||||
handleLanguageSelection(optionKey)
|
||||
}
|
||||
}}
|
||||
tabIndex={0}
|
||||
aria-current={optionKey === selectedLanguage}
|
||||
className={cx('pr-3 mr-0', optionKey === selectedLanguage && 'PRC-selected')}
|
||||
sx={{
|
||||
cursor: 'pointer',
|
||||
}}
|
||||
href="#"
|
||||
>
|
||||
{t(`rest.reference.code_sample_options.${optionKey}`)}
|
||||
</UnderlineNav.Link>
|
||||
</TabNav.Link>
|
||||
))}
|
||||
</UnderlineNav>
|
||||
</TabNav>
|
||||
</div>
|
||||
<div className="mr-2">
|
||||
<Tooltip
|
||||
@@ -309,36 +306,28 @@ export function RestCodeSamples({ operation, slug, heading }: Props) {
|
||||
__html: displayedExample.response.description || t('rest.reference.response'),
|
||||
}}
|
||||
></h4>
|
||||
|
||||
<div className="border rounded-1">
|
||||
{displayedExample.response.schema ? (
|
||||
<UnderlineNav aria-label="Example response format selector">
|
||||
{responseSelectOptions.map((optionKey) => {
|
||||
if (!displayedExample.response.schema) return null
|
||||
|
||||
return (
|
||||
<UnderlineNav.Link
|
||||
key={optionKey}
|
||||
onClick={() => {
|
||||
<TabNav className="pt-2 mx-2" aria-label="Example response format selector">
|
||||
{responseSelectOptions.map((optionKey) => (
|
||||
<TabNav.Link
|
||||
key={optionKey}
|
||||
selected={optionKey === selectedResponse}
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
handleResponseSelection(optionKey)
|
||||
}}
|
||||
onKeyDown={(event) => {
|
||||
if (event.key === 'Enter') {
|
||||
handleResponseSelection(optionKey)
|
||||
}}
|
||||
onKeyDown={(event) => {
|
||||
if (event.key === 'Enter') {
|
||||
handleResponseSelection(optionKey)
|
||||
}
|
||||
}}
|
||||
tabIndex={0}
|
||||
aria-current={optionKey === selectedResponse}
|
||||
className={cx('pr-3 mr-0 ml-2', optionKey === selectedResponse && 'PRC-selected')}
|
||||
sx={{
|
||||
cursor: 'pointer',
|
||||
}}
|
||||
>
|
||||
{t(`rest.reference.response_options.${optionKey}`)}
|
||||
</UnderlineNav.Link>
|
||||
)
|
||||
})}
|
||||
</UnderlineNav>
|
||||
}
|
||||
}}
|
||||
href="#"
|
||||
>
|
||||
{t(`rest.reference.response_options.${optionKey}`)}
|
||||
</TabNav.Link>
|
||||
))}
|
||||
</TabNav>
|
||||
) : null}
|
||||
<div className="">
|
||||
{/* Status code */}
|
||||
|
||||
Reference in New Issue
Block a user