import * as React from 'react' import * as cx from 'classnames' import { StylableComponent } from '../theme' import { CardProps } from './interfaces' import { Flex } from '../flex' const styles = require('../../../src/components/card/styles.scss') export class Card extends Flex { public static defaultProps: CardProps = { direction: 'column', justify: 'flex-start', fullWidth: true, } public render(): JSX.Element { const { disabled, children, draggable, onDragStart, onDragEnd, onDragEnter, onDragLeave, onDragOver, onDrop, onDoubleClick, } = this.props; return (
{children}
) } protected classNames(): string { const { active, selected, invalid, dropTarget, disabled } = this.props return cx(super.classNames(), styles.card, { [styles.active]: active, [styles.selected]: selected, [styles.invalid]: invalid, [styles.dropTarget]: dropTarget, [styles.disabled]: disabled, }) } private dragEventHandler = (callback: ((e: React.DragEvent) => any) | undefined) => (e: React.DragEvent) => { if (callback && !this.props.disabled) return callback(e) e.preventDefault() } }