gitextract_pui9u02i/ ├── .browserslistrc ├── .changeset/ │ ├── README.md │ ├── animation-last-wins.md │ ├── autoscroller-options.md │ ├── config.json │ ├── drop-animation-source-context.md │ ├── entity-batched-id-changes.md │ ├── feedback-keyboard-transition.md │ ├── feedback-placeholder-sibling-reorder.md │ ├── feedback-transform-support.md │ ├── fix-event-type-aliases.md │ ├── fix-plugin-registry-dedup-ordering.md │ ├── fix-pointer-sensor-stale-activation.md │ ├── per-entity-plugin-config.md │ ├── refactor-style-injector.md │ ├── scroll-into-view-rewrite.md │ ├── thick-cloths-poke.md │ ├── use-deep-signal-flush-sync.md │ └── whole-cloths-warn.md ├── .eslintrc.js ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── chromatic.yml │ ├── continous-release.yml │ ├── playwright.yml │ ├── release.yml │ └── tests.yml ├── .gitignore ├── .nvmrc ├── .prettierrc ├── .vscode/ │ └── settings.json ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── apps/ │ ├── docs/ │ │ ├── README.md │ │ ├── concepts/ │ │ │ ├── drag-drop-manager.mdx │ │ │ ├── draggable.mdx │ │ │ ├── droppable.mdx │ │ │ └── sortable.mdx │ │ ├── docs.json │ │ ├── extend/ │ │ │ ├── modifiers.mdx │ │ │ ├── plugins/ │ │ │ │ ├── accessibility.mdx │ │ │ │ ├── auto-scroller.mdx │ │ │ │ ├── cursor.mdx │ │ │ │ ├── debug.mdx │ │ │ │ ├── feedback.mdx │ │ │ │ └── style-injector.mdx │ │ │ ├── plugins.mdx │ │ │ ├── sensors/ │ │ │ │ ├── keyboard-sensor.mdx │ │ │ │ └── pointer-sensor.mdx │ │ │ └── sensors.mdx │ │ ├── legacy/ │ │ │ ├── api-documentation/ │ │ │ │ ├── context-provider/ │ │ │ │ │ ├── collision-detection-algorithms.mdx │ │ │ │ │ ├── dnd-context.mdx │ │ │ │ │ ├── use-dnd-context.mdx │ │ │ │ │ └── use-dnd-monitor.mdx │ │ │ │ ├── draggable/ │ │ │ │ │ ├── drag-overlay.mdx │ │ │ │ │ └── use-draggable.mdx │ │ │ │ ├── draggable.mdx │ │ │ │ ├── droppable/ │ │ │ │ │ └── use-droppable.mdx │ │ │ │ ├── droppable.mdx │ │ │ │ ├── modifiers.mdx │ │ │ │ ├── sensors/ │ │ │ │ │ ├── keyboard.mdx │ │ │ │ │ ├── mouse.mdx │ │ │ │ │ ├── pointer.mdx │ │ │ │ │ └── touch.mdx │ │ │ │ └── sensors.mdx │ │ │ ├── guides/ │ │ │ │ └── accessibility.mdx │ │ │ ├── introduction/ │ │ │ │ ├── getting-started.mdx │ │ │ │ └── installation.mdx │ │ │ └── presets/ │ │ │ └── sortable/ │ │ │ ├── overview.mdx │ │ │ ├── sortable-context.mdx │ │ │ └── use-sortable.mdx │ │ ├── overview.mdx │ │ ├── quickstart.mdx │ │ ├── react/ │ │ │ ├── components/ │ │ │ │ ├── drag-drop-provider.mdx │ │ │ │ └── drag-overlay.mdx │ │ │ ├── guides/ │ │ │ │ ├── migration.mdx │ │ │ │ ├── multiple-sortable-lists.mdx │ │ │ │ └── sortable-state-management.mdx │ │ │ ├── hooks/ │ │ │ │ ├── use-drag-drop-monitor.mdx │ │ │ │ ├── use-draggable.mdx │ │ │ │ ├── use-droppable.mdx │ │ │ │ └── use-sortable.mdx │ │ │ └── quickstart.mdx │ │ ├── sandpack.js │ │ ├── snippets/ │ │ │ ├── code.mdx │ │ │ ├── quickstart/ │ │ │ │ └── intro.mdx │ │ │ ├── sandbox.mdx │ │ │ └── story.mdx │ │ ├── solid/ │ │ │ ├── components/ │ │ │ │ ├── drag-drop-provider.mdx │ │ │ │ └── drag-overlay.mdx │ │ │ ├── hooks/ │ │ │ │ ├── use-draggable.mdx │ │ │ │ ├── use-droppable.mdx │ │ │ │ └── use-sortable.mdx │ │ │ └── quickstart.mdx │ │ ├── style.css │ │ ├── svelte/ │ │ │ ├── components/ │ │ │ │ ├── drag-drop-provider.mdx │ │ │ │ └── drag-overlay.mdx │ │ │ ├── primitives/ │ │ │ │ ├── create-draggable.mdx │ │ │ │ ├── create-droppable.mdx │ │ │ │ └── create-sortable.mdx │ │ │ └── quickstart.mdx │ │ └── vue/ │ │ ├── components/ │ │ │ ├── drag-drop-provider.mdx │ │ │ └── drag-overlay.mdx │ │ ├── composables/ │ │ │ ├── use-draggable.mdx │ │ │ ├── use-droppable.mdx │ │ │ └── use-sortable.mdx │ │ └── quickstart.mdx │ ├── stories/ │ │ ├── .eslintrc.js │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── manager-head.html │ │ │ ├── manager.ts │ │ │ ├── preview-head.html │ │ │ ├── preview.tsx │ │ │ └── theme.ts │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── raw.d.ts │ │ ├── stories/ │ │ │ ├── components/ │ │ │ │ ├── docs/ │ │ │ │ │ ├── Code/ │ │ │ │ │ │ ├── Code.module.css │ │ │ │ │ │ ├── Code.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── CodeHighlighter/ │ │ │ │ │ │ │ │ ├── CodeHighlighter.module.css │ │ │ │ │ │ │ │ ├── CodeHighlighter.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── Info/ │ │ │ │ │ │ ├── Info.module.css │ │ │ │ │ │ ├── Info.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── Preview/ │ │ │ │ │ │ ├── Preview.module.css │ │ │ │ │ │ ├── Preview.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ └── react/ │ │ │ ├── Draggable/ │ │ │ │ ├── DragHandles/ │ │ │ │ │ ├── DragHandles.stories.tsx │ │ │ │ │ └── docs/ │ │ │ │ │ └── DragHandles.mdx │ │ │ │ ├── DragOverlay/ │ │ │ │ │ └── DragOverlay.stories.tsx │ │ │ │ ├── Draggable.stories.tsx │ │ │ │ ├── DraggableApp.tsx │ │ │ │ ├── DraggableExample.tsx │ │ │ │ ├── Modifiers/ │ │ │ │ │ ├── Modifiers.stories.tsx │ │ │ │ │ ├── SnapToGridExample.tsx │ │ │ │ │ ├── docs/ │ │ │ │ │ │ └── ModifierDocs.mdx │ │ │ │ │ └── styles.module.css │ │ │ │ ├── Sensors/ │ │ │ │ │ ├── Sensors.stories.tsx │ │ │ │ │ └── docs/ │ │ │ │ │ └── SensorDocs.mdx │ │ │ │ └── docs/ │ │ │ │ ├── DraggableDocs.mdx │ │ │ │ └── examples/ │ │ │ │ ├── Draggable.jsx │ │ │ │ ├── MultipleDraggable.jsx │ │ │ │ └── QuickStart.jsx │ │ │ ├── Droppable/ │ │ │ │ ├── Droppable.stories.tsx │ │ │ │ ├── DroppableApp.tsx │ │ │ │ ├── DroppableExample.tsx │ │ │ │ ├── MultipleDroppable/ │ │ │ │ │ ├── MultipleDroppable.stories.tsx │ │ │ │ │ └── MultipleDroppableApp.tsx │ │ │ │ └── docs/ │ │ │ │ ├── DroppableDocs.mdx │ │ │ │ └── examples/ │ │ │ │ ├── Draggable.jsx │ │ │ │ ├── Droppable.jsx │ │ │ │ ├── MultipleDroppable.jsx │ │ │ │ └── QuickStart.jsx │ │ │ ├── Resizeable/ │ │ │ │ ├── Resizeable.css │ │ │ │ ├── Resizeable.tsx │ │ │ │ └── index.ts │ │ │ ├── Sortable/ │ │ │ │ ├── CSSLayers/ │ │ │ │ │ ├── CSSLayers.stories.tsx │ │ │ │ │ └── CSSLayersExample.tsx │ │ │ │ ├── Grid/ │ │ │ │ │ ├── Grid.stories.tsx │ │ │ │ │ └── GridSortableApp.tsx │ │ │ │ ├── Horizontal/ │ │ │ │ │ ├── Horizontal.stories.tsx │ │ │ │ │ └── HorizontalSortableApp.tsx │ │ │ │ ├── Iframe/ │ │ │ │ │ ├── Iframe.stories.tsx │ │ │ │ │ └── IframeExample.tsx │ │ │ │ ├── MultipleLists/ │ │ │ │ │ ├── MultipleLists.stories.tsx │ │ │ │ │ ├── MultipleLists.tsx │ │ │ │ │ ├── MultipleListsApp.tsx │ │ │ │ │ └── docs/ │ │ │ │ │ ├── MultipleLists.mdx │ │ │ │ │ └── examples/ │ │ │ │ │ ├── Column.jsx │ │ │ │ │ ├── Item.jsx │ │ │ │ │ └── QuickStart.jsx │ │ │ │ ├── Quickstart.tsx │ │ │ │ ├── Sortable.stories.tsx │ │ │ │ ├── SortableApp.tsx │ │ │ │ ├── SortableExample.tsx │ │ │ │ ├── Table/ │ │ │ │ │ ├── Table.stories.tsx │ │ │ │ │ └── TableExample.tsx │ │ │ │ ├── Transformed/ │ │ │ │ │ ├── Transformed.stories.tsx │ │ │ │ │ └── TransformedExample.tsx │ │ │ │ ├── Tree/ │ │ │ │ │ ├── Tree.module.css │ │ │ │ │ ├── Tree.stories.tsx │ │ │ │ │ ├── Tree.tsx │ │ │ │ │ ├── TreeItem.tsx │ │ │ │ │ ├── TreeItemOverlay.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utilities.ts │ │ │ │ ├── Vertical/ │ │ │ │ │ ├── AutoScrollExample.tsx │ │ │ │ │ └── Vertical.stories.tsx │ │ │ │ ├── Virtualized/ │ │ │ │ │ ├── ReactTinyVirtualListExample.tsx │ │ │ │ │ ├── ReactVirtualExample.tsx │ │ │ │ │ ├── ReactWindowExample.tsx │ │ │ │ │ └── Virtualized.stories.tsx │ │ │ │ └── docs/ │ │ │ │ ├── SortableDocs.mdx │ │ │ │ └── examples/ │ │ │ │ ├── ControlledExample.jsx │ │ │ │ ├── Example.jsx │ │ │ │ └── UncontrolledExample.jsx │ │ │ ├── components/ │ │ │ │ ├── Actions/ │ │ │ │ │ ├── Action.tsx │ │ │ │ │ ├── Actions.module.css │ │ │ │ │ ├── Actions.tsx │ │ │ │ │ ├── Remove.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Button/ │ │ │ │ │ └── Button.tsx │ │ │ │ ├── Container/ │ │ │ │ │ └── Container.tsx │ │ │ │ ├── Dropzone/ │ │ │ │ │ └── Dropzone.tsx │ │ │ │ ├── Grid/ │ │ │ │ │ ├── Grid.module.css │ │ │ │ │ └── Grid.tsx │ │ │ │ ├── Handle/ │ │ │ │ │ └── Handle.tsx │ │ │ │ ├── Item/ │ │ │ │ │ └── Item.tsx │ │ │ │ └── index.ts │ │ │ └── icons/ │ │ │ ├── SortableIcon.tsx │ │ │ └── index.ts │ │ ├── tests/ │ │ │ ├── drag-offset.spec.ts │ │ │ ├── draggable.spec.ts │ │ │ ├── droppable.spec.ts │ │ │ ├── sortable-autoscroll-options.spec.ts │ │ │ ├── sortable-css-layers.spec.ts │ │ │ ├── sortable-grid.spec.ts │ │ │ ├── sortable-horizontal.spec.ts │ │ │ ├── sortable-iframe.spec.ts │ │ │ ├── sortable-multiple.spec.ts │ │ │ ├── sortable-scroll.spec.ts │ │ │ ├── sortable-table.spec.ts │ │ │ ├── sortable-transformed.spec.ts │ │ │ └── sortable-vertical.spec.ts │ │ └── tsconfig.json │ ├── stories-shared/ │ │ ├── components/ │ │ │ ├── Container/ │ │ │ │ ├── Container.css │ │ │ │ ├── Container.ts │ │ │ │ └── index.ts │ │ │ ├── Item/ │ │ │ │ ├── Item.css │ │ │ │ ├── Item.ts │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── package.json │ │ ├── preview-head.html │ │ ├── register.ts │ │ ├── styles/ │ │ │ ├── index.ts │ │ │ └── sandbox.ts │ │ ├── tests/ │ │ │ ├── drag-offset.tests.ts │ │ │ ├── draggable.tests.ts │ │ │ ├── droppable.tests.ts │ │ │ ├── fixtures.ts │ │ │ ├── sortable-transformed.tests.ts │ │ │ └── sortable-vertical.tests.ts │ │ └── utilities/ │ │ ├── classnames.ts │ │ ├── createRange.ts │ │ └── index.ts │ ├── stories-solid/ │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── manager-head.html │ │ │ ├── manager.ts │ │ │ ├── preview.ts │ │ │ └── theme.ts │ │ ├── custom-elements.d.ts │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── raw.d.ts │ │ ├── stories/ │ │ │ ├── Draggable/ │ │ │ │ ├── DragHandles/ │ │ │ │ │ ├── DragHandles.stories.tsx │ │ │ │ │ └── DragHandlesApp.tsx │ │ │ │ ├── Draggable.stories.tsx │ │ │ │ └── DraggableApp.tsx │ │ │ ├── Droppable/ │ │ │ │ ├── Droppable.stories.tsx │ │ │ │ ├── DroppableApp.tsx │ │ │ │ └── MultipleDroppable/ │ │ │ │ ├── MultipleDroppable.stories.tsx │ │ │ │ └── MultipleDroppableApp.tsx │ │ │ └── Sortable/ │ │ │ ├── Grid/ │ │ │ │ ├── Grid.stories.tsx │ │ │ │ └── GridSortableApp.tsx │ │ │ ├── Horizontal/ │ │ │ │ ├── Horizontal.stories.tsx │ │ │ │ └── HorizontalSortableApp.tsx │ │ │ ├── MultipleLists/ │ │ │ │ ├── MultipleLists.stories.tsx │ │ │ │ └── MultipleListsApp.tsx │ │ │ ├── SortableApp.tsx │ │ │ ├── SortableDragHandleApp.tsx │ │ │ └── Vertical/ │ │ │ └── Vertical.stories.tsx │ │ ├── tests/ │ │ │ ├── draggable.spec.ts │ │ │ ├── droppable.spec.ts │ │ │ └── sortable-vertical.spec.ts │ │ └── tsconfig.json │ ├── stories-svelte/ │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── manager.ts │ │ │ ├── preview.ts │ │ │ └── theme.ts │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── raw.d.ts │ │ ├── stories/ │ │ │ ├── Draggable/ │ │ │ │ ├── DragHandles/ │ │ │ │ │ ├── DragHandles.stories.ts │ │ │ │ │ ├── DragHandlesApp.svelte │ │ │ │ │ └── DraggableWithHandle.svelte │ │ │ │ ├── DragOverlay/ │ │ │ │ │ ├── DragOverlay.stories.ts │ │ │ │ │ ├── DragOverlayApp.svelte │ │ │ │ │ └── DraggableItem.svelte │ │ │ │ ├── Draggable.stories.ts │ │ │ │ ├── Draggable.svelte │ │ │ │ └── DraggableApp.svelte │ │ │ ├── Droppable/ │ │ │ │ ├── DraggableItem.svelte │ │ │ │ ├── Droppable.stories.ts │ │ │ │ ├── DroppableApp.svelte │ │ │ │ ├── DroppableZone.svelte │ │ │ │ └── MultipleDroppable/ │ │ │ │ ├── MultipleDroppable.stories.ts │ │ │ │ └── MultipleDroppableApp.svelte │ │ │ └── Sortable/ │ │ │ ├── Grid/ │ │ │ │ ├── Grid.stories.ts │ │ │ │ ├── GridSortableApp.svelte │ │ │ │ └── GridSortableItem.svelte │ │ │ ├── Horizontal/ │ │ │ │ ├── Horizontal.stories.ts │ │ │ │ ├── HorizontalSortableApp.svelte │ │ │ │ └── HorizontalSortableItem.svelte │ │ │ ├── MultipleLists/ │ │ │ │ ├── MultipleLists.stories.ts │ │ │ │ ├── MultipleListsApp.svelte │ │ │ │ ├── SortableColumn.svelte │ │ │ │ └── SortableItem.svelte │ │ │ ├── SortableApp.svelte │ │ │ ├── SortableDragHandleApp.svelte │ │ │ ├── SortableItem.svelte │ │ │ ├── SortableItemWithHandle.svelte │ │ │ └── Vertical/ │ │ │ └── Vertical.stories.ts │ │ ├── tests/ │ │ │ ├── draggable.spec.ts │ │ │ ├── droppable.spec.ts │ │ │ └── sortable-vertical.spec.ts │ │ └── vite.config.ts │ ├── stories-vanilla/ │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── manager-head.html │ │ │ ├── manager.ts │ │ │ ├── preview.ts │ │ │ └── theme.ts │ │ ├── package.json │ │ ├── raw.d.ts │ │ └── stories/ │ │ ├── Draggable/ │ │ │ ├── DragHandle/ │ │ │ │ ├── DragHandle.stories.ts │ │ │ │ └── DragHandleApp.ts │ │ │ ├── Draggable.stories.ts │ │ │ └── DraggableApp.ts │ │ ├── Droppable/ │ │ │ ├── Droppable.stories.ts │ │ │ ├── DroppableApp.ts │ │ │ └── MultipleDroppable/ │ │ │ ├── MultipleDroppable.stories.ts │ │ │ └── MultipleDroppableApp.ts │ │ └── Sortable/ │ │ ├── Grid/ │ │ │ ├── Grid.stories.ts │ │ │ └── GridSortableApp.ts │ │ ├── Horizontal/ │ │ │ ├── Horizontal.stories.ts │ │ │ └── HorizontalSortableApp.ts │ │ ├── Sortable.stories.ts │ │ └── SortableApp.ts │ └── stories-vue/ │ ├── .storybook/ │ │ ├── main.ts │ │ ├── manager-head.html │ │ ├── manager.ts │ │ ├── preview.ts │ │ └── theme.ts │ ├── package.json │ ├── playwright.config.ts │ ├── raw.d.ts │ ├── stories/ │ │ ├── Draggable/ │ │ │ ├── DragHandles/ │ │ │ │ ├── DragHandles.stories.ts │ │ │ │ └── DragHandlesApp.vue │ │ │ ├── DragOverlay/ │ │ │ │ ├── DragOverlay.stories.ts │ │ │ │ └── DragOverlayApp.vue │ │ │ ├── Draggable.stories.ts │ │ │ └── DraggableApp.vue │ │ ├── Droppable/ │ │ │ ├── Droppable.stories.ts │ │ │ ├── DroppableApp.vue │ │ │ └── MultipleDroppable/ │ │ │ ├── MultipleDroppable.stories.ts │ │ │ └── MultipleDroppableApp.vue │ │ └── Sortable/ │ │ ├── Grid/ │ │ │ ├── Grid.stories.ts │ │ │ └── GridSortableApp.vue │ │ ├── Horizontal/ │ │ │ ├── Horizontal.stories.ts │ │ │ └── HorizontalSortableApp.vue │ │ ├── MultipleLists/ │ │ │ ├── MultipleLists.stories.ts │ │ │ ├── MultipleListsApp.vue │ │ │ ├── SortableColumn.vue │ │ │ └── SortableItem.vue │ │ ├── SortableApp.vue │ │ ├── SortableDragHandleApp.vue │ │ └── Vertical/ │ │ └── Vertical.stories.ts │ └── tests/ │ ├── draggable.spec.ts │ ├── droppable.spec.ts │ └── sortable-vertical.spec.ts ├── bun.lockb ├── config/ │ └── typescript/ │ ├── base.json │ ├── react.json │ ├── solid.json │ ├── svelte.json │ ├── vanilla.json │ └── vue.json ├── package.json ├── packages/ │ ├── abstract/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── collision/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── notifier.ts │ │ │ │ │ ├── observer.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utilities.ts │ │ │ │ ├── entities/ │ │ │ │ │ ├── draggable/ │ │ │ │ │ │ ├── draggable.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── droppable/ │ │ │ │ │ │ ├── droppable.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── entity.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── registry.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── manager/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── manager.ts │ │ │ │ │ ├── operation.ts │ │ │ │ │ ├── registry.ts │ │ │ │ │ ├── renderer.ts │ │ │ │ │ ├── status.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── modifiers/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── modifier.ts │ │ │ │ ├── plugins/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── registry.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utilities.ts │ │ │ │ └── sensors/ │ │ │ │ ├── activation.ts │ │ │ │ ├── index.ts │ │ │ │ └── sensor.ts │ │ │ └── modifiers/ │ │ │ ├── axis.ts │ │ │ ├── boundingRectangle.ts │ │ │ ├── index.ts │ │ │ └── snap.ts │ │ ├── tests/ │ │ │ ├── manager-modifiers.test.ts │ │ │ └── plugin-registry.test.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── collision/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── algorithms/ │ │ │ │ ├── closestCenter.ts │ │ │ │ ├── closestCorners.ts │ │ │ │ ├── default.ts │ │ │ │ ├── directionBiased.ts │ │ │ │ ├── index.ts │ │ │ │ ├── pointerDistance.ts │ │ │ │ ├── pointerIntersection.ts │ │ │ │ └── shapeIntersection.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── dom/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── entities/ │ │ │ │ │ ├── draggable/ │ │ │ │ │ │ ├── draggable.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── droppable/ │ │ │ │ │ │ ├── droppable.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── manager/ │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── manager.ts │ │ │ │ ├── plugins/ │ │ │ │ │ ├── accessibility/ │ │ │ │ │ │ ├── Accessibility.ts │ │ │ │ │ │ ├── HiddenText.ts │ │ │ │ │ │ ├── LiveRegion.ts │ │ │ │ │ │ ├── defaults.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utilities.ts │ │ │ │ │ ├── cursor/ │ │ │ │ │ │ ├── Cursor.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── feedback/ │ │ │ │ │ │ ├── Feedback.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── dropAnimation.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── observers.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utilities.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── scrolling/ │ │ │ │ │ │ ├── AutoScroller.ts │ │ │ │ │ │ ├── ScrollIntent.ts │ │ │ │ │ │ ├── ScrollListener.ts │ │ │ │ │ │ ├── ScrollLock.ts │ │ │ │ │ │ ├── Scroller.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── selection/ │ │ │ │ │ │ └── PreventSelection.ts │ │ │ │ │ └── stylesheet/ │ │ │ │ │ └── StyleInjector.ts │ │ │ │ └── sensors/ │ │ │ │ ├── drag/ │ │ │ │ │ ├── DragSensor.ts │ │ │ │ │ ├── encoding.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── keyboard/ │ │ │ │ │ ├── KeyboardSensor.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── pointer/ │ │ │ │ │ ├── DelayConstraint.ts │ │ │ │ │ ├── DistanceConstraint.ts │ │ │ │ │ ├── PointerActivationConstraints.ts │ │ │ │ │ └── PointerSensor.ts │ │ │ │ └── types.ts │ │ │ ├── modifiers/ │ │ │ │ ├── RestrictToElement.ts │ │ │ │ ├── RestrictToWindow.ts │ │ │ │ └── index.ts │ │ │ ├── plugins/ │ │ │ │ └── debug/ │ │ │ │ ├── debug.ts │ │ │ │ └── index.ts │ │ │ ├── sortable/ │ │ │ │ ├── index.ts │ │ │ │ ├── plugins/ │ │ │ │ │ ├── OptimisticSortingPlugin.ts │ │ │ │ │ └── SortableKeyboardPlugin.ts │ │ │ │ ├── sortable.ts │ │ │ │ └── utilities.ts │ │ │ └── utilities/ │ │ │ ├── animations/ │ │ │ │ ├── forceFinishAnimations.ts │ │ │ │ └── getFinalKeyframe.ts │ │ │ ├── bounding-rectangle/ │ │ │ │ ├── getBoundingRectangle.ts │ │ │ │ ├── getViewportBoundingRectangle.ts │ │ │ │ ├── getVisibleBoundingRectangle.ts │ │ │ │ ├── index.ts │ │ │ │ ├── isOverflowVisible.ts │ │ │ │ ├── isRectEqual.ts │ │ │ │ └── isVisible.ts │ │ │ ├── coordinates/ │ │ │ │ └── getEventCoordinates.ts │ │ │ ├── element/ │ │ │ │ ├── cloneElement.ts │ │ │ │ ├── getElementFromPoint.ts │ │ │ │ ├── index.ts │ │ │ │ ├── isInteractiveElement.ts │ │ │ │ └── proxiedElements.ts │ │ │ ├── event-listeners/ │ │ │ │ ├── Listeners.ts │ │ │ │ └── index.ts │ │ │ ├── execution-context/ │ │ │ │ ├── canUseDOM.ts │ │ │ │ ├── getDocument.ts │ │ │ │ ├── getDocuments.ts │ │ │ │ ├── getFixedPositionOffset.ts │ │ │ │ ├── getRoot.ts │ │ │ │ ├── getWindow.ts │ │ │ │ ├── isSafari.ts │ │ │ │ └── prefersReducedMotion.ts │ │ │ ├── frame/ │ │ │ │ ├── getFrameElement.ts │ │ │ │ ├── getFrameElements.ts │ │ │ │ └── getFrameTransform.ts │ │ │ ├── index.ts │ │ │ ├── misc/ │ │ │ │ └── generateUniqueId.ts │ │ │ ├── observers/ │ │ │ │ ├── FrameObserver.ts │ │ │ │ ├── PositionObserver.ts │ │ │ │ ├── ResizeNotifier.ts │ │ │ │ └── index.ts │ │ │ ├── popover/ │ │ │ │ ├── hidePopover.ts │ │ │ │ ├── index.ts │ │ │ │ ├── showPopover.ts │ │ │ │ └── supportsPopover.ts │ │ │ ├── scheduling/ │ │ │ │ ├── index.ts │ │ │ │ ├── scheduler.ts │ │ │ │ ├── throttle.ts │ │ │ │ └── timeout.ts │ │ │ ├── scroll/ │ │ │ │ ├── canScroll.ts │ │ │ │ ├── detectScrollIntent.ts │ │ │ │ ├── documentScrollingElement.ts │ │ │ │ ├── getScrollPosition.ts │ │ │ │ ├── getScrollableAncestors.ts │ │ │ │ ├── getScrollableElement.ts │ │ │ │ ├── index.ts │ │ │ │ ├── isFixed.ts │ │ │ │ ├── isScrollable.ts │ │ │ │ └── scrollIntoViewIfNeeded.ts │ │ │ ├── shapes/ │ │ │ │ ├── DOMRectangle.ts │ │ │ │ └── index.ts │ │ │ ├── styles/ │ │ │ │ ├── Styles.ts │ │ │ │ ├── getComputedStyles.ts │ │ │ │ └── index.ts │ │ │ ├── transform/ │ │ │ │ ├── animateTransform.ts │ │ │ │ ├── applyTransform.ts │ │ │ │ ├── computeTranslate.ts │ │ │ │ ├── index.ts │ │ │ │ ├── inverseTransform.ts │ │ │ │ ├── parseScale.ts │ │ │ │ ├── parseTransform.ts │ │ │ │ └── parseTranslate.ts │ │ │ └── type-guards/ │ │ │ ├── index.ts │ │ │ ├── isDocument.ts │ │ │ ├── isElement.ts │ │ │ ├── isHTMLElement.ts │ │ │ ├── isHTMLTableRowElement.ts │ │ │ ├── isKeyboardEvent.ts │ │ │ ├── isKeyframeEffect.ts │ │ │ ├── isNode.ts │ │ │ ├── isPointerEvent.ts │ │ │ ├── isSVGElement.ts │ │ │ ├── isShadowRoot.ts │ │ │ ├── isTextInput.ts │ │ │ ├── isWindow.ts │ │ │ ├── supportsStyle.ts │ │ │ └── supportsViewTransition.ts │ │ ├── tests/ │ │ │ ├── pointer-sensor.test.ts │ │ │ └── sortable-utilities.test.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── eslint-config/ │ │ ├── README.md │ │ └── package.json │ ├── geometry/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── distance/ │ │ │ │ ├── distance.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── index.ts │ │ │ ├── point/ │ │ │ │ ├── Point.ts │ │ │ │ └── index.ts │ │ │ ├── position/ │ │ │ │ ├── index.ts │ │ │ │ └── position.ts │ │ │ ├── shapes/ │ │ │ │ ├── Rectangle.ts │ │ │ │ ├── Shape.ts │ │ │ │ └── index.ts │ │ │ └── types/ │ │ │ ├── alignment.ts │ │ │ ├── axis.ts │ │ │ ├── bounding-rectangle.ts │ │ │ ├── coordinates.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── helpers/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── move.ts │ │ ├── tests/ │ │ │ └── move.test.ts │ │ └── tsconfig.json │ ├── react/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── context/ │ │ │ │ │ ├── DragDropProvider.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── renderer.ts │ │ │ │ ├── draggable/ │ │ │ │ │ ├── DragOverlay.tsx │ │ │ │ │ └── useDraggable.ts │ │ │ │ ├── droppable/ │ │ │ │ │ └── useDroppable.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── useDragDropManager.ts │ │ │ │ │ ├── useDragDropMonitor.ts │ │ │ │ │ ├── useDragOperation.ts │ │ │ │ │ └── useInstance.ts │ │ │ │ └── index.ts │ │ │ ├── hooks/ │ │ │ │ ├── index.ts │ │ │ │ ├── useComputed.ts │ │ │ │ ├── useConstant.ts │ │ │ │ ├── useDeepSignal.ts │ │ │ │ ├── useForceUpdate.ts │ │ │ │ ├── useImmediateEffect.ts │ │ │ │ ├── useIsomorphicLayoutEffect.ts │ │ │ │ ├── useLatest.ts │ │ │ │ ├── useOnElementChange.ts │ │ │ │ ├── useOnValueChange.ts │ │ │ │ └── useSignal.ts │ │ │ ├── sortable/ │ │ │ │ ├── index.ts │ │ │ │ └── useSortable.ts │ │ │ └── utilities/ │ │ │ ├── currentValue.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── solid/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── context/ │ │ │ │ │ ├── DragDropProvider.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ └── renderer.ts │ │ │ │ ├── draggable/ │ │ │ │ │ ├── DragOverlay.tsx │ │ │ │ │ └── useDraggable.ts │ │ │ │ ├── droppable/ │ │ │ │ │ └── useDroppable.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── useDragDropManager.ts │ │ │ │ │ ├── useDragDropMonitor.ts │ │ │ │ │ ├── useDragOperation.ts │ │ │ │ │ └── useInstance.ts │ │ │ │ └── index.ts │ │ │ ├── hooks/ │ │ │ │ ├── index.ts │ │ │ │ └── useDeepSignal.ts │ │ │ ├── sortable/ │ │ │ │ ├── index.ts │ │ │ │ └── useSortable.ts │ │ │ └── utilities/ │ │ │ ├── index.ts │ │ │ └── saveElementPosition.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── state/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── comparators.ts │ │ │ ├── computed.ts │ │ │ ├── decorators.ts │ │ │ ├── effects.ts │ │ │ ├── history.ts │ │ │ ├── index.ts │ │ │ ├── snapshot.ts │ │ │ ├── store.ts │ │ │ └── types.ts │ │ ├── tests/ │ │ │ └── comparators.test.ts │ │ └── tsconfig.json │ ├── storybook-addon-codesandbox/ │ │ ├── package.json │ │ └── src/ │ │ ├── collect-files.ts │ │ ├── constants.ts │ │ ├── define.ts │ │ ├── index.ts │ │ ├── manager.tsx │ │ ├── preset.ts │ │ ├── preview/ │ │ │ ├── CodeSandboxButton.tsx │ │ │ ├── codesandbox-button-dom.ts │ │ │ ├── decorator-dom.ts │ │ │ └── decorator.tsx │ │ └── types.ts │ ├── svelte/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── context/ │ │ │ │ │ ├── DragDropProvider.svelte │ │ │ │ │ ├── context.ts │ │ │ │ │ └── renderer.svelte.ts │ │ │ │ ├── draggable/ │ │ │ │ │ ├── DragOverlay.svelte │ │ │ │ │ └── createDraggable.svelte.ts │ │ │ │ ├── droppable/ │ │ │ │ │ └── createDroppable.svelte.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── createDragDropMonitor.svelte.ts │ │ │ │ │ ├── createDragOperation.ts │ │ │ │ │ ├── createInstance.svelte.ts │ │ │ │ │ └── getDragDropManager.ts │ │ │ │ └── index.ts │ │ │ ├── sortable/ │ │ │ │ ├── createSortable.svelte.ts │ │ │ │ └── index.ts │ │ │ └── utilities/ │ │ │ ├── createDeepSignal.svelte.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ └── vue/ │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── composables/ │ │ │ ├── index.ts │ │ │ └── useDeepSignal.ts │ │ ├── core/ │ │ │ ├── context/ │ │ │ │ ├── DragDropProvider.ts │ │ │ │ ├── context.ts │ │ │ │ └── renderer.ts │ │ │ ├── draggable/ │ │ │ │ ├── DragOverlay.ts │ │ │ │ └── useDraggable.ts │ │ │ ├── droppable/ │ │ │ │ └── useDroppable.ts │ │ │ ├── hooks/ │ │ │ │ ├── useDragDropManager.ts │ │ │ │ ├── useDragDropMonitor.ts │ │ │ │ ├── useDragOperation.ts │ │ │ │ └── useInstance.ts │ │ │ └── index.ts │ │ ├── sortable/ │ │ │ ├── index.ts │ │ │ └── useSortable.ts │ │ ├── types.ts │ │ └── utilities/ │ │ ├── context.ts │ │ ├── element.ts │ │ ├── index.ts │ │ └── ref.ts │ ├── tsconfig.json │ └── tsup.config.ts └── turbo.json