Skip to content

Reward Reveal

Engaging reward reveal animation with multiple variants.

Features

  • Multiple variants — Chest, card, and box styles
  • State machine — Idle → Revealing → Revealed states
  • Confetti effect — Celebration animation on reveal
  • Reduced motion — Respects system preferences
  • CTA support — Configurable claim button

Usage

vue
<script setup>
import { FkRewardReveal } from '@fortune-kit/components'

function handleClaim() {
  console.log('Reward claimed!')
}
</script>

<template>
  <FkRewardReveal
    variant="chest"
    reward-title="Epic Reward"
    reward-value="500 Coins"
    reward-description="You found rare treasure!"
    cta-text="Claim Reward"
    @claim="handleClaim"
  />
</template>

Props

PropTypeDefaultDescription
variant'chest' | 'card' | 'box''chest'Visual variant
rewardTitlestringRequiredReward title text
rewardValuestring | numberValue display
rewardImagestringCustom reward image URL
rewardDescriptionstringAdditional description
ctaTextstring'Claim Reward'Button text
autoRevealbooleanfalseAuto-start reveal
revealDurationnumber1500Animation duration (ms)
showConfettibooleantrueShow confetti effect

Events

EventPayloadDescription
revealWhen reveal starts
claimWhen CTA clicked
state-changeRevealStateState transitions

Programmatic Control

Access component methods via ref:

vue
<script setup>
const rewardRef = ref()

function triggerReveal() {
  rewardRef.value?.startReveal()
}

function resetReward() {
  rewardRef.value?.reset()
}
</script>

<template>
  <FkRewardReveal ref="rewardRef" ... />
</template>

Variants

Chest

Classic treasure chest with opening lid animation.

Card

Mystery card with flip reveal animation.

Box

Gift box with lid lifting animation.

Built for iGaming with Vue 3