├── .eslintrc.json ├── .github └── workflows │ └── validate.yml ├── .gitignore ├── .nvmrc ├── .prettierrc ├── README.md ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── hello.ts ├── index.tsx ├── stable │ ├── baseline.tsx │ ├── deferred-pragmatic-drag-and-drop.tsx │ ├── pragmatic-drag-and-drop.tsx │ └── react-beautiful-dnd.tsx └── unstable │ ├── dnd-kit.tsx │ ├── rbd-to-pdnd-migration-layer.tsx │ └── react-dnd.tsx ├── pieces ├── data │ └── tasks.ts ├── scenario │ ├── baseline │ │ ├── board.tsx │ │ ├── card.tsx │ │ └── column.tsx │ ├── deferred-pragmatic-drag-and-drop │ │ ├── attach-card.ts │ │ ├── attach-column.ts │ │ ├── attach-reordering.ts │ │ ├── board.tsx │ │ ├── card.tsx │ │ └── column.tsx │ ├── dnd-kit │ │ ├── board.tsx │ │ ├── card.tsx │ │ ├── column.tsx │ │ └── sortable-card.tsx │ ├── pragmatic-drag-and-drop │ │ ├── board.tsx │ │ ├── card.tsx │ │ ├── column.tsx │ │ ├── get-destination-index.ts │ │ └── reorder.ts │ ├── rbd-to-pdnd-migration-layer │ │ ├── board.tsx │ │ ├── card.tsx │ │ ├── column.tsx │ │ └── reorder.ts │ ├── react-beautiful-dnd │ │ ├── board.tsx │ │ ├── card.tsx │ │ ├── column.tsx │ │ └── reorder.ts │ └── react-dnd │ │ ├── board.tsx │ │ ├── card.tsx │ │ ├── column.tsx │ │ └── get-closest-edge.ts └── shared │ ├── about.tsx │ ├── button.tsx │ ├── card-actions.tsx │ ├── column-actions.tsx │ ├── data-context.ts │ ├── fallback.ts │ ├── focus-context.ts │ ├── github.svg │ ├── menu-button │ ├── container.tsx │ ├── focus.tsx │ ├── index.tsx │ ├── menu-item.tsx │ ├── menu.tsx │ └── trigger.tsx │ ├── merge-refs.ts │ ├── more.svg │ └── use-required-context.tsx ├── public ├── favicon.ico └── vercel.svg ├── scripts └── generate-theme.ts ├── styles └── globals.css ├── tsconfig.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/validate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/.github/workflows/validate.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/.gitignore -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 18.19.1 -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/README.md -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/package.json -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/_app.tsx -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/_document.tsx -------------------------------------------------------------------------------- /pages/api/hello.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/api/hello.ts -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/stable/baseline.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/stable/baseline.tsx -------------------------------------------------------------------------------- /pages/stable/deferred-pragmatic-drag-and-drop.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/stable/deferred-pragmatic-drag-and-drop.tsx -------------------------------------------------------------------------------- /pages/stable/pragmatic-drag-and-drop.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/stable/pragmatic-drag-and-drop.tsx -------------------------------------------------------------------------------- /pages/stable/react-beautiful-dnd.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/stable/react-beautiful-dnd.tsx -------------------------------------------------------------------------------- /pages/unstable/dnd-kit.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/unstable/dnd-kit.tsx -------------------------------------------------------------------------------- /pages/unstable/rbd-to-pdnd-migration-layer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/unstable/rbd-to-pdnd-migration-layer.tsx -------------------------------------------------------------------------------- /pages/unstable/react-dnd.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pages/unstable/react-dnd.tsx -------------------------------------------------------------------------------- /pieces/data/tasks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/data/tasks.ts -------------------------------------------------------------------------------- /pieces/scenario/baseline/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/baseline/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/baseline/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/baseline/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/baseline/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/baseline/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/attach-card.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/attach-card.ts -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/attach-column.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/attach-column.ts -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/attach-reordering.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/attach-reordering.ts -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/deferred-pragmatic-drag-and-drop/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/deferred-pragmatic-drag-and-drop/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/dnd-kit/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/dnd-kit/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/dnd-kit/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/dnd-kit/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/dnd-kit/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/dnd-kit/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/dnd-kit/sortable-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/dnd-kit/sortable-card.tsx -------------------------------------------------------------------------------- /pieces/scenario/pragmatic-drag-and-drop/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/pragmatic-drag-and-drop/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/pragmatic-drag-and-drop/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/pragmatic-drag-and-drop/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/pragmatic-drag-and-drop/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/pragmatic-drag-and-drop/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/pragmatic-drag-and-drop/get-destination-index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/pragmatic-drag-and-drop/get-destination-index.ts -------------------------------------------------------------------------------- /pieces/scenario/pragmatic-drag-and-drop/reorder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/pragmatic-drag-and-drop/reorder.ts -------------------------------------------------------------------------------- /pieces/scenario/rbd-to-pdnd-migration-layer/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/rbd-to-pdnd-migration-layer/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/rbd-to-pdnd-migration-layer/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/rbd-to-pdnd-migration-layer/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/rbd-to-pdnd-migration-layer/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/rbd-to-pdnd-migration-layer/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/rbd-to-pdnd-migration-layer/reorder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/rbd-to-pdnd-migration-layer/reorder.ts -------------------------------------------------------------------------------- /pieces/scenario/react-beautiful-dnd/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-beautiful-dnd/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-beautiful-dnd/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-beautiful-dnd/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-beautiful-dnd/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-beautiful-dnd/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-beautiful-dnd/reorder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-beautiful-dnd/reorder.ts -------------------------------------------------------------------------------- /pieces/scenario/react-dnd/board.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-dnd/board.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-dnd/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-dnd/card.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-dnd/column.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-dnd/column.tsx -------------------------------------------------------------------------------- /pieces/scenario/react-dnd/get-closest-edge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/scenario/react-dnd/get-closest-edge.ts -------------------------------------------------------------------------------- /pieces/shared/about.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/about.tsx -------------------------------------------------------------------------------- /pieces/shared/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/button.tsx -------------------------------------------------------------------------------- /pieces/shared/card-actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/card-actions.tsx -------------------------------------------------------------------------------- /pieces/shared/column-actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/column-actions.tsx -------------------------------------------------------------------------------- /pieces/shared/data-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/data-context.ts -------------------------------------------------------------------------------- /pieces/shared/fallback.ts: -------------------------------------------------------------------------------- 1 | export const fallbackColor = 'red'; 2 | -------------------------------------------------------------------------------- /pieces/shared/focus-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/focus-context.ts -------------------------------------------------------------------------------- /pieces/shared/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/github.svg -------------------------------------------------------------------------------- /pieces/shared/menu-button/container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/container.tsx -------------------------------------------------------------------------------- /pieces/shared/menu-button/focus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/focus.tsx -------------------------------------------------------------------------------- /pieces/shared/menu-button/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/index.tsx -------------------------------------------------------------------------------- /pieces/shared/menu-button/menu-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/menu-item.tsx -------------------------------------------------------------------------------- /pieces/shared/menu-button/menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/menu.tsx -------------------------------------------------------------------------------- /pieces/shared/menu-button/trigger.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/menu-button/trigger.tsx -------------------------------------------------------------------------------- /pieces/shared/merge-refs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/merge-refs.ts -------------------------------------------------------------------------------- /pieces/shared/more.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/more.svg -------------------------------------------------------------------------------- /pieces/shared/use-required-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/pieces/shared/use-required-context.tsx -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /scripts/generate-theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/scripts/generate-theme.ts -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/styles/globals.css -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/tsconfig.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexreardon/drag-and-drop-performance-comparison/HEAD/yarn.lock --------------------------------------------------------------------------------