import React from 'react'; import { Card, CardHeader, CardActions, CardTitle, CardBody, Dropdown, DropdownItem, DropdownSeparator, KebabToggle } from '@patternfly/react-core'; export const CardSelectable: React.FunctionComponent = () => { const [selected, setSelected] = React.useState(''); const [isKebabOpen, setIsKebabOpen] = React.useState(false); const onKeyDown = (event: React.KeyboardEvent) => { if (event.target !== event.currentTarget) { return; } if ([' ', 'Enter'].includes(event.key)) { event.preventDefault(); const newSelected = event.currentTarget.id === selected ? null : event.currentTarget.id; setSelected(newSelected); } }; const onClick = (event: React.MouseEvent) => { const newSelected = event.currentTarget.id === selected ? null : event.currentTarget.id; setSelected(newSelected); }; const onChange = (labelledById: string, _event: React.FormEvent) => { const newSelected = labelledById === selected ? null : labelledById; setSelected(newSelected); }; const onToggle = ( isOpen: boolean, event: MouseEvent | TouchEvent | KeyboardEvent | React.KeyboardEvent | React.MouseEvent ) => { event.stopPropagation(); setIsKebabOpen(isOpen); }; const onSelect = (event: React.SyntheticEvent) => { event.stopPropagation(); setIsKebabOpen(false); }; const dropdownItems = [ Link, Action , Disabled Link , Disabled Action , , Separated Link, Separated Action ]; return ( } isOpen={isKebabOpen} isPlain dropdownItems={dropdownItems} position={'right'} /> First card This is a selectable card. Click me to select me. Click again to deselect me.
Second card This is a selectable card. Click me to select me. Click again to deselect me.
Third card This is a raised but disabled card.
); };