First public release of Sumi — a manga-inspired UIKit design system for iOS. Paper-cream surfaces, sumi-ink text, a vermillion hanko accent. Every component ships as its own SPM product, so you import only the chrome you use.
Components
Sumi— two-layer design tokens (brand → semantic): colour, typography, spacing, radius, shadow, motion. Light-only, manga-ink palette.SumiAlert—async/awaitmodal decision dialog (replacesUIAlertController(.alert)). One/two/three actions,cancel·destructive·primary, toggles, progress,customContentslot.SumiSheet— bottom action sheet with icon column, destructive style, swipe-to-dismiss.SumiToast— non-blocking transient overlay with queue, swipe, and optional action.SumiDialog— text fields, inline async validation, custom content slots.SumiMenu— tap-anchored popover: sections, search, toggles, sliders, submenus.SumiContextMenu— long-press preview + actions on a blurred backdrop.SumiPicker— single / multi / tri-state choice dialog with animated indicators.SumiStepper— hero-sized integer stepper card for dialog content slots.SumiTable— compact key → value table for embedding inside an alert or dialog.SumiMenuKit— shared infrastructure for the menu-family components.- Demo — an interactive catalog app exercising every variant.
Requirements
iOS 13+ · Swift 5.9 / Xcode 15+ · pure SPM, zero runtime dependencies.
Install
.package(url: "https://github.com/nobottomline/Sumi.git", from: "0.1.0")See the README for the full gallery and usage.