ngx-edge-slider 1.0.0

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.
Files changed (38) hide show
  1. package/ngx-edge-slider-workspace/.editorconfig +16 -0
  2. package/ngx-edge-slider-workspace/.vscode/extensions.json +4 -0
  3. package/ngx-edge-slider-workspace/.vscode/launch.json +20 -0
  4. package/ngx-edge-slider-workspace/.vscode/tasks.json +42 -0
  5. package/ngx-edge-slider-workspace/README.md +27 -0
  6. package/ngx-edge-slider-workspace/angular.json +140 -0
  7. package/ngx-edge-slider-workspace/package-lock.json +13339 -0
  8. package/ngx-edge-slider-workspace/package.json +39 -0
  9. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/README.md +24 -0
  10. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/ng-package.json +7 -0
  11. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/package.json +12 -0
  12. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/assets/icons/arrow-black.svg +3 -0
  13. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/assets/icons/arrow-gray.svg +3 -0
  14. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.component.html +78 -0
  15. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.component.scss +344 -0
  16. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.component.ts +610 -0
  17. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.interface.ts +34 -0
  18. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.module.ts +18 -0
  19. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/lib/ngx-edge-slider.service.ts +9 -0
  20. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/src/public-api.ts +7 -0
  21. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/tsconfig.lib.json +14 -0
  22. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/tsconfig.lib.prod.json +10 -0
  23. package/ngx-edge-slider-workspace/projects/ngx-edge-slider/tsconfig.spec.json +14 -0
  24. package/ngx-edge-slider-workspace/projects/test-app/src/app/app.component.html +11 -0
  25. package/ngx-edge-slider-workspace/projects/test-app/src/app/app.component.scss +0 -0
  26. package/ngx-edge-slider-workspace/projects/test-app/src/app/app.component.spec.ts +27 -0
  27. package/ngx-edge-slider-workspace/projects/test-app/src/app/app.component.ts +57 -0
  28. package/ngx-edge-slider-workspace/projects/test-app/src/app/app.module.ts +18 -0
  29. package/ngx-edge-slider-workspace/projects/test-app/src/assets/.gitkeep +0 -0
  30. package/ngx-edge-slider-workspace/projects/test-app/src/assets/slide2_desktop_1950x.webp +0 -0
  31. package/ngx-edge-slider-workspace/projects/test-app/src/favicon.ico +0 -0
  32. package/ngx-edge-slider-workspace/projects/test-app/src/index.html +13 -0
  33. package/ngx-edge-slider-workspace/projects/test-app/src/main.ts +7 -0
  34. package/ngx-edge-slider-workspace/projects/test-app/src/styles.scss +1 -0
  35. package/ngx-edge-slider-workspace/projects/test-app/tsconfig.app.json +14 -0
  36. package/ngx-edge-slider-workspace/projects/test-app/tsconfig.spec.json +14 -0
  37. package/ngx-edge-slider-workspace/tsconfig.json +39 -0
  38. package/package.json +24 -0
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "include": [
11
+ "**/*.spec.ts",
12
+ "**/*.d.ts"
13
+ ]
14
+ }
@@ -0,0 +1,11 @@
1
+
2
+ <lib-ngx-edge-slider #EdgeSlider *ngIf="sliderConfig.slides?.length"
3
+ [config]="sliderConfig" id="EdgeSlider"
4
+ [slideTemplate]="EdgeSliderTemplate" (onSlideChange)="onSlideChange($event)"></lib-ngx-edge-slider>
5
+
6
+
7
+ <ng-template #EdgeSliderTemplate let-slide="slide" let-index="currentSlide">
8
+
9
+ <!-- Template rendering logic here, slide is our entity which props can be accessed slide.id, slide.image -->
10
+ <img [src]="slide.image">
11
+ </ng-template>
@@ -0,0 +1,27 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+ import { AppComponent } from './app.component';
3
+
4
+ describe('AppComponent', () => {
5
+ beforeEach(() => TestBed.configureTestingModule({
6
+ declarations: [AppComponent]
7
+ }));
8
+
9
+ it('should create the app', () => {
10
+ const fixture = TestBed.createComponent(AppComponent);
11
+ const app = fixture.componentInstance;
12
+ expect(app).toBeTruthy();
13
+ });
14
+
15
+ it(`should have as title 'test-app'`, () => {
16
+ const fixture = TestBed.createComponent(AppComponent);
17
+ const app = fixture.componentInstance;
18
+ expect(app.title).toEqual('test-app');
19
+ });
20
+
21
+ it('should render title', () => {
22
+ const fixture = TestBed.createComponent(AppComponent);
23
+ fixture.detectChanges();
24
+ const compiled = fixture.nativeElement as HTMLElement;
25
+ expect(compiled.querySelector('.content span')?.textContent).toContain('test-app app is running!');
26
+ });
27
+ });
@@ -0,0 +1,57 @@
1
+ import { Component, OnDestroy, OnInit } from '@angular/core';
2
+ import { SlideConfig } from 'dist/ngx-edge-slider/lib/ngx-edge-slider.interface';
3
+
4
+ @Component({
5
+ selector: 'app-root',
6
+ templateUrl: './app.component.html',
7
+ styleUrls: ['./app.component.scss']
8
+ })
9
+
10
+ export class AppComponent implements OnInit, OnDestroy {
11
+ title = 'test-app';
12
+
13
+ slides = [
14
+ {
15
+ id: 0,
16
+ image: "assets/slide2_desktop_1950x.webp",
17
+ },
18
+
19
+ {
20
+ id: 1,
21
+ image: "assets/slide2_desktop_1950x.webp"
22
+ }
23
+ ];
24
+
25
+ isAnimating = false;
26
+ isMobile: boolean;
27
+
28
+ // Config is inside of ngx-edge-slider.interface.ts, check scss file also for string options.
29
+ sliderConfig: any = {
30
+ slideWidth: 100,
31
+ slidesPerView: 1,
32
+ slideChangeDelay: 50,
33
+ draggable: true,
34
+ delay: 5000,
35
+ navEnabled:true,
36
+ navHoverable:true,
37
+ navPosition: 'centered',
38
+ paginationEnabled: true,
39
+ paginationPosition: 'thumbs-bottom',
40
+ breakpoints: {
41
+ desktop: { autoplay: true }
42
+ }
43
+ };
44
+
45
+
46
+ ngOnInit(): void {
47
+ this.sliderConfig.slides = this.slides;
48
+ }
49
+
50
+ ngOnDestroy(): void {
51
+ // slider destroys itself automatic.
52
+ }
53
+
54
+ onSlideChange($event: any): void {
55
+ console.log($event)
56
+ }
57
+ }
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { BrowserModule } from '@angular/platform-browser';
3
+
4
+ import { AppComponent } from './app.component';
5
+ import { NgxEdgeSliderModule } from 'ngx-edge-slider';
6
+
7
+ @NgModule({
8
+ declarations: [
9
+ AppComponent
10
+ ],
11
+ imports: [
12
+ BrowserModule,
13
+ NgxEdgeSliderModule
14
+ ],
15
+ providers: [],
16
+ bootstrap: [AppComponent]
17
+ })
18
+ export class AppModule { }
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>TestApp</title>
6
+ <base href="/">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
9
+ </head>
10
+ <body>
11
+ <app-root></app-root>
12
+ </body>
13
+ </html>
@@ -0,0 +1,7 @@
1
+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2
+
3
+ import { AppModule } from './app/app.module';
4
+
5
+
6
+ platformBrowserDynamic().bootstrapModule(AppModule)
7
+ .catch(err => console.error(err));
@@ -0,0 +1 @@
1
+ /* You can add global styles to this file, and also import other style files */
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/app",
6
+ "types": []
7
+ },
8
+ "files": [
9
+ "src/main.ts"
10
+ ],
11
+ "include": [
12
+ "src/**/*.d.ts"
13
+ ]
14
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "include": [
11
+ "src/**/*.spec.ts",
12
+ "src/**/*.d.ts"
13
+ ]
14
+ }
@@ -0,0 +1,39 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "compileOnSave": false,
4
+ "compilerOptions": {
5
+ "baseUrl": "./",
6
+ "outDir": "./dist/out-tsc",
7
+ "forceConsistentCasingInFileNames": true,
8
+ "strict": true,
9
+ "noImplicitOverride": true,
10
+ "noPropertyAccessFromIndexSignature": true,
11
+ "noImplicitReturns": true,
12
+ "noFallthroughCasesInSwitch": true,
13
+ "strictNullChecks": false,
14
+ "sourceMap": true,
15
+ "paths": {
16
+ "ngx-edge-slider": [
17
+ "dist/ngx-edge-slider"
18
+ ]
19
+ },
20
+ "declaration": false,
21
+ "downlevelIteration": true,
22
+ "experimentalDecorators": true,
23
+ "moduleResolution": "node",
24
+ "importHelpers": true,
25
+ "target": "ES2022",
26
+ "module": "ES2022",
27
+ "useDefineForClassFields": false,
28
+ "lib": [
29
+ "ES2022",
30
+ "dom"
31
+ ]
32
+ },
33
+ "angularCompilerOptions": {
34
+ "enableI18nLegacyMessageIdFormat": false,
35
+ "strictInjectionParameters": true,
36
+ "strictInputAccessModifiers": true,
37
+ "strictTemplates": true
38
+ }
39
+ }
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "ngx-edge-slider",
3
+ "version": "1.0.0",
4
+ "description": "Edge Slider for Angular 17+, Lightweight library and easy usage.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [
10
+ "edge",
11
+ "angular",
12
+ "ngx",
13
+ "slider"
14
+ ],
15
+ "author": "WingmanColt",
16
+ "license": "ISC",
17
+ "dependencies": {
18
+ "loadash": "^1.0.0",
19
+ "lodash": "^4.17.21"
20
+ },
21
+ "devDependencies": {
22
+ "@types/lodash": "^4.17.13"
23
+ }
24
+ }