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({ - - zoomTo(values[0])} - /> - + + zoomTo(values[0])} + /> + +