"use client"; import clsx from "clsx"; import { useContext } from "react"; import { Container } from "../../components/Container"; import Skeleton from "../../components/Skeleton"; import MoreVertical from "../../icons/more-vertical"; import reset from "../../styles/reset/reset.module.css"; import button from "../Button/button.module.css"; import { Spacer } from "../Spacer"; import styles from "./Entity.module.css"; import dotsMenu from "./dots-menu.module.css"; import { PlaceHolderContext } from "./index"; interface EntityFieldProps { children?: React.ReactNode; description?: React.ReactNode; label?: boolean; right?: boolean; active?: boolean; thumbnail?: React.ReactNode; thumbnailSize?: number; thumbnailWrapOnMobile?: boolean; title?: React.ReactNode; width?: React.CSSProperties["width"]; isFirstItem?: boolean; isLastItem?: boolean; actions?: React.ReactNode; avatar?: React.ReactNode; menuItems?: React.ReactNode; checkbox?: React.ReactNode; checkboxSize?: number; // titleSkeletonWidth?: string; descriptionSkeletonWidth?: string; } const EntityField = ({ thumbnail, thumbnailSize = 36, thumbnailWrapOnMobile, actions, active, description, label, right, title, width, isLastItem, isFirstItem, avatar, menuItems, checkbox, titleSkeletonWidth, descriptionSkeletonWidth, }: EntityFieldProps) => { const placeholder = useContext(PlaceHolderContext); const _description = (

{description}

); return ( {checkbox && (
{placeholder ? ( ) : ( checkbox )}
)} {thumbnail} {/* entity_content */} {/* Title */} {title && (placeholder ? ( ) : (

{title}

))} {/* Description */} {description && (placeholder ? ( ) : avatar ? (
{_description} {avatar}
) : ( _description ))}
{/* menuitems */} {menuItems && (
{placeholder ? ( ) : ( )}
)} {actions && (
{placeholder ? {actions} : actions}
)}
); }; export default EntityField;