Skip to content
/ TUIkit Public

Commit e273e15

Browse files
committed
Docs: Refresh README to reflect current API surface
- Switch hero badges to a green gradient (darker at the edges, brightest in the centre) matching the banner's phosphor colour - Correct the Hello example to use foregroundStyle, the actual public API - Add ContentUnavailableView, ButtonRow and Toggle style variants - Mention StatusBar compact/bordered styles and onKeyPress modifier/function key support - Fix the border style list to match BorderStyle's real constants - Drop the @SceneStorage claim and document the UserDefaults storage backend - Update test count to 1172 across 93 files
1 parent a275e47 commit e273e15

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ struct ContentView: View {
4848
VStack(spacing: 1) {
4949
Text("Hello, TUIkit!")
5050
.bold()
51-
.foregroundColor(.cyan)
51+
.foregroundStyle(.cyan)
5252

5353
Text("Count: \(count)")
5454

@@ -77,18 +77,18 @@ struct ContentView: View {
7777

7878
- **Primitive views**: `Text`, `EmptyView`, `Spacer`, `Divider`, `Image` (ASCII art rendering, multiple color modes, async loading)
7979
- **Layout containers**: `VStack`, `HStack`, `ZStack`, `LazyVStack`, `LazyHStack` with alignment and spacing
80-
- **Interactive**: `Button`, `Toggle`, `Menu`, `TextField`, `SecureField`, `Slider`, `Stepper`, `RadioButtonGroup` with keyboard navigation
81-
- **Data views**: `List`, `Table`, `Section`, `ForEach`, `NavigationSplitView`
80+
- **Interactive**: `Button`, `ButtonRow`, `Toggle` (default, checkbox, switch styles), `Menu`, `TextField`, `SecureField`, `Slider`, `Stepper`, `RadioButtonGroup` with keyboard navigation
81+
- **Data views**: `List`, `Table`, `Section`, `ForEach`, `NavigationSplitView`, `ContentUnavailableView`
8282
- **Containers**: `Alert`, `Dialog`, `Panel`, `Box`, `Card`
8383
- **Feedback**: `ProgressView` (5 bar styles), `Spinner` (animated)
84-
- **`StatusBar`**: context-sensitive keyboard shortcuts
84+
- **`StatusBar`**: context-sensitive keyboard shortcuts with `.compact` and `.bordered` styles
8585

8686
### Styling
8787

8888
- **Text styling**: bold, italic, underline, strikethrough, dim, blink, inverted
8989
- **Full color support**: ANSI colors, 256-color palette, 24-bit RGB, hex values, HSL
9090
- **Theming**: 6 predefined palettes (Green, Amber, Red, Violet, Blue, White)
91-
- **Border styles**: rounded, line, double, thick, ASCII, and more
91+
- **Border styles**: `line`, `rounded`, `doubleLine`, `heavy`, `none`
9292
- **List styles**: `PlainListStyle`, `InsetGroupedListStyle` with alternating rows
9393
- **Badges**: `.badge()` modifier for counts and labels on list rows
9494

@@ -107,8 +107,8 @@ struct ContentView: View {
107107
### Advanced
108108

109109
- **Lifecycle modifiers**: `.onAppear()`, `.onDisappear()`, `.task()`
110-
- **Key handling**: `.onKeyPress()` modifier for custom keyboard shortcuts
111-
- **Storage**: `@AppStorage`, `@SceneStorage` with JSON backend
110+
- **Key handling**: `.onKeyPress()` with modifier keys (ctrl, alt, shift) and function keys F1–F12
111+
- **Storage**: `@AppStorage` with JSON file backend (XDG paths) and `UserDefaults` backend
112112
- **Preferences**: bottom-up data flow with `PreferenceKey`
113113
- **Focus system**: Tab/Shift+Tab navigation, `.focusSection()` for grouped areas
114114
- **Render caching**: `.equatable()` for subtree memoization
@@ -237,7 +237,7 @@ Sources/
237237
└── TUIkitExample/ Example app (executable target)
238238
239239
Tests/
240-
└── TUIkitTests/ 1100+ tests across 150+ test suites (including i18n consistency & localization tests)
240+
└── TUIkitTests/ 1172+ tests across 93 test files (including i18n consistency & localization tests)
241241
```
242242

243243
## Requirements

0 commit comments

Comments
 (0)