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, within Angular projects.
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
- - 🚫 Currently, it does not support [plugins](https://auto-animate.formkit.com/#plugins). WIP: See [#5](https://github.com/ajitzero/ng-auto-animate/issues/5).
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
- ### Why a new wrapper library?
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
- [Justin Schroeder](https://github.com/justin-schroeder), the creator of `auto-animate`, 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.
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
- If there is a simpler solution, I would be willing to submit a PR with my changes here to the original project.
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
- ### Usage
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
- ### Missing support for something?
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
- ### License
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXV0by1hbmltYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmctYXV0by1hbmltYXRlL3NyYy9saWIvbmctYXV0by1hbmltYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxXQUF3RCxNQUFNLHVCQUF1QixDQUFDOztBQUU3RixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQXlELEVBQUUsRUFBRSxDQUM3RSxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELHNDQUFzQyxFQUFFO0lBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNwQixDQUFDLENBQUM7QUFFSCxNQUlhLHNCQUFzQjtJQUpuQztRQUtVLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQXlCcEQsYUFBUSxHQUFzRCxFQUFFLENBQUM7S0FLMUU7SUE1QkMsSUFDSSxlQUFlLENBQUMsUUFBb0U7UUFDdEYsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDaEMsb0RBQW9EO1lBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNwQzthQUFNO1lBQ0wsaURBQWlEO1lBQ2pELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RELCtEQUErRDtnQkFDL0QsMERBQTBEO2dCQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzthQUMxQjtpQkFBTTtnQkFDTCxnQ0FBZ0M7Z0JBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUc7b0JBQ2QsR0FBRyxJQUFJLENBQUMsYUFBYTtvQkFDckIsR0FBRyxRQUFRO2lCQUNaLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBR0QsZUFBZTtRQUNiLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0EvQlUsc0JBQXNCO2tHQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNSyxlQUFlO3NCQURsQixLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgYXV0b0FuaW1hdGUsIHsgQXV0b0FuaW1hdGVPcHRpb25zLCBBdXRvQW5pbWF0aW9uUGx1Z2luIH0gZnJvbSAnQGZvcm1raXQvYXV0by1hbmltYXRlJztcblxuY29uc3QgaXNQbHVnaW4gPSAoY29uZmlnOiBQYXJ0aWFsPEF1dG9BbmltYXRlT3B0aW9ucz4gfCBBdXRvQW5pbWF0aW9uUGx1Z2luKSA9PlxuICB0eXBlb2YgY29uZmlnID09PSAnZnVuY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX0FVVE9fQU5JTUFURV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8QXV0b0FuaW1hdGVPcHRpb25zPiB8IEF1dG9BbmltYXRpb25QbHVnaW4+KFxuICAnR2xvYmFsIEF1dG9BbmltYXRlIE9wdGlvbnMgb3IgUGx1Z2luJywge1xuICBmYWN0b3J5OiAoKSA9PiAoe30pLFxufSk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdXRvLWFuaW1hdGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmdBdXRvQW5pbWF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGdsb2JhbE9wdGlvbnMgPSBpbmplY3QoR0xPQkFMX0FVVE9fQU5JTUFURV9PUFRJT05TKTtcblxuICBASW5wdXQoJ2F1dG8tYW5pbWF0ZScpXG4gIHNldCBleHBsaWNpdE9wdGlvbnMoX29wdGlvbnM6IFBhcnRpYWw8QXV0b0FuaW1hdGVPcHRpb25zPiB8IEF1dG9BbmltYXRpb25QbHVnaW4gfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIF9vcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gRGVmYXVsdCBjYXNlLCB3aGVuIG5vIG9wdGlvbnMgb3IgcGx1Z2luIGlzIHBhc3NlZFxuICAgICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMuZ2xvYmFsT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2hlbiBlaXRoZXIgc29tZSBvcHRpb25zIG9yIGEgcGx1Z2luIGlzIHBhc3NlZFxuICAgICAgaWYgKGlzUGx1Z2luKHRoaXMuZ2xvYmFsT3B0aW9ucykgfHwgaXNQbHVnaW4oX29wdGlvbnMpKSB7XG4gICAgICAgIC8vIEEgcGx1Z2luIG11c3QgcmVwbGFjZSBhbnkgcHJldmlvdXNseSBzZXQgb3B0aW9ucyBvciBwbHVnaW4uIFxuICAgICAgICAvLyBBIHBsdWdpbiBtdXN0IGJlIHJlcGxhY2VkIGJ5IG9wdGlvbnMgb3IgYW5vdGhlciBwbHVnaW4uXG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdoZW4gcGx1Z2lucyBhcmUgbm90IGludm9sdmVkXG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSB7XG4gICAgICAgICAgLi4udGhpcy5nbG9iYWxPcHRpb25zLFxuICAgICAgICAgIC4uLl9vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuICBwcml2YXRlIF9vcHRpb25zOiBQYXJ0aWFsPEF1dG9BbmltYXRlT3B0aW9ucz4gfCBBdXRvQW5pbWF0aW9uUGx1Z2luID0ge307XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGF1dG9BbmltYXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5vcHRpb25zKTtcbiAgfVxufVxuIl19
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. \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;;;;"}
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.0",
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
- "author": "Ajit Panigrahi <ajitzero@gmail.com>",
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",