Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,31 @@ This framework will allow you to build *better* iOS apps *faster* since it lever
## Documentation

Please check out [the documentation](https://swiftpackageindex.com/theleftbit/BSWInterfaceKit/documentation/) generated with DocC and hosted generously by Swift Package Index

## Android Support

`BSWInterfaceKit` also ships Android-only Compose primitives under `Sources/BSWInterfaceKit/Skip`.

These types are intentionally kept as plain infrastructure components so product apps can wrap them with their own branding, strings and visual defaults:

- `BSWAsyncView`: async loading/error/content container with built-in Swift `ViewModel` retention.
- `BSWAsyncButton`: async action core for Compose buttons, including inline and blocking loading styles.
- `BSWSheet`: modal bottom sheet wrapper that scopes Swift-backed view models correctly for sheet presentations.
- `BSWNavDisplay`: shared Navigation 3 setup with UIKit-style push/pop transitions and entry decorators.
- `BSWBackButton`: system Material back button used by the default Android views in this package.
- `BSWSwiftViewModelOwnerRetention` and `swiftViewModel(...)`: bridge helpers used to retain Swift-backed state correctly on Android.

### Naming convention

SwiftUI components keep their native names on Apple platforms, such as `AsyncView` and `AsyncButton`.

Android-only Compose APIs use the `BSW` prefix, such as `BSWAsyncView` and `BSWAsyncButton`, to avoid collisions with bridged SwiftUI symbols generated by Skip.

### Integration guidance

Apps are expected to wrap the plain Android components above when they need:

- localized strings
- product-specific loading and error views
- custom button and sheet styling
- feature-specific navigation entry providers
Loading
Loading