@nova-design-system/nova-angular 3.24.0 → 3.25.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.
@@ -42,6 +42,7 @@ export const DIRECTIVES = [
42
42
  d.NvNotification,
43
43
  d.NvNotificationBullet,
44
44
  d.NvNotificationcontainer,
45
+ d.NvPaginationtable,
45
46
  d.NvPopover,
46
47
  d.NvRow,
47
48
  d.NvSidebar,
@@ -62,4 +63,4 @@ export const DIRECTIVES = [
62
63
  d.NvTogglebuttongroup,
63
64
  d.NvTooltip
64
65
  ];
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZhLWNvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsQ0FBQyxDQUFDLFdBQVc7SUFDYixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsWUFBWTtJQUNkLENBQUMsQ0FBQyxhQUFhO0lBQ2YsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLEtBQUs7SUFDUCxDQUFDLENBQUMsVUFBVTtJQUNaLENBQUMsQ0FBQyxnQkFBZ0I7SUFDbEIsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsUUFBUTtJQUNWLENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsbUJBQW1CO0lBQ3JCLENBQUMsQ0FBQyx3QkFBd0I7SUFDMUIsQ0FBQyxDQUFDLGtCQUFrQjtJQUNwQixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxZQUFZO0lBQ2QsQ0FBQyxDQUFDLGFBQWE7SUFDZixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLGVBQWU7SUFDakIsQ0FBQyxDQUFDLFdBQVc7SUFDYixDQUFDLENBQUMsTUFBTTtJQUNSLENBQUMsQ0FBQyxZQUFZO0lBQ2QsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsTUFBTTtJQUNSLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLGNBQWM7SUFDaEIsQ0FBQyxDQUFDLG9CQUFvQjtJQUN0QixDQUFDLENBQUMsdUJBQXVCO0lBQ3pCLENBQUMsQ0FBQyxTQUFTO0lBQ1gsQ0FBQyxDQUFDLEtBQUs7SUFDUCxDQUFDLENBQUMsU0FBUztJQUNYLENBQUMsQ0FBQyxnQkFBZ0I7SUFDbEIsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxnQkFBZ0I7SUFDbEIsQ0FBQyxDQUFDLG1CQUFtQjtJQUNyQixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxPQUFPO0lBQ1QsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLGNBQWM7SUFDaEIsQ0FBQyxDQUFDLG1CQUFtQjtJQUNyQixDQUFDLENBQUMsU0FBUztDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAqIGFzIGQgZnJvbSAnLi9jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IERJUkVDVElWRVMgPSBbXG4gIGQuTnZBY2NvcmRpb24sXG4gIGQuTnZBY2NvcmRpb25JdGVtLFxuICBkLk52QWxlcnQsXG4gIGQuTnZBdmF0YXIsXG4gIGQuTnZCYWRnZSxcbiAgZC5OdkJyZWFkY3J1bWIsXG4gIGQuTnZCcmVhZGNydW1icyxcbiAgZC5OdkJ1dHRvbixcbiAgZC5OdkJ1dHRvbmdyb3VwLFxuICBkLk52Q2FsZW5kYXIsXG4gIGQuTnZDb2wsXG4gIGQuTnZEYXRhZ3JpZCxcbiAgZC5OdkRhdGFncmlkY29sdW1uLFxuICBkLk52RGlhbG9nLFxuICBkLk52RGlhbG9nZm9vdGVyLFxuICBkLk52RGlhbG9naGVhZGVyLFxuICBkLk52RHJhd2VyLFxuICBkLk52RHJhd2VyZm9vdGVyLFxuICBkLk52RHJhd2VyaGVhZGVyLFxuICBkLk52RmllbGRjaGVja2JveCxcbiAgZC5OdkZpZWxkZGF0ZSxcbiAgZC5OdkZpZWxkZGF0ZXJhbmdlLFxuICBkLk52RmllbGRkcm9wZG93bixcbiAgZC5OdkZpZWxkZHJvcGRvd25pdGVtLFxuICBkLk52RmllbGRkcm9wZG93bml0ZW1jaGVjayxcbiAgZC5OdkZpZWxkbXVsdGlzZWxlY3QsXG4gIGQuTnZGaWVsZG51bWJlcixcbiAgZC5OdkZpZWxkcGFzc3dvcmQsXG4gIGQuTnZGaWVsZHJhZGlvLFxuICBkLk52RmllbGRzZWxlY3QsXG4gIGQuTnZGaWVsZHNsaWRlcixcbiAgZC5OdkZpZWxkdGV4dCxcbiAgZC5OdkZpZWxkdGV4dGFyZWEsXG4gIGQuTnZGaWVsZHRpbWUsXG4gIGQuTnZJY29uLFxuICBkLk52SWNvbmJ1dHRvbixcbiAgZC5OdkxvYWRlcixcbiAgZC5Odk1lbnUsXG4gIGQuTnZNZW51aXRlbSxcbiAgZC5Odk5vdGlmaWNhdGlvbixcbiAgZC5Odk5vdGlmaWNhdGlvbkJ1bGxldCxcbiAgZC5Odk5vdGlmaWNhdGlvbmNvbnRhaW5lcixcbiAgZC5OdlBvcG92ZXIsXG4gIGQuTnZSb3csXG4gIGQuTnZTaWRlYmFyLFxuICBkLk52U2lkZWJhcmNvbnRlbnQsXG4gIGQuTnZTaWRlYmFyZGl2aWRlcixcbiAgZC5OdlNpZGViYXJmb290ZXIsXG4gIGQuTnZTaWRlYmFyZ3JvdXAsXG4gIGQuTnZTaWRlYmFyaGVhZGVyLFxuICBkLk52U2lkZWJhcmxvZ28sXG4gIGQuTnZTaWRlYmFybmF2aXRlbSxcbiAgZC5OdlNpZGViYXJuYXZzdWJpdGVtLFxuICBkLk52U3BsaXQsXG4gIGQuTnZTdGFjayxcbiAgZC5OdlRhYmxlLFxuICBkLk52VGFibGVoZWFkZXIsXG4gIGQuTnZUb2dnbGUsXG4gIGQuTnZUb2dnbGVidXR0b24sXG4gIGQuTnZUb2dnbGVidXR0b25ncm91cCxcbiAgZC5OdlRvb2x0aXBcbl07XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZhLWNvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsQ0FBQyxDQUFDLFdBQVc7SUFDYixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsWUFBWTtJQUNkLENBQUMsQ0FBQyxhQUFhO0lBQ2YsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLEtBQUs7SUFDUCxDQUFDLENBQUMsVUFBVTtJQUNaLENBQUMsQ0FBQyxnQkFBZ0I7SUFDbEIsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsUUFBUTtJQUNWLENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsZUFBZTtJQUNqQixDQUFDLENBQUMsbUJBQW1CO0lBQ3JCLENBQUMsQ0FBQyx3QkFBd0I7SUFDMUIsQ0FBQyxDQUFDLGtCQUFrQjtJQUNwQixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxZQUFZO0lBQ2QsQ0FBQyxDQUFDLGFBQWE7SUFDZixDQUFDLENBQUMsYUFBYTtJQUNmLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLGVBQWU7SUFDakIsQ0FBQyxDQUFDLFdBQVc7SUFDYixDQUFDLENBQUMsTUFBTTtJQUNSLENBQUMsQ0FBQyxZQUFZO0lBQ2QsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsTUFBTTtJQUNSLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLGNBQWM7SUFDaEIsQ0FBQyxDQUFDLG9CQUFvQjtJQUN0QixDQUFDLENBQUMsdUJBQXVCO0lBQ3pCLENBQUMsQ0FBQyxpQkFBaUI7SUFDbkIsQ0FBQyxDQUFDLFNBQVM7SUFDWCxDQUFDLENBQUMsS0FBSztJQUNQLENBQUMsQ0FBQyxTQUFTO0lBQ1gsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsZ0JBQWdCO0lBQ2xCLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxlQUFlO0lBQ2pCLENBQUMsQ0FBQyxhQUFhO0lBQ2YsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsbUJBQW1CO0lBQ3JCLENBQUMsQ0FBQyxPQUFPO0lBQ1QsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxhQUFhO0lBQ2YsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsY0FBYztJQUNoQixDQUFDLENBQUMsbUJBQW1CO0lBQ3JCLENBQUMsQ0FBQyxTQUFTO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICogYXMgZCBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgRElSRUNUSVZFUyA9IFtcbiAgZC5OdkFjY29yZGlvbixcbiAgZC5OdkFjY29yZGlvbkl0ZW0sXG4gIGQuTnZBbGVydCxcbiAgZC5OdkF2YXRhcixcbiAgZC5OdkJhZGdlLFxuICBkLk52QnJlYWRjcnVtYixcbiAgZC5OdkJyZWFkY3J1bWJzLFxuICBkLk52QnV0dG9uLFxuICBkLk52QnV0dG9uZ3JvdXAsXG4gIGQuTnZDYWxlbmRhcixcbiAgZC5OdkNvbCxcbiAgZC5OdkRhdGFncmlkLFxuICBkLk52RGF0YWdyaWRjb2x1bW4sXG4gIGQuTnZEaWFsb2csXG4gIGQuTnZEaWFsb2dmb290ZXIsXG4gIGQuTnZEaWFsb2doZWFkZXIsXG4gIGQuTnZEcmF3ZXIsXG4gIGQuTnZEcmF3ZXJmb290ZXIsXG4gIGQuTnZEcmF3ZXJoZWFkZXIsXG4gIGQuTnZGaWVsZGNoZWNrYm94LFxuICBkLk52RmllbGRkYXRlLFxuICBkLk52RmllbGRkYXRlcmFuZ2UsXG4gIGQuTnZGaWVsZGRyb3Bkb3duLFxuICBkLk52RmllbGRkcm9wZG93bml0ZW0sXG4gIGQuTnZGaWVsZGRyb3Bkb3duaXRlbWNoZWNrLFxuICBkLk52RmllbGRtdWx0aXNlbGVjdCxcbiAgZC5OdkZpZWxkbnVtYmVyLFxuICBkLk52RmllbGRwYXNzd29yZCxcbiAgZC5OdkZpZWxkcmFkaW8sXG4gIGQuTnZGaWVsZHNlbGVjdCxcbiAgZC5OdkZpZWxkc2xpZGVyLFxuICBkLk52RmllbGR0ZXh0LFxuICBkLk52RmllbGR0ZXh0YXJlYSxcbiAgZC5OdkZpZWxkdGltZSxcbiAgZC5Odkljb24sXG4gIGQuTnZJY29uYnV0dG9uLFxuICBkLk52TG9hZGVyLFxuICBkLk52TWVudSxcbiAgZC5Odk1lbnVpdGVtLFxuICBkLk52Tm90aWZpY2F0aW9uLFxuICBkLk52Tm90aWZpY2F0aW9uQnVsbGV0LFxuICBkLk52Tm90aWZpY2F0aW9uY29udGFpbmVyLFxuICBkLk52UGFnaW5hdGlvbnRhYmxlLFxuICBkLk52UG9wb3ZlcixcbiAgZC5OdlJvdyxcbiAgZC5OdlNpZGViYXIsXG4gIGQuTnZTaWRlYmFyY29udGVudCxcbiAgZC5OdlNpZGViYXJkaXZpZGVyLFxuICBkLk52U2lkZWJhcmZvb3RlcixcbiAgZC5OdlNpZGViYXJncm91cCxcbiAgZC5OdlNpZGViYXJoZWFkZXIsXG4gIGQuTnZTaWRlYmFybG9nbyxcbiAgZC5OdlNpZGViYXJuYXZpdGVtLFxuICBkLk52U2lkZWJhcm5hdnN1Yml0ZW0sXG4gIGQuTnZTcGxpdCxcbiAgZC5OdlN0YWNrLFxuICBkLk52VGFibGUsXG4gIGQuTnZUYWJsZWhlYWRlcixcbiAgZC5OdlRvZ2dsZSxcbiAgZC5OdlRvZ2dsZWJ1dHRvbixcbiAgZC5OdlRvZ2dsZWJ1dHRvbmdyb3VwLFxuICBkLk52VG9vbHRpcFxuXTtcbiJdfQ==
@@ -1284,6 +1284,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
1284
1284
  standalone: false
1285
1285
  }]
1286
1286
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1287
+ let NvPaginationtable = class NvPaginationtable {
1288
+ constructor(c, r, z) {
1289
+ this.z = z;
1290
+ this.pageIndexChanged = new EventEmitter();
1291
+ this.pageSizeChanged = new EventEmitter();
1292
+ c.detach();
1293
+ this.el = r.nativeElement;
1294
+ }
1295
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationtable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1296
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: NvPaginationtable, selector: "nv-paginationtable", inputs: { hideControls: "hideControls", hideFirstLast: "hideFirstLast", hidePrevNext: "hidePrevNext", labelPage: "labelPage", labelPageSizeOption: "labelPageSizeOption", labelTotal: "labelTotal", pageCount: "pageCount", pageIndex: "pageIndex", pageSize: "pageSize", rowCount: "rowCount" }, outputs: { pageIndexChanged: "pageIndexChanged", pageSizeChanged: "pageSizeChanged" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1297
+ };
1298
+ NvPaginationtable = __decorate([
1299
+ ProxyCmp({
1300
+ inputs: ['hideControls', 'hideFirstLast', 'hidePrevNext', 'labelPage', 'labelPageSizeOption', 'labelTotal', 'pageCount', 'pageIndex', 'pageSize', 'rowCount'],
1301
+ methods: ['firstPage', 'previousPage', 'nextPage', 'lastPage', 'setPageIndex', 'setPageSize']
1302
+ })
1303
+ ], NvPaginationtable);
1304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationtable, decorators: [{
1305
+ type: Component,
1306
+ args: [{
1307
+ selector: 'nv-paginationtable',
1308
+ changeDetection: ChangeDetectionStrategy.OnPush,
1309
+ template: '<ng-content></ng-content>',
1310
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1311
+ inputs: ['hideControls', 'hideFirstLast', 'hidePrevNext', 'labelPage', 'labelPageSizeOption', 'labelTotal', 'pageCount', 'pageIndex', 'pageSize', 'rowCount'],
1312
+ outputs: ['pageIndexChanged', 'pageSizeChanged'],
1313
+ standalone: false
1314
+ }]
1315
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { pageIndexChanged: [{
1316
+ type: Output
1317
+ }], pageSizeChanged: [{
1318
+ type: Output
1319
+ }] } });
1287
1320
  let NvPopover = class NvPopover {
1288
1321
  constructor(c, r, z) {
1289
1322
  this.z = z;
@@ -1825,6 +1858,7 @@ const DIRECTIVES = [
1825
1858
  NvNotification,
1826
1859
  NvNotificationBullet,
1827
1860
  NvNotificationcontainer,
1861
+ NvPaginationtable,
1828
1862
  NvPopover,
1829
1863
  NvRow,
1830
1864
  NvSidebar,
@@ -3018,12 +3052,27 @@ class NvDatatable {
3018
3052
 
3019
3053
  <!-- Render pagination if configured -->
3020
3054
  @if (paginationAPI()) {
3021
- <ng-container
3022
- *ngTemplateOutlet="
3023
- paginationTemplate || null;
3024
- context: { $implicit: paginationAPI() }
3025
- "
3026
- ></ng-container>
3055
+ @if (paginationTemplate) {
3056
+ <ng-container
3057
+ *ngTemplateOutlet="
3058
+ paginationTemplate;
3059
+ context: { $implicit: paginationAPI() }
3060
+ "
3061
+ ></ng-container>
3062
+ } @else if (mode() === 'client' && pagination() && !pagination()?.infinite) {
3063
+ <!-- Default pagination with nv-paginationtable (client mode only) -->
3064
+ <nv-paginationtable
3065
+ [pageIndex]="paginationAPI()!.pageIndex"
3066
+ [pageSize]="paginationAPI()!.pageSize"
3067
+ [pageCount]="paginationAPI()!.pageCount"
3068
+ [rowCount]="paginationAPI()!.rowCount"
3069
+ [attr.label-page]="pagination()?.labels?.page || null"
3070
+ [attr.label-total]="pagination()?.labels?.total || null"
3071
+ [attr.label-page-size-option]="pagination()?.labels?.pageSizeOption || null"
3072
+ (pageIndexChanged)="paginationAPI()!.setPageIndex($event.detail)"
3073
+ (pageSizeChanged)="paginationAPI()!.setPageSize($event.detail)"
3074
+ ></nv-paginationtable>
3075
+ }
3027
3076
  }
3028
3077
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FlexRenderDirective, selector: "[flexRender]", inputs: ["flexRender", "flexRenderProps", "flexRenderInjector"] }] }); }
3029
3078
  }
@@ -3105,12 +3154,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
3105
3154
 
3106
3155
  <!-- Render pagination if configured -->
3107
3156
  @if (paginationAPI()) {
3108
- <ng-container
3109
- *ngTemplateOutlet="
3110
- paginationTemplate || null;
3111
- context: { $implicit: paginationAPI() }
3112
- "
3113
- ></ng-container>
3157
+ @if (paginationTemplate) {
3158
+ <ng-container
3159
+ *ngTemplateOutlet="
3160
+ paginationTemplate;
3161
+ context: { $implicit: paginationAPI() }
3162
+ "
3163
+ ></ng-container>
3164
+ } @else if (mode() === 'client' && pagination() && !pagination()?.infinite) {
3165
+ <!-- Default pagination with nv-paginationtable (client mode only) -->
3166
+ <nv-paginationtable
3167
+ [pageIndex]="paginationAPI()!.pageIndex"
3168
+ [pageSize]="paginationAPI()!.pageSize"
3169
+ [pageCount]="paginationAPI()!.pageCount"
3170
+ [rowCount]="paginationAPI()!.rowCount"
3171
+ [attr.label-page]="pagination()?.labels?.page || null"
3172
+ [attr.label-total]="pagination()?.labels?.total || null"
3173
+ [attr.label-page-size-option]="pagination()?.labels?.pageSizeOption || null"
3174
+ (pageIndexChanged)="paginationAPI()!.setPageIndex($event.detail)"
3175
+ (pageSizeChanged)="paginationAPI()!.setPageSize($event.detail)"
3176
+ ></nv-paginationtable>
3177
+ }
3114
3178
  }
3115
3179
  `,
3116
3180
  }]
@@ -3886,6 +3950,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
3886
3950
  type: HostListener,
3887
3951
  args: ['hiddenChanged', ['$event']]
3888
3952
  }] } });
3953
+ class NvPaginationtableValueAccessor extends ValueAccessor {
3954
+ constructor(el) {
3955
+ super(el);
3956
+ }
3957
+ handlePageIndexChanged(event) {
3958
+ this.handleChangeEvent(event.target.pageIndex);
3959
+ }
3960
+ writeValue(value) {
3961
+ this.el.nativeElement.pageIndex = this.lastValue = value;
3962
+ }
3963
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationtableValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3964
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: NvPaginationtableValueAccessor, selector: "nv-paginationtable", host: { listeners: { "pageIndexChanged": "handlePageIndexChanged($event)" } }, providers: [
3965
+ {
3966
+ provide: NG_VALUE_ACCESSOR,
3967
+ useExisting: NvPaginationtableValueAccessor,
3968
+ multi: true,
3969
+ },
3970
+ ], usesInheritance: true, ngImport: i0 }); }
3971
+ }
3972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NvPaginationtableValueAccessor, decorators: [{
3973
+ type: Directive,
3974
+ args: [{
3975
+ selector: 'nv-paginationtable',
3976
+ providers: [
3977
+ {
3978
+ provide: NG_VALUE_ACCESSOR,
3979
+ useExisting: NvPaginationtableValueAccessor,
3980
+ multi: true,
3981
+ },
3982
+ ],
3983
+ }]
3984
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { handlePageIndexChanged: [{
3985
+ type: HostListener,
3986
+ args: ['pageIndexChanged', ['$event']]
3987
+ }] } });
3889
3988
  class NvPopoverValueAccessor extends ValueAccessor {
3890
3989
  constructor(el) {
3891
3990
  super(el);
@@ -4082,6 +4181,7 @@ const VALUE_ACCESSORS = [
4082
4181
  NvFieldtextareaValueAccessor,
4083
4182
  NvFieldtimeValueAccessor,
4084
4183
  NvNotificationValueAccessor,
4184
+ NvPaginationtableValueAccessor,
4085
4185
  NvPopoverValueAccessor,
4086
4186
  NvSidebarValueAccessor,
4087
4187
  NvSplitValueAccessor,
@@ -4444,7 +4544,7 @@ function provideNovaComponents() {
4444
4544
  }
4445
4545
  class NovaComponentsModule {
4446
4546
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4447
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsModule, declarations: [NvAccordion, NvAccordionItem, NvAlert, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCol, NvDatagrid, NvDatagridcolumn, NvDialog, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFielddate, NvFielddaterange, NvFielddropdown, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldnumber, NvFieldpassword, NvFieldradio, NvFieldselect, NvFieldslider, NvFieldtext, NvFieldtextarea, NvFieldtime, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationcontainer, NvPopover, NvRow, NvSidebar, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvStack, NvTable, NvTableheader, NvToggle, NvTogglebutton, NvTogglebuttongroup, NvTooltip], imports: [NvDatatable], exports: [NvAccordion, NvAccordionItem, NvAlert, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCol, NvDatagrid, NvDatagridcolumn, NvDialog, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFielddate, NvFielddaterange, NvFielddropdown, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldnumber, NvFieldpassword, NvFieldradio, NvFieldselect, NvFieldslider, NvFieldtext, NvFieldtextarea, NvFieldtime, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationcontainer, NvPopover, NvRow, NvSidebar, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvStack, NvTable, NvTableheader, NvToggle, NvTogglebutton, NvTogglebuttongroup, NvTooltip, NvDatatable] }); }
4547
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsModule, declarations: [NvAccordion, NvAccordionItem, NvAlert, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCol, NvDatagrid, NvDatagridcolumn, NvDialog, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFielddate, NvFielddaterange, NvFielddropdown, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldnumber, NvFieldpassword, NvFieldradio, NvFieldselect, NvFieldslider, NvFieldtext, NvFieldtextarea, NvFieldtime, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationcontainer, NvPaginationtable, NvPopover, NvRow, NvSidebar, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvStack, NvTable, NvTableheader, NvToggle, NvTogglebutton, NvTogglebuttongroup, NvTooltip], imports: [NvDatatable], exports: [NvAccordion, NvAccordionItem, NvAlert, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCol, NvDatagrid, NvDatagridcolumn, NvDialog, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFielddate, NvFielddaterange, NvFielddropdown, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldnumber, NvFieldpassword, NvFieldradio, NvFieldselect, NvFieldslider, NvFieldtext, NvFieldtextarea, NvFieldtime, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationcontainer, NvPaginationtable, NvPopover, NvRow, NvSidebar, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvStack, NvTable, NvTableheader, NvToggle, NvTogglebutton, NvTogglebuttongroup, NvTooltip, NvDatatable] }); }
4448
4548
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsModule, imports: [NvDatatable] }); }
4449
4549
  }
4450
4550
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsModule, decorators: [{
@@ -4457,7 +4557,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
4457
4557
  }] });
4458
4558
  class NovaComponentsValueAccessorModule {
4459
4559
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsValueAccessorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4460
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsValueAccessorModule, declarations: [NvAccordionValueAccessor, NvAlertValueAccessor, NvCalendarValueAccessor, NvDatagridValueAccessor, NvDialogValueAccessor, NvDrawerValueAccessor, NvFieldcheckboxValueAccessor, NvFielddateValueAccessor, NvFielddaterangeValueAccessor, NvFielddropdownValueAccessor, NvFieldmultiselectValueAccessor, NvFieldnumberValueAccessor, NvFieldpasswordValueAccessor, NvFieldradioValueAccessor, NvFieldselectValueAccessor, NvFieldsliderValueAccessor, NvFieldtextValueAccessor, NvFieldtextareaValueAccessor, NvFieldtimeValueAccessor, NvNotificationValueAccessor, NvPopoverValueAccessor, NvSidebarValueAccessor, NvSplitValueAccessor, NvToggleValueAccessor, NvTogglebuttongroupValueAccessor], exports: [NvAccordionValueAccessor, NvAlertValueAccessor, NvCalendarValueAccessor, NvDatagridValueAccessor, NvDialogValueAccessor, NvDrawerValueAccessor, NvFieldcheckboxValueAccessor, NvFielddateValueAccessor, NvFielddaterangeValueAccessor, NvFielddropdownValueAccessor, NvFieldmultiselectValueAccessor, NvFieldnumberValueAccessor, NvFieldpasswordValueAccessor, NvFieldradioValueAccessor, NvFieldselectValueAccessor, NvFieldsliderValueAccessor, NvFieldtextValueAccessor, NvFieldtextareaValueAccessor, NvFieldtimeValueAccessor, NvNotificationValueAccessor, NvPopoverValueAccessor, NvSidebarValueAccessor, NvSplitValueAccessor, NvToggleValueAccessor, NvTogglebuttongroupValueAccessor] }); }
4560
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsValueAccessorModule, declarations: [NvAccordionValueAccessor, NvAlertValueAccessor, NvCalendarValueAccessor, NvDatagridValueAccessor, NvDialogValueAccessor, NvDrawerValueAccessor, NvFieldcheckboxValueAccessor, NvFielddateValueAccessor, NvFielddaterangeValueAccessor, NvFielddropdownValueAccessor, NvFieldmultiselectValueAccessor, NvFieldnumberValueAccessor, NvFieldpasswordValueAccessor, NvFieldradioValueAccessor, NvFieldselectValueAccessor, NvFieldsliderValueAccessor, NvFieldtextValueAccessor, NvFieldtextareaValueAccessor, NvFieldtimeValueAccessor, NvNotificationValueAccessor, NvPaginationtableValueAccessor, NvPopoverValueAccessor, NvSidebarValueAccessor, NvSplitValueAccessor, NvToggleValueAccessor, NvTogglebuttongroupValueAccessor], exports: [NvAccordionValueAccessor, NvAlertValueAccessor, NvCalendarValueAccessor, NvDatagridValueAccessor, NvDialogValueAccessor, NvDrawerValueAccessor, NvFieldcheckboxValueAccessor, NvFielddateValueAccessor, NvFielddaterangeValueAccessor, NvFielddropdownValueAccessor, NvFieldmultiselectValueAccessor, NvFieldnumberValueAccessor, NvFieldpasswordValueAccessor, NvFieldradioValueAccessor, NvFieldselectValueAccessor, NvFieldsliderValueAccessor, NvFieldtextValueAccessor, NvFieldtextareaValueAccessor, NvFieldtimeValueAccessor, NvNotificationValueAccessor, NvPaginationtableValueAccessor, NvPopoverValueAccessor, NvSidebarValueAccessor, NvSplitValueAccessor, NvToggleValueAccessor, NvTogglebuttongroupValueAccessor] }); }
4461
4561
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsValueAccessorModule }); }
4462
4562
  }
4463
4563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: NovaComponentsValueAccessorModule, decorators: [{
@@ -4488,5 +4588,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
4488
4588
  * Generated bundle index. Do not edit.
4489
4589
  */
4490
4590
 
4491
- export { NotificationService, NotificationServiceComponent, NovaComponentsModule, NovaComponentsProvidersModule, NovaComponentsValueAccessorModule, NvAccordion, NvAccordionItem, NvAccordionValueAccessor, NvAlert, NvAlertValueAccessor, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCalendarValueAccessor, NvCol, NvDatagrid, NvDatagridValueAccessor, NvDatagridcolumn, NvDatatable, NvDatatableCellDirective, NvDialog, NvDialogValueAccessor, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerValueAccessor, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFieldcheckboxValueAccessor, NvFielddate, NvFielddateValueAccessor, NvFielddaterange, NvFielddaterangeValueAccessor, NvFielddropdown, NvFielddropdownValueAccessor, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldmultiselectValueAccessor, NvFieldnumber, NvFieldnumberValueAccessor, NvFieldpassword, NvFieldpasswordValueAccessor, NvFieldradio, NvFieldradioValueAccessor, NvFieldselect, NvFieldselectValueAccessor, NvFieldslider, NvFieldsliderValueAccessor, NvFieldtext, NvFieldtextValueAccessor, NvFieldtextarea, NvFieldtextareaValueAccessor, NvFieldtime, NvFieldtimeValueAccessor, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationValueAccessor, NvNotificationcontainer, NvPopover, NvPopoverValueAccessor, NvRow, NvSidebar, NvSidebarValueAccessor, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvSplitValueAccessor, NvStack, NvTable, NvTableheader, NvToggle, NvToggleValueAccessor, NvTogglebutton, NvTogglebuttongroup, NvTogglebuttongroupValueAccessor, NvTooltip, VALUE_ACCESSORS, makeColumn, flexRenderComponent as nvDatatableRenderComponent, provideNovaComponents };
4591
+ export { NotificationService, NotificationServiceComponent, NovaComponentsModule, NovaComponentsProvidersModule, NovaComponentsValueAccessorModule, NvAccordion, NvAccordionItem, NvAccordionValueAccessor, NvAlert, NvAlertValueAccessor, NvAvatar, NvBadge, NvBreadcrumb, NvBreadcrumbs, NvButton, NvButtongroup, NvCalendar, NvCalendarValueAccessor, NvCol, NvDatagrid, NvDatagridValueAccessor, NvDatagridcolumn, NvDatatable, NvDatatableCellDirective, NvDialog, NvDialogValueAccessor, NvDialogfooter, NvDialogheader, NvDrawer, NvDrawerValueAccessor, NvDrawerfooter, NvDrawerheader, NvFieldcheckbox, NvFieldcheckboxValueAccessor, NvFielddate, NvFielddateValueAccessor, NvFielddaterange, NvFielddaterangeValueAccessor, NvFielddropdown, NvFielddropdownValueAccessor, NvFielddropdownitem, NvFielddropdownitemcheck, NvFieldmultiselect, NvFieldmultiselectValueAccessor, NvFieldnumber, NvFieldnumberValueAccessor, NvFieldpassword, NvFieldpasswordValueAccessor, NvFieldradio, NvFieldradioValueAccessor, NvFieldselect, NvFieldselectValueAccessor, NvFieldslider, NvFieldsliderValueAccessor, NvFieldtext, NvFieldtextValueAccessor, NvFieldtextarea, NvFieldtextareaValueAccessor, NvFieldtime, NvFieldtimeValueAccessor, NvIcon, NvIconbutton, NvLoader, NvMenu, NvMenuitem, NvNotification, NvNotificationBullet, NvNotificationValueAccessor, NvNotificationcontainer, NvPaginationtable, NvPaginationtableValueAccessor, NvPopover, NvPopoverValueAccessor, NvRow, NvSidebar, NvSidebarValueAccessor, NvSidebarcontent, NvSidebardivider, NvSidebarfooter, NvSidebargroup, NvSidebarheader, NvSidebarlogo, NvSidebarnavitem, NvSidebarnavsubitem, NvSplit, NvSplitValueAccessor, NvStack, NvTable, NvTableheader, NvToggle, NvToggleValueAccessor, NvTogglebutton, NvTogglebuttongroup, NvTogglebuttongroupValueAccessor, NvTooltip, VALUE_ACCESSORS, makeColumn, flexRenderComponent as nvDatatableRenderComponent, provideNovaComponents };
4492
4592
  //# sourceMappingURL=nova-components.mjs.map