feat(foundry): refine map application controls

This commit is contained in:
Codex
2026-08-09 14:24:18 +03:00
parent 7025fd20b5
commit beb84f6de6
18 changed files with 633 additions and 186 deletions
+6
View File
@@ -33,6 +33,7 @@ export interface DropdownProps {
className?: string;
surfaceClassName?: string;
surfaceRole?: "menu" | "listbox" | "dialog";
onOpenChange?: (open: boolean) => void;
}
export function Dropdown({
@@ -46,6 +47,7 @@ export function Dropdown({
className,
surfaceClassName,
surfaceRole = "menu",
onOpenChange,
}: DropdownProps) {
const instanceId = useId();
const surfaceId = `${instanceId.replaceAll(":", "")}-surface`;
@@ -55,6 +57,10 @@ export function Dropdown({
const surfaceRef = useRef<HTMLDivElement>(null);
const [surfaceStyle, setSurfaceStyle] = useState<CSSProperties>({ visibility: "hidden" });
useEffect(() => {
onOpenChange?.(isOpen);
}, [isOpen, onOpenChange]);
const close = useCallback(() => setIsOpen(false), []);
const show = useCallback(() => {
if (!disabled) setIsOpen(true);