Skip to main content

UI API overview

MatrixSwiftBaseUI ships SwiftUI components and SwiftUI-coupled helpers. Depends on Core.

import MatrixSwiftBaseUI

Full type signatures will live in the DocC reference once that lands (#10). This page is the narrative overview with code samples.

Components

Reusable SwiftUI views.

FileWhat it provides
ButtonsAddToWalletButton, DismissButton, HamburgerBtn, PaymentButton, RequestReviewButton
ContainersCardContainer, ColumnStack, FlipView, HVStack, RectangleView, RowStack, SlideHorizontalPanel, SlideOutPanel
FormsFormWrapper
WebViewWebViewContainer, WebViewModel, WebViewSampleView
StandaloneCardFlip, CopyTextView, EmojiList, LazyView, LoadingView, LottiePlusView, MapView, OverlayShield, QrCodeImage, RatingView, RotatingBall, StickyHeader

Example

struct ContentView: View {
var body: some View {
CardContainer {
VStack {
Text("Tap to copy")
CopyTextView("Hello, swift-common")
RatingView(rating: 4)
}
}
}
}

Modifiers

ModifierPurpose
AnimatableFontModifierAnimate font size changes
BorderRadiusModifierPer-corner rounding
NumbersOnlyViewModifierRestrict TextField input to digits
OffsetModifierReusable offset wrapper

Shapes

ShapePurpose
DashedLineDashed-stroke line
LinePlain line shape
RoundedCornerPer-corner rounded rectangle

Styles

ButtonStyle implementations.

StylePurpose
BuyButtonStyleStorefront "buy" style
PressableButtonStyleVisible press feedback
RoundedButtonStyleStandard rounded button

Views

ViewPurpose
ActivityViewUIKit share sheet wrapper
BlurView, BlurWindowVisual-effect blur backdrops
LottieView, LottieSampleView, ResizableLottieViewLottie animation hosts
ResponsiveViewAdapt to size-class changes
SignUpAppleButtonApple sign-in button wrapper
WebViewWKWebView wrapper

UI Helpers

SwiftUI-coupled helpers (those that need View, environment, or UIKit/AppKit).

AlertHelper, AppHelper, CameraHelper, ColorHelper, ColorSchemeHelper, FileManagerHelper, HapticsHelper, ImageHelper, KeyboardHelper, LocalAuthenticationHelper, LocalFileHelper, NfcHelper, PhotoHelper, PhotoPickerHelper, QrCodeHelper, SafeAreaHelper, ScreenHelper, SettingsHelper, SizeClassHelper, StoreKitHelper, ViewHelper, VisionkitHelper, WebImageHelper, WebLinkHelper.

UI Managers

ObservableObject or stateful managers tied to UIKit/AppKit.

ManagerPurpose
BeaconDetectoriBeacon ranging
ImageCacheIn-memory image cache
ImagePickerUIImagePickerController wrapper
MessageUIManagerMail / SMS compose
SoundManagerSound playback
SystemThemeManagerTrack system light/dark mode

Other

FilePurpose
AnyLayoutTypesSwiftUI layout-protocol helpers

State

TypePurpose
NetworkStateReachability / connection-type observable