v0.1 public beta early access on GitHub
Home / Components / paywall-sheet

Paywall SheetiOS

Animated subscription paywall bottom sheet with plan options and haptic feedback

$ npx lumioui add paywall-sheet
import { PaywallSheet } from "@/components/ui/paywall-sheet/paywall-sheet";
Props15
visible boolean
onClose () => void
onSubscribe (plan: PaywallPlan) => void | Promise<void>
selectedPlan? PaywallPlan Controlled selected plan.
defaultSelectedPlan? PaywallPlan Uncontrolled initial plan. Default "yearly".
onPlanChange? (plan: PaywallPlan) => void
monthlyPrice? string
yearlyPrice? string
purchasing? PaywallPlan | null Which plan is mid-purchase — that CTA shows a spinner. Null when idle.
onRestore? () => void | Promise<void> Restore-purchases handler — renders the restore row when provided.
restoring? boolean Restore in flight — the restore row shows a spinner. Default false.
features? string[] Bulleted feature list under the subtitle.
title? string
subtitle? string
className? string
Paywall Sheetpaywall-sheet.tsx
paywall-sheet/paywall-sheet.tsx open

Animated subscription paywall bottom sheet with plan options and haptic feedback