mirror of
https://github.com/phranck/TUIkit.git
synced 2026-05-21 09:50:35 +00:00
7ddac7067d
Core Framework: - TView protocol with TViewBuilder result builder (up to 10 children) - Full ANSI rendering pipeline (Terminal, ANSIRenderer, FrameBuffer) - TApp/TScene/WindowGroup app lifecycle with SIGWINCH handling - Color system (ANSI, bright, 256-palette, RGB, hex, semantic colors) - Text styling (bold, italic, underline, strikethrough, dim, blink, inverted) Container Views: - VStack, HStack, ZStack with alignment and spacing - Card (bordered container with padding/background) - Box (simple bordered container) - Panel (titled container with title in border) - ForEach for dynamic content Modifiers: - .padding(), .frame(), .border() (8 border styles), .background() - .overlay() with alignment, .dimmed(), .modal() helper Overlay System: - Alert view with title, message, actions, and presets (warning/error/info/success) - Dialog view for flexible modal content - FrameBuffer character-level compositing Menu View: - Menu with items, selection indicator, shortcuts - MenuItem model with id, label, shortcut - AnyView type-erased wrapper Example App: - Menu-based navigation with multiple demo pages - Text Styles, Colors, Containers, Overlays, Layout demos Tests: - 58 tests across 12 suites, all passing
35 lines
772 B
Swift
35 lines
772 B
Swift
// swift-tools-version: 6.2
|
|
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "SwiftTUI",
|
|
platforms: [
|
|
.macOS(.v10_15)
|
|
],
|
|
products: [
|
|
.library(
|
|
name: "SwiftTUI",
|
|
targets: ["SwiftTUI"]
|
|
),
|
|
.executable(
|
|
name: "SwiftTUIExample",
|
|
targets: ["SwiftTUIExample"]
|
|
),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "SwiftTUI"
|
|
),
|
|
.executableTarget(
|
|
name: "SwiftTUIExample",
|
|
dependencies: ["SwiftTUI"]
|
|
),
|
|
.testTarget(
|
|
name: "SwiftTUITests",
|
|
dependencies: ["SwiftTUI"]
|
|
),
|
|
]
|
|
)
|