Skip to content

1.0.0

Latest

Choose a tag to compare

@NerdSnipe NerdSnipe released this 19 Aug 07:07
· 4 commits to master since this release

AdvancedKanban's first release — a premium, fully customizable Kanban board component for SwiftUI on iOS, iPadOS, and macOS.

Highlights

  • Protocol-driven, no wrapper types. Conform your existing card/column model types to KanbanCard/KanbanColumn and hand KanbanBoard a Binding<[Column]> — no separate board model to keep in sync.
  • Full input parity. Pointer drag (with edge autoscroll), a complete keyboard move-mode (Space to pick up, arrows to move, Return to commit, Escape to cancel and restore), and VoiceOver rotor actions (Move Up / Move Down / Move to Column) all route through the same move-resolution logic — no divergent behavior per input method.
  • WIP limits.warnOnly or .preventDrop, enforced identically across pointer, keyboard, and VoiceOver.
  • Column collapse, backed by your own model state.
  • Theming via KanbanTheme and .kanbanTheme(_:) — the package owns chrome (backgrounds, borders, corner radii, spacing, drop animation); your cardContent/columnHeader view builders own everything inside.
  • Native macOS pointer support — hover feedback, a grab/grabbing cursor (macOS 15+), and a drag-activation threshold tuned for precise pointers, not just ported from touch.
  • Optional AdvancedKanbanSwiftData adapter — ready-made @Model types and a KanbanStore that applies a move to a ModelContext in one call. Not linked unless you ask for it.

What's included

  • AdvancedKanban — the core library (zero third-party dependencies).
  • AdvancedKanbanSwiftData — optional persistence adapter.
  • 31 passing unit tests covering the pure drag/reorder engine.
  • A runnable example app (Example/) demonstrating every feature, with per-view SwiftUI previews and checked-in Xcode schemes for both macOS and iOS.

Requirements

iOS 17+ / iPadOS 17+ / macOS 14+, Swift 5.9+.

Installation

.package(url: "https://github.com/NerdSnipe-Inc/AdvancedKanban.git", from: "1.0.0")