interface IconProps {
  className?: string;
  width?: string;
  height?: string;
  color?: string;
}

export function HideSidebarIcon({
  width = '100%',
  height = '100%',
  color = '#1976d2',
}: IconProps) {
  return (
    <svg width={width} height={height} viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
      <rect x="1.5" y="1.5" width="37" height="37" rx="4.5" stroke={color} strokeWidth="3" />
      <line x1="13.5" y1="40" x2="13.5" stroke={color} strokeWidth="3" />
      <path d="M24.2928 19.2929C23.9023 19.6834 23.9023 20.3166 24.2928 20.7071L30.6568 27.0711C31.0473 27.4616 31.6804 27.4616 32.071 27.0711C32.4615 26.6805 32.4615 26.0474 32.071 25.6569L26.4141 20L32.071 14.3431C32.4615 13.9526 32.4615 13.3195 32.071 12.9289C31.6804 12.5384 31.0473 12.5384 30.6568 12.9289L24.2928 19.2929ZM25 19H24.9999V21H25V19Z" fill={color} />
    </svg>
  );
}

export function ShowSidebarIcon({
  width = '100%',
  height = '100%',
  color = '#1976d2',
}: IconProps) {
  return (
    <svg width={width} height={height} viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
      <rect x="1.5" y="1.5" width="37" height="37" rx="4.5" stroke={color} strokeWidth="3" />
      <line x1="13.5" y1="40" x2="13.5" stroke={color} strokeWidth="3" />
      <path d="M10.5304 20.5303C10.8233 20.2374 10.8233 19.7626 10.5304 19.4697L5.75746 14.6967C5.46457 14.4038 4.98969 14.4038 4.6968 14.6967C4.40391 14.9896 4.40391 15.4645 4.6968 15.7574L8.93944 20L4.6968 24.2426C4.40391 24.5355 4.40391 25.0104 4.6968 25.3033C4.98969 25.5962 5.46457 25.5962 5.75746 25.3033L10.5304 20.5303ZM10 20.75H10.0001V19.25H10V20.75Z" fill={color} />
    </svg>
  );
}

export function DashedAreaIcon({
  className,
  width,
  height,
  color = '#1976d2',
}: IconProps) {
  return (
    <svg className={className} width={width} height={height} viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M3 1C2.46957 1 1.96086 1.21071 1.58579 1.58579C1.21071 1.96086 1 2.46957 1 3M17 1C17.5304 1 18.0391 1.21071 18.4142 1.58579C18.7893 1.96086 19 2.46957 19 3M19 17C19 17.5304 18.7893 18.0391 18.4142 18.4142C18.0391 18.7893 17.5304 19 17 19M3 19C2.46957 19 1.96086 18.7893 1.58579 18.4142C1.21071 18.0391 1 17.5304 1 17M7 1H8M7 19H8M12 1H13M12 19H13M1 7V8M19 7V8M1 12V13M19 12V13" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
    </svg>
  );
}
