Files
TUIkit/Package.swift
T
phranck 7ddac7067d feat: Complete SwiftTUI foundation with overlay system and menu
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
2026-01-28 15:35:55 +01:00

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"]
),
]
)