import React, { useEffect, useRef, type ReactNode } from 'react';
import { PiCaretLeftLight, PiCaretRightLight } from 'react-icons/pi';
import { DevOnly, useControllable } from '@wener/reaction';
import { Window, WindowDock } from '..';
export const StandaloneWindow = ({
open: _open,
onOpenChange: _onOpenChange,
children,
controller,
body,
}: {
open?: boolean;
onOpenChange?: (open: boolean) => void;
children?: ReactNode;
controller?: ReactNode;
body?: HTMLElement;
}) => {
const initialRef = useRef(true);
const [open, setOpen] = useControllable(_open, _onOpenChange, false);
useEffect(() => {
if (initialRef.current) return;
return Window.getRoot().store.subscribe((s) => {
if (s.windows.length && !initialRef.current) {
initialRef.current = true;
setOpen(true);
}
});
}, []);
return (
<>