primeng 13.0.3 → 13.0.4

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 (49) hide show
  1. package/api/translation.d.ts +1 -0
  2. package/api/translationkeys.d.ts +1 -0
  3. package/calendar/calendar.d.ts +5 -2
  4. package/esm2020/api/primengconfig.mjs +2 -1
  5. package/esm2020/api/translation.mjs +1 -1
  6. package/esm2020/api/translationkeys.mjs +2 -1
  7. package/esm2020/calendar/calendar.mjs +19 -9
  8. package/esm2020/dropdown/dropdown.mjs +2 -2
  9. package/esm2020/password/password.mjs +8 -3
  10. package/esm2020/table/table.mjs +76 -63
  11. package/esm2020/tabmenu/tabmenu.mjs +23 -12
  12. package/esm2020/treetable/treetable.mjs +14 -17
  13. package/fesm2015/primeng-api.mjs +2 -0
  14. package/fesm2015/primeng-api.mjs.map +1 -1
  15. package/fesm2015/primeng-calendar.mjs +18 -8
  16. package/fesm2015/primeng-calendar.mjs.map +1 -1
  17. package/fesm2015/primeng-dropdown.mjs +1 -1
  18. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  19. package/fesm2015/primeng-password.mjs +7 -2
  20. package/fesm2015/primeng-password.mjs.map +1 -1
  21. package/fesm2015/primeng-table.mjs +75 -62
  22. package/fesm2015/primeng-table.mjs.map +1 -1
  23. package/fesm2015/primeng-tabmenu.mjs +22 -11
  24. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  25. package/fesm2015/primeng-treetable.mjs +13 -16
  26. package/fesm2015/primeng-treetable.mjs.map +1 -1
  27. package/fesm2020/primeng-api.mjs +2 -0
  28. package/fesm2020/primeng-api.mjs.map +1 -1
  29. package/fesm2020/primeng-calendar.mjs +18 -8
  30. package/fesm2020/primeng-calendar.mjs.map +1 -1
  31. package/fesm2020/primeng-dropdown.mjs +1 -1
  32. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  33. package/fesm2020/primeng-password.mjs +7 -2
  34. package/fesm2020/primeng-password.mjs.map +1 -1
  35. package/fesm2020/primeng-table.mjs +75 -62
  36. package/fesm2020/primeng-table.mjs.map +1 -1
  37. package/fesm2020/primeng-tabmenu.mjs +22 -11
  38. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  39. package/fesm2020/primeng-treetable.mjs +13 -16
  40. package/fesm2020/primeng-treetable.mjs.map +1 -1
  41. package/package.json +1 -1
  42. package/password/password.d.ts +1 -0
  43. package/resources/themes/lara-dark-blue/theme.css +349 -349
  44. package/resources/themes/lara-dark-indigo/theme.css +349 -349
  45. package/resources/themes/lara-dark-purple/theme.css +349 -349
  46. package/resources/themes/lara-dark-teal/theme.css +349 -349
  47. package/table/table.d.ts +7 -4
  48. package/tabmenu/tabmenu.d.ts +7 -1
  49. package/treetable/treetable.d.ts +2 -1
@@ -630,22 +630,26 @@ class Table {
630
630
  return;
631
631
  }
632
632
  if (this.selectionMode) {
633
+ let rowData = event.rowData;
634
+ let rowIndex = event.rowIndex;
633
635
  this.preventSelectionSetterPropagation = true;
634
636
  if (this.isMultipleSelectionMode() && event.originalEvent.shiftKey && this.anchorRowIndex != null) {
635
637
  DomHandler.clearSelection();
636
638
  if (this.rangeRowIndex != null) {
637
639
  this.clearSelectionRange(event.originalEvent);
638
640
  }
639
- this.rangeRowIndex = event.rowIndex;
640
- this.selectRange(event.originalEvent, event.rowIndex);
641
+ this.rangeRowIndex = rowIndex;
642
+ this.selectRange(event.originalEvent, rowIndex);
641
643
  }
642
644
  else {
643
- let rowData = event.rowData;
644
645
  let selected = this.isSelected(rowData);
646
+ if (!selected && !this.isRowSelectable(rowData, rowIndex)) {
647
+ return;
648
+ }
645
649
  let metaSelection = this.rowTouched ? false : this.metaKeySelection;
646
650
  let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(rowData, this.dataKey)) : null;
647
- this.anchorRowIndex = event.rowIndex;
648
- this.rangeRowIndex = event.rowIndex;
651
+ this.anchorRowIndex = rowIndex;
652
+ this.rangeRowIndex = rowIndex;
649
653
  if (metaSelection) {
650
654
  let metaKey = event.originalEvent.metaKey || event.originalEvent.ctrlKey;
651
655
  if (selected && metaKey) {
@@ -687,7 +691,7 @@ class Table {
687
691
  this.selectionKeys[dataKeyValue] = 1;
688
692
  }
689
693
  }
690
- this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
694
+ this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: rowIndex });
691
695
  }
692
696
  }
693
697
  else {
@@ -696,12 +700,12 @@ class Table {
696
700
  this._selection = null;
697
701
  this.selectionKeys = {};
698
702
  this.selectionChange.emit(this.selection);
699
- this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
703
+ this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: rowIndex });
700
704
  }
701
705
  else {
702
706
  this._selection = rowData;
703
707
  this.selectionChange.emit(this.selection);
704
- this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
708
+ this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: rowIndex });
705
709
  if (dataKeyValue) {
706
710
  this.selectionKeys = {};
707
711
  this.selectionKeys[dataKeyValue] = 1;
@@ -713,7 +717,7 @@ class Table {
713
717
  let selectionIndex = this.findIndexInSelection(rowData);
714
718
  this._selection = this.selection.filter((val, i) => i != selectionIndex);
715
719
  this.selectionChange.emit(this.selection);
716
- this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
720
+ this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: rowIndex });
717
721
  if (dataKeyValue) {
718
722
  delete this.selectionKeys[dataKeyValue];
719
723
  }
@@ -721,7 +725,7 @@ class Table {
721
725
  else {
722
726
  this._selection = this.selection ? [...this.selection, rowData] : [rowData];
723
727
  this.selectionChange.emit(this.selection);
724
- this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
728
+ this.onRowSelect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: rowIndex });
725
729
  if (dataKeyValue) {
726
730
  this.selectionKeys[dataKeyValue] = 1;
727
731
  }
@@ -742,6 +746,7 @@ class Table {
742
746
  handleRowRightClick(event) {
743
747
  if (this.contextMenu) {
744
748
  const rowData = event.rowData;
749
+ const rowIndex = event.rowIndex;
745
750
  if (this.contextMenuSelectionMode === 'separate') {
746
751
  this.contextMenuSelection = rowData;
747
752
  this.contextMenuSelectionChange.emit(rowData);
@@ -754,6 +759,9 @@ class Table {
754
759
  let selected = this.isSelected(rowData);
755
760
  let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(rowData, this.dataKey)) : null;
756
761
  if (!selected) {
762
+ if (!this.isRowSelectable(rowData, rowIndex)) {
763
+ return;
764
+ }
757
765
  if (this.isSingleSelectionMode()) {
758
766
  this.selection = rowData;
759
767
  this.selectionChange.emit(rowData);
@@ -798,6 +806,9 @@ class Table {
798
806
  for (let i = rangeStart; i <= rangeEnd; i++) {
799
807
  let rangeRowData = this.filteredValue ? this.filteredValue[i] : this.value[i];
800
808
  if (!this.isSelected(rangeRowData)) {
809
+ if (!this.isRowSelectable(rangeRowData, rowIndex)) {
810
+ continue;
811
+ }
801
812
  rangeRowsData.push(rangeRowData);
802
813
  this._selection = [...this.selection, rangeRowData];
803
814
  let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(rangeRowData, this.dataKey)) : null;
@@ -860,9 +871,18 @@ class Table {
860
871
  }
861
872
  return index;
862
873
  }
874
+ isRowSelectable(data, index) {
875
+ if (this.rowSelectable && !this.rowSelectable({ data, index })) {
876
+ return false;
877
+ }
878
+ return true;
879
+ }
863
880
  toggleRowWithRadio(event, rowData) {
864
881
  this.preventSelectionSetterPropagation = true;
865
882
  if (this.selection != rowData) {
883
+ if (!this.isRowSelectable(rowData, event.rowIndex)) {
884
+ return;
885
+ }
866
886
  this._selection = rowData;
867
887
  this.selectionChange.emit(this.selection);
868
888
  this.onRowSelect.emit({ originalEvent: event.originalEvent, index: event.rowIndex, data: rowData, type: 'radiobutton' });
@@ -896,6 +916,9 @@ class Table {
896
916
  }
897
917
  }
898
918
  else {
919
+ if (!this.isRowSelectable(rowData, event.rowIndex)) {
920
+ return;
921
+ }
899
922
  this._selection = this.selection ? [...this.selection, rowData] : [rowData];
900
923
  this.selectionChange.emit(this.selection);
901
924
  this.onRowSelect.emit({ originalEvent: event.originalEvent, index: event.rowIndex, data: rowData, type: 'checkbox' });
@@ -915,7 +938,10 @@ class Table {
915
938
  else {
916
939
  const data = this.selectionPageOnly ? this.dataToRender : (this.filteredValue || this.value || []);
917
940
  let selection = this.selectionPageOnly && this._selection ? this._selection.filter(s => !data.some(d => this.equals(s, d))) : [];
918
- check && (selection = this.frozenValue ? [...selection, ...this.frozenValue, ...data] : [...selection, ...data]);
941
+ if (check) {
942
+ selection = this.frozenValue ? [...selection, ...this.frozenValue, ...data] : [...selection, ...data];
943
+ selection = this.rowSelectable ? selection.filter((data, index) => this.rowSelectable({ data, index })) : selection;
944
+ }
919
945
  this._selection = selection;
920
946
  this.preventSelectionSetterPropagation = true;
921
947
  this.updateSelectionKeys();
@@ -1791,7 +1817,7 @@ class Table {
1791
1817
  }
1792
1818
  }
1793
1819
  Table.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Table, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1794
- Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: Table, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollDelay: "virtualScrollDelay", virtualRowHeight: "virtualRowHeight", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll" }, outputs: { selectAllChange: "selectAllChange", selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "virtualScrollBody", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1820
+ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: Table, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollDelay: "virtualScrollDelay", virtualRowHeight: "virtualRowHeight", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll" }, outputs: { selectAllChange: "selectAllChange", selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "virtualScrollBody", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1795
1821
  <div #container [ngStyle]="style" [class]="styleClass"
1796
1822
  [ngClass]="{'p-datatable p-component': true,
1797
1823
  'p-datatable-hoverable-rows': (rowHover||selectionMode),
@@ -1995,6 +2021,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
1995
2021
  type: Input
1996
2022
  }], metaKeySelection: [{
1997
2023
  type: Input
2024
+ }], rowSelectable: [{
2025
+ type: Input
1998
2026
  }], rowTrackBy: [{
1999
2027
  type: Input
2000
2028
  }], lazy: [{
@@ -3565,10 +3593,10 @@ class TableRadioButton {
3565
3593
  DomHandler.clearSelection();
3566
3594
  }
3567
3595
  onFocus() {
3568
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3596
+ this.focused = true;
3569
3597
  }
3570
3598
  onBlur() {
3571
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3599
+ this.focused = false;
3572
3600
  }
3573
3601
  ngOnDestroy() {
3574
3602
  if (this.subscription) {
@@ -3577,13 +3605,13 @@ class TableRadioButton {
3577
3605
  }
3578
3606
  }
3579
3607
  TableRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3580
- TableRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableRadioButton, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "boxViewChild", first: true, predicate: ["box"], descendants: true }], ngImport: i0, template: `
3581
- <div class="p-radiobutton p-component" (click)="onClick($event)">
3608
+ TableRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableRadioButton, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3609
+ <div #container class="p-radiobutton p-component" [ngClass]="{'p-radiobutton-focused':focused, 'p-radiobutton-disabled': disabled}" (click)="onClick($event)">
3582
3610
  <div class="p-hidden-accessible">
3583
3611
  <input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3584
3612
  [disabled]="disabled" [attr.aria-label]="ariaLabel">
3585
3613
  </div>
3586
- <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3614
+ <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3587
3615
  <div class="p-radiobutton-icon"></div>
3588
3616
  </div>
3589
3617
  </div>
@@ -3593,12 +3621,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3593
3621
  args: [{
3594
3622
  selector: 'p-tableRadioButton',
3595
3623
  template: `
3596
- <div class="p-radiobutton p-component" (click)="onClick($event)">
3624
+ <div #container class="p-radiobutton p-component" [ngClass]="{'p-radiobutton-focused':focused, 'p-radiobutton-disabled': disabled}" (click)="onClick($event)">
3597
3625
  <div class="p-hidden-accessible">
3598
3626
  <input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3599
3627
  [disabled]="disabled" [attr.aria-label]="ariaLabel">
3600
3628
  </div>
3601
- <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3629
+ <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3602
3630
  <div class="p-radiobutton-icon"></div>
3603
3631
  </div>
3604
3632
  </div>
@@ -3621,9 +3649,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3621
3649
  type: Input
3622
3650
  }], ariaLabel: [{
3623
3651
  type: Input
3624
- }], boxViewChild: [{
3625
- type: ViewChild,
3626
- args: ['box']
3627
3652
  }] } });
3628
3653
  class TableCheckbox {
3629
3654
  constructor(dt, tableService, cd) {
@@ -3648,10 +3673,10 @@ class TableCheckbox {
3648
3673
  DomHandler.clearSelection();
3649
3674
  }
3650
3675
  onFocus() {
3651
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3676
+ this.focused = true;
3652
3677
  }
3653
3678
  onBlur() {
3654
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3679
+ this.focused = false;
3655
3680
  }
3656
3681
  ngOnDestroy() {
3657
3682
  if (this.subscription) {
@@ -3660,14 +3685,14 @@ class TableCheckbox {
3660
3685
  }
3661
3686
  }
3662
3687
  TableCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3663
- TableCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableCheckbox, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "boxViewChild", first: true, predicate: ["box"], descendants: true }], ngImport: i0, template: `
3664
- <div class="p-checkbox p-component" (click)="onClick($event)">
3688
+ TableCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableCheckbox, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3689
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3665
3690
  <div class="p-hidden-accessible">
3666
3691
  <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled"
3667
3692
  [attr.required]="required" [attr.aria-label]="ariaLabel">
3668
3693
  </div>
3669
3694
  <div #box [ngClass]="{'p-checkbox-box p-component':true,
3670
- 'p-highlight':checked, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3695
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3671
3696
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3672
3697
  </div>
3673
3698
  </div>
@@ -3677,13 +3702,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3677
3702
  args: [{
3678
3703
  selector: 'p-tableCheckbox',
3679
3704
  template: `
3680
- <div class="p-checkbox p-component" (click)="onClick($event)">
3705
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3681
3706
  <div class="p-hidden-accessible">
3682
3707
  <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled"
3683
3708
  [attr.required]="required" [attr.aria-label]="ariaLabel">
3684
3709
  </div>
3685
3710
  <div #box [ngClass]="{'p-checkbox-box p-component':true,
3686
- 'p-highlight':checked, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3711
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3687
3712
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3688
3713
  </div>
3689
3714
  </div>
@@ -3708,9 +3733,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3708
3733
  type: Input
3709
3734
  }], ariaLabel: [{
3710
3735
  type: Input
3711
- }], boxViewChild: [{
3712
- type: ViewChild,
3713
- args: ['box']
3714
3736
  }] } });
3715
3737
  class TableHeaderCheckbox {
3716
3738
  constructor(dt, tableService, cd) {
@@ -3736,10 +3758,10 @@ class TableHeaderCheckbox {
3736
3758
  DomHandler.clearSelection();
3737
3759
  }
3738
3760
  onFocus() {
3739
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3761
+ this.focused = true;
3740
3762
  }
3741
3763
  onBlur() {
3742
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3764
+ this.focused = false;
3743
3765
  }
3744
3766
  isDisabled() {
3745
3767
  return this.disabled || !this.dt.value || !this.dt.value.length;
@@ -3760,32 +3782,20 @@ class TableHeaderCheckbox {
3760
3782
  else {
3761
3783
  const data = this.dt.selectionPageOnly ? this.dt.dataToRender : (this.dt.filteredValue || this.dt.value || []);
3762
3784
  const val = this.dt.frozenValue ? [...this.dt.frozenValue, ...data] : data;
3763
- return val && this.dt.selection && val.every(v => this.dt.selection.some(s => this.dt.equals(v, s)));
3764
- }
3765
- }
3766
- isAllFilteredValuesChecked() {
3767
- if (!this.dt.filteredValue) {
3768
- return false;
3769
- }
3770
- else {
3771
- for (let rowData of this.dt.filteredValue) {
3772
- if (!this.dt.isSelected(rowData)) {
3773
- return false;
3774
- }
3775
- }
3776
- return true;
3785
+ const selectableVal = this.dt.rowSelectable ? val.filter((data, index) => this.dt.rowSelectable({ data, index })) : val;
3786
+ return selectableVal && this.dt.selection && selectableVal.every(v => this.dt.selection.some(s => this.dt.equals(v, s)));
3777
3787
  }
3778
3788
  }
3779
3789
  }
3780
3790
  TableHeaderCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3781
- TableHeaderCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "boxViewChild", first: true, predicate: ["box"], descendants: true }], ngImport: i0, template: `
3782
- <div class="p-checkbox p-component" (click)="onClick($event)">
3791
+ TableHeaderCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "boxViewChild", first: true, predicate: ["box"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
3792
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3783
3793
  <div class="p-hidden-accessible">
3784
3794
  <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3785
3795
  [disabled]="isDisabled()" [attr.aria-label]="ariaLabel">
3786
3796
  </div>
3787
3797
  <div #box [ngClass]="{'p-checkbox-box':true,
3788
- 'p-highlight':checked, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3798
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3789
3799
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3790
3800
  </div>
3791
3801
  </div>
@@ -3795,13 +3805,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3795
3805
  args: [{
3796
3806
  selector: 'p-tableHeaderCheckbox',
3797
3807
  template: `
3798
- <div class="p-checkbox p-component" (click)="onClick($event)">
3808
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3799
3809
  <div class="p-hidden-accessible">
3800
3810
  <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3801
3811
  [disabled]="isDisabled()" [attr.aria-label]="ariaLabel">
3802
3812
  </div>
3803
3813
  <div #box [ngClass]="{'p-checkbox-box':true,
3804
- 'p-highlight':checked, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3814
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3805
3815
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3806
3816
  </div>
3807
3817
  </div>
@@ -3815,6 +3825,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3815
3825
  }], ctorParameters: function () { return [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { boxViewChild: [{
3816
3826
  type: ViewChild,
3817
3827
  args: ['box']
3828
+ }], containerViewChild: [{
3829
+ type: ViewChild,
3830
+ args: ['container']
3818
3831
  }], disabled: [{
3819
3832
  type: Input
3820
3833
  }], inputId: [{
@@ -3980,14 +3993,14 @@ ColumnFilterFormElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3980
3993
  <ng-container [ngSwitch]="type">
3981
3994
  <input *ngSwitchCase="'text'" type="text" pInputText [value]="filterConstraint?.value" (input)="onModelChange($event.target.value)"
3982
3995
  (keydown.enter)="onTextInputEnterKeyDown($event)" [attr.placeholder]="placeholder">
3983
- <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true" [attr.placeholder]="placeholder"
3996
+ <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true"
3984
3997
  [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder"
3985
3998
  [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-inputNumber>
3986
3999
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
3987
- <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4000
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
3988
4001
  </ng-container>
3989
4002
  </ng-template>
3990
- `, isInline: true, components: [{ type: i5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i6.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }, { type: i7.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.InputText, selector: "[pInputText]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
4003
+ `, isInline: true, components: [{ type: i5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i6.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }, { type: i7.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.InputText, selector: "[pInputText]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
3991
4004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3992
4005
  type: Component,
3993
4006
  args: [{
@@ -4000,11 +4013,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
4000
4013
  <ng-container [ngSwitch]="type">
4001
4014
  <input *ngSwitchCase="'text'" type="text" pInputText [value]="filterConstraint?.value" (input)="onModelChange($event.target.value)"
4002
4015
  (keydown.enter)="onTextInputEnterKeyDown($event)" [attr.placeholder]="placeholder">
4003
- <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true" [attr.placeholder]="placeholder"
4016
+ <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true"
4004
4017
  [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder"
4005
4018
  [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-inputNumber>
4006
4019
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
4007
- <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4020
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4008
4021
  </ng-container>
4009
4022
  </ng-template>
4010
4023
  `,
@@ -4428,8 +4441,8 @@ ColumnFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
4428
4441
  <button type="button" pButton [label]="addRuleButtonLabel" icon="pi pi-plus" class="p-column-filter-add-button p-button-text p-button-sm" (click)="addConstraint()" pRipple></button>
4429
4442
  </div>
4430
4443
  <div class="p-column-filter-buttonbar">
4431
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4432
- <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" [label]="applyButtonLabel" pRipple></button>
4444
+ <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4445
+ <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
4433
4446
  </div>
4434
4447
  </ng-template>
4435
4448
  <ng-container *ngTemplateOutlet="footerTemplate; context: {$implicit: field}"></ng-container>
@@ -4486,8 +4499,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
4486
4499
  <button type="button" pButton [label]="addRuleButtonLabel" icon="pi pi-plus" class="p-column-filter-add-button p-button-text p-button-sm" (click)="addConstraint()" pRipple></button>
4487
4500
  </div>
4488
4501
  <div class="p-column-filter-buttonbar">
4489
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4490
- <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" [label]="applyButtonLabel" pRipple></button>
4502
+ <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4503
+ <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
4491
4504
  </div>
4492
4505
  </ng-template>
4493
4506
  <ng-container *ngTemplateOutlet="footerTemplate; context: {$implicit: field}"></ng-container>