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.
- package/api/translation.d.ts +1 -0
- package/api/translationkeys.d.ts +1 -0
- package/calendar/calendar.d.ts +5 -2
- package/esm2020/api/primengconfig.mjs +2 -1
- package/esm2020/api/translation.mjs +1 -1
- package/esm2020/api/translationkeys.mjs +2 -1
- package/esm2020/calendar/calendar.mjs +19 -9
- package/esm2020/dropdown/dropdown.mjs +2 -2
- package/esm2020/password/password.mjs +8 -3
- package/esm2020/table/table.mjs +76 -63
- package/esm2020/tabmenu/tabmenu.mjs +23 -12
- package/esm2020/treetable/treetable.mjs +14 -17
- package/fesm2015/primeng-api.mjs +2 -0
- package/fesm2015/primeng-api.mjs.map +1 -1
- package/fesm2015/primeng-calendar.mjs +18 -8
- package/fesm2015/primeng-calendar.mjs.map +1 -1
- package/fesm2015/primeng-dropdown.mjs +1 -1
- package/fesm2015/primeng-dropdown.mjs.map +1 -1
- package/fesm2015/primeng-password.mjs +7 -2
- package/fesm2015/primeng-password.mjs.map +1 -1
- package/fesm2015/primeng-table.mjs +75 -62
- package/fesm2015/primeng-table.mjs.map +1 -1
- package/fesm2015/primeng-tabmenu.mjs +22 -11
- package/fesm2015/primeng-tabmenu.mjs.map +1 -1
- package/fesm2015/primeng-treetable.mjs +13 -16
- package/fesm2015/primeng-treetable.mjs.map +1 -1
- package/fesm2020/primeng-api.mjs +2 -0
- package/fesm2020/primeng-api.mjs.map +1 -1
- package/fesm2020/primeng-calendar.mjs +18 -8
- package/fesm2020/primeng-calendar.mjs.map +1 -1
- package/fesm2020/primeng-dropdown.mjs +1 -1
- package/fesm2020/primeng-dropdown.mjs.map +1 -1
- package/fesm2020/primeng-password.mjs +7 -2
- package/fesm2020/primeng-password.mjs.map +1 -1
- package/fesm2020/primeng-table.mjs +75 -62
- package/fesm2020/primeng-table.mjs.map +1 -1
- package/fesm2020/primeng-tabmenu.mjs +22 -11
- package/fesm2020/primeng-tabmenu.mjs.map +1 -1
- package/fesm2020/primeng-treetable.mjs +13 -16
- package/fesm2020/primeng-treetable.mjs.map +1 -1
- package/package.json +1 -1
- package/password/password.d.ts +1 -0
- package/resources/themes/lara-dark-blue/theme.css +349 -349
- package/resources/themes/lara-dark-indigo/theme.css +349 -349
- package/resources/themes/lara-dark-purple/theme.css +349 -349
- package/resources/themes/lara-dark-teal/theme.css +349 -349
- package/table/table.d.ts +7 -4
- package/tabmenu/tabmenu.d.ts +7 -1
- 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 =  | 
| 640 | 
            -
                            this.selectRange(event.originalEvent,  | 
| 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 =  | 
| 648 | 
            -
                            this.rangeRowIndex =  | 
| 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:  | 
| 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:  | 
| 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:  | 
| 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:  | 
| 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:  | 
| 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 | 
            -
                         | 
| 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 | 
            -
                     | 
| 3596 | 
            +
                    this.focused = true;
         | 
| 3569 3597 | 
             
                }
         | 
| 3570 3598 | 
             
                onBlur() {
         | 
| 3571 | 
            -
                     | 
| 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" },  | 
| 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 | 
            -
                     | 
| 3676 | 
            +
                    this.focused = true;
         | 
| 3652 3677 | 
             
                }
         | 
| 3653 3678 | 
             
                onBlur() {
         | 
| 3654 | 
            -
                     | 
| 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" },  | 
| 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 | 
            -
                     | 
| 3761 | 
            +
                    this.focused = true;
         | 
| 3740 3762 | 
             
                }
         | 
| 3741 3763 | 
             
                onBlur() {
         | 
| 3742 | 
            -
                     | 
| 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 | 
            -
                         | 
| 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" | 
| 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", " | 
| 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" | 
| 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>
         |