Files
UT-Registration-Plus/src/views/components/common/Divider/Divider.tsx
doprz 29247d5dfa chore: lint-format-docs-tests-bugfixes (#105)
* docs: add jsdoc

* feat: change enums to as const objects

* chore(test): add themeColors.test.ts

* fix: fix tests and bugs with strings.ts util

* fix: path alias imports and tsconfig file bug

* fix: remove --max-warnings 0
2024-02-22 22:42:58 -06:00

49 lines
1.3 KiB
TypeScript

import type { Color } from '@views/styles/colors.module.scss';
import clsx from 'clsx';
import React from 'react';
/**
* 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
* <Divider size="2.5rem" orientation="vertical" />
* ```
*
* @example
* ```tsx
* <Divider size="19px" orientation="horizontal" />
* ```
*/
export default function Divider({ className, testId, size, orientation }: DividerProps) {
const style: React.CSSProperties =
orientation === 'horizontal'
? { width: size, borderBottomWidth: '1px' }
: { height: size, borderRightWidth: '1px' };
return (
<div
style={style}
data-testid={testId}
className={clsx('border-solid border-ut-offwhite w-0 h-0', className)}
/>
);
}