import * as React from 'react';
import { Button } from 'shared/components/Button';
import { PageGrid, PageGridCol, PageGridRow } from 'shared/components/PageGrid/page-grid';
export const frontmatter = {
seo: {
title: 'BDS Button Component Showcase',
description: 'Interactive showcase of the Brand Design System Button component with all states and variants.',
},
};
export default function ButtonShowcase() {
const [clickCount, setClickCount] = React.useState(0);
const handleClick = () => {
setClickCount((prev) => prev + 1);
};
return (
BDS Button Component
Brand Design System
A scalable button component following the XRPL Brand Design System. This showcase demonstrates all states,
responsive behavior, and accessibility features of the Primary button variant.
Hover/Focus: Gap increases (22px desktop, 21px mobile) with adjusted padding to maintain
button width
{/* Accessibility */}
Accessibility Features
WCAG Compliance
Keyboard Navigation
Tab to focus buttons
Enter or Space to activate
Focus indicator: 2px black border
Disabled buttons are not focusable
Screen Reader Support
Button labels are announced
Disabled state communicated via aria-disabled
Icons are hidden from screen readers (aria-hidden)
Semantic button element used
Color Contrast
Enabled: Black text (#141414) on Green 300 (#21E46B) = 9.06:1 (AAA)
Hover: Black text (#141414) on Green 200 (#70EE97) = 10.23:1 (AAA)
Disabled: Gray 500 (#838386) on Gray 200 (#E0E0E1) = 2.12:1 (acceptable for disabled
state)
{/* Code Examples */}
Code Examples
Implementation
{`import { Button } from 'shared/components/Button';
// Basic usage (green theme - default)
// Black color theme
// Disabled state
// Without icon
// Form integration
`}