overleaf/services/web/frontend/js/features/pdf-preview/components/pdf-viewer-controls.js
Rebeka Dekany 9184c0135f Merge pull request #14795 from overleaf/rd-report-zoom-pdf-visible-focus
Accessibility - make the PDF controls accessible by tab navigation

GitOrigin-RevId: 46eee6fda68861884e602eb341dfdb0c5a4903b0
2023-09-15 08:05:31 +00:00

56 lines
1.5 KiB
JavaScript

import { ButtonGroup } from 'react-bootstrap'
import PropTypes from 'prop-types'
import Button from 'react-bootstrap/lib/Button'
import Icon from '../../../shared/components/icon'
import { memo } from 'react'
import { useTranslation } from 'react-i18next'
function PdfViewerControls({ setZoom }) {
const { t } = useTranslation()
return (
<ButtonGroup>
<Button
aria-label={t('fit_to_width')}
bsSize="large"
bsStyle={null}
className="btn-secondary-info btn-secondary"
onClick={() => setZoom('fit-width')}
>
<Icon type="arrows-h" />
</Button>
<Button
aria-label={t('fit_to_height')}
bsSize="large"
bsStyle={null}
className="btn-secondary-info btn-secondary"
onClick={() => setZoom('fit-height')}
>
<Icon type="arrows-v" />
</Button>
<Button
aria-label={t('zoom_in')}
bsSize="large"
bsStyle={null}
className="btn-secondary-info btn-secondary"
onClick={() => setZoom('zoom-in')}
>
<Icon type="search-plus" />
</Button>
<Button
aria-label={t('zoom_out')}
bsSize="large"
bsStyle={null}
className="btn-secondary-info btn-secondary"
onClick={() => setZoom('zoom-out')}
>
<Icon type="search-minus" />
</Button>
</ButtonGroup>
)
}
PdfViewerControls.propTypes = {
setZoom: PropTypes.func.isRequired,
}
export default memo(PdfViewerControls)