@some-angular-utils/paginator 0.0.7 → 0.0.9

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,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, EventEmitter, Output, Input } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
3
 
5
4
  class ChevronDoubleLeftIconComponent {
6
5
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ChevronDoubleLeftIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -75,11 +74,14 @@ class SAUPaginatorModule {
75
74
  currentPage = 1;
76
75
  pageChange = new EventEmitter();
77
76
  get visiblePages() {
78
- if (this.totalPages <= 7) {
79
- return Array.from({ length: this.totalPages }, (_, i) => i + 1);
77
+ const total = Math.ceil(this.totalPages);
78
+ if (total <= 0)
79
+ return [];
80
+ if (total <= 7) {
81
+ return Array.from({ length: total }, (_, i) => i + 1);
80
82
  }
81
83
  const start = Math.max(1, this.currentPage - 3);
82
- const end = Math.min(this.totalPages, this.currentPage + 3);
84
+ const end = Math.min(total, this.currentPage + 3);
83
85
  const pages = [];
84
86
  for (let i = start; i <= end; i++) {
85
87
  pages.push(i);
@@ -98,17 +100,16 @@ class SAUPaginatorModule {
98
100
  this.changePage(this.totalPages);
99
101
  }
100
102
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SAUPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.Component });
101
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SAUPaginatorModule, isStandalone: true, selector: "sau-paginator", inputs: { totalPages: "totalPages", currentPage: "currentPage" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sau-table-pagination\">\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\" type=\"button\">\n {{item}}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>", styles: [".sau-table-pagination{--sau-color-primary: rgb(147, 51, 234);--sau-color-secondary: var(--sau-color-primary);--sau-color-background: rgb(255, 255, 255);--sau-color-edit: rgb(34, 197, 94);--sau-color-delete: rgb(239, 68, 68);--sau-color-text: rgb(31, 41, 55);position:sticky;left:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:1.5rem;background:var(--sau-color-background)}@media(min-width:768px){.sau-table-pagination{justify-content:space-between}}.sau-table-pagination .sau-table-pagination-number-buttons{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-number-buttons{order:2;width:max-content}}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button{cursor:pointer;width:2.5rem;height:2.5rem;font-weight:500;font-size:.875rem;transition:all .2s;border:none}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-active{background:linear-gradient(to right,var(--sau-color-primary),var(--sau-color-secondary));color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive{color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-left{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-left{order:1}}.sau-table-pagination .sau-table-pagination-nav-right{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-right{order:3}}.sau-table-pagination .sau-table-pagination-nav-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}.sau-table-pagination .sau-table-pagination-nav-button-wide{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s;font-size:.875rem;font-weight:500}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChevronDoubleLeftIconComponent, selector: "sau-chevron-double-left-icon" }, { kind: "component", type: ChevronDoubleRightIconComponent, selector: "sau-chevron-double-right-icon" }, { kind: "component", type: ChevronLeftIconComponent, selector: "sau-chevron-left-icon" }, { kind: "component", type: ChevronRightIconComponent, selector: "sau-chevron-right-icon" }] });
103
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SAUPaginatorModule, isStandalone: true, selector: "sau-paginator", inputs: { totalPages: "totalPages", currentPage: "currentPage" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"sau-table-pagination\">\n\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" type=\"button\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\">\n {{ item }}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>", styles: [".sau-table-pagination{--sau-color-primary: rgb(147, 51, 234);--sau-color-secondary: var(--sau-color-primary);--sau-color-background: rgb(255, 255, 255);--sau-color-edit: rgb(34, 197, 94);--sau-color-delete: rgb(239, 68, 68);--sau-color-text: rgb(31, 41, 55);position:sticky;left:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:1.5rem;background:var(--sau-color-background)}@media(min-width:768px){.sau-table-pagination{justify-content:space-between}}.sau-table-pagination .sau-table-pagination-number-buttons{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-number-buttons{order:2;width:max-content}}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button{cursor:pointer;width:2.5rem;height:2.5rem;font-weight:500;font-size:.875rem;transition:all .2s;border:none}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-active{background:linear-gradient(to right,var(--sau-color-primary),var(--sau-color-secondary));color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive{color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-left{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-left{order:1}}.sau-table-pagination .sau-table-pagination-nav-right{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-right{order:3}}.sau-table-pagination .sau-table-pagination-nav-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}.sau-table-pagination .sau-table-pagination-nav-button-wide{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s;font-size:.875rem;font-weight:500}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}\n"], dependencies: [{ kind: "component", type: ChevronDoubleLeftIconComponent, selector: "sau-chevron-double-left-icon" }, { kind: "component", type: ChevronDoubleRightIconComponent, selector: "sau-chevron-double-right-icon" }, { kind: "component", type: ChevronLeftIconComponent, selector: "sau-chevron-left-icon" }, { kind: "component", type: ChevronRightIconComponent, selector: "sau-chevron-right-icon" }] });
102
104
  }
103
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SAUPaginatorModule, decorators: [{
104
106
  type: Component,
105
107
  args: [{ selector: 'sau-paginator', imports: [
106
- CommonModule,
107
108
  ChevronDoubleLeftIconComponent,
108
109
  ChevronDoubleRightIconComponent,
109
110
  ChevronLeftIconComponent,
110
111
  ChevronRightIconComponent,
111
- ], template: "<div class=\"sau-table-pagination\">\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\" type=\"button\">\n {{item}}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>", styles: [".sau-table-pagination{--sau-color-primary: rgb(147, 51, 234);--sau-color-secondary: var(--sau-color-primary);--sau-color-background: rgb(255, 255, 255);--sau-color-edit: rgb(34, 197, 94);--sau-color-delete: rgb(239, 68, 68);--sau-color-text: rgb(31, 41, 55);position:sticky;left:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:1.5rem;background:var(--sau-color-background)}@media(min-width:768px){.sau-table-pagination{justify-content:space-between}}.sau-table-pagination .sau-table-pagination-number-buttons{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-number-buttons{order:2;width:max-content}}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button{cursor:pointer;width:2.5rem;height:2.5rem;font-weight:500;font-size:.875rem;transition:all .2s;border:none}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-active{background:linear-gradient(to right,var(--sau-color-primary),var(--sau-color-secondary));color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive{color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-left{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-left{order:1}}.sau-table-pagination .sau-table-pagination-nav-right{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-right{order:3}}.sau-table-pagination .sau-table-pagination-nav-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}.sau-table-pagination .sau-table-pagination-nav-button-wide{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s;font-size:.875rem;font-weight:500}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}\n"] }]
112
+ ], template: "<div class=\"sau-table-pagination\">\n\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" type=\"button\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\">\n {{ item }}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>", styles: [".sau-table-pagination{--sau-color-primary: rgb(147, 51, 234);--sau-color-secondary: var(--sau-color-primary);--sau-color-background: rgb(255, 255, 255);--sau-color-edit: rgb(34, 197, 94);--sau-color-delete: rgb(239, 68, 68);--sau-color-text: rgb(31, 41, 55);position:sticky;left:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:1.5rem;background:var(--sau-color-background)}@media(min-width:768px){.sau-table-pagination{justify-content:space-between}}.sau-table-pagination .sau-table-pagination-number-buttons{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-number-buttons{order:2;width:max-content}}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button{cursor:pointer;width:2.5rem;height:2.5rem;font-weight:500;font-size:.875rem;transition:all .2s;border:none}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-active{background:linear-gradient(to right,var(--sau-color-primary),var(--sau-color-secondary));color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive{color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary)}.sau-table-pagination .sau-table-pagination-number-buttons .sau-table-pagination-number-button.sau-table-pagination-number-button-inactive:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-left{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-left{order:1}}.sau-table-pagination .sau-table-pagination-nav-right{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.sau-table-pagination .sau-table-pagination-nav-right{order:3}}.sau-table-pagination .sau-table-pagination-nav-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}.sau-table-pagination .sau-table-pagination-nav-button-wide{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;height:2.5rem;color:var(--sau-color-primary);background:var(--sau-color-background);border:1px solid var(--sau-color-primary);transition:all .2s;font-size:.875rem;font-weight:500}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-enabled:hover{background:var(--sau-color-primary);color:var(--sau-color-background)}.sau-table-pagination .sau-table-pagination-nav-button-wide.sau-table-pagination-nav-button-disabled{opacity:.5;pointer-events:none}\n"] }]
112
113
  }], propDecorators: { totalPages: [{
113
114
  type: Input
114
115
  }], currentPage: [{
@@ -1 +1 @@
1
- {"version":3,"file":"some-angular-utils-paginator.mjs","sources":["../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-double-left-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-double-right-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-left-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-right-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/paginator.ts","../../../../projects/some-angular-utils/paginator/src/lib/paginator.html","../../../../projects/some-angular-utils/paginator/src/public-api.ts","../../../../projects/some-angular-utils/paginator/src/some-angular-utils-paginator.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-double-left-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6 1.41-1.41zM6 6h2v12H6V6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronDoubleLeftIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-double-right-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6-1.41 1.41zM16 6h2v12h-2V6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronDoubleRightIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-left-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronLeftIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-right-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronRightIconComponent {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common'; // Importante para [class] y otros\nimport { ChevronDoubleLeftIconComponent } from './icons/chevron-double-left-icon';\nimport { ChevronDoubleRightIconComponent } from './icons/chevron-double-right-icon';\nimport { ChevronLeftIconComponent } from './icons/chevron-left-icon';\nimport { ChevronRightIconComponent } from './icons/chevron-right-icon';\n\n@Component({\n selector: 'sau-paginator',\n templateUrl: './paginator.html',\n styleUrls: ['./paginator.scss'],\n imports: [\n CommonModule,\n ChevronDoubleLeftIconComponent,\n ChevronDoubleRightIconComponent,\n ChevronLeftIconComponent,\n ChevronRightIconComponent,\n ],\n})\nexport class SAUPaginatorModule {\n\n @Input() totalPages: number = 0;\n @Input() currentPage: number = 1;\n @Output() pageChange = new EventEmitter<number>();\n\n get visiblePages(): number[] {\n if (this.totalPages <= 7) {\n return Array.from({ length: this.totalPages }, (_, i) => i + 1);\n }\n\n const start = Math.max(1, this.currentPage - 3);\n const end = Math.min(this.totalPages, this.currentPage + 3);\n\n const pages: number[] = [];\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n }\n\n changePage(newPage: number) {\n if (newPage >= 1 && newPage <= this.totalPages && newPage !== this.currentPage) {\n this.pageChange.emit(newPage);\n }\n }\n\n goToFirstPage() {\n this.changePage(1);\n }\n\n goToLastPage() {\n this.changePage(this.totalPages);\n }\n\n}","<div class=\"sau-table-pagination\">\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\" type=\"button\">\n {{item}}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>","/*\n * Public API Surface of paginator\n */\n\nexport * from './lib/paginator';\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":"some-angular-utils-paginator.mjs","sources":["../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-double-left-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-double-right-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-left-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/icons/chevron-right-icon.ts","../../../../projects/some-angular-utils/paginator/src/lib/paginator.ts","../../../../projects/some-angular-utils/paginator/src/lib/paginator.html","../../../../projects/some-angular-utils/paginator/src/public-api.ts","../../../../projects/some-angular-utils/paginator/src/some-angular-utils-paginator.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-double-left-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6 1.41-1.41zM6 6h2v12H6V6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronDoubleLeftIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-double-right-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6-1.41 1.41zM16 6h2v12h-2V6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronDoubleRightIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-left-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronLeftIconComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sau-chevron-right-icon',\n standalone: true,\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" style=\"width: 100%; height: 100%; fill: currentColor;\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n `,\n styles: [`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n }\n `]\n})\nexport class ChevronRightIconComponent {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ChevronDoubleLeftIconComponent } from './icons/chevron-double-left-icon';\nimport { ChevronDoubleRightIconComponent } from './icons/chevron-double-right-icon';\nimport { ChevronLeftIconComponent } from './icons/chevron-left-icon';\nimport { ChevronRightIconComponent } from './icons/chevron-right-icon';\n\n@Component({\n selector: 'sau-paginator',\n templateUrl: './paginator.html',\n styleUrls: ['./paginator.scss'],\n imports: [\n ChevronDoubleLeftIconComponent,\n ChevronDoubleRightIconComponent,\n ChevronLeftIconComponent,\n ChevronRightIconComponent,\n ],\n})\nexport class SAUPaginatorModule {\n\n @Input() totalPages: number = 0;\n @Input() currentPage: number = 1;\n @Output() pageChange = new EventEmitter<number>();\n\n get visiblePages(): number[] {\n const total = Math.ceil(this.totalPages);\n if (total <= 0) return [];\n\n if (total <= 7) {\n return Array.from({ length: total }, (_, i) => i + 1);\n }\n\n const start = Math.max(1, this.currentPage - 3);\n const end = Math.min(total, this.currentPage + 3);\n\n const pages: number[] = [];\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n }\n\n changePage(newPage: number) {\n if (newPage >= 1 && newPage <= this.totalPages && newPage !== this.currentPage) {\n this.pageChange.emit(newPage);\n }\n }\n\n goToFirstPage() {\n this.changePage(1);\n }\n\n goToLastPage() {\n this.changePage(this.totalPages);\n }\n\n}","<div class=\"sau-table-pagination\">\n\n <div class=\"sau-table-pagination-nav-left\">\n <button type=\"button\" (click)=\"goToFirstPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-double-left-icon></sau-chevron-double-left-icon>\n </button>\n\n <button type=\"button\" (click)=\"changePage(currentPage - 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === 1\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== 1\">\n <sau-chevron-left-icon></sau-chevron-left-icon>\n </button>\n </div>\n\n <div class=\"sau-table-pagination-number-buttons\">\n @for (item of visiblePages; track item) {\n <button (click)=\"changePage(item)\" type=\"button\" class=\"sau-table-pagination-number-button\"\n [class.sau-table-pagination-number-button-active]=\"item === currentPage\"\n [class.sau-table-pagination-number-button-inactive]=\"item !== currentPage\">\n {{ item }}\n </button>\n }\n </div>\n\n <div class=\"sau-table-pagination-nav-right\">\n <button type=\"button\" (click)=\"changePage(currentPage + 1)\" class=\"sau-table-pagination-nav-button\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-right-icon></sau-chevron-right-icon>\n </button>\n\n <button type=\"button\" (click)=\"goToLastPage()\" class=\"sau-table-pagination-nav-button-wide\"\n [class.sau-table-pagination-nav-button-disabled]=\"currentPage === totalPages\"\n [class.sau-table-pagination-nav-button-enabled]=\"currentPage !== totalPages\">\n <sau-chevron-double-right-icon></sau-chevron-double-right-icon>\n </button>\n </div>\n</div>","/*\n * Public API Surface of paginator\n */\n\nexport * from './lib/paginator';\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,6 +1,6 @@
1
1
  {
2
2
  "name": "@some-angular-utils/paginator",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"