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

dnd-timeline

v2.0.2

Published

# [Documentation](https://samuel-arbibe.gitbook.io/dnd-timeline/)

Downloads

4,646

Readme

dnd-timeline npm version

Documentation

A headless timeline library, based on dnd-kit

  • Headless: dnd-timeline is a headless-ui library, and contains 0 styling, aside from functional styling (position, z-index, etc.).
  • Hook-based: exposes simple hooks like useItem and useRow, that should integrate seamlessly into your existing architecture.
  • Flexible: very slim and flexible by design. dnd-timeline exposes utility functions and positional styling, and you can use them in conjunction with you favorite libraries - styling libraries (MUI, tailwindcss, ant-design, etc.), and functional libraries (react-virtual, framer-motion, etc.)
  • Based on dnd-kit: all features exposed by the dnd-kit library are applicable to dnd-timeline.
  • Performant: renders only when needed. All the intermediate states and animations are done using css transformations, and require 0 re-renders.
  • RTL: dnd-timeline nativly supports RTL. simply declare one of the parent divs as rtl with dir="rtl", and thats it.

2023-07-09 20 31 30

Installation

The library requires a single peer-dependency: react

To install it, run:

npm install react

Then, you can install the library itself:

npm install dnd-timeline

Features

  • Stacked rows: Items whose relevance's intersect are stacked on top of each other inside the same row.
  • Snap to Grid: Items snap into a pre-defined grid when dropped, that can be changed according to zoom level.
  • Time Axis: An optional time axis can be displayed, with different markers according to zoom level.
  • Time Cursor: An optional time cursor indicating the current time on top of the timeline.
  • Pan and zoom: You can zoom by holding Ctrl and scrolling using the mouse wheel, and pan by holding Ctrl + Shift scrolling using the mouse wheel. 2023-07-09 20 27 50
  • Dynamically disabled rows and items: Items and Rows can be disabled according to a client-defined logic. 2023-07-09 20 29 15
  • Integration with external DnD: The timeline can be used in conjunction with other DnD interactions in you app, to drag items into and outside of the timeline. 2023-07-09 20 30 25

Contribute

This project uses turborepo to manage the monorepo.

If you want to develop on your local machine, simply close the project, and run

npm install
npm run dev

And all the examples will run on your local machine, likned to the local instance of the library.

Any changes made to the library will be reflected in the examples.