import { SequentialNavigationLinkProps, SequentialNavigationProps } from "./types";
import clsx from 'clsx';
const SeqNavLink = ({
children,
href,
isPrev,
linkComponent,
textLabel
}:SequentialNavigationLinkProps) => {
const LINK_CLASSES = clsx([
'ds_sequential-nav__button',
isPrev ? 'ds_sequential-nav__button--left' : 'ds_sequential-nav__button--right'
]);
const ITEM_CLASSES = clsx([
'ds_sequential-nav__item',
isPrev ? 'ds_sequential-nav__item--prev' : 'ds_sequential-nav__item--next'
]);
function processChildren(children: React.ReactNode) {
const linkInner = {children}
if (linkComponent) {
return linkComponent({ className: LINK_CLASSES, href, children: linkInner });
} else {
return {linkInner};
}
}
return (
{processChildren(children)}
)
};
const NextLink = ({
children,
href,
linkComponent,
textLabel = 'Next'
}: SequentialNavigationLinkProps) => {
return {children}
};
const PreviousLink = ({
children,
href,
linkComponent,
textLabel = 'Previous'
}: SequentialNavigationLinkProps) => {
return {children}
};
const SequentialNavigation = ({
ariaLabel = 'Article navigation',
children,
className,
...props
}: SequentialNavigationProps) => {
return (
);
};
SequentialNavigation.displayName = 'SequentialNavigation';
SequentialNavigation.Next = NextLink;
SequentialNavigation.Previous = PreviousLink;
NextLink.displayName = 'SequentialNavigation.Next';
PreviousLink.displayName = 'SequentialNavigation.Previous';
export default SequentialNavigation;