Files
stash/ui/v2.5/src/components/Shared/CollapseButton.tsx
DingDongSoLong4 bd747317d4 Update dependencies (again) (#3442)
* Update dependencies
* Upgrade rollup
* Remove all index.ts reexport files
2023-02-17 09:42:44 +11:00

33 lines
756 B
TypeScript

import {
faChevronDown,
faChevronRight,
} from "@fortawesome/free-solid-svg-icons";
import React, { useState } from "react";
import { Button, Collapse } from "react-bootstrap";
import { Icon } from "./Icon";
interface IProps {
text: string;
}
export const CollapseButton: React.FC<React.PropsWithChildren<IProps>> = (
props: React.PropsWithChildren<IProps>
) => {
const [open, setOpen] = useState(false);
return (
<div>
<Button
onClick={() => setOpen(!open)}
className="minimal collapse-button"
>
<Icon icon={open ? faChevronDown : faChevronRight} />
<span>{props.text}</span>
</Button>
<Collapse in={open}>
<div>{props.children}</div>
</Collapse>
</div>
);
};