aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx')
-rw-r--r--packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx b/packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx
new file mode 100644
index 0000000..8509ef2
--- /dev/null
+++ b/packages/excalidraw/components/Sidebar/SidebarTabTrigger.tsx
@@ -0,0 +1,26 @@
+import * as RadixTabs from "@radix-ui/react-tabs";
+import type { SidebarTabName } from "../../types";
+
+export const SidebarTabTrigger = ({
+ children,
+ tab,
+ onSelect,
+ ...rest
+}: {
+ children: React.ReactNode;
+ tab: SidebarTabName;
+ onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
+} & Omit<React.HTMLAttributes<HTMLButtonElement>, "onSelect">) => {
+ return (
+ <RadixTabs.Trigger value={tab} asChild onSelect={onSelect}>
+ <button
+ type={"button"}
+ className={`excalidraw-button sidebar-tab-trigger`}
+ {...rest}
+ >
+ {children}
+ </button>
+ </RadixTabs.Trigger>
+ );
+};
+SidebarTabTrigger.displayName = "SidebarTabTrigger";