Update react, add some V2 components for V1 usage

This commit is contained in:
DaneEveritt 2022-06-05 14:56:42 -04:00
parent 921da09a63
commit 1a5465dc34
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
21 changed files with 564 additions and 43 deletions

View file

@ -0,0 +1,31 @@
import React from 'react';
import { Transition } from '@headlessui/react';
type Duration = `duration-${number}`;
interface Props {
as?: React.ElementType;
duration?: Duration | [ Duration, Duration ];
show: boolean;
children: React.ReactNode;
}
export default ({ children, duration, ...props }: Props) => {
const [ enterDuration, exitDuration ] = Array.isArray(duration)
? duration
: (!duration ? [ 'duration-200', 'duration-100' ] : [ duration, duration ]);
return (
<Transition
{...props}
enter={`ease-out ${enterDuration}`}
enterFrom={'opacity-0'}
enterTo={'opacity-100'}
leave={`ease-in ${exitDuration}`}
leaveFrom={'opacity-100'}
leaveTo={'opacity-0'}
>
{children}
</Transition>
);
};