Autumn Sale50% offCOMPOT
Shapes, Chat & Real-TimeFree ComponentiOS 16.0+Xcode 15+

Typing Indicator

Animated 3-dot pulsing typing indicator for chat and AI conversations.

SwiftUI Implementation

Pure Vanilla Swift • No Dependencies
typingIndicator.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

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 Store