@wix/design-system
Version:
@wix/design-system
29 lines • 1.29 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { classes, st } from './ClickableCard.st.css.js';
import { DATA_HOOKS, SKIN } from './ClickableCard.constants';
import Action from './components/Action/Action';
const ClickableCard = (props) => {
const { as: Component = 'button', children, dataHook, disabled = false, hasPadding = true, skin = SKIN.standard, ...rest } = props;
const commonClickableOverlayProps = {
className: classes.clickableOverlay,
'data-hook': DATA_HOOKS.clickableOverlay,
tabIndex: disabled ? -1 : 0,
'aria-disabled': disabled,
};
return (React.createElement("div", { "data-hook": dataHook, className: st(classes.root, { skin, hasPadding, disabled }) },
React.createElement(Component, { ...(Component === 'button' ? { disabled } : {}), ...commonClickableOverlayProps, ...rest }),
children));
};
ClickableCard.displayName = 'ClickableCard';
ClickableCard.propTypes = {
as: PropTypes.oneOf(['button', 'a']),
children: PropTypes.node,
dataHook: PropTypes.string,
skin: PropTypes.oneOf(Object.values(SKIN)),
hasPadding: PropTypes.bool,
disabled: PropTypes.bool,
};
ClickableCard.Action = Action;
export default ClickableCard;
//# sourceMappingURL=ClickableCard.js.map