ng-auto-animate 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,31 +1,46 @@
|
|
|
1
1
|
# ng-auto-animate
|
|
2
2
|
|
|
3
|
-
An Angular Directive to use FormKit's [auto-animate](https://auto-animate.formkit.com) library
|
|
3
|
+
An Angular Directive to use FormKit's [`auto-animate`](https://auto-animate.formkit.com) library within Angular projects.
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
4
6
|
|
|
5
|
-
### Highlights:
|
|
6
7
|
- ✅ Standalone Directive, for Angular v14 and above. Tested on Node 18.x, but should work on previous versions.
|
|
7
|
-
- ✅ Custom `InjectionToken` for configuring global settings.
|
|
8
|
-
|
|
8
|
+
- ✅ Custom `InjectionToken` for configuring global settings and plugins.
|
|
9
|
+
|
|
10
|
+
## Why a new wrapper library?
|
|
11
|
+
|
|
12
|
+
A publishable library for Angular needs [`ng-packagr`](https://github.com/ng-packagr/ng-packagr) and Angular CLI for proper scaffolding and finalized formatting. Migrating the repository structure for `auto-animate` is a non-trivial task and would need an unbiased build system like [Nx](https://nx.dev) (which I am using here) or some other similar tool.
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
A publishable library for Angular needs `ng-packr` and Angular CLI for proper scaffolding and finalized formatting. Migrating the repository structure for `auto-animate` is a non-trivial ask, and would need an unbiased build system like [Nx](https://nx.dev) (which I am using here) or some other similar tool.
|
|
14
|
+
[Justin Schroeder](https://github.com/justin-schroeder), the creator of [`auto-animate`](https://auto-animate.formkit.com), has been supportive towards [contributions](https://github.com/formkit/auto-animate/pull/38) for Angular integration, but he [does not work with Angular](https://github.com/formkit/auto-animate/issues/72#issuecomment-1222732238) and is unable to work towards this actively. I, too, would not be able to do much in his shoes, especially when it requires replacing all build actions, scripts and the project structure, all to support a single framework.
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
If there is a simpler solution, I would be willing to submit a PR with my changes here to the original project, especially the support for global options/plugin via an `InjectionToken`.
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
## Installation
|
|
16
19
|
|
|
17
|
-
### Installation
|
|
18
20
|
1. Install the peer dependency.
|
|
21
|
+
|
|
19
22
|
```bash
|
|
20
23
|
npm i @formkit/auto-animate
|
|
21
24
|
```
|
|
25
|
+
|
|
22
26
|
1. Install this package.
|
|
27
|
+
|
|
23
28
|
```bash
|
|
24
29
|
npm i ng-auto-animate
|
|
25
30
|
```
|
|
26
31
|
|
|
27
|
-
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
### Principle
|
|
35
|
+
|
|
36
|
+
Add the directive to the parent tag, within which DOM elements are being shown or hidden dynamically.
|
|
37
|
+
|
|
38
|
+
Adding the directive to the same tag which is being hidden will do nothing since it will look for changes in child nodes only.
|
|
39
|
+
|
|
40
|
+
### Variants
|
|
41
|
+
|
|
28
42
|
1. Default usage:
|
|
43
|
+
|
|
29
44
|
```html
|
|
30
45
|
<article auto-animate>
|
|
31
46
|
<p *ngFor="let paragraph of paragraphs">
|
|
@@ -33,7 +48,9 @@ If there is a simpler solution, I would be willing to submit a PR with my change
|
|
|
33
48
|
</p>
|
|
34
49
|
</article>
|
|
35
50
|
```
|
|
51
|
+
|
|
36
52
|
1. Pass one-off options:
|
|
53
|
+
|
|
37
54
|
```html
|
|
38
55
|
<article [auto-animate]="{ duration: 750 }">
|
|
39
56
|
<p *ngFor="let paragraph of paragraphs">
|
|
@@ -41,7 +58,9 @@ If there is a simpler solution, I would be willing to submit a PR with my change
|
|
|
41
58
|
</p>
|
|
42
59
|
</article>
|
|
43
60
|
```
|
|
61
|
+
|
|
44
62
|
1. Configure global default options:
|
|
63
|
+
|
|
45
64
|
```ts
|
|
46
65
|
// src/app/app.config.ts
|
|
47
66
|
import { ApplicationConfig } from '@angular/core';
|
|
@@ -70,6 +89,7 @@ If there is a simpler solution, I would be willing to submit a PR with my change
|
|
|
70
89
|
console.error(err)
|
|
71
90
|
);
|
|
72
91
|
```
|
|
92
|
+
|
|
73
93
|
```html
|
|
74
94
|
<article auto-animate> <!-- Default usage -->
|
|
75
95
|
<p *ngFor="let paragraph of paragraphs">
|
|
@@ -78,11 +98,22 @@ If there is a simpler solution, I would be willing to submit a PR with my change
|
|
|
78
98
|
</article>
|
|
79
99
|
```
|
|
80
100
|
|
|
81
|
-
|
|
101
|
+
1. Pass a custom plugin
|
|
102
|
+
> See the example here in the [demo app](https://github.com/ajitzero/ng-auto-animate/blob/0f305d97a9a30ab715b1c41304572519f0d27894/apps/demo/src/app/app.component.ts#L68) for a "bouncy" effect.
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
customPlugin: AutoAnimationPlugin = (...) => {...};
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```html
|
|
109
|
+
<article [auto-animate]="customPlugin">...</article>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Missing support for something?
|
|
82
113
|
|
|
83
114
|
Go through existing issues if your problem is already being tracked; otherwise, [raise an issue!](https://github.com/ajitzero/ng-auto-animate/issues/new/choose)
|
|
84
115
|
|
|
85
|
-
|
|
116
|
+
## License
|
|
86
117
|
|
|
87
118
|
[MIT](https://github.com/ajitzero/ng-auto-animate/blob/main/LICENSE).
|
|
88
119
|
|
|
@@ -19,7 +19,7 @@ class NgAutoAnimateDirective {
|
|
|
19
19
|
else {
|
|
20
20
|
// When either some options or a plugin is passed
|
|
21
21
|
if (isPlugin(this.globalOptions) || isPlugin(_options)) {
|
|
22
|
-
// A plugin must replace any previously set options or plugin.
|
|
22
|
+
// A plugin must replace any previously set options or plugin.
|
|
23
23
|
// A plugin must be replaced by options or another plugin.
|
|
24
24
|
this._options = _options;
|
|
25
25
|
}
|
|
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
52
52
|
type: Input,
|
|
53
53
|
args: ['auto-animate']
|
|
54
54
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXV0by1hbmltYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmctYXV0by1hbmltYXRlL3NyYy9saWIvbmctYXV0by1hbmltYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxXQUF3RCxNQUFNLHVCQUF1QixDQUFDOztBQUU3RixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQXlELEVBQUUsRUFBRSxDQUM3RSxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELHNDQUFzQyxFQUFFO0lBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNwQixDQUFDLENBQUM7QUFFSCxNQUlhLHNCQUFzQjtJQUpuQztRQUtVLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQXlCcEQsYUFBUSxHQUFzRCxFQUFFLENBQUM7S0FLMUU7SUE1QkMsSUFDSSxlQUFlLENBQUMsUUFBb0U7UUFDdEYsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDaEMsb0RBQW9EO1lBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNwQzthQUFNO1lBQ0wsaURBQWlEO1lBQ2pELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RELDhEQUE4RDtnQkFDOUQsMERBQTBEO2dCQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzthQUMxQjtpQkFBTTtnQkFDTCxnQ0FBZ0M7Z0JBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUc7b0JBQ2QsR0FBRyxJQUFJLENBQUMsYUFBYTtvQkFDckIsR0FBRyxRQUFRO2lCQUNaLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBR0QsZUFBZTtRQUNiLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0EvQlUsc0JBQXNCO2tHQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNSyxlQUFlO3NCQURsQixLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgYXV0b0FuaW1hdGUsIHsgQXV0b0FuaW1hdGVPcHRpb25zLCBBdXRvQW5pbWF0aW9uUGx1Z2luIH0gZnJvbSAnQGZvcm1raXQvYXV0by1hbmltYXRlJztcblxuY29uc3QgaXNQbHVnaW4gPSAoY29uZmlnOiBQYXJ0aWFsPEF1dG9BbmltYXRlT3B0aW9ucz4gfCBBdXRvQW5pbWF0aW9uUGx1Z2luKSA9PlxuICB0eXBlb2YgY29uZmlnID09PSAnZnVuY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX0FVVE9fQU5JTUFURV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8QXV0b0FuaW1hdGVPcHRpb25zPiB8IEF1dG9BbmltYXRpb25QbHVnaW4+KFxuICAnR2xvYmFsIEF1dG9BbmltYXRlIE9wdGlvbnMgb3IgUGx1Z2luJywge1xuICBmYWN0b3J5OiAoKSA9PiAoe30pLFxufSk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdXRvLWFuaW1hdGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmdBdXRvQW5pbWF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGdsb2JhbE9wdGlvbnMgPSBpbmplY3QoR0xPQkFMX0FVVE9fQU5JTUFURV9PUFRJT05TKTtcblxuICBASW5wdXQoJ2F1dG8tYW5pbWF0ZScpXG4gIHNldCBleHBsaWNpdE9wdGlvbnMoX29wdGlvbnM6IFBhcnRpYWw8QXV0b0FuaW1hdGVPcHRpb25zPiB8IEF1dG9BbmltYXRpb25QbHVnaW4gfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIF9vcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gRGVmYXVsdCBjYXNlLCB3aGVuIG5vIG9wdGlvbnMgb3IgcGx1Z2luIGlzIHBhc3NlZFxuICAgICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMuZ2xvYmFsT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2hlbiBlaXRoZXIgc29tZSBvcHRpb25zIG9yIGEgcGx1Z2luIGlzIHBhc3NlZFxuICAgICAgaWYgKGlzUGx1Z2luKHRoaXMuZ2xvYmFsT3B0aW9ucykgfHwgaXNQbHVnaW4oX29wdGlvbnMpKSB7XG4gICAgICAgIC8vIEEgcGx1Z2luIG11c3QgcmVwbGFjZSBhbnkgcHJldmlvdXNseSBzZXQgb3B0aW9ucyBvciBwbHVnaW4uXG4gICAgICAgIC8vIEEgcGx1Z2luIG11c3QgYmUgcmVwbGFjZWQgYnkgb3B0aW9ucyBvciBhbm90aGVyIHBsdWdpbi5cbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IF9vcHRpb25zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2hlbiBwbHVnaW5zIGFyZSBub3QgaW52b2x2ZWRcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHtcbiAgICAgICAgICAuLi50aGlzLmdsb2JhbE9wdGlvbnMsXG4gICAgICAgICAgLi4uX29wdGlvbnMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG4gIHByaXZhdGUgX29wdGlvbnM6IFBhcnRpYWw8QXV0b0FuaW1hdGVPcHRpb25zPiB8IEF1dG9BbmltYXRpb25QbHVnaW4gPSB7fTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgYXV0b0FuaW1hdGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -20,7 +20,7 @@ class NgAutoAnimateDirective {
|
|
|
20
20
|
else {
|
|
21
21
|
// When either some options or a plugin is passed
|
|
22
22
|
if (isPlugin(this.globalOptions) || isPlugin(_options)) {
|
|
23
|
-
// A plugin must replace any previously set options or plugin.
|
|
23
|
+
// A plugin must replace any previously set options or plugin.
|
|
24
24
|
// A plugin must be replaced by options or another plugin.
|
|
25
25
|
this._options = _options;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-auto-animate.mjs","sources":["../../../../libs/ng-auto-animate/src/lib/ng-auto-animate.directive.ts","../../../../libs/ng-auto-animate/src/ng-auto-animate.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, InjectionToken, Input, inject } from '@angular/core';\nimport autoAnimate, { AutoAnimateOptions, AutoAnimationPlugin } from '@formkit/auto-animate';\n\nconst isPlugin = (config: Partial<AutoAnimateOptions> | AutoAnimationPlugin) =>\n typeof config === 'function';\n\nexport const GLOBAL_AUTO_ANIMATE_OPTIONS = new InjectionToken<Partial<AutoAnimateOptions> | AutoAnimationPlugin>(\n 'Global AutoAnimate Options or Plugin', {\n factory: () => ({}),\n});\n\n@Directive({\n selector: '[auto-animate]',\n standalone: true,\n})\nexport class NgAutoAnimateDirective implements AfterViewInit {\n private el = inject(ElementRef);\n private globalOptions = inject(GLOBAL_AUTO_ANIMATE_OPTIONS);\n\n @Input('auto-animate')\n set explicitOptions(_options: Partial<AutoAnimateOptions> | AutoAnimationPlugin | string) {\n if (typeof _options === 'string') {\n // Default case, when no options or plugin is passed\n this._options = this.globalOptions;\n } else {\n // When either some options or a plugin is passed\n if (isPlugin(this.globalOptions) || isPlugin(_options)) {\n // A plugin must replace any previously set options or plugin
|
|
1
|
+
{"version":3,"file":"ng-auto-animate.mjs","sources":["../../../../libs/ng-auto-animate/src/lib/ng-auto-animate.directive.ts","../../../../libs/ng-auto-animate/src/ng-auto-animate.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, InjectionToken, Input, inject } from '@angular/core';\nimport autoAnimate, { AutoAnimateOptions, AutoAnimationPlugin } from '@formkit/auto-animate';\n\nconst isPlugin = (config: Partial<AutoAnimateOptions> | AutoAnimationPlugin) =>\n typeof config === 'function';\n\nexport const GLOBAL_AUTO_ANIMATE_OPTIONS = new InjectionToken<Partial<AutoAnimateOptions> | AutoAnimationPlugin>(\n 'Global AutoAnimate Options or Plugin', {\n factory: () => ({}),\n});\n\n@Directive({\n selector: '[auto-animate]',\n standalone: true,\n})\nexport class NgAutoAnimateDirective implements AfterViewInit {\n private el = inject(ElementRef);\n private globalOptions = inject(GLOBAL_AUTO_ANIMATE_OPTIONS);\n\n @Input('auto-animate')\n set explicitOptions(_options: Partial<AutoAnimateOptions> | AutoAnimationPlugin | string) {\n if (typeof _options === 'string') {\n // Default case, when no options or plugin is passed\n this._options = this.globalOptions;\n } else {\n // When either some options or a plugin is passed\n if (isPlugin(this.globalOptions) || isPlugin(_options)) {\n // A plugin must replace any previously set options or plugin.\n // A plugin must be replaced by options or another plugin.\n this._options = _options;\n } else {\n // When plugins are not involved\n this._options = {\n ...this.globalOptions,\n ..._options,\n };\n }\n }\n }\n get options() {\n return this._options;\n }\n private _options: Partial<AutoAnimateOptions> | AutoAnimationPlugin = {};\n\n ngAfterViewInit(): void {\n autoAnimate(this.el.nativeElement, this.options);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,MAAM,QAAQ,GAAG,CAAC,MAAyD,KACzE,OAAO,MAAM,KAAK,UAAU,CAAC;MAElB,2BAA2B,GAAG,IAAI,cAAc,CAC3D,sCAAsC,EAAE;AACxC,IAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAA,EAAE;AAEH,MAIa,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAyBpD,IAAQ,CAAA,QAAA,GAAsD,EAAE,CAAC;AAK1E,KAAA;IA5BC,IACI,eAAe,CAAC,QAAoE,EAAA;AACtF,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;;AAEhC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;AACpC,SAAA;AAAM,aAAA;;YAEL,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;;;AAGtD,gBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,QAAQ,GAAG;oBACd,GAAG,IAAI,CAAC,aAAa;AACrB,oBAAA,GAAG,QAAQ;iBACZ,CAAC;AACH,aAAA;AACF,SAAA;KACF;AACD,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAGD,eAAe,GAAA;QACb,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClD;8GA/BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAMK,eAAe,EAAA,CAAA;sBADlB,KAAK;uBAAC,cAAc,CAAA;;;ACnBvB;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ng-auto-animate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Add motion to your apps with a single line of code. An Angular Directive to use FormKit's auto-animate library.",
|
|
5
5
|
"repository": "https://github.com/ajitzero/ng-auto-animate.git",
|
|
6
|
-
"
|
|
6
|
+
"homepage": "https://github.com/ajitzero/ng-auto-animate/tree/main/libs/ng-auto-animate#readme",
|
|
7
|
+
"author": "Ajit Panigrahi <hello@ajitpanigrahi.com>",
|
|
7
8
|
"license": "MIT",
|
|
8
9
|
"peerDependencies": {
|
|
9
10
|
"@angular/common": "^16.0.0",
|