sendou.ink/app/components/Tabs.tsx
Kalle fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* Initial

* CSS lint

* Test CI

* Add 1v1, 2v2, and 3v3 Tags (#1771)

* Initial

* CSS lint

* Test CI

* Rename step

---------

Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
2024-06-24 13:07:17 +03:00

50 lines
938 B
TypeScript

import clsx from "clsx";
import type * as React from "react";
// shares styles with SubNav.tsx
export function Tabs({
children,
className,
compact = false,
}: {
children: React.ReactNode;
className?: string;
compact?: boolean;
}) {
return (
<div className={clsx("sub-nav__container", className, { compact })}>
{children}
</div>
);
}
export function Tab({
children,
className,
active,
onClick,
testId,
}: {
children: React.ReactNode;
className?: string;
active: boolean;
onClick: () => void;
testId?: string;
}) {
// TODO: improve semantic html here, maybe could use tab component from Headless UI?
return (
<div
className={clsx("sub-nav__link__container", { active })}
onClick={onClick}
tabIndex={0}
role="button"
aria-pressed="false"
data-testid={testId}
>
<div className={clsx("sub-nav__link", className)}>{children}</div>
<div className="sub-nav__border-guy" />
</div>
);
}