[Glitch] Fix props for <Button>

Port d088964761 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Renaud Chaput 2024-03-28 11:06:25 +01:00 committed by Claire
parent 02f9ce9ce3
commit 0ab212f6a9

View file

@ -1,26 +1,26 @@
import type { PropsWithChildren } from 'react';
import { useCallback } from 'react'; import { useCallback } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
interface BaseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> { interface BaseProps
extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
block?: boolean; block?: boolean;
secondary?: boolean; secondary?: boolean;
text?: JSX.Element;
} }
interface PropsWithChildren extends BaseProps { interface PropsChildren extends PropsWithChildren<BaseProps> {
text?: never; text?: undefined;
} }
interface PropsWithText extends BaseProps { interface PropsWithText extends BaseProps {
text: JSX.Element; text: JSX.Element | string;
children: never; children?: undefined;
} }
type Props = PropsWithText | PropsWithChildren; type Props = PropsWithText | PropsChildren;
export const Button: React.FC<Props> = ({ export const Button: React.FC<Props> = ({
text,
type = 'button', type = 'button',
onClick, onClick,
disabled, disabled,
@ -28,6 +28,7 @@ export const Button: React.FC<Props> = ({
secondary, secondary,
className, className,
title, title,
text,
children, children,
...props ...props
}) => { }) => {