diff --git a/apps/ui-components/registry/components/zoom-slider/app-example.tsx b/apps/ui-components/registry/components/zoom-slider/app-example.tsx
index 7819fc610..c93933936 100644
--- a/apps/ui-components/registry/components/zoom-slider/app-example.tsx
+++ b/apps/ui-components/registry/components/zoom-slider/app-example.tsx
@@ -1,5 +1,7 @@
-import { Background, ReactFlow } from "@xyflow/react";
+import { Background, Panel, ReactFlow } from "@xyflow/react";
import { ZoomSlider } from "@/registry/components/zoom-slider/";
+import { Button } from "@/components/ui/button";
+import { useState } from "react";
const defaultNodes = [
{
@@ -10,11 +12,26 @@ const defaultNodes = [
];
export default function App() {
+ const [orientation, setOrientation] = useState<"horizontal" | "vertical">(
+ "horizontal",
+ );
+
return (
-
+
+
+
+
);
diff --git a/apps/ui-components/registry/components/zoom-slider/index.tsx b/apps/ui-components/registry/components/zoom-slider/index.tsx
index 6e37e447b..ba14264ce 100644
--- a/apps/ui-components/registry/components/zoom-slider/index.tsx
+++ b/apps/ui-components/registry/components/zoom-slider/index.tsx
@@ -1,6 +1,6 @@
"use client";
-import React from "react";
+import React, { forwardRef } from "react";
import { Maximize, Minus, Plus } from "lucide-react";
import {
@@ -17,8 +17,11 @@ import { cn } from "@/lib/utils";
export function ZoomSlider({
className,
+ orientation = "vertical",
...props
-}: Omit) {
+}: Omit & {
+ orientation?: "horizontal" | "vertical";
+}) {
const { zoom } = useViewport();
const { zoomTo, zoomIn, zoomOut, fitView } = useReactFlow();
const minZoom = useStore((state) => state.minZoom);
@@ -28,34 +31,50 @@ export function ZoomSlider({
-