1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/components/drawer/drawer-item.tsx
Sebastian Malton c507343d72 add some tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-10 09:16:22 -05:00

30 lines
952 B
TypeScript

import "./drawer-item.scss";
import React from "react";
import { cssNames, displayBooleans } from "../../utils";
export interface DrawerItemProps extends React.HTMLAttributes<any> {
name: React.ReactNode;
className?: string;
title?: string;
labelsOnly?: boolean;
hidden?: boolean;
renderBoolean?: boolean; // show "true" or "false" for all of the children elements are "typeof boolean"
}
export class DrawerItem extends React.Component<DrawerItemProps> {
render() {
const { name, title, labelsOnly, children, hidden, className, renderBoolean, ...elemProps } = this.props
if (hidden) return null
const classNames = cssNames("DrawerItem", className, { labelsOnly });
const content = displayBooleans(renderBoolean, children)
return (
<div {...elemProps} className={classNames} title={title}>
<span className="name">{name}</span>
<span className="value">{content}</span>
</div>
)
}
}