The vue3-easter-egg-trigger component makes it nice and easy to add Easter Egg triggers to your Vue site. Also available for Vue 2 at vue2-easter-egg-trigger.
pnpm add vue3-easter-egg-trigger npm i vue3-easter-egg-trigger import { createApp } from 'vue'; import EasterEggTrigger from 'vue3-easter-egg-trigger'; createApp() .use(EasterEggTrigger) .mount('#app');import { createApp } from 'vue'; import EasterEggTrigger from 'vue3-easter-egg-trigger'; createApp() .component('EasterEggTrigger', EasterEggTrigger) .mount('#app');<script setup> import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; function easterEggTriggered() { // ...do something } </script> <template> <EasterEggTrigger @triggered="easterEggTriggered" /> </template><script> import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; export default { components: { EasterEggTrigger, }, setup() { function easterEggTriggered() { // ...do something } return { easterEggTriggered, }; }, }; </script> <template> <EasterEggTrigger @triggered="easterEggTriggered" /> </template><script> import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; export default { components: { EasterEggTrigger, }, data() { return {}; }, methods: { easterEggTriggered() { // ...do something }, }, }; </script> <template> <EasterEggTrigger @triggered="easterEggTriggered" /> </template>;See it in action on the Demo Page
| Name | Type | Default | Description |
|---|---|---|---|
| callback | Function | null | The callback function |
| delay | String, Integer | 500 | Determines the timeout before the event listener resets. The longer the delay, the more time a user has to complete the pattern. |
| pattern | Array | ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'b', 'a'] | The key/click combination a user does to trigger easter egg. The default combination is the konami code. |
| target | String | body | Use this to target DOM elements, Id's, or Class Names. Used with click events. |
| type | String | keydown | The type of action the trigger will be listening for. Available options: keydown, keyup, click, dblclick, mouseup, mousedown |
| Name | Type | Description |
|---|---|---|
| triggered | [MouseEvent, KeyboardEvent] | Emitted when the easter egg is triggered. |
The default key combination to trigger the easter egg is the Konami Code.
ex. ↑ ↑ ↓ ↓ ← → ← → b a
<EasterEggTrigger @triggered="easterEggTriggered" /><EasterEggTrigger :pattern="['m', 'a', 'g', 'i', 'c']" @triggered="easterEggTriggered" /><EasterEggTrigger delay="5000" @triggered="easterEggTriggered" /><EasterEggTrigger :callback="easterEggTriggered" />First you will need to set the type prop.
Available types of Mouse Events: click, dblclick, mouseup, mousedown. When using dblclick the pattern will only work with one double click. Ex. pattern: ['dblclick']
<EasterEggTrigger :pattern="['click']" target="#id-target" type="click" @triggered="easterEggTriggered" /><EasterEggTrigger :pattern="['click', 'click']" target="#id-target" type="click" @triggered="easterEggTriggered" /><EasterEggTrigger :pattern="['click']" target="h1" type="click" @triggered="easterEggTriggered" /><EasterEggTrigger :pattern="['click']" target="#id-target" type="click" @triggered="easterEggTriggered" /><EasterEggTrigger :pattern="['click']" target=".double-click-target" type="click" @triggered="easterEggTriggered" />Copyright (c) 2022 WebDevNerdStuff Licensed under the MIT license.