@agentsmith.bgd/as-lib-pagination 22.0.3 → 22.0.5

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, input, output, effect, Component } from '@angular/core';
2
+ import { Injectable, input, output, computed, effect, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
@@ -15,6 +15,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
15
15
  }]
16
16
  }], ctorParameters: () => [] });
17
17
 
18
+ const ICON_SETS = {
19
+ fa: {
20
+ first: 'fa fa-angle-double-left',
21
+ prev: 'fa fa-angle-left',
22
+ next: 'fa fa-angle-right',
23
+ last: 'fa fa-angle-double-right',
24
+ },
25
+ bi: {
26
+ first: 'bi bi-chevron-double-left',
27
+ prev: 'bi bi-chevron-left',
28
+ next: 'bi bi-chevron-right',
29
+ last: 'bi bi-chevron-double-right',
30
+ },
31
+ };
18
32
  class AsLibPaginationComponent {
19
33
  first = input(false, /* @ts-ignore */
20
34
  ...(ngDevMode ? [{ debugName: "first" }] : /* istanbul ignore next */ []));
@@ -24,12 +38,16 @@ class AsLibPaginationComponent {
24
38
  ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
25
39
  enableLog = input(false, /* @ts-ignore */
26
40
  ...(ngDevMode ? [{ debugName: "enableLog" }] : /* istanbul ignore next */ []));
41
+ iconSet = input('fa', /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "iconSet" }] : /* istanbul ignore next */ []));
27
43
  pageChange = output();
28
44
  arr = [];
29
45
  totalPages = input(0, /* @ts-ignore */
30
46
  ...(ngDevMode ? [{ debugName: "totalPages" }] : /* istanbul ignore next */ []));
31
47
  page = input(0, /* @ts-ignore */
32
48
  ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
49
+ icons = computed(() => ICON_SETS[this.iconSet()], /* @ts-ignore */
50
+ ...(ngDevMode ? [{ debugName: "icons" }] : /* istanbul ignore next */ []));
33
51
  constructor() {
34
52
  effect(() => {
35
53
  console.log(`The count is:`, this.totalPages(), this.page());
@@ -60,12 +78,12 @@ class AsLibPaginationComponent {
60
78
  return String(index); // Use index to uniquely identify each item
61
79
  }
62
80
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: AsLibPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.2", type: AsLibPaginationComponent, isStandalone: true, selector: "as-lib-pagination", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, enableLog: { classPropertyName: "enableLog", publicName: "enableLog", isSignal: true, isRequired: false, transformFunction: null }, totalPages: { classPropertyName: "totalPages", publicName: "totalPages", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n\t></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media(max-width:575px){ul.pagination{justify-content:center!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.2", type: AsLibPaginationComponent, isStandalone: true, selector: "as-lib-pagination", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, enableLog: { classPropertyName: "enableLog", publicName: "enableLog", isSignal: true, isRequired: false, transformFunction: null }, iconSet: { classPropertyName: "iconSet", publicName: "iconSet", isSignal: true, isRequired: false, transformFunction: null }, totalPages: { classPropertyName: "totalPages", publicName: "totalPages", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().first\"></i>\n\t\t</a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().prev\"></i>\n\t\t</a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().next\"></i>\n\t\t</a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().last\"></i>\n\t\t</a\n\t></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media(max-width:575px){ul.pagination{justify-content:center!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
64
82
  }
65
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: AsLibPaginationComponent, decorators: [{
66
84
  type: Component,
67
- args: [{ selector: 'as-lib-pagination', imports: [CommonModule], standalone: true, template: "<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n\t></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media(max-width:575px){ul.pagination{justify-content:center!important}}\n"] }]
68
- }], ctorParameters: () => [], propDecorators: { first: [{ type: i0.Input, args: [{ isSignal: true, alias: "first", required: false }] }], last: [{ type: i0.Input, args: [{ isSignal: true, alias: "last", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], enableLog: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableLog", required: false }] }], pageChange: [{ type: i0.Output, args: ["pageChange"] }], totalPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPages", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }] } });
85
+ args: [{ selector: 'as-lib-pagination', imports: [CommonModule], standalone: true, template: "<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().first\"></i>\n\t\t</a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().prev\"></i>\n\t\t</a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().next\"></i>\n\t\t</a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().last\"></i>\n\t\t</a\n\t></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media(max-width:575px){ul.pagination{justify-content:center!important}}\n"] }]
86
+ }], ctorParameters: () => [], propDecorators: { first: [{ type: i0.Input, args: [{ isSignal: true, alias: "first", required: false }] }], last: [{ type: i0.Input, args: [{ isSignal: true, alias: "last", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], enableLog: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableLog", required: false }] }], iconSet: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconSet", required: false }] }], pageChange: [{ type: i0.Output, args: ["pageChange"] }], totalPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalPages", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }] } });
69
87
 
70
88
  /*
71
89
  * Public API Surface of as-lib-pagination
@@ -1 +1 @@
1
- {"version":3,"file":"agentsmith.bgd-as-lib-pagination.mjs","sources":["../../../projects/as-lib-pagination/src/lib/as-lib-pagination.service.ts","../../../projects/as-lib-pagination/src/lib/as-lib-pagination.component.ts","../../../projects/as-lib-pagination/src/lib/as-lib-pagination.component.html","../../../projects/as-lib-pagination/src/public-api.ts","../../../projects/as-lib-pagination/src/agentsmith.bgd-as-lib-pagination.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AsLibPaginationService {\n\tconstructor() {}\n}\n","import { Component, effect, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n\tselector: 'as-lib-pagination',\n\timports: [CommonModule],\n\ttemplateUrl: './as-lib-pagination.component.html',\n\tstyleUrl: './as-lib-pagination.component.scss',\n\tstandalone: true,\n})\nexport class AsLibPaginationComponent {\n\tfirst = input(false);\n\tlast = input(false);\n\talign = input<'' | 'justify-content-center' | 'justify-content-end'>('');\n\tenableLog = input(false);\n\tpageChange = output<number>();\n\tarr: number[] = [];\n\ttotalPages = input(0);\n\tpage = input(0);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconsole.log(`The count is:`, this.totalPages(), this.page());\n\t\t\tthis.calculatePager();\n\t\t});\n\t}\n\n\tcalculatePager(): void {\n\t\tthis.arr = [];\n\t\tconst midd = this.page() <= 4 || this.page() >= this.totalPages() - 4 ? Math.floor(this.totalPages() / 2) : 0;\n\t\tfor (let num = 0; num < this.totalPages(); num++) {\n\t\t\tif (num < 2 || 2 >= Math.abs(this.page() - num) || 1 >= Math.abs(midd - num) || num === this.page() || num >= this.totalPages() - 2) {\n\t\t\t\tthis.arr.push(num);\n\t\t\t} else if (this.arr[this.arr.length - 1] !== -1) {\n\t\t\t\tthis.arr.push(-1);\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.calculatePager();\n\t}\n\n\tlog(value: any, ...rest: any[]): void {\n\t\tif (this.enableLog() || localStorage.getItem('loggerEnable')) {\n\t\t\tconsole.log('%c DEBUG ', 'background: gray; color: white; font-weight: bold;', `AS Pagination -> ${value}`, ...rest);\n\t\t}\n\t}\n\n\tmyIndexFn(index: number, item: any): string {\n\t\treturn String(index); // Use index to uniquely identify each item\n\t}\n}\n","<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n\t></li>\n</ul>\n","/*\n * Public API Surface of as-lib-pagination\n */\n\nexport * from './lib/as-lib-pagination.service';\nexport * from './lib/as-lib-pagination.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentsmith.bgd-as-lib-pagination.mjs","sources":["../../../projects/as-lib-pagination/src/lib/as-lib-pagination.service.ts","../../../projects/as-lib-pagination/src/lib/as-lib-pagination.component.ts","../../../projects/as-lib-pagination/src/lib/as-lib-pagination.component.html","../../../projects/as-lib-pagination/src/public-api.ts","../../../projects/as-lib-pagination/src/agentsmith.bgd-as-lib-pagination.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AsLibPaginationService {\n\tconstructor() {}\n}\n","import { Component, computed, effect, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nconst ICON_SETS = {\n\tfa: {\n\t\tfirst: 'fa fa-angle-double-left',\n\t\tprev: 'fa fa-angle-left',\n\t\tnext: 'fa fa-angle-right',\n\t\tlast: 'fa fa-angle-double-right',\n\t},\n\tbi: {\n\t\tfirst: 'bi bi-chevron-double-left',\n\t\tprev: 'bi bi-chevron-left',\n\t\tnext: 'bi bi-chevron-right',\n\t\tlast: 'bi bi-chevron-double-right',\n\t},\n};\n\n@Component({\n\tselector: 'as-lib-pagination',\n\timports: [CommonModule],\n\ttemplateUrl: './as-lib-pagination.component.html',\n\tstyleUrl: './as-lib-pagination.component.scss',\n\tstandalone: true,\n})\nexport class AsLibPaginationComponent {\n\tfirst = input(false);\n\tlast = input(false);\n\talign = input<'' | 'justify-content-center' | 'justify-content-end'>('');\n\tenableLog = input(false);\n\ticonSet = input<'fa' | 'bi'>('fa');\n\tpageChange = output<number>();\n\tarr: number[] = [];\n\ttotalPages = input(0);\n\tpage = input(0);\n\n\ticons = computed(() => ICON_SETS[this.iconSet()]);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconsole.log(`The count is:`, this.totalPages(), this.page());\n\t\t\tthis.calculatePager();\n\t\t});\n\t}\n\n\tcalculatePager(): void {\n\t\tthis.arr = [];\n\t\tconst midd = this.page() <= 4 || this.page() >= this.totalPages() - 4 ? Math.floor(this.totalPages() / 2) : 0;\n\t\tfor (let num = 0; num < this.totalPages(); num++) {\n\t\t\tif (num < 2 || 2 >= Math.abs(this.page() - num) || 1 >= Math.abs(midd - num) || num === this.page() || num >= this.totalPages() - 2) {\n\t\t\t\tthis.arr.push(num);\n\t\t\t} else if (this.arr[this.arr.length - 1] !== -1) {\n\t\t\t\tthis.arr.push(-1);\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis.calculatePager();\n\t}\n\n\tlog(value: any, ...rest: any[]): void {\n\t\tif (this.enableLog() || localStorage.getItem('loggerEnable')) {\n\t\t\tconsole.log('%c DEBUG ', 'background: gray; color: white; font-weight: bold;', `AS Pagination -> ${value}`, ...rest);\n\t\t}\n\t}\n\n\tmyIndexFn(index: number, item: any): string {\n\t\treturn String(index); // Use index to uniquely identify each item\n\t}\n}\n","<ul class=\"pagination {{ align() }}\">\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(0)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().first\"></i>\n\t\t</a\n\t></li>\n\t<li [class.disabled]=\"first()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().prev\"></i>\n\t\t</a>\n\t</li>\n\n\t<ng-container *ngFor=\"let x of arr; trackBy: myIndexFn\">\n\t\t<ng-container *ngIf=\"x !== -1; else disabledPage\">\n\t\t\t<li class=\"page-item d-none d-sm-block\" [class.active]=\"x === page()\">\n\t\t\t\t<a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n\t\t\t</li>\n\t\t</ng-container>\n\t\t<ng-template #disabledPage>\n\t\t\t<li class=\"page-item disabled d-none d-sm-block\">\n\t\t\t\t<a class=\"page-link\">...</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t</ng-container>\n\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().next\"></i>\n\t\t</a>\n\t</li>\n\t<li [class.disabled]=\"last()\" class=\"page-item\"\n\t\t><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\">\n\t\t\t<i [class]=\"icons().last\"></i>\n\t\t</a\n\t></li>\n</ul>\n","/*\n * Public API Surface of as-lib-pagination\n */\n\nexport * from './lib/as-lib-pagination.service';\nexport * from './lib/as-lib-pagination.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@agentsmith.bgd/as-lib-pagination",
3
- "version": "22.0.3",
3
+ "version": "22.0.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^22.0.0",
6
- "@angular/core": "^22.0.0",
7
- "font-awesome": "4.7.0"
6
+ "@angular/core": "^22.0.0"
8
7
  },
9
8
  "dependencies": {
10
9
  "tslib": "^2.8.1"
@@ -11,17 +11,29 @@ declare class AsLibPaginationComponent {
11
11
  last: _angular_core.InputSignal<boolean>;
12
12
  align: _angular_core.InputSignal<"" | "justify-content-center" | "justify-content-end">;
13
13
  enableLog: _angular_core.InputSignal<boolean>;
14
+ iconSet: _angular_core.InputSignal<"fa" | "bi">;
14
15
  pageChange: _angular_core.OutputEmitterRef<number>;
15
16
  arr: number[];
16
17
  totalPages: _angular_core.InputSignal<number>;
17
18
  page: _angular_core.InputSignal<number>;
19
+ icons: _angular_core.Signal<{
20
+ first: string;
21
+ prev: string;
22
+ next: string;
23
+ last: string;
24
+ } | {
25
+ first: string;
26
+ prev: string;
27
+ next: string;
28
+ last: string;
29
+ }>;
18
30
  constructor();
19
31
  calculatePager(): void;
20
32
  ngOnInit(): void;
21
33
  log(value: any, ...rest: any[]): void;
22
34
  myIndexFn(index: number, item: any): string;
23
35
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AsLibPaginationComponent, never>;
24
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AsLibPaginationComponent, "as-lib-pagination", never, { "first": { "alias": "first"; "required": false; "isSignal": true; }; "last": { "alias": "last"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "enableLog": { "alias": "enableLog"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
36
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AsLibPaginationComponent, "as-lib-pagination", never, { "first": { "alias": "first"; "required": false; "isSignal": true; }; "last": { "alias": "last"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "enableLog": { "alias": "enableLog"; "required": false; "isSignal": true; }; "iconSet": { "alias": "iconSet"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
25
37
  }
26
38
 
27
39
  export { AsLibPaginationComponent, AsLibPaginationService };