vault/website/components/before-after-diagram/index.jsx
Kendall Strautman 5b80764db4
feat(website): A11y updates (#11869)
* adds lang attribute

* fixes: empty anchor tag

* adds alt attributes

* alt tag logo grid updates

* fix footer contrast color

* only render header if it exists

* adds `main` element to page

* testing pre-releases

* fix: button aria-label updates

* chore: update deps

* fix: adds `main` element to all pages

* chore: formatting

* fix: adds alts to use-cases page

* chore: update headline element

* chore: adds alt text

* fix: adds alt tags

* style: fix height issue

* fix: use h1 at top of page

* fix: remove main to avoid duplicate tag

* chore: fix deps

* main is already defined in docs page component

* Update website/components/footer/style.css

Co-authored-by: Jimmy Merritello <7191639+jmfury@users.noreply.github.com>

Co-authored-by: Jimmy Merritello <7191639+jmfury@users.noreply.github.com>
2021-06-21 12:50:59 -04:00

88 lines
2.4 KiB
JavaScript

import Image from '@hashicorp/react-image'
import InlineSvg from '@hashicorp/react-inline-svg'
import alertIcon from 'public/img/icons/alert.svg?include'
import checkIcon from 'public/img/icons/check.svg?include'
import fragment from './fragment.graphql'
import s from './style.module.css'
function BeforeAfterDiagram(props) {
const {
theme,
beforeHeadline,
beforeContent,
beforeImage,
afterHeadline,
afterContent,
afterImage,
} = props
return (
<div className={s.beforeAfterDiagram} data-theme={theme}>
<div className={s.beforeSide}>
<div className={s.image}>
<div>
<Image {...beforeImage} />
</div>
</div>
<div className={s.contentContainer}>
<span className={s.iconLineContainer}>
<InlineSvg className={s.beforeIcon} src={alertIcon} />
<span className={s.lineSegment} />
</span>
<div>
{beforeHeadline && (
<h2
className={s.contentHeadline}
dangerouslySetInnerHTML={{
__html: beforeHeadline,
}}
/>
)}
{beforeContent && (
<div
className={s.beforeContent}
dangerouslySetInnerHTML={{
__html: beforeContent,
}}
/>
)}
</div>
</div>
</div>
<div className={s.afterSide}>
<div className={s.image}>
<div>
<Image {...afterImage} />
</div>
</div>
<div className={s.contentContainer}>
<span className={s.iconLineContainer}>
<InlineSvg className={s.afterIcon} src={checkIcon} />
</span>
<div>
{afterHeadline && (
<h2
className={s.contentHeadline}
dangerouslySetInnerHTML={{
__html: afterHeadline,
}}
/>
)}
{afterContent && (
<div
className={s.afterContent}
data-theme={theme}
dangerouslySetInnerHTML={{
__html: afterContent,
}}
/>
)}
</div>
</div>
</div>
</div>
)
}
BeforeAfterDiagram.fragmentSpec = { fragment, dependencies: [Image] }
export default BeforeAfterDiagram