made a new custom Pin component, built from scratch.
live now, go break it :)
- CSS only animation
- supports light and dark mode
- fully compatible with any form by writing each value into a hidden input
- full keyboard accessibility: delete, backspace & paste
- dash support
- built with no UI libraries/Radix primitives under the hood
- includes visual validation/feedback for invalid input
Here's the Rive source file and the code behind it.
The Rive file is available on the @rive_app Rive Marketplace, and I'll also share the code below.
Apologies in advance for the messy file structure and naming conventions.
At some point I stopped naming things properly and chose chaos instead.
SwiftUI Tip 💡
In iOS 26+, use scrollEdgeEffectStyle() to control the scroll edge effect.
In iOS 27, SwiftUI uses the .hard style by default.
To bring back the softer iOS 26-style effect, apply .soft.