"use client"; import { Resizable as ResizablePrimitive, type ResizeHandle as ResizeHandlePrimitive, useResizeHandle, useResizeHandleState, } from "@platejs/resizable"; import type { VariantProps } from "class-variance-authority"; import { cva } from "class-variance-authority"; import type * as React from "react"; import { cn } from "@/lib/utils"; export const mediaResizeHandleVariants = cva( cn( "top-0 flex w-6 select-none flex-col justify-center", "after:flex after:h-16 after:w-[3px] after:rounded-[6px] after:bg-ring after:opacity-0 after:content-['_'] group-hover:after:opacity-100" ), { variants: { direction: { left: "-left-3 -ml-3 pl-3", right: "-right-3 -mr-3 items-end pr-3", }, }, } ); const resizeHandleVariants = cva("absolute z-40", { variants: { direction: { bottom: "w-full cursor-row-resize", left: "h-full cursor-col-resize", right: "h-full cursor-col-resize", top: "w-full cursor-row-resize", }, }, }); export function ResizeHandle({ className, options, ...props }: React.ComponentProps & VariantProps) { const state = useResizeHandleState(options ?? {}); const resizeHandle = useResizeHandle(state); if (state.readOnly) return null; return (
); } const resizableVariants = cva("", { variants: { align: { center: "mx-auto", left: "mr-auto", right: "ml-auto", }, }, }); export function Resizable({ align, className, ...props }: React.ComponentProps & VariantProps) { return ; }