Typing Indicator
Animated 3-dot pulsing typing indicator for chat and AI conversations.
SwiftUI Implementation
Pure Vanilla Swift • No DependenciestypingIndicator.swift
struct TypingIndicator: View {
let delay: Double = 0.3
@State private var isAnimating = false
let pointSize: CGFloat = 10
let pointSpacing: CGFloat = 4
let accentColor: Color = .blue
var body: some View {
HStack(spacing: pointSpacing) {
ForEach(0..<3) { index in
Circle()
.frame(width: pointSize, height: pointSize)
.foregroundStyle(accentColor)
.scaleEffect(isAnimating ? 1 : 0.6)
.animation(.easeInOut(duration: 0.6).repeatForever(autoreverses: true).delay(delay * Double(index)), value: isAnimating)
}
}
.padding()
.background(accentColor.opacity(0.3), in: Capsule())
.onAppear {
isAnimating = true
}
}
}
#Preview {
TypingIndicator()
}Ready to copy and paste directly into any Xcode project running iOS 16.0+.
Recommended Use Cases
- Dashboard overviews, stats tracking, and metric highlights
Component Details
- Category
- Shapes, Chat & Real-Time
- iOS Compatibility
- iOS 16.0+
- Xcode Version
- Xcode 15+
- Platform
- iOS
- License Tier
- Free
- Themes & Contexts
- dashboard
- Keywords
- typingindicatoranimationchat
C
Compot for iOS
Native SwiftUI playground app
Preview all 130+ components interactively on your device and copy code straight to Xcode with 1 tap.
Get Compot on the App StoreRelated SwiftUI Components
More components in Shapes, Chat & Real-Time and related app architectures.
ButtonsiOS 16.0+
Bouncy Button Icon
Interactive button featuring fluid spring animations and smooth scale feedback upon tap.
View Component & Code
ButtonsiOS 16.0+
Button with Repeat Behavior
Stepper-like button with continuous press-and-hold repeating action for counters and volume adjustment.
View Component & Code
ButtonsiOS 16.0+
Button for Copying
Smart copy button that temporarily switches icon and text to "Copied!" with tactile haptic feedback.
View Component & Code