mirror of
https://github.com/cosscom/coss.git
synced 2026-09-14 20:06:50 +08:00
8d19424670
* feat(scroll-area): make overscroll contain opt-in Stop applying overscroll-contain by default and expose overscrollContain so nested surfaces can opt in without forcing it on every ScrollArea. Co-authored-by: Cursor <cursoragent@cursor.com> * reg build --------- Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
949 B
TypeScript
31 lines
949 B
TypeScript
import { ScrollArea } from "@coss/ui/components/scroll-area";
|
|
import type * as React from "react";
|
|
import type { Tab } from "@/components/app/tabbed-nav";
|
|
import { TabbedNav } from "@/components/app/tabbed-nav";
|
|
|
|
const bookingTabs: Tab[] = [
|
|
{ title: "Upcoming", url: "/booking/upcoming" },
|
|
{ title: "Unconfirmed", url: "/booking/unconfirmed" },
|
|
{ title: "Recurring", url: "/booking/recurring" },
|
|
{ title: "Past", url: "/booking/past" },
|
|
{ title: "Canceled", url: "/booking/canceled" },
|
|
];
|
|
|
|
function BookingsNav(): React.ReactElement {
|
|
return (
|
|
<div className="max-sm:-mx-4 max-sm:-my-0.5">
|
|
<ScrollArea overscrollContain scrollbarGutter scrollFade>
|
|
<div className="w-fit max-sm:px-4 max-sm:py-0.5">
|
|
<TabbedNav
|
|
ariaLabel="Filter bookings"
|
|
data-slot="bookings-nav"
|
|
tabs={bookingTabs}
|
|
/>
|
|
</div>
|
|
</ScrollArea>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export { BookingsNav };
|