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: [{
@@ -3567,10 +3595,10 @@ class TableRadioButton {
3567
3595
  DomHandler.clearSelection();
3568
3596
  }
3569
3597
  onFocus() {
3570
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3598
+ this.focused = true;
3571
3599
  }
3572
3600
  onBlur() {
3573
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3601
+ this.focused = false;
3574
3602
  }
3575
3603
  ngOnDestroy() {
3576
3604
  if (this.subscription) {
@@ -3579,13 +3607,13 @@ class TableRadioButton {
3579
3607
  }
3580
3608
  }
3581
3609
  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 });
3582
- 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: `
3583
- <div class="p-radiobutton p-component" (click)="onClick($event)">
3610
+ 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: `
3611
+ <div #container class="p-radiobutton p-component" [ngClass]="{'p-radiobutton-focused':focused, 'p-radiobutton-disabled': disabled}" (click)="onClick($event)">
3584
3612
  <div class="p-hidden-accessible">
3585
3613
  <input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3586
3614
  [disabled]="disabled" [attr.aria-label]="ariaLabel">
3587
3615
  </div>
3588
- <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3616
+ <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3589
3617
  <div class="p-radiobutton-icon"></div>
3590
3618
  </div>
3591
3619
  </div>
@@ -3595,12 +3623,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3595
3623
  args: [{
3596
3624
  selector: 'p-tableRadioButton',
3597
3625
  template: `
3598
- <div class="p-radiobutton p-component" (click)="onClick($event)">
3626
+ <div #container class="p-radiobutton p-component" [ngClass]="{'p-radiobutton-focused':focused, 'p-radiobutton-disabled': disabled}" (click)="onClick($event)">
3599
3627
  <div class="p-hidden-accessible">
3600
3628
  <input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3601
3629
  [disabled]="disabled" [attr.aria-label]="ariaLabel">
3602
3630
  </div>
3603
- <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3631
+ <div #box [ngClass]="{'p-radiobutton-box p-component':true, 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="radio" [attr.aria-checked]="checked">
3604
3632
  <div class="p-radiobutton-icon"></div>
3605
3633
  </div>
3606
3634
  </div>
@@ -3623,9 +3651,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3623
3651
  type: Input
3624
3652
  }], ariaLabel: [{
3625
3653
  type: Input
3626
- }], boxViewChild: [{
3627
- type: ViewChild,
3628
- args: ['box']
3629
3654
  }] } });
3630
3655
  class TableCheckbox {
3631
3656
  constructor(dt, tableService, cd) {
@@ -3650,10 +3675,10 @@ class TableCheckbox {
3650
3675
  DomHandler.clearSelection();
3651
3676
  }
3652
3677
  onFocus() {
3653
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3678
+ this.focused = true;
3654
3679
  }
3655
3680
  onBlur() {
3656
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3681
+ this.focused = false;
3657
3682
  }
3658
3683
  ngOnDestroy() {
3659
3684
  if (this.subscription) {
@@ -3662,14 +3687,14 @@ class TableCheckbox {
3662
3687
  }
3663
3688
  }
3664
3689
  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 });
3665
- 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: `
3666
- <div class="p-checkbox p-component" (click)="onClick($event)">
3690
+ 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: `
3691
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3667
3692
  <div class="p-hidden-accessible">
3668
3693
  <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled"
3669
3694
  [attr.required]="required" [attr.aria-label]="ariaLabel">
3670
3695
  </div>
3671
3696
  <div #box [ngClass]="{'p-checkbox-box p-component':true,
3672
- 'p-highlight':checked, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3697
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3673
3698
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3674
3699
  </div>
3675
3700
  </div>
@@ -3679,13 +3704,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3679
3704
  args: [{
3680
3705
  selector: 'p-tableCheckbox',
3681
3706
  template: `
3682
- <div class="p-checkbox p-component" (click)="onClick($event)">
3707
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3683
3708
  <div class="p-hidden-accessible">
3684
3709
  <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled"
3685
3710
  [attr.required]="required" [attr.aria-label]="ariaLabel">
3686
3711
  </div>
3687
3712
  <div #box [ngClass]="{'p-checkbox-box p-component':true,
3688
- 'p-highlight':checked, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3713
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled':disabled}" role="checkbox" [attr.aria-checked]="checked">
3689
3714
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3690
3715
  </div>
3691
3716
  </div>
@@ -3710,9 +3735,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3710
3735
  type: Input
3711
3736
  }], ariaLabel: [{
3712
3737
  type: Input
3713
- }], boxViewChild: [{
3714
- type: ViewChild,
3715
- args: ['box']
3716
3738
  }] } });
3717
3739
  class TableHeaderCheckbox {
3718
3740
  constructor(dt, tableService, cd) {
@@ -3738,10 +3760,10 @@ class TableHeaderCheckbox {
3738
3760
  DomHandler.clearSelection();
3739
3761
  }
3740
3762
  onFocus() {
3741
- DomHandler.addClass(this.boxViewChild.nativeElement, 'p-focus');
3763
+ this.focused = true;
3742
3764
  }
3743
3765
  onBlur() {
3744
- DomHandler.removeClass(this.boxViewChild.nativeElement, 'p-focus');
3766
+ this.focused = false;
3745
3767
  }
3746
3768
  isDisabled() {
3747
3769
  return this.disabled || !this.dt.value || !this.dt.value.length;
@@ -3762,32 +3784,20 @@ class TableHeaderCheckbox {
3762
3784
  else {
3763
3785
  const data = this.dt.selectionPageOnly ? this.dt.dataToRender : (this.dt.filteredValue || this.dt.value || []);
3764
3786
  const val = this.dt.frozenValue ? [...this.dt.frozenValue, ...data] : data;
3765
- return val && this.dt.selection && val.every(v => this.dt.selection.some(s => this.dt.equals(v, s)));
3766
- }
3767
- }
3768
- isAllFilteredValuesChecked() {
3769
- if (!this.dt.filteredValue) {
3770
- return false;
3771
- }
3772
- else {
3773
- for (let rowData of this.dt.filteredValue) {
3774
- if (!this.dt.isSelected(rowData)) {
3775
- return false;
3776
- }
3777
- }
3778
- return true;
3787
+ const selectableVal = this.dt.rowSelectable ? val.filter((data, index) => this.dt.rowSelectable({ data, index })) : val;
3788
+ return selectableVal && this.dt.selection && selectableVal.every(v => this.dt.selection.some(s => this.dt.equals(v, s)));
3779
3789
  }
3780
3790
  }
3781
3791
  }
3782
3792
  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 });
3783
- 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: `
3784
- <div class="p-checkbox p-component" (click)="onClick($event)">
3793
+ 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: `
3794
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3785
3795
  <div class="p-hidden-accessible">
3786
3796
  <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3787
3797
  [disabled]="isDisabled()" [attr.aria-label]="ariaLabel">
3788
3798
  </div>
3789
3799
  <div #box [ngClass]="{'p-checkbox-box':true,
3790
- 'p-highlight':checked, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3800
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3791
3801
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3792
3802
  </div>
3793
3803
  </div>
@@ -3797,13 +3807,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3797
3807
  args: [{
3798
3808
  selector: 'p-tableHeaderCheckbox',
3799
3809
  template: `
3800
- <div class="p-checkbox p-component" (click)="onClick($event)">
3810
+ <div #container class="p-checkbox p-component" [ngClass]="{'p-checkbox-focused':focused, 'p-checkbox-disabled': disabled}" (click)="onClick($event)">
3801
3811
  <div class="p-hidden-accessible">
3802
3812
  <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()"
3803
3813
  [disabled]="isDisabled()" [attr.aria-label]="ariaLabel">
3804
3814
  </div>
3805
3815
  <div #box [ngClass]="{'p-checkbox-box':true,
3806
- 'p-highlight':checked, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3816
+ 'p-highlight':checked, 'p-focus':focused, 'p-disabled': isDisabled()}" role="checkbox" [attr.aria-checked]="checked">
3807
3817
  <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':checked}"></span>
3808
3818
  </div>
3809
3819
  </div>
@@ -3817,6 +3827,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
3817
3827
  }], ctorParameters: function () { return [{ type: Table }, { type: TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { boxViewChild: [{
3818
3828
  type: ViewChild,
3819
3829
  args: ['box']
3830
+ }], containerViewChild: [{
3831
+ type: ViewChild,
3832
+ args: ['container']
3820
3833
  }], disabled: [{
3821
3834
  type: Input
3822
3835
  }], inputId: [{
@@ -3982,14 +3995,14 @@ ColumnFilterFormElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3982
3995
  <ng-container [ngSwitch]="type">
3983
3996
  <input *ngSwitchCase="'text'" type="text" pInputText [value]="filterConstraint?.value" (input)="onModelChange($event.target.value)"
3984
3997
  (keydown.enter)="onTextInputEnterKeyDown($event)" [attr.placeholder]="placeholder">
3985
- <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true" [attr.placeholder]="placeholder"
3998
+ <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true"
3986
3999
  [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder"
3987
4000
  [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-inputNumber>
3988
4001
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
3989
- <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4002
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
3990
4003
  </ng-container>
3991
4004
  </ng-template>
3992
- `, 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 });
4005
+ `, 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 });
3993
4006
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3994
4007
  type: Component,
3995
4008
  args: [{
@@ -4002,11 +4015,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
4002
4015
  <ng-container [ngSwitch]="type">
4003
4016
  <input *ngSwitchCase="'text'" type="text" pInputText [value]="filterConstraint?.value" (input)="onModelChange($event.target.value)"
4004
4017
  (keydown.enter)="onTextInputEnterKeyDown($event)" [attr.placeholder]="placeholder">
4005
- <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true" [attr.placeholder]="placeholder"
4018
+ <p-inputNumber *ngSwitchCase="'numeric'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (onKeyDown)="onNumericInputKeyDown($event)" [showButtons]="true"
4006
4019
  [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder"
4007
4020
  [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></p-inputNumber>
4008
4021
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
4009
- <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4022
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
4010
4023
  </ng-container>
4011
4024
  </ng-template>
4012
4025
  `,
@@ -4431,8 +4444,8 @@ ColumnFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
4431
4444
  <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>
4432
4445
  </div>
4433
4446
  <div class="p-column-filter-buttonbar">
4434
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4435
- <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" [label]="applyButtonLabel" pRipple></button>
4447
+ <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4448
+ <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
4436
4449
  </div>
4437
4450
  </ng-template>
4438
4451
  <ng-container *ngTemplateOutlet="footerTemplate; context: {$implicit: field}"></ng-container>
@@ -4489,8 +4502,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
4489
4502
  <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>
4490
4503
  </div>
4491
4504
  <div class="p-column-filter-buttonbar">
4492
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4493
- <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" [label]="applyButtonLabel" pRipple></button>
4505
+ <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
4506
+ <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
4494
4507
  </div>
4495
4508
  </ng-template>
4496
4509
  <ng-container *ngTemplateOutlet="footerTemplate; context: {$implicit: field}"></ng-container>