Promo code field with an Apply button and inline success or error messages. The demo validation is easy to replace with your own check in React.
npx shadcn@latest add @minidev/coupon-input
coupon-input