// Adapted from Kibo UI (MIT), with owned React/CSS APIs. See THIRD_PARTY_NOTICES.md. "use client"; import { useState, type ComponentProps, type ReactNode } from "react"; export type ComparisonProps = Omit< ComponentProps<"div">, "onChange" | "defaultValue" > & { before: ReactNode; after: ReactNode; label?: string; value?: number; defaultValue?: number; onValueChange?: (value: number) => void; disabled?: boolean; }; export function Comparison({ before, after, label = "Comparison position", value, defaultValue = 50, onValueChange, disabled, className = "", ...props }: ComparisonProps) { const [internal, setInternal] = useState(defaultValue); const current = Math.max( 0, Math.min( 100, Number.isFinite(value ?? internal) ? (value ?? internal) : 50, ), ); return (