-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathREADME.md
175 lines (118 loc) · 2.94 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Nuxt Anime Module
Anime module for Nuxt.
## Features
- Helps you integrate the Anime.js animation library
- Provides the main _anime_ helper globally
- Supports custom composables
- Zero-config setup ready to go
- TypeScript friendly
- Super easy to use
## Quick Start
1. Install `@hypernym/nuxt-anime` to your project
```sh
npm i -D @hypernym/nuxt-anime
# or via nuxi
npx nuxi@latest module add animejs
```
2. Enable the module in the main config file
```ts
// nuxt.config.ts
{
modules: ['@hypernym/nuxt-anime']
}
```
That's it! Start developing your app!
## Module
The module comes with a _zero-config_ setup so after activation it automatically adds the Anime.js core and it is globally available without additional settings.
```html
<!-- layout.vue | page.vue | component.vue -->
<template>
<div>
<h1 class="title">Nuxt Anime</h1>
</div>
</template>
<script setup lang="ts">
const { $anime } = useNuxtApp()
onMounted(() => {
$anime({ targets: '.title', translateX: 250, duration: 800 })
})
</script>
```
## Options
Nuxt Anime Module is optimized and supports Nuxt 3 with TypeScript. It also improves the development experience with detailed descriptions, examples and code auto-completion.
```ts
// nuxt.config.ts
{
modules: ['@hypernym/nuxt-anime'],
anime: {
// Module options
}
}
```
## Provide
- Type: `boolean`
- Default: `true`
Provides the main `$anime` helper globally.
```ts
// nuxt.config.ts
{
anime: {
provide: true
}
}
```
**Available globally**
```ts
const { $anime } = useNuxtApp()
$anime({ targets: '.class', translateX: 250, duration: 800 })
```
## Composables
- Type: `boolean`
- Default: `undefined`
Specifies custom composables.
If enabled, allows the use of custom composables.
```ts
// nuxt.config.ts
{
anime: {
composables: true
}
}
```
### useAnime
Provides the main `anime` function as custom composable.
```html
<script setup lang="ts">
onMounted(() => {
useAnime({ targets: '.class', translateX: 250, duration: 800 })
})
</script>
```
```ts
// Explicit import (optional)
import { useAnime } from '#anime'
```
## Auto Import
- Type: `boolean`
- Default: `true`
Specifies the `auto-import` feature.
If enabled, the composables will be available globally so there is no need to import them manually.
Since this is an opinionated feature, you can disable global `auto-import` and use explicit import only where you need it.
Works only if the `composables: true` option is enabled.
```ts
// nuxt.config.ts
{
anime: {
autoImport: false
}
}
```
## Community
Feel free to use the official [discussions](https://github.com/hypernym-studio/nuxt-anime/discussions) for any additional questions.
## License
### Anime.js Library
More details about Anime.js license can be found in the <a href="https://github.com/juliangarnier/anime">official</a> repository.
### Nuxt Anime Module
Developed in 🇭🇷 Croatia
Released under the [MIT](LICENSE.txt) license.
© Hypernym Studio