21 lines
557 B
TypeScript
21 lines
557 B
TypeScript
import { ActiveHookProps, Link, LinkProps, useActive } from '@curi/react-dom';
|
|
import React, { FC, ReactNode } from 'react';
|
|
|
|
export type ActiveLinkProps = ActiveHookProps &
|
|
LinkProps & {
|
|
className?: string;
|
|
children: ReactNode;
|
|
};
|
|
|
|
export const ActiveLink:FC<ActiveLinkProps> = ({ name, params, partial, className = "", ...rest }) => {
|
|
const active = useActive({ name, params, partial });
|
|
return (
|
|
<Link
|
|
name={name}
|
|
params={params}
|
|
{...rest}
|
|
className={active ? `${className} active` : className}
|
|
/>
|
|
);
|
|
};
|