import React, { memo } from 'react';
import { PiBrowser } from 'react-icons/pi';
import { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';
import { useStore } from 'zustand';
import { useShallow } from 'zustand/react/shallow';
import { useStoreWithEqualityFn } from 'zustand/traditional';
import { shallow } from 'zustand/vanilla/shallow';
import { usePopover } from '../../floating';
import { cn } from '../../utils/cn';
import { getRootWindow, type ReactWindow } from '../ReactWindow';
const WindowDockItem = memo<{ win: ReactWindow }>(({ win }) => {
const iconClass = 'w-8 h-8 ';
const { minimized, icon, title } = useStoreWithEqualityFn(
win.store,
({ minimized, icon, title }) => {
if (React.isValidElement(icon)) {
icon = React.cloneElement(icon, {
className: iconClass,
} as any);
}
return { minimized, icon, title };
},
shallow,
);
const { refs, open, context, floatingStyles, getFloatingProps, getReferenceProps } = usePopover({
hover: true,
placement: 'left',
});
return (
<>
{open && (