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;