25 lines
893 B
TypeScript
25 lines
893 B
TypeScript
import classNames from 'classnames';
|
|
import React, { PropsWithChildren } from 'react';
|
|
|
|
type Props = React.DetailedHTMLProps<
|
|
React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
HTMLButtonElement
|
|
>;
|
|
|
|
export default function PrimaryButton({
|
|
children,
|
|
...props
|
|
}: PropsWithChildren<Props>) {
|
|
return (
|
|
<button
|
|
{...props}
|
|
className={classNames(
|
|
'inline-flex items-center px-4 py-2 bg-gray-800 dark:bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-white dark:text-gray-800 uppercase tracking-widest hover:bg-gray-700 dark:hover:bg-white focus:bg-gray-700 dark:focus:bg-white active:bg-gray-900 dark:active:bg-gray-300 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800 transition ease-in-out duration-150',
|
|
props.className,
|
|
)}
|
|
>
|
|
{children}
|
|
</button>
|
|
);
|
|
}
|