ClarioDeskUI is a drop-in support UI built in SwiftUI. One static call
presents it as a self-owned modal on the top-most view controller, so it works
identically from SwiftUI and UIKit hosts with zero setup — your navigation
stack is never touched. On iPhone it’s full-screen; on iPad (regular width)
it’s a centered form-sheet card.
Open a screen
theme:, strings:, and from: (an explicit presenting
UIViewController; omitted, the SDK finds the top-most one itself).
The four screens
Plus an attachment viewer: zoomable images (with save), and in-app HLS video
via
AVPlayer — a deliberate upward divergence from the Flutter/RN SDKs,
where in-app video playback would ship an ExoPlayer-weight dependency to every
host. AVPlayer is free and native on iOS.
Theming
The theme is 13 optional tokens. Every unset token derives from sensible light/dark defaults keyed off the system color scheme, so a zero-config install already matches the host. Token names are 1:1 with the Flutter theme.The UI carries a WCAG 4.5:1 contrast guard: if a theme color would make text
unreadable on its background (a pastel accent, say), the SDK falls back to
black/white for the on-color instead of shipping unreadable text.
Strings
~50 user-facing strings are overridable for copy tweaks and localization — English defaults, and no agent jargon (never “ticket” or raw statuses). Field names are 1:1 with the FlutterClarioDeskStrings.
Shake to report a bug
Opt-in: a deliberate shake captures a screenshot and opens the bug-report form. Foreground-only, debounced (5 s cooldown), suppressed while the support modal is already up, and needs noInfo.plist key.