From bb2efc0b46dcf1f511343c6aba700232cf148368 Mon Sep 17 00:00:00 2001 From: Samuel Gunter Date: Thu, 22 Feb 2024 21:24:41 -0600 Subject: [PATCH] feat: updated divider component (#99) * feat: updated divider component * refactor: inlined Divider's classes, simplified stories * fix: style to unocss in story * style: renamed variant to orientation for buttons * docs: updated comments in Divider after prop name change --- src/stories/components/Button.stories.tsx | 2 +- src/stories/components/Divider.stories.ts | 18 ----- src/stories/components/Divider.stories.tsx | 77 +++++++++++++++++++ .../common/Divider/Divider.module.scss | 5 -- .../components/common/Divider/Divider.tsx | 48 ++++++++---- 5 files changed, 113 insertions(+), 37 deletions(-) delete mode 100644 src/stories/components/Divider.stories.ts create mode 100644 src/stories/components/Divider.stories.tsx delete mode 100644 src/views/components/common/Divider/Divider.module.scss diff --git a/src/stories/components/Button.stories.tsx b/src/stories/components/Button.stories.tsx index e62093ac2..1d497d8cc 100644 --- a/src/stories/components/Button.stories.tsx +++ b/src/stories/components/Button.stories.tsx @@ -135,7 +135,7 @@ export const CourseCatalogActionButtons: Story = { - + + + + + ), +}; diff --git a/src/views/components/common/Divider/Divider.module.scss b/src/views/components/common/Divider/Divider.module.scss deleted file mode 100644 index cf947f2a0..000000000 --- a/src/views/components/common/Divider/Divider.module.scss +++ /dev/null @@ -1,5 +0,0 @@ -@use 'src/views/styles/colors.module.scss'; - -hr { - border: 1px solid colors.$limestone; -} diff --git a/src/views/components/common/Divider/Divider.tsx b/src/views/components/common/Divider/Divider.tsx index 3ad131179..f5db4a0e7 100644 --- a/src/views/components/common/Divider/Divider.tsx +++ b/src/views/components/common/Divider/Divider.tsx @@ -1,25 +1,47 @@ import clsx from 'clsx'; import React from 'react'; -import { Color } from '@views/styles/colors.module.scss'; -import styles from './Divider.module.scss'; -export type Props = { - color?: Color | React.CSSProperties['borderColor']; - type?: 'solid' | 'dashed' | 'dotted'; - style?: React.CSSProperties; +/** + * Props for the Divider component + * + * @param orientation - Orientation of the divider (horizontal or vertical) + * @param size - Size of the divider (forwards to width or height in CSS) + * @param className - Additional classes to be added to the divider + * @param testId - Test id for the divider + */ +export type DividerProps = { + orientation: 'horizontal' | 'vertical'; + size: React.CSSProperties['width' | 'height']; className?: string; testId?: string; }; /** * This is a reusable divider component that can be used to separate content + * + * @returns A divider component + * + * @example + * ```tsx + * + * ``` + * + * @example + * ```tsx + * + * ``` */ -export default function Divider(props: Props) { - const style = { - ...props.style, - borderColor: props.color, - borderStyle: props.type, - }; +export default function Divider({ className, testId, size, orientation }: DividerProps) { + const style: React.CSSProperties = + orientation === 'horizontal' + ? { width: size, borderBottomWidth: '1px' } + : { height: size, borderRightWidth: '1px' }; - return
; + return ( +
+ ); }