UNPKG

@nex-ui/react

Version:

🎉 A beautiful, modern, and reliable React component library.

53 lines (50 loc) • 1.55 kB
"use client"; import { jsx } from 'react/jsx-runtime'; import { useDefaultProps } from '../utils/useDefaultProps.mjs'; import { useStyles } from '../utils/useStyles.mjs'; import { useSlotClasses } from '../utils/useSlotClasses.mjs'; import { useSlot } from '../utils/useSlot.mjs'; import { ButtonBase } from '../buttonBase/ButtonBase.mjs'; import { cardActionArea } from '../../theme/recipes/card.mjs'; import { Ripple } from '../utils/ripple/Ripple.mjs'; const slots = [ 'root' ]; const CardActionArea = (inProps)=>{ const props = useDefaultProps({ name: 'CardActionArea', props: inProps }); const { children, disabled, ...remainingProps } = props; const style = useStyles({ ownerState: props, name: 'CardActionArea', recipe: cardActionArea }); const slotProps = useSlotClasses({ name: 'CardActionArea', slots }); const [CardActionAreaRoot, getCardActionAreaProps] = useSlot({ style, elementType: ButtonBase, classNames: slotProps.root, shouldForwardComponent: false, externalForwardedProps: remainingProps, additionalProps: { disabled }, dataAttrs: { disabled } }); return /*#__PURE__*/ jsx(Ripple, { disabled: disabled, children: /*#__PURE__*/ jsx(CardActionAreaRoot, { ...getCardActionAreaProps(), children: children }) }); }; CardActionArea.displayName = 'CardActionArea'; export { CardActionArea };