This component no longer exists. It was in diceui/base’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-13 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
cropper-video-demo
diceui-base/cropper-video-demoRemovedExample
diceui/base publishes no description for this item.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/sadmann7/diceui/HEAD/docs/public/r/styles/base-vega/cropper-video-demo.jsonSource
1"use client";23import { PauseIcon, PlayIcon } from "lucide-react";4import * as React from "react";5import { Button } from "@/registry/bases/base/ui/button";6import {7 Cropper,8 CropperArea,9 type CropperPoint,10 CropperVideo,11} from "@/registry/bases/base/ui/cropper";1213export default function CropperVideoDemo() {14 const [crop, setCrop] = React.useState<CropperPoint>({ x: 0, y: 0 });15 const [zoom, setZoom] = React.useState(1);16 const [isPlaying, setIsPlaying] = React.useState(true);17 const videoRef = React.useRef<HTMLVideoElement>(null);1819 const onPlayToggle = React.useCallback(() => {20 if (videoRef.current) {21 if (isPlaying) {22 videoRef.current.pause();23 } else {24 videoRef.current.play();25 }26 setIsPlaying(!isPlaying);27 }28 }, [isPlaying]);2930 const onMetadataLoaded = React.useCallback(() => {31 if (videoRef.current && isPlaying) {32 videoRef.current.play();33 }34 }, [isPlaying]);3536 return (37 <div className="flex size-full flex-col gap-4">38 <Button39 size="sm"40 className="w-fit [&_svg]:fill-current"41 onClick={onPlayToggle}42 >43 {isPlaying ? (44 <>45 <PauseIcon />46 Pause47 </>48 ) : (49 <>50 <PlayIcon />51 Play52 </>53 )}54 </Button>55 <Cropper56 aspectRatio={16 / 9}57 crop={crop}58 zoom={zoom}59 onCropChange={setCrop}60 onZoomChange={setZoom}61 className="h-96"62 objectFit="cover"63 withGrid64 >65 <CropperVideo66 ref={videoRef}67 src="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"68 crossOrigin="anonymous"69 onLoadedMetadata={onMetadataLoaded}70 />71 <CropperArea />72 </Cropper>73 </div>74 );75}
What it pulls in
Other registry items
