Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
A lightweight, fully-tested (unit and e2e test), TypeScript'd, React library (1 component, and 1 hook!) to enable using the cursor to drag and select multiple items.
The underlying logic for this library was inspired from React Drag to Select.
This project was bootstrapped with Create React Library.
No selected state management - Unlike [React Drag to Select](https://github.com/pablofierro/react-drag-select], this component does not managed if an item is selected. It's up to you to handle that. It only fires the hook once the item becomes selected.
Supports deeply nested items - Unlike [React Drag to Select](https://github.com/pablofierro/react-drag-select], the items you are trying to select don't need to be immediate children of the parent HOC. As long as they have the useSelectableByDragging
inside of them, and the
Supports virtualization - Unlike [React Drag to Select](https://github.com/pablofierro/react-drag-select], our library can support virtualized lists as well!
This is the HOC which is used to create the drag context and draw the drag layer to the screen.
It has no props/configuration.
<DragSelection>
{/* Any components you want selected go in here */}
</DragSelection>
This is the hook used by any component that is a descendant of <DragSelection>
. It fires every time the selected state of the component changes.
It returns an array with 2 values:
type UseSelectableByDraggingReturnType<RefType> = [
{ selected: boolean },
RefObject<RefType>
];
selected
which indicates if the component is being selected at that momentref
to the component you're trying to selectNote: For TypeScript users, you must pass in the first generic for
useSelectableByDragging
. This type must match the type of element you'll be applying the ref to (it gets passed touseRef
).
const MyComponent: React.FC = () => {
// <HTMLDivElement> is used because the ref gets applied to a `div` below
const [{ selected }, ref] = useSelectableByDragging<HTMLDivElement>();
return <div {...{ ref }} />;
};
FAQs
React component to select multiple items with the mouse cursor
We found that react-dns demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.