From 388e687857345c85ee550cd5da472675e05a6ff5 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Tue, 26 Sep 2023 18:43:11 +0200
Subject: refactor(components): rewrite Button and ButtonLink components

Both:
* move styles to Sass placeholders

Button:
* add `isPressed` prop to Button
* add `isLoading` prop to Button (to differentiate state from
disabled)

ButtonLink:
* replace `external` prop with `isExternal` prop
* replace `href` prop with `to` prop
---
 src/components/atoms/buttons/button-link.tsx | 55 ----------------------------
 1 file changed, 55 deletions(-)
 delete mode 100644 src/components/atoms/buttons/button-link.tsx

(limited to 'src/components/atoms/buttons/button-link.tsx')

diff --git a/src/components/atoms/buttons/button-link.tsx b/src/components/atoms/buttons/button-link.tsx
deleted file mode 100644
index c8180c9..0000000
--- a/src/components/atoms/buttons/button-link.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import Link from 'next/link';
-import { AnchorHTMLAttributes, FC, ReactNode } from 'react';
-import styles from './buttons.module.scss';
-
-export type ButtonLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
-  /**
-   * The button link body.
-   */
-  children: ReactNode;
-  /**
-   * True if it is an external link. Default: false.
-   */
-  external?: boolean;
-  /**
-   * ButtonLink kind. Default: secondary.
-   */
-  kind?: 'primary' | 'secondary' | 'tertiary';
-  /**
-   * ButtonLink shape. Default: rectangle.
-   */
-  shape?: 'circle' | 'rectangle' | 'square';
-  /**
-   * Define an URL as target.
-   */
-  target: string;
-};
-
-/**
- * ButtonLink component
- *
- * Use a button-like link as call to action.
- */
-export const ButtonLink: FC<ButtonLinkProps> = ({
-  children,
-  className,
-  target,
-  kind = 'secondary',
-  shape = 'rectangle',
-  external = false,
-  ...props
-}) => {
-  const kindClass = styles[`btn--${kind}`];
-  const shapeClass = styles[`btn--${shape}`];
-  const btnClass = `${styles.btn} ${kindClass} ${shapeClass} ${className}`;
-
-  return external ? (
-    <a {...props} className={btnClass} href={target}>
-      {children}
-    </a>
-  ) : (
-    <Link {...props} className={btnClass} href={target}>
-      {children}
-    </Link>
-  );
-};
-- 
cgit v1.2.3

