iterative/vscode-dvc

View on GitHub
webview/src/shared/components/dragDrop/DropTarget.tsx

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import React, { HTMLAttributes } from 'react'

interface DropTargetProps extends HTMLAttributes<HTMLDivElement> {
  children: JSX.Element
  id: string
  wrapper?: JSX.Element
}

export const DropTarget: React.FC<DropTargetProps> = ({
  children,
  id,
  wrapper,
  ...props
}) => {
  const wrap = wrapper || <div />
  return (
    <wrap.type data-testid="drop-target" id={`${id}__drop`} {...props}>
      {children}
    </wrap.type>
  )
}