Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React from "react";
- import { mergeClassNames } from "@@utils/merge-class-names/merge-class-names";
- import styles from "./button.scss";
- export enum EButtonAppearance {
- PRIMARY,
- SECONDARY,
- }
- interface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
- appearance?: EButtonAppearance;
- text: string;
- }
- const getButtonApperanceClassName = (appearance?: EButtonAppearance) => {
- switch (appearance) {
- case EButtonAppearance.PRIMARY:
- return styles["button--primary"];
- case EButtonAppearance.SECONDARY:
- return styles["button--secondary"];
- default:
- return styles["button--primary"];
- }
- };
- export const Button = (props: IButtonProps) => (
- <button
- {...props}
- className={mergeClassNames([styles["button"], props.className, getButtonApperanceClassName(props.appearance)])}
- >
- {props.text}
- </button>
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement