dnd_kit_jaspr 0.6.0 copy "dnd_kit_jaspr: ^0.6.0" to clipboard
dnd_kit_jaspr: ^0.6.0 copied to clipboard

Jaspr (web) adapter for the dnd_kit drag-and-drop family, built on the shared dnd_kit engine.

Changelog #

0.6.0 #

  • Depends on dnd_kit: ^0.6.0, inheriting the drag-default fixes: the active item is no longer its own drop target, drag start re-measures droppables, and SortableStrategies.dropOnOver lands the drop where the highlight is.
  • Breaking behavior: DndDragOverlay sizes the preview from the drag-start rect instead of the live active rect, so collapsing the source element to open a placeholder gap no longer clips the preview to zero. DndDragOverlayDetails gains a required initialActiveRect alongside the live activeRect.
  • DndController exposes initialActiveRect.
  • Adds live sortable feedback: SortableScopeData.preview and SortableMultiScopeData.preview report where the active item would land, and SortableItemDetails gains previewIndex, previewContainerId, and offset.
  • SortableScope takes an offsetResolver (default SortableOffsets.none). Set SortableOffsets.verticalList and apply details.offset inside your SortableItem.builder as a CSS transform to open a placeholder gap. Apply it inside the builder, not on the item, so the transform stays below the measured element.
  • SortableMultiContainerArea is now a StatefulComponent so it can publish its strategy to the scope. Its constructor is unchanged.
  • SortableMultiScope takes an offsetResolver (default SortableMultiOffsets.none), so a board can open a live gap within and across columns. Apply details.offset inside your SortableMultiItem builder as a CSS transform.
  • DndController takes an optional collisionDetector and exposes it as a settable property.
  • SortableMultiScope takes an optional collisionDetector and installs its effective detector on whatever controller it is given — including one the application created and passed in — so a board wired to an external controller ranks collisions correctly with no manual setup.
  • Inherits the core multi-container refinements: cross-container insertion tracks the pointer within the hovered card, the gap between cards (and the space below the last card) resolves to the nearest card, and picking an item up or dropping it back in place no longer reorders.

0.5.0 #

  • Depends on dnd_kit: ^0.5.0 (DndCollisionInput.activeId).

0.4.0 #

  • Depends on dnd_kit: ^0.4.0.
  • Adds the production multi-container adapter surface: SortableMultiScope, SortableMultiContainerArea, and SortableMultiItem.
  • Jaspr now shares the same default board/list collision and move-intent semantics as Flutter through the pure-Dart dnd_kit core policy.
  • Browser proof now exercises the supported multi-container surface instead of only the helper contract.
  • Re-exports the shared experimental multi-container helper contract from dnd_kit, so Jaspr apps can use SortableContainer and SortableMultiContainer with the same move-intent semantics as Flutter.

0.3.2 #

  • Updates the pub.dev homepage metadata to the hosted project website.
  • Refreshes the package links for the repository transfer to iamv4g/dnd_kit.
  • Depends on dnd_kit: ^0.3.2 with no runtime API changes.

0.3.1 #

  • Fixes a framework assertion (owner._debugCurrentBuildTarget != null) thrown during static/server pre-rendering when a DndDraggable contains a DndDragHandle. Registering a handle scheduled a deferred setState that ran outside a build owner on the server; it is now guarded to the client. The pre-rendered markup matches the first client build, so hydration reuses the subtree instead of replacing it.
  • Depends on dnd_kit: ^0.3.1 and now reuses the shared DndAnnouncements accessibility contract from the core package instead of maintaining a local duplicate.

0.3.0 #

  • Depends on the renamed engine package dnd_kit: ^0.3.0 (previously dnd_kit_core, now discontinued). The dependency rename tracks the engine package becoming dnd_kit. See ADR 0017.
  • Adds the Jaspr sortable preset at parity with the Flutter adapter: SortableScope (item order + pluggable SortableStrategy, default verticalList) and SortableItem (a draggable + droppable that reports SortableMoveDetails reorder intent via onMove).
  • Reuses the shared dnd_kit engine reorder math, so Jaspr and Flutter compute identical move intent and Jaspr inherits the vertical/horizontal/grid single-container strategies already re-exported from the engine. See ADR 0019.
  • Multi-container sorting (SortableContainer/SortableMultiContainer) is not included; it remains a Flutter-only experimental feature for now.
  • Extends DndAutoScroll with axis-aware browser execution, so Jaspr scroll containers can auto-scroll horizontally through the shared dnd_kit velocity math while preserving the existing vertical default.
  • Keeps Jaspr auto-scroll execution component-owned rather than introducing a separate controller surface, because DOM node ownership, timer lifecycle, and SSR guards still belong to the rendered viewport component.
  • Fixes DndDragOverlay rebinding when the nearest DndScope controller is replaced, so overlays stay synchronized after a controlled scope/controller swap.

0.2.0-dev.0 #

  • First public development release of dnd_kit_jaspr.
  • Ships the first shared-runtime Jaspr drag-and-drop surface: DndScope, DndController, DndDraggable, DndDroppable, DndDragHandle, and DndDragOverlay.
  • Supports mouse, touch, and keyboard drag activation on top of the shared DndRuntime, including handle-only activation and keyboard drag flows.
  • Adds vertical DndAutoScroll for browser scroll containers, reusing the shared dnd_kit_core auto-scroll edge and velocity math.
  • Adds accessibility support through DndLiveRegion and DndAnnouncements, plus accessible labels/descriptions for draggables and drag handles.
  • Includes browser-tested modifier behavior and the examples/jaspr_basic_drag_drop example app as the current integration proof.
  • Keeps the adapter SSR-safe: browser access stays guarded and no Flutter dependency is introduced.
  • Sortable presets are not included yet; they follow in a later phase.
3
likes
160
points
253
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Jaspr (web) adapter for the dnd_kit drag-and-drop family, built on the shared dnd_kit engine.

Homepage
Repository (GitHub)
View/report issues

Topics

#drag-and-drop #dnd #jaspr #web

License

MIT (license)

Dependencies

dnd_kit, jaspr, universal_web

More

Packages that depend on dnd_kit_jaspr