UNPKG

@nex-ui/react

Version:

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

95 lines (91 loc) • 3.11 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var useDefaultProps = require('../utils/useDefaultProps.cjs'); var useStyles = require('../utils/useStyles.cjs'); var useSlotClasses = require('../utils/useSlotClasses.cjs'); var useSlot = require('../utils/useSlot.cjs'); var card = require('../../theme/recipes/card.cjs'); const slots = [ 'root', 'content', 'title', 'subtitle' ]; const CardHeader = (inProps)=>{ const props = useDefaultProps.useDefaultProps({ name: 'CardHeader', props: inProps }); const { title, subtitle, avatar, action, children, slotProps, classNames, ...remainingProps } = props; const styles = useStyles.useStyles({ ownerState: props, name: 'CardHeader', recipe: card.cardHeaderRecipe }); const slotClasses = useSlotClasses.useSlotClasses({ name: 'CardHeader', slots, classNames }); const [CardHeaderRoot, getCardHeaderRootProps] = useSlot.useSlot({ style: styles.root, elementType: 'div', externalForwardedProps: remainingProps, classNames: slotClasses.root }); const [CardContent, getCardContentProps] = useSlot.useSlot({ elementType: 'div', style: styles.content, externalSlotProps: slotProps?.content, classNames: slotClasses.content }); const [CardTitle, getCardTitleProps] = useSlot.useSlot({ style: styles.title, elementType: 'div', externalSlotProps: slotProps?.title, classNames: slotClasses.title, additionalProps: { children: title } }); const [CardSubtitle, getCardSubtitleProps] = useSlot.useSlot({ style: styles.subtitle, elementType: 'div', classNames: slotClasses.subtitle, externalSlotProps: slotProps?.subtitle, additionalProps: { children: subtitle } }); let node = children; if (!children) { node = /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [ avatar, title && subtitle ? /*#__PURE__*/ jsxRuntime.jsxs(CardContent, { ...getCardContentProps(), children: [ /*#__PURE__*/ jsxRuntime.jsx(CardTitle, { ...getCardTitleProps() }), /*#__PURE__*/ jsxRuntime.jsx(CardSubtitle, { ...getCardSubtitleProps() }) ] }) : title ? /*#__PURE__*/ jsxRuntime.jsx(CardTitle, { ...getCardTitleProps() }) : subtitle ? /*#__PURE__*/ jsxRuntime.jsx(CardSubtitle, { ...getCardSubtitleProps() }) : null, action ] }); } return /*#__PURE__*/ jsxRuntime.jsx(CardHeaderRoot, { ...getCardHeaderRootProps(), children: node }); }; CardHeader.displayName = 'CardHeader'; exports.CardHeader = CardHeader;