|
1 |
| - |
2 | 1 | <p align="center">
|
3 |
| - <img alt="Vue Logo" width="100" src="https://webdevnerdstuff.github.io/vue3-easter-egg-trigger/vue.svg"> |
| 2 | + <img alt="Egg" width="100" src="https://raw.githubusercontent.com/webdevnerdstuff/vue-easter-egg-trigger/main/src/assets/egg.png"> |
4 | 3 | </p>
|
5 | 4 |
|
6 | 5 | <p>
|
7 |
| - <h1 align="center">Vue 3 Easter Egg Trigger</h1> |
| 6 | + <h1 align="center">Vue Easter Egg Trigger</h1> |
8 | 7 | </p>
|
9 | 8 |
|
10 | 9 | <p align="center">
|
11 |
| - <a href="https://www.npmjs.com/package/vue3-easter-egg-trigger"> |
12 |
| - <img src="https://img.shields.io/npm/v/vue3-easter-egg-trigger?color=1867c0&logo=npm" alt="NPM Package"> |
| 10 | + <a href="https://www.npmjs.com/package/@wdns/vue-easter-egg-trigger"> |
| 11 | + <img src="https://img.shields.io/npm/v/%40wdns/vue-easter-egg-trigger?color=1867c0&logo=npm" alt="NPM Package"> |
13 | 12 | </a>
|
14 | 13 |
|
15 |
| - <a href="https://github.com/webdevnerdstuff/vue3-easter-egg-trigger"> |
| 14 | + <a href="https://github.com/webdevnerdstuff/vue-easter-egg-trigger"> |
16 | 15 | <img src="https://img.shields.io/badge/GitHub-WebDevNerdStuff-brightgreen.svg?logo=github" alt="@WebDevNerdStuff">
|
17 | 16 | </a>
|
18 | 17 | </p>
|
19 | 18 |
|
20 |
| -## Description |
21 | 19 |
|
22 |
| -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](https://github.com/webdevnerdstuff/vue-easter-egg-trigger). |
23 |
| - |
24 |
| -## Installation |
25 |
| -#### pnpm |
26 |
| -``` |
27 |
| -pnpm add vue3-easter-egg-trigger |
28 |
| -``` |
29 |
| -#### npm |
30 |
| -``` |
31 |
| -npm i vue3-easter-egg-trigger |
32 |
| -``` |
33 |
| - |
34 |
| -## Register |
35 |
| -#### As Plugin (Global) |
36 |
| -```javascript |
37 |
| -import { createApp } from 'vue'; |
38 |
| -import EasterEggTrigger from 'vue3-easter-egg-trigger'; |
| 20 | +## Description |
39 | 21 |
|
40 |
| -createApp() |
41 |
| - .use(EasterEggTrigger) |
42 |
| - .mount('#app'); |
43 |
| -``` |
44 |
| - |
45 |
| -#### As Component (Global) |
46 |
| -```javascript |
47 |
| -import { createApp } from 'vue'; |
48 |
| -import EasterEggTrigger from 'vue3-easter-egg-trigger'; |
| 22 | +Presenting the Vue Easter Egg Trigger, a tool that discreetly injects a touch of unexpectedness into Vue.js projects. This unassuming plugin, which operates on both keystrokes (with click events also available), brings hidden surprises to your applications. |
| 23 | + |
| 24 | +Picture users navigating through your Vue.js application, tapping out secret combinations akin to the infamous <a :href="links.konamiCode" target="_blank">Konami code</a>. Suddenly, a magical farting unicorn appears. While we must issue a PSA that this majestic creature isn't included, the plugin serves as an invitation for developers to infuse similar unexpected elements into their projects. |
49 | 25 |
|
50 |
| -createApp() |
51 |
| - .component('EasterEggTrigger', EasterEggTrigger) |
52 |
| - .mount('#app'); |
53 |
| -``` |
54 |
| - |
55 |
| -#### As Component (Local) |
56 |
| -##### Composition API |
57 |
| -```javascript |
58 |
| -<script setup> |
59 |
| -import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; |
60 | 26 |
|
61 |
| -function easterEggTriggered() { |
62 |
| - // ...do something |
63 |
| -} |
64 |
| -</script> |
65 |
| - |
66 |
| -<template> |
67 |
| - <EasterEggTrigger @triggered="easterEggTriggered" /> |
68 |
| -</template> |
69 |
| -``` |
| 27 | +## Installation |
70 | 28 |
|
71 |
| -```javascript |
72 |
| -<script> |
73 |
| -import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; |
74 |
| - |
75 |
| -export default { |
76 |
| - components: { |
77 |
| - EasterEggTrigger, |
78 |
| - }, |
79 |
| - setup() { |
80 |
| - function easterEggTriggered() { |
81 |
| - // ...do something |
82 |
| - } |
83 |
| - |
84 |
| - return { |
85 |
| - easterEggTriggered, |
86 |
| - }; |
87 |
| - }, |
88 |
| -}; |
89 |
| -</script> |
90 |
| - |
91 |
| -<template> |
92 |
| - <EasterEggTrigger @triggered="easterEggTriggered" /> |
93 |
| -</template> |
94 |
| - |
| 29 | +Using [pnpm](https://pnpm.io/): |
95 | 30 | ```
|
96 |
| -##### Options API |
97 |
| -```javascript |
98 |
| -<script> |
99 |
| -import { EasterEggTrigger } from 'vue3-easter-egg-trigger'; |
100 |
| - |
101 |
| -export default { |
102 |
| - components: { |
103 |
| - EasterEggTrigger, |
104 |
| - }, |
105 |
| - data() { |
106 |
| - return {}; |
107 |
| - }, |
108 |
| - methods: { |
109 |
| - easterEggTriggered() { |
110 |
| - // ...do something |
111 |
| - }, |
112 |
| - }, |
113 |
| -}; |
114 |
| -</script> |
115 |
| - |
116 |
| -<template> |
117 |
| - <EasterEggTrigger @triggered="easterEggTriggered" /> |
118 |
| -</template>; |
| 31 | +pnpm add @wdns/vue-easter-egg-trigger |
119 | 32 | ```
|
120 |
| -## Usage |
121 |
| - |
122 |
| - #### Demo |
123 |
| -See it in action on the [Demo Page](https://webdevnerdstuff.github.io/vue3-easter-egg-trigger) |
124 |
| - |
125 |
| -### Plugin Props |
126 |
| - |
127 |
| -Name | Type | Default | Description |
128 |
| -:----- | :------ | :----- | :----- |
129 |
| -callback | Function | null | The callback function |
130 |
| -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. |
131 |
| -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. |
132 |
| -target | String | body | Use this to target DOM elements, Id's, or Class Names. Used with click events. |
133 |
| -type | String | keydown | The type of action the trigger will be listening for. Available options: `keydown`, `keyup`, `click`, `dblclick`, `mouseup`, `mousedown` |
134 |
| - |
135 |
| -### Events |
136 |
| - |
137 |
| -Name | Type | Description |
138 |
| -:----- | :------ | :----- |
139 |
| -triggered | [MouseEvent, KeyboardEvent] | Emitted when the easter egg is triggered. |
140 |
| - |
141 |
| -## Keyboard Event Examples |
142 |
| - |
143 |
| -The default key combination to trigger the easter egg is the [Konami Code](https://en.wikipedia.org/wiki/Konami_Code). |
144 |
| - |
145 |
| -ex. ↑ ↑ ↓ ↓ ← → ← → b a |
146 | 33 |
|
147 |
| -##### Bare Egg Example. |
148 |
| - |
149 |
| - |
150 |
| -```html |
151 |
| -<EasterEggTrigger @triggered="easterEggTriggered" /> |
152 |
| -``` |
153 |
| - |
154 |
| -##### Custom Pattern |
155 |
| - |
156 |
| -```html |
157 |
| -<EasterEggTrigger |
158 |
| - :pattern="['m', 'a', 'g', 'i', 'c']" |
159 |
| - @triggered="easterEggTriggered" |
160 |
| -/> |
| 34 | +Using npm: |
161 | 35 | ```
|
162 |
| - |
163 |
| -##### Delay (longer time to complete pattern) |
164 |
| -```html |
165 |
| -<EasterEggTrigger |
166 |
| - delay="5000" |
167 |
| - @triggered="easterEggTriggered" |
168 |
| -/> |
| 36 | +npm i @wdns/vue-easter-egg-trigger |
169 | 37 | ```
|
170 | 38 |
|
171 |
| -##### Callback |
| 39 | +## Documentation |
172 | 40 |
|
| 41 | +[Documentation & Demo](https://webdevnerdstuff.github.io/vue-easter-egg-trigger/) |
173 | 42 |
|
174 |
| -```html |
175 |
| -<EasterEggTrigger :callback="easterEggTriggered" /> |
176 |
| -``` |
177 |
| - |
178 |
| -## Mouse Event Examples |
179 |
| - |
180 |
| -First you will need to set the type prop. |
| 43 | +## Dependencies |
181 | 44 |
|
182 |
| -Available types of Mouse Events: `click`, `dblclick`, `mouseup`, `mousedown`. |
183 |
| -When using `dblclick` the pattern will only work with one double click. Ex. pattern: `['dblclick']` |
| 45 | +[Vue 3](https://vuejs.org/) |
| 46 | +[Lodash](https://vueuse.org/) |
184 | 47 |
|
185 |
| -```html |
186 |
| -<EasterEggTrigger |
187 |
| - :pattern="['click']" |
188 |
| - target="#id-target" |
189 |
| - type="click" |
190 |
| - @triggered="easterEggTriggered" |
191 |
| -/> |
192 |
| -``` |
193 |
| - |
194 |
| -#### Multiple clicks required |
195 |
| -```html |
196 |
| -<EasterEggTrigger |
197 |
| - :pattern="['click', 'click']" |
198 |
| - target="#id-target" |
199 |
| - type="click" |
200 |
| - @triggered="easterEggTriggered" |
201 |
| -/> |
202 |
| -``` |
203 |
| - |
204 |
| -##### DOM element target |
205 | 48 |
|
206 |
| -```html |
207 |
| -<EasterEggTrigger |
208 |
| - :pattern="['click']" |
209 |
| - target="h1" |
210 |
| - type="click" |
211 |
| - @triggered="easterEggTriggered" |
212 |
| -/> |
213 |
| -``` |
214 |
| - |
215 |
| - ##### ID target |
216 |
| - |
217 |
| -```html |
218 |
| -<EasterEggTrigger |
219 |
| - :pattern="['click']" |
220 |
| - target="#id-target" |
221 |
| - type="click" |
222 |
| - @triggered="easterEggTriggered" |
223 |
| -/> |
224 |
| -``` |
| 49 | +## Change Log |
225 | 50 |
|
226 |
| - ##### Class target |
| 51 | +[CHANGELOG](https://github.com/webdevnerdstuff/vue-easter-egg-trigger/blob/main/CHANGELOG.md) |
227 | 52 |
|
228 |
| -```html |
229 |
| -<EasterEggTrigger |
230 |
| - :pattern="['click']" |
231 |
| - target=".double-click-target" |
232 |
| - type="click" |
233 |
| - @triggered="easterEggTriggered" |
234 |
| -/> |
235 |
| -``` |
236 |
| - |
237 |
| -## Change Log |
238 | 53 |
|
239 |
| -[CHANGELOG](https://github.com/webdevnerdstuff/vue3-easter-egg-trigger/blob/main/CHANGELOG.md) |
240 |
| - |
241 | 54 | ## License
|
242 | 55 |
|
243 |
| -Copyright (c) 2022 WebDevNerdStuff |
244 |
| -Licensed under the MIT license. |
245 |
| - |
246 |
| -[](https://github.com/webdevnerdstuff/vue3-easter-egg-trigger/blob/main/LICENSE.md) [](https://github.com/webdevnerdstuff) |
| 56 | +Copyright (c) 2024 WebDevNerdStuff |
| 57 | +Licensed under the [MIT license](https://github.com/webdevnerdstuff/vue-easter-egg-trigger/blob/main/LICENSE.md). |
0 commit comments