npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@yelysei/react-files-drag-and-drop

v1.0.0

Published

A light-weighted and customizable React Component that handles Files Drag & Drop

Downloads

289

Readme

@yelysei/react-files-drag-and-drop

A light-weighted and customizable React Component that handles Files Drag & Drop.

Installation

Install with npm:

npm i @yelysei/react-files-drag-and-drop

or with yarn:

yarn add @yelysei/react-files-drag-and-drop

Usage

First you need to import FilesDragAndDrop component:

import FilesDragAndDrop from '@yelysei/react-files-drag-and-drop';

And then use it like this:

<FilesDragAndDrop
    onUpload={(files) => console.log(files)}
    count={3}
    formats={['jpg', 'png', 'svg']}
    containerStyles={{
        width: '200px',
        height: '200px',
        border: '1px solid #cccccc',
    }}
    openDialogOnClick
>
    <div style={{
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center',
    }}>
        Drop files here
    </div>
</FilesDragAndDrop>

Props

Here is the list of all available props:

Name | Type | Required | Description ---|---|---|--- onUpload | function | + | Function that will be called when files are dropped into the component and successfully validated. Receives list of files children | node | + | Inner content of the component count | number | | Max count of files formats | string[] | | List of available file formats openDialogOnClick | boolean | | If enabled, file dialog will be opened on click at the component hoverText | string or function | | Message that will appear when files are dragged over the component. Function receives available file formats and max files count.Default value: 'Drop files here' successText | string or function | | Message that will appear when files are successfully uploaded. Function receives list of uploaded files.Default value: 'Successfully uploaded' errorCountText | string or function | | Message that will appear when more files than available are dropped into the component. Function receives available max files count.Default value: ({count}) => `Only ${count} file${count !== 1 ? 's' : ''} can be uploaded at a time` errorFormatText | string or function | | Message that will appear when files with incorrect formats are dropped into the component. Function receives available file formats.Default value: ({formats}) => `Only following file formats are acceptable: ${formats.join(', ')}` containerStyles | CSS properties | | Custom styles for container hoverMessageStyles | CSS properties | | Custom styles for hover message successMessageStyles | CSS properties | | Custom styles for success message errorMessageStyles | CSS properties | | Custom styles for error message successTime | number | | Time duration in milliseconds when the success message will be displayed.Default value: 1000 errorTime | number | | Time duration in milliseconds when the error message will be displayed.Default value: 2000 onDrop | function | | Function that will be called when files are dropped into the component but not validated yet. Receives list of files onDragEnter | function | | Function that will be called when dragged files entered the component onDragLeave | function | | Function that will be called when dragged files leaved the component