From 12a03a9a72f7895d571dbaeeb245d92aa277a610 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Fri, 6 Oct 2023 17:48:03 +0200
Subject: refactor(components): merge HeadingButton and Widget components

The HeadingButton component was only used inside Widget component and
it is not very useful on its own so I merge the two components in a
new Collapsible component.
---
 src/components/molecules/layout/widget.tsx | 61 ------------------------------
 1 file changed, 61 deletions(-)
 delete mode 100644 src/components/molecules/layout/widget.tsx

(limited to 'src/components/molecules/layout/widget.tsx')

diff --git a/src/components/molecules/layout/widget.tsx b/src/components/molecules/layout/widget.tsx
deleted file mode 100644
index 0bb04c7..0000000
--- a/src/components/molecules/layout/widget.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import { FC, ReactNode, useState } from 'react';
-import { HeadingButton, type HeadingButtonProps } from '../buttons';
-import styles from './widget.module.scss';
-
-export type WidgetProps = Pick<
-  HeadingButtonProps,
-  'expanded' | 'level' | 'title'
-> & {
-  /**
-   * The widget body.
-   */
-  children: ReactNode;
-  /**
-   * Set additional classnames to the widget wrapper.
-   */
-  className?: string;
-  /**
-   * Determine if the widget body should have borders. Default: false.
-   */
-  withBorders?: boolean;
-  /**
-   * Determine if a vertical scrollbar should be displayed. Default: false.
-   */
-  withScroll?: boolean;
-};
-
-/**
- * Widget component
- *
- * Render an expandable widget.
- */
-export const Widget: FC<WidgetProps> = ({
-  children,
-  className = '',
-  expanded = true,
-  level,
-  title,
-  withBorders = false,
-  withScroll = false,
-}) => {
-  const [isExpanded, setIsExpanded] = useState<boolean>(expanded);
-  const stateClass = isExpanded ? 'widget--expanded' : 'widget--collapsed';
-  const bordersClass = withBorders
-    ? 'widget--has-borders'
-    : 'widget--no-borders';
-  const scrollClass = withScroll ? 'widget--has-scroll' : 'widget--no-scroll';
-  const widgetClass = `${styles.widget} ${styles[bordersClass]} ${styles[stateClass]} ${styles[scrollClass]} ${className}`;
-
-  return (
-    <div className={widgetClass}>
-      <HeadingButton
-        level={level}
-        title={title}
-        expanded={isExpanded}
-        setExpanded={setIsExpanded}
-        className={styles.widget__header}
-      />
-      <div className={styles.widget__body}>{children}</div>
-    </div>
-  );
-};
-- 
cgit v1.2.3

