"use client"; // Adapted from Adobe React Spectrum starters (Apache-2.0). // Modified: owned composition, local runtime, scoped CSS and customization. // See THIRD_PARTY_NOTICES.md. import { DropZone as AriaDropZone, type DropZoneProps as AriaProps, FileTrigger, type FileTriggerProps, Button, Text, composeRenderProps, } from "./react-aria-runtime.js"; export interface DropZoneProps extends Omit { label?: string; onSelect: FileTriggerProps["onSelect"]; acceptedFileTypes?: string[]; allowsMultiple?: boolean; } // acceptedFileTypes filters the file chooser; validate dropped items in onDrop. export function DropZone({ label = "Drop files or choose files", onSelect, acceptedFileTypes, allowsMultiple, className, ...props }: DropZoneProps) { return ( `ynr-drop-zone ynr-aria ${value ?? ""}`, )} > {label} ); }