Package-level declarations
The public paywall composables and their data classes.
Types
One page of the onboarding carousel that ends in the plan selection.
A benefit row with an icon, used by the classic, plan picker and onboarding paywalls.
Small set of Material icons (Apache 2.0) so the library needs no icon dependency. Use them for PaywallFeature, TrialStep and BenefitPage, or pass your own vectors.
Links Google Play expects on every subscription screen. They open with the platform androidx.compose.ui.platform.UriHandler.
Functions
Design 1, classic plans: an animated hero, a feature list and stacked plan cards (for example monthly, yearly and lifetime). The badged plan is preselected.
Design 2, Free vs Pro table: a comparison grid with a highlighted Pro column, then side-by-side plan tiles. Works best with two or three plans.
Default "Today, reminder, billing" steps for a trial of trialDays days on plan. Pass your own list to TrialTimelinePaywall to change the copy or icons.
Design 5, limited-time offer: a modal bottom sheet with a big discount, the struck-through original price, a live countdown and a wavy progress bar that drains as time runs out. Show it on top of any screen; it dismisses through onClose.
Design 6, onboarding-end paywall: a short carousel of benefit pages that ends in the plan selection. Use it as the last step of onboarding. The legal footer appears on the plan page, where purchase becomes possible.
Design 4, expressive plan picker: a connected button group switches plans, and the spotlight card below morphs its shape and rolls the price for each choice. Designed for two to four plans with short titles.
Design 3, trial timeline: explains exactly when the user is reminded and charged, which builds trust for free trials. The timeline describes the first plan that has a trial and fades when a plan without a trial is selected.