Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from "react";
  2. import { mergeClassNames } from "@@utils/merge-class-names/merge-class-names";
  3. import styles from "./button.scss";
  4.  
  5. export enum EButtonAppearance {
  6.   PRIMARY,
  7.   SECONDARY,
  8. }
  9.  
  10. interface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
  11.   appearance?: EButtonAppearance;
  12.   text: string;
  13. }
  14.  
  15. const getButtonApperanceClassName = (appearance?: EButtonAppearance) => {
  16.   switch (appearance) {
  17.     case EButtonAppearance.PRIMARY:
  18.       return styles["button--primary"];
  19.     case EButtonAppearance.SECONDARY:
  20.       return styles["button--secondary"];
  21.     default:
  22.       return styles["button--primary"];
  23.   }
  24. };
  25.  
  26. export const Button = (props: IButtonProps) => (
  27.   <button
  28.    {...props}
  29.    className={mergeClassNames([styles["button"], props.className, getButtonApperanceClassName(props.appearance)])}
  30.  >
  31.     {props.text}
  32.   </button>
  33. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement