button.tsx 643 B

12345678910111213141516171819202122232425262728
  1. import * as React from "react";
  2. import styles from "./button.module.scss";
  3. export function IconButton(props: {
  4. onClick?: () => void;
  5. icon: JSX.Element;
  6. text?: string;
  7. bordered?: boolean;
  8. className?: string;
  9. title?: string;
  10. }) {
  11. return (
  12. <div
  13. className={
  14. styles["icon-button"] +
  15. ` ${props.bordered && styles.border} ${props.className ?? ""}`
  16. }
  17. onClick={props.onClick}
  18. title={props.title}
  19. >
  20. <div className={styles["icon-button-icon"]}>{props.icon}</div>
  21. {props.text && (
  22. <div className={styles["icon-button-text"]}>{props.text}</div>
  23. )}
  24. </div>
  25. );
  26. }