igniteui-angular 15.1.10 → 15.1.12

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.
@@ -31,30 +31,29 @@ export class CharSeparatedValueData {
31
31
  }
32
32
  this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
33
33
  this._escapeCharacters.push(this._delimiter);
34
- this._headerRecord = this.processHeaderRecord(keys);
34
+ this._headerRecord = this.processHeaderRecord(keys, this._data.length);
35
35
  this._dataRecords = this.processDataRecords(this._data, keys);
36
36
  return this._headerRecord + this._dataRecords;
37
37
  }
38
38
  prepareDataAsync(done) {
39
- if (!this._data || this._data.length === 0) {
40
- done('');
41
- }
42
39
  const columns = this.columns?.filter(c => !c.skip)
43
40
  .sort((a, b) => a.startIndex - b.startIndex)
44
41
  .sort((a, b) => a.pinnedIndex - b.pinnedIndex);
45
42
  const keys = columns && columns.length ? columns.map(c => c.field) : ExportUtilities.getKeysFromData(this._data);
46
- if (keys.length === 0) {
47
- done('');
48
- }
49
43
  this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
50
44
  this._escapeCharacters.push(this._delimiter);
51
45
  const headers = columns && columns.length ?
52
46
  columns.map(c => c.header ?? c.field) :
53
47
  keys;
54
- this._headerRecord = this.processHeaderRecord(headers);
55
- this.processDataRecordsAsync(this._data, keys, (dr) => {
56
- done(this._headerRecord + dr);
57
- });
48
+ this._headerRecord = this.processHeaderRecord(headers, this._data.length);
49
+ if (keys.length === 0 || ((!this._data || this._data.length === 0) && keys.length === 0)) {
50
+ done('');
51
+ }
52
+ else {
53
+ this.processDataRecordsAsync(this._data, keys, (dr) => {
54
+ done(this._headerRecord + dr);
55
+ });
56
+ }
58
57
  }
59
58
  processField(value, escapeChars) {
60
59
  let safeValue = ExportUtilities.hasValue(value) ? String(value) : '';
@@ -63,12 +62,13 @@ export class CharSeparatedValueData {
63
62
  }
64
63
  return safeValue + this._delimiter;
65
64
  }
66
- processHeaderRecord(keys) {
65
+ processHeaderRecord(keys, dataLength) {
67
66
  let recordData = '';
68
67
  for (const keyName of keys) {
69
68
  recordData += this.processField(keyName, this._escapeCharacters);
70
69
  }
71
- return recordData.slice(0, -this._delimiterLength) + this._eor;
70
+ const result = recordData.slice(0, -this._delimiterLength);
71
+ return dataLength > 0 ? result + this._eor : result;
72
72
  }
73
73
  processRecord(record, keys) {
74
74
  const recordData = new Array(keys.length);
@@ -100,4 +100,4 @@ export class CharSeparatedValueData {
100
100
  this._delimiterLength = value.length;
101
101
  }
102
102
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jc3YvY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixLQUFZLEVBQUUsY0FBc0IsRUFBVSxVQUF5QixFQUFFO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQU87UUFBa0MsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFSckYsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLHNCQUFpQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLEdBQUcsRUFBQztZQUNKLElBQUksR0FBRyxHQUFHLENBQUM7U0FDZDthQUFLO1lBQ0YsSUFBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMs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Q0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDekMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0VXRpbGl0aWVzIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2V4cG9ydC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgeWllbGRpbmdMb29wIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJQ29sdW1uSW5mbyB9IGZyb20gJy4uL2V4cG9ydGVyLWNvbW1vbi9iYXNlLWV4cG9ydC1zZXJ2aWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBDaGFyU2VwYXJhdGVkVmFsdWVEYXRhIHtcbiAgICBwcml2YXRlIF9oZWFkZXJSZWNvcmQgPSAnJztcbiAgICBwcml2YXRlIF9kYXRhUmVjb3JkcyA9ICcnO1xuICAgIHByaXZhdGUgX2VvciA9ICdcXHJcXG4nO1xuICAgIHByaXZhdGUgX2RlbGltaXRlcjtcbiAgICBwcml2YXRlIF9lc2NhcGVDaGFyYWN0ZXJzID0gWydcXHInLCAnXFxuJywgJ1xcclxcbiddO1xuICAgIHByaXZhdGUgX2RlbGltaXRlckxlbmd0aCA9IDE7XG4gICAgcHJpdmF0ZSBfaXNTcGVjaWFsRGF0YSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGF0YTogYW55W10sIHZhbHVlRGVsaW1pdGVyOiBzdHJpbmcsIHByaXZhdGUgY29sdW1uczogSUNvbHVtbkluZm9bXSA9IFtdKSAge1xuICAgICAgICB0aGlzLnNldERlbGltaXRlcih2YWx1ZURlbGltaXRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHByZXBhcmVEYXRhKGtleT86IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy5fZGF0YSB8fCB0aGlzLl9kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGxldCBrZXlzID0gW107XG4gICAgICAgIGlmIChrZXkpe1xuICAgICAgICAgICAga2V5cyA9IGtleTtcbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAga2V5cyA9IEV4cG9ydFV0aWxpdGllcy5nZXRLZXlzRnJvbURhdGEodGhpcy5fZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzU3BlY2lhbERhdGEgPSBFeHBvcnRVdGlsaXRpZXMuaXNTcGVjaWFsRGF0YSh0aGlzLl9kYXRhWzBdKTtcbiAgICAgICAgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycy5wdXNoKHRoaXMuX2RlbGltaXRlcik7XG5cbiAgICAgICAgdGhpcy5faGVhZGVyUmVjb3JkID0gdGhpcy5wcm9jZXNzSGVhZGVyUmVjb3JkKGtleXMpO1xuICAgICAgICB0aGlzLl9kYXRhUmVjb3JkcyA9IHRoaXMucHJvY2Vzc0RhdGFSZWNvcmRzKHRoaXMuX2RhdGEsIGtleXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXJSZWNvcmQgKyB0aGlzLl9kYXRhUmVjb3JkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJlcGFyZURhdGFBc3luYyhkb25lOiAocmVzdWx0OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9kYXRhIHx8IHRoaXMuX2RhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBkb25lKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbnM/LmZpbHRlcihjID0+ICFjLnNraXApXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5zdGFydEluZGV4IC0gYi5zdGFydEluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEucGlubmVkSW5kZXggLSBiLnBpbm5lZEluZGV4KTtcbiAgICAgICAgY29uc3Qga2V5cyA9IGNvbHVtbnMgJiYgY29sdW1ucy5sZW5ndGggPyBjb2x1bW5zLm1hcChjID0+IGMuZmllbGQpIDogRXhwb3J0VXRpbGl0aWVzLmdldEtleXNGcm9tRGF0YSh0aGlzLl9kYXRhKTtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGRvbmUoJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNTcGVjaWFsRGF0YSA9IEV4cG9ydFV0aWxpdGllcy5pc1NwZWNpYWxEYXRhKHRoaXMuX2RhdGFbMF0pO1xuICAgICAgICB0aGlzLl9lc2NhcGVDaGFyYWN0ZXJzLnB1c2godGhpcy5fZGVsaW1pdGVyKTtcblxuICAgICAgICBjb25zdCBoZWFkZXJzID0gY29sdW1ucyAmJiBjb2x1bW5zLmxlbmd0aCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLm1hcChjID0+IGMuaGVhZGVyID8/IGMuZmllbGQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM7XG5cbiAgICAgICAgdGhpcy5faGVhZGVyUmVjb3JkID0gdGhpcy5wcm9jZXNzSGVhZGVyUmVjb3JkKGhlYWRlcnMpO1xuICAgICAgICB0aGlzLnByb2Nlc3NEYXRhUmVjb3Jkc0FzeW5jKHRoaXMuX2RhdGEsIGtleXMsIChkcikgPT4ge1xuICAgICAgICAgICAgZG9uZSh0aGlzLl9oZWFkZXJSZWNvcmQgKyBkcik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0ZpZWxkKHZhbHVlLCBlc2NhcGVDaGFycyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBzYWZlVmFsdWUgPSBFeHBvcnRVdGlsaXRpZXMuaGFzVmFsdWUodmFsdWUpID8gU3RyaW5nKHZhbHVlKSA6ICcnO1xuICAgICAgICBpZiAoZXNjYXBlQ2hhcnMuc29tZSgodikgPT4gc2FmZVZhbHVlLmluY2x1ZGVzKHYpKSkge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gYFwiJHtzYWZlVmFsdWV9XCJgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzYWZlVmFsdWUgKyB0aGlzLl9kZWxpbWl0ZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzSGVhZGVyUmVjb3JkKGtleXMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmVjb3JkRGF0YSA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IGtleU5hbWUgb2Yga2V5cykge1xuICAgICAgICAgICAgcmVjb3JkRGF0YSArPSB0aGlzLnByb2Nlc3NGaWVsZChrZXlOYW1lLCB0aGlzLl9lc2NhcGVDaGFyYWN0ZXJzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZWNvcmREYXRhLnNsaWNlKDAsIC10aGlzLl9kZWxpbWl0ZXJMZW5ndGgpICsgdGhpcy5fZW9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1JlY29yZChyZWNvcmQsIGtleXMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByZWNvcmREYXRhID0gbmV3IEFycmF5KGtleXMubGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IChyZWNvcmRba2V5c1tpbmRleF1dICE9PSB1bmRlZmluZWQpID8gcmVjb3JkW2tleXNbaW5kZXhdXSA6IHRoaXMuX2lzU3BlY2lhbERhdGEgPyByZWNvcmQgOiAnJztcbiAgICAgICAgICAgIHJlY29yZERhdGFbaW5kZXhdID0gdGhpcy5wcm9jZXNzRmllbGQodmFsdWUsIHRoaXMuX2VzY2FwZUNoYXJhY3RlcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlY29yZERhdGEuam9pbignJykuc2xpY2UoMCwgLXRoaXMuX2RlbGltaXRlckxlbmd0aCkgKyB0aGlzLl9lb3I7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRGF0YVJlY29yZHMoY3VycmVudERhdGEsIGtleXMpIHtcbiAgICAgICAgY29uc3QgZGF0YVJlY29yZHMgPSBuZXcgQXJyYXkoY3VycmVudERhdGEubGVuZ3RoKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1cnJlbnREYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSBjdXJyZW50RGF0YVtpXTtcbiAgICAgICAgICAgIGRhdGFSZWNvcmRzW2ldID0gdGhpcy5wcm9jZXNzUmVjb3JkKHJvdywga2V5cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0YVJlY29yZHMuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRGF0YVJlY29yZHNBc3luYyhjdXJyZW50RGF0YSwga2V5cywgZG9uZTogKHJlc3VsdDogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgICAgIGNvbnN0IGRhdGFSZWNvcmRzID0gbmV3IEFycmF5KGN1cnJlbnREYXRhLmxlbmd0aCk7XG5cbiAgICAgICAgeWllbGRpbmdMb29wKGN1cnJlbnREYXRhLmxlbmd0aCwgMTAwMCxcbiAgICAgICAgICAgIChpKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93ID0gY3VycmVudERhdGFbaV07XG4gICAgICAgICAgICAgICAgZGF0YVJlY29yZHNbaV0gPSB0aGlzLnByb2Nlc3NSZWNvcmQocm93LCBrZXlzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZG9uZShkYXRhUmVjb3Jkcy5qb2luKCcnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlbGltaXRlcih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9kZWxpbWl0ZXIgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZGVsaW1pdGVyTGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuICAgIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jc3YvY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2hEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixLQUFZLEVBQUUsY0FBc0IsRUFBVSxVQUF5QixFQUFFO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQU87UUFBa0MsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFSckYsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLHNCQUFpQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLEdBQUcsRUFBQztZQUNKLElBQUksR0FBRyxHQUFHLENBQUM7U0FDZDthQUFLO1lBQ0YsSUFBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlELE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ2xELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUE4QjtRQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUM7YUFDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpILElBQUksQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUM7UUFFckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ1o7YUFBTTtZQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVztRQUNuQyxJQUFJLFNBQVMsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRCxTQUFTLEdBQUcsSUFBSSxTQUFTLEdBQUcsQ0FBQztTQUNoQztRQUNELE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQUksRUFBRSxVQUFVO1FBQ3hDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksRUFBRTtZQUN4QixVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEU7UUFFRCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNELE9BQU8sVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4RCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5QyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDeEU7UUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDNUUsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQThCO1FBQzdFLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRCxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQ2pDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDRixNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydFV0aWxpdGllcyB9IGZyb20gJy4uL2V4cG9ydGVyLWNvbW1vbi9leHBvcnQtdXRpbGl0aWVzJztcbmltcG9ydCB7IHlpZWxkaW5nTG9vcCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSUNvbHVtbkluZm8gfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vYmFzZS1leHBvcnQtc2VydmljZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY2xhc3MgQ2hhclNlcGFyYXRlZFZhbHVlRGF0YSB7XG4gICAgcHJpdmF0ZSBfaGVhZGVyUmVjb3JkID0gJyc7XG4gICAgcHJpdmF0ZSBfZGF0YVJlY29yZHMgPSAnJztcbiAgICBwcml2YXRlIF9lb3IgPSAnXFxyXFxuJztcbiAgICBwcml2YXRlIF9kZWxpbWl0ZXI7XG4gICAgcHJpdmF0ZSBfZXNjYXBlQ2hhcmFjdGVycyA9IFsnXFxyJywgJ1xcbicsICdcXHJcXG4nXTtcbiAgICBwcml2YXRlIF9kZWxpbWl0ZXJMZW5ndGggPSAxO1xuICAgIHByaXZhdGUgX2lzU3BlY2lhbERhdGEgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RhdGE6IGFueVtdLCB2YWx1ZURlbGltaXRlcjogc3RyaW5nLCBwcml2YXRlIGNvbHVtbnM6IElDb2x1bW5JbmZvW10gPSBbXSkgIHtcbiAgICAgICAgdGhpcy5zZXREZWxpbWl0ZXIodmFsdWVEZWxpbWl0ZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmVwYXJlRGF0YShrZXk/OiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRoaXMuX2RhdGEgfHwgdGhpcy5fZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBsZXQga2V5cyA9IFtdO1xuICAgICAgICBpZiAoa2V5KXtcbiAgICAgICAgICAgIGtleXMgPSBrZXk7XG4gICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgIGtleXMgPSBFeHBvcnRVdGlsaXRpZXMuZ2V0S2V5c0Zyb21EYXRhKHRoaXMuX2RhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9pc1NwZWNpYWxEYXRhID0gRXhwb3J0VXRpbGl0aWVzLmlzU3BlY2lhbERhdGEodGhpcy5fZGF0YVswXSk7XG4gICAgICAgIHRoaXMuX2VzY2FwZUNoYXJhY3RlcnMucHVzaCh0aGlzLl9kZWxpbWl0ZXIpO1xuXG4gICAgICAgIHRoaXMuX2hlYWRlclJlY29yZCA9IHRoaXMucHJvY2Vzc0hlYWRlclJlY29yZChrZXlzLCB0aGlzLl9kYXRhLmxlbmd0aCk7XG4gICAgICAgIHRoaXMuX2RhdGFSZWNvcmRzID0gdGhpcy5wcm9jZXNzRGF0YVJlY29yZHModGhpcy5fZGF0YSwga2V5cyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlclJlY29yZCArIHRoaXMuX2RhdGFSZWNvcmRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmVwYXJlRGF0YUFzeW5jKGRvbmU6IChyZXN1bHQ6IHN0cmluZykgPT4gdm9pZCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5zPy5maWx0ZXIoYyA9PiAhYy5za2lwKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEuc3RhcnRJbmRleCAtIGIuc3RhcnRJbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnBpbm5lZEluZGV4IC0gYi5waW5uZWRJbmRleCk7XG4gICAgICAgIGNvbnN0IGtleXMgPSBjb2x1bW5zICYmIGNvbHVtbnMubGVuZ3RoID8gY29sdW1ucy5tYXAoYyA9PiBjLmZpZWxkKSA6IEV4cG9ydFV0aWxpdGllcy5nZXRLZXlzRnJvbURhdGEodGhpcy5fZGF0YSk7XG5cbiAgICAgICAgdGhpcy5faXNTcGVjaWFsRGF0YSA9IEV4cG9ydFV0aWxpdGllcy5pc1NwZWNpYWxEYXRhKHRoaXMuX2RhdGFbMF0pO1xuICAgICAgICB0aGlzLl9lc2NhcGVDaGFyYWN0ZXJzLnB1c2godGhpcy5fZGVsaW1pdGVyKTtcblxuICAgICAgICBjb25zdCBoZWFkZXJzID0gY29sdW1ucyAmJiBjb2x1bW5zLmxlbmd0aCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLm1hcChjID0+IGMuaGVhZGVyID8/IGMuZmllbGQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM7XG5cbiAgICAgICAgdGhpcy5faGVhZGVyUmVjb3JkID0gdGhpcy5wcm9jZXNzSGVhZGVyUmVjb3JkKGhlYWRlcnMsIHRoaXMuX2RhdGEubGVuZ3RoKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID09PSAwIHx8ICgoIXRoaXMuX2RhdGEgfHwgdGhpcy5fZGF0YS5sZW5ndGggPT09IDApICYmIGtleXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgZG9uZSgnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEYXRhUmVjb3Jkc0FzeW5jKHRoaXMuX2RhdGEsIGtleXMsIChkcikgPT4ge1xuICAgICAgICAgICAgICAgIGRvbmUodGhpcy5faGVhZGVyUmVjb3JkICsgZHIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NGaWVsZCh2YWx1ZSwgZXNjYXBlQ2hhcnMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgc2FmZVZhbHVlID0gRXhwb3J0VXRpbGl0aWVzLmhhc1ZhbHVlKHZhbHVlKSA/IFN0cmluZyh2YWx1ZSkgOiAnJztcbiAgICAgICAgaWYgKGVzY2FwZUNoYXJzLnNvbWUoKHYpID0+IHNhZmVWYWx1ZS5pbmNsdWRlcyh2KSkpIHtcbiAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGBcIiR7c2FmZVZhbHVlfVwiYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2FmZVZhbHVlICsgdGhpcy5fZGVsaW1pdGVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0hlYWRlclJlY29yZChrZXlzLCBkYXRhTGVuZ3RoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlY29yZERhdGEgPSAnJztcbiAgICAgICAgZm9yIChjb25zdCBrZXlOYW1lIG9mIGtleXMpIHtcbiAgICAgICAgICAgIHJlY29yZERhdGEgKz0gdGhpcy5wcm9jZXNzRmllbGQoa2V5TmFtZSwgdGhpcy5fZXNjYXBlQ2hhcmFjdGVycyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSByZWNvcmREYXRhLnNsaWNlKDAsIC10aGlzLl9kZWxpbWl0ZXJMZW5ndGgpO1xuXG4gICAgICAgIHJldHVybiBkYXRhTGVuZ3RoID4gMCA/IHJlc3VsdCArIHRoaXMuX2VvciA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NSZWNvcmQocmVjb3JkLCBrZXlzKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmVjb3JkRGF0YSA9IG5ldyBBcnJheShrZXlzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBrZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAocmVjb3JkW2tleXNbaW5kZXhdXSAhPT0gdW5kZWZpbmVkKSA/IHJlY29yZFtrZXlzW2luZGV4XV0gOiB0aGlzLl9pc1NwZWNpYWxEYXRhID8gcmVjb3JkIDogJyc7XG4gICAgICAgICAgICByZWNvcmREYXRhW2luZGV4XSA9IHRoaXMucHJvY2Vzc0ZpZWxkKHZhbHVlLCB0aGlzLl9lc2NhcGVDaGFyYWN0ZXJzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZWNvcmREYXRhLmpvaW4oJycpLnNsaWNlKDAsIC10aGlzLl9kZWxpbWl0ZXJMZW5ndGgpICsgdGhpcy5fZW9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGFSZWNvcmRzKGN1cnJlbnREYXRhLCBrZXlzKSB7XG4gICAgICAgIGNvbnN0IGRhdGFSZWNvcmRzID0gbmV3IEFycmF5KGN1cnJlbnREYXRhLmxlbmd0aCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50RGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gY3VycmVudERhdGFbaV07XG4gICAgICAgICAgICBkYXRhUmVjb3Jkc1tpXSA9IHRoaXMucHJvY2Vzc1JlY29yZChyb3csIGtleXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGFSZWNvcmRzLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGFSZWNvcmRzQXN5bmMoY3VycmVudERhdGEsIGtleXMsIGRvbmU6IChyZXN1bHQ6IHN0cmluZykgPT4gdm9pZCkge1xuICAgICAgICBjb25zdCBkYXRhUmVjb3JkcyA9IG5ldyBBcnJheShjdXJyZW50RGF0YS5sZW5ndGgpO1xuXG4gICAgICAgIHlpZWxkaW5nTG9vcChjdXJyZW50RGF0YS5sZW5ndGgsIDEwMDAsXG4gICAgICAgICAgICAoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IGN1cnJlbnREYXRhW2ldO1xuICAgICAgICAgICAgICAgIGRhdGFSZWNvcmRzW2ldID0gdGhpcy5wcm9jZXNzUmVjb3JkKHJvdywga2V5cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRvbmUoZGF0YVJlY29yZHMuam9pbignJykpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWxpbWl0ZXIodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fZGVsaW1pdGVyID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2RlbGltaXRlckxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICB9XG59XG4iXX0=
@@ -64,7 +64,7 @@ export class IgxCsvExporterService extends IgxBaseExporter {
64
64
  }
65
65
  }
66
66
  exportFile(data, fileName, fileType) {
67
- const blob = new Blob(['\ufeff', data], { type: fileType });
67
+ const blob = new Blob([data ? '\ufeff' : '', data], { type: fileType });
68
68
  ExportUtilities.saveBlobToFile(blob, fileName);
69
69
  }
70
70
  }
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
76
76
  providedIn: 'root',
77
77
  }]
78
78
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2Nzdi9jc3YtZXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBaUIsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7O0FBTzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFJSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUgxRDs7UUFJSTs7Ozs7Ozs7O1dBU0c7UUFDYSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO0tBaUM5RTtJQTdCYSx3QkFBd0IsQ0FBQyxJQUFxQixFQUFFLE9BQThCLEVBQUUsSUFBZ0I7UUFDdEcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQThCO1FBQzNDLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0QixLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1YsS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDO1lBQ3RCLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLDBDQUEwQyxDQUFDLENBQUM7Z0JBQ2hHLE1BQU07U0FDYjtJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDOztrSEEzQ1EscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBERUZBVUxUX09XTkVSLCBJRXhwb3J0UmVjb3JkLCBJZ3hCYXNlRXhwb3J0ZXIgfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vYmFzZS1leHBvcnQtc2VydmljZSc7XG5pbXBvcnQgeyBFeHBvcnRVdGlsaXRpZXMgfSBmcm9tICcuLi9leHBvcnRlci1jb21tb24vZXhwb3J0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBDaGFyU2VwYXJhdGVkVmFsdWVEYXRhIH0gZnJvbSAnLi9jaGFyLXNlcGFyYXRlZC12YWx1ZS1kYXRhJztcbmltcG9ydCB7IENzdkZpbGVUeXBlcywgSWd4Q3N2RXhwb3J0ZXJPcHRpb25zIH0gZnJvbSAnLi9jc3YtZXhwb3J0ZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBJQmFzZUV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDc3ZFeHBvcnRFbmRlZEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICBjc3ZEYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqICoqSWduaXRlIFVJIGZvciBBbmd1bGFyIENTViBFeHBvcnRlciBTZXJ2aWNlKiogLVxuICogW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3LmluZnJhZ2lzdGljcy5jb20vcHJvZHVjdHMvaWduaXRlLXVpLWFuZ3VsYXIvYW5ndWxhci9jb21wb25lbnRzL2V4cG9ydGVyLWNzdilcbiAqXG4gKiBUaGUgSWduaXRlIFVJIGZvciBBbmd1bGFyIENTViBFeHBvcnRlciBzZXJ2aWNlIGNhbiBleHBvcnQgZGF0YSBpbiBhIENoYXJhY3RlciBTZXBhcmF0ZWQgVmFsdWVzIGZvcm1hdCBmcm9tXG4gKiBib3RoIHJhdyBkYXRhIChhcnJheSkgb3IgZnJvbSBhbiBgSWd4R3JpZGAuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHB1YmxpYyBsb2NhbERhdGEgPSBbXG4gKiAgIHsgTmFtZTogXCJFcmljIFJpZGxleVwiLCBBZ2U6IFwiMjZcIiB9LFxuICogICB7IE5hbWU6IFwiQWxhbmlzIEJyb29rXCIsIEFnZTogXCIyMlwiIH0sXG4gKiAgIHsgTmFtZTogXCJKb25hdGhhbiBNb3JyaXNcIiwgQWdlOiBcIjIzXCIgfVxuICogXTtcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGNzdkV4cG9ydFNlcnZpY2U6IElneENzdkV4cG9ydGVyU2VydmljZSkge1xuICogfVxuICpcbiAqIGNvbnN0IG9wdDogSWd4Q3N2RXhwb3J0ZXJPcHRpb25zID0gbmV3IElneENzdkV4cG9ydGVyT3B0aW9ucyhcIkZpbGVOYW1lXCIsIENzdkZpbGVUeXBlcy5DU1YpO1xuICogdGhpcy5jc3ZFeHBvcnRTZXJ2aWNlLmV4cG9ydERhdGEodGhpcy5sb2NhbERhdGEsIG9wdCk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q3N2RXhwb3J0ZXJTZXJ2aWNlIGV4dGVuZHMgSWd4QmFzZUV4cG9ydGVyIHtcbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IGlzIGVtaXR0ZWQgd2hlbiB0aGUgZXhwb3J0IHByb2Nlc3MgZmluaXNoZXMuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZXhwb3J0ZXJTZXJ2aWNlLmV4cG9ydEVuZGVkLnN1YnNjcmliZSgoYXJnczogSUNzdkV4cG9ydEVuZGVkRXZlbnRBcmdzKSA9PiB7XG4gICAgICogLy8gcHV0IGV2ZW50IGhhbmRsZXIgY29kZSBoZXJlXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4Q3N2RXhwb3J0ZXJTZXJ2aWNlXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGV4cG9ydEVuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJQ3N2RXhwb3J0RW5kZWRFdmVudEFyZ3M+KCk7XG5cbiAgICBwcml2YXRlIF9zdHJpbmdEYXRhOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgZXhwb3J0RGF0YUltcGxlbWVudGF0aW9uKGRhdGE6IElFeHBvcnRSZWNvcmRbXSwgb3B0aW9uczogSWd4Q3N2RXhwb3J0ZXJPcHRpb25zLCBkb25lOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGRhdGEgPSBkYXRhLm1hcCgoaXRlbSkgPT4gaXRlbS5kYXRhKTtcbiAgICAgICAgY29uc3QgY29sdW1uTGlzdCA9IHRoaXMuX293bmVyc01hcC5nZXQoREVGQVVMVF9PV05FUik7XG5cbiAgICAgICAgY29uc3QgY3N2RGF0YSA9IG5ldyBDaGFyU2VwYXJhdGVkVmFsdWVEYXRhKGRhdGEsIG9wdGlvbnMudmFsdWVEZWxpbWl0ZXIsIGNvbHVtbkxpc3Q/LmNvbHVtbnMpO1xuICAgICAgICBjc3ZEYXRhLnByZXBhcmVEYXRhQXN5bmMoKHIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3N0cmluZ0RhdGEgPSByO1xuICAgICAgICAgICAgdGhpcy5zYXZlRmlsZShvcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0RW5kZWQuZW1pdCh7IGNzdkRhdGE6IHRoaXMuX3N0cmluZ0RhdGEgfSk7XG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUZpbGUob3B0aW9uczogSWd4Q3N2RXhwb3J0ZXJPcHRpb25zKSB7XG4gICAgICAgIHN3aXRjaCAob3B0aW9ucy5maWxlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBDc3ZGaWxlVHlwZXMuQ1NWOlxuICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0RmlsZSh0aGlzLl9zdHJpbmdEYXRhLCBvcHRpb25zLmZpbGVOYW1lLCAndGV4dC9jc3Y7Y2hhcnNldD11dGYtODsnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQ3N2RmlsZVR5cGVzLlRTVjpcbiAgICAgICAgICAgIGNhc2UgQ3N2RmlsZVR5cGVzLlRBQjpcbiAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydEZpbGUodGhpcy5fc3RyaW5nRGF0YSwgb3B0aW9ucy5maWxlTmFtZSwgJ3RleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXM7Y2hhcnNldD11dGYtODsnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwb3J0RmlsZShkYXRhOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFsnXFx1ZmVmZicsIGRhdGFdLCB7IHR5cGU6IGZpbGVUeXBlIH0pO1xuICAgICAgICBFeHBvcnRVdGlsaXRpZXMuc2F2ZUJsb2JUb0ZpbGUoYmxvYiwgZmlsZU5hbWUpO1xuICAgIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2Nzdi9jc3YtZXhwb3J0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBaUIsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQXlCLE1BQU0sd0JBQXdCLENBQUM7O0FBTzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFJSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUgxRDs7UUFJSTs7Ozs7Ozs7O1dBU0c7UUFDYSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO0tBaUM5RTtJQTdCYSx3QkFBd0IsQ0FBQyxJQUFxQixFQUFFLE9BQThCLEVBQUUsSUFBZ0I7UUFDdEcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQThCO1FBQzNDLFFBQVEsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0QixLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1YsS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDO1lBQ3RCLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLDBDQUEwQyxDQUFDLENBQUM7Z0JBQ2hHLE1BQU07U0FDYjtJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEUsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7a0hBM0NRLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9PV05FUiwgSUV4cG9ydFJlY29yZCwgSWd4QmFzZUV4cG9ydGVyIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2Jhc2UtZXhwb3J0LXNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0VXRpbGl0aWVzIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2V4cG9ydC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQ2hhclNlcGFyYXRlZFZhbHVlRGF0YSB9IGZyb20gJy4vY2hhci1zZXBhcmF0ZWQtdmFsdWUtZGF0YSc7XG5pbXBvcnQgeyBDc3ZGaWxlVHlwZXMsIElneENzdkV4cG9ydGVyT3B0aW9ucyB9IGZyb20gJy4vY3N2LWV4cG9ydGVyLW9wdGlvbnMnO1xuaW1wb3J0IHsgSUJhc2VFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ3N2RXhwb3J0RW5kZWRFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgY3N2RGF0YT86IHN0cmluZztcbn1cblxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBDU1YgRXhwb3J0ZXIgU2VydmljZSoqIC1cbiAqIFtEb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5pbmZyYWdpc3RpY3MuY29tL3Byb2R1Y3RzL2lnbml0ZS11aS1hbmd1bGFyL2FuZ3VsYXIvY29tcG9uZW50cy9leHBvcnRlci1jc3YpXG4gKlxuICogVGhlIElnbml0ZSBVSSBmb3IgQW5ndWxhciBDU1YgRXhwb3J0ZXIgc2VydmljZSBjYW4gZXhwb3J0IGRhdGEgaW4gYSBDaGFyYWN0ZXIgU2VwYXJhdGVkIFZhbHVlcyBmb3JtYXQgZnJvbVxuICogYm90aCByYXcgZGF0YSAoYXJyYXkpIG9yIGZyb20gYW4gYElneEdyaWRgLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwdWJsaWMgbG9jYWxEYXRhID0gW1xuICogICB7IE5hbWU6IFwiRXJpYyBSaWRsZXlcIiwgQWdlOiBcIjI2XCIgfSxcbiAqICAgeyBOYW1lOiBcIkFsYW5pcyBCcm9va1wiLCBBZ2U6IFwiMjJcIiB9LFxuICogICB7IE5hbWU6IFwiSm9uYXRoYW4gTW9ycmlzXCIsIEFnZTogXCIyM1wiIH1cbiAqIF07XG4gKlxuICogY29uc3RydWN0b3IocHJpdmF0ZSBjc3ZFeHBvcnRTZXJ2aWNlOiBJZ3hDc3ZFeHBvcnRlclNlcnZpY2UpIHtcbiAqIH1cbiAqXG4gKiBjb25zdCBvcHQ6IElneENzdkV4cG9ydGVyT3B0aW9ucyA9IG5ldyBJZ3hDc3ZFeHBvcnRlck9wdGlvbnMoXCJGaWxlTmFtZVwiLCBDc3ZGaWxlVHlwZXMuQ1NWKTtcbiAqIHRoaXMuY3N2RXhwb3J0U2VydmljZS5leHBvcnREYXRhKHRoaXMubG9jYWxEYXRhLCBvcHQpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElneENzdkV4cG9ydGVyU2VydmljZSBleHRlbmRzIElneEJhc2VFeHBvcnRlciB7XG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBpcyBlbWl0dGVkIHdoZW4gdGhlIGV4cG9ydCBwcm9jZXNzIGZpbmlzaGVzLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmV4cG9ydGVyU2VydmljZS5leHBvcnRFbmRlZC5zdWJzY3JpYmUoKGFyZ3M6IElDc3ZFeHBvcnRFbmRlZEV2ZW50QXJncykgPT4ge1xuICAgICAqIC8vIHB1dCBldmVudCBoYW5kbGVyIGNvZGUgaGVyZVxuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneENzdkV4cG9ydGVyU2VydmljZVxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBleHBvcnRFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNzdkV4cG9ydEVuZGVkRXZlbnRBcmdzPigpO1xuXG4gICAgcHJpdmF0ZSBfc3RyaW5nRGF0YTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGV4cG9ydERhdGFJbXBsZW1lbnRhdGlvbihkYXRhOiBJRXhwb3J0UmVjb3JkW10sIG9wdGlvbnM6IElneENzdkV4cG9ydGVyT3B0aW9ucywgZG9uZTogKCkgPT4gdm9pZCkge1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0pID0+IGl0ZW0uZGF0YSk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkxpc3QgPSB0aGlzLl9vd25lcnNNYXAuZ2V0KERFRkFVTFRfT1dORVIpO1xuXG4gICAgICAgIGNvbnN0IGNzdkRhdGEgPSBuZXcgQ2hhclNlcGFyYXRlZFZhbHVlRGF0YShkYXRhLCBvcHRpb25zLnZhbHVlRGVsaW1pdGVyLCBjb2x1bW5MaXN0Py5jb2x1bW5zKTtcbiAgICAgICAgY3N2RGF0YS5wcmVwYXJlRGF0YUFzeW5jKChyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zdHJpbmdEYXRhID0gcjtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGUob3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmV4cG9ydEVuZGVkLmVtaXQoeyBjc3ZEYXRhOiB0aGlzLl9zdHJpbmdEYXRhIH0pO1xuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVGaWxlKG9wdGlvbnM6IElneENzdkV4cG9ydGVyT3B0aW9ucykge1xuICAgICAgICBzd2l0Y2ggKG9wdGlvbnMuZmlsZVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQ3N2RmlsZVR5cGVzLkNTVjpcbiAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydEZpbGUodGhpcy5fc3RyaW5nRGF0YSwgb3B0aW9ucy5maWxlTmFtZSwgJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5UU1Y6XG4gICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5UQUI6XG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnRGaWxlKHRoaXMuX3N0cmluZ0RhdGEsIG9wdGlvbnMuZmlsZU5hbWUsICd0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzO2NoYXJzZXQ9dXRmLTg7Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cG9ydEZpbGUoZGF0YTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nLCBmaWxlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZGF0YSA/ICdcXHVmZWZmJyA6ICcnLCBkYXRhXSwgeyB0eXBlOiBmaWxlVHlwZSB9KTtcbiAgICAgICAgRXhwb3J0VXRpbGl0aWVzLnNhdmVCbG9iVG9GaWxlKGJsb2IsIGZpbGVOYW1lKTtcbiAgICB9XG59XG4iXX0=
@@ -3720,29 +3720,28 @@ class CharSeparatedValueData {
3720
3720
  }
3721
3721
  this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
3722
3722
  this._escapeCharacters.push(this._delimiter);
3723
- this._headerRecord = this.processHeaderRecord(keys);
3723
+ this._headerRecord = this.processHeaderRecord(keys, this._data.length);
3724
3724
  this._dataRecords = this.processDataRecords(this._data, keys);
3725
3725
  return this._headerRecord + this._dataRecords;
3726
3726
  }
3727
3727
  prepareDataAsync(done) {
3728
3728
  var _a;
3729
- if (!this._data || this._data.length === 0) {
3730
- done('');
3731
- }
3732
3729
  const columns = (_a = this.columns) === null || _a === void 0 ? void 0 : _a.filter(c => !c.skip).sort((a, b) => a.startIndex - b.startIndex).sort((a, b) => a.pinnedIndex - b.pinnedIndex);
3733
3730
  const keys = columns && columns.length ? columns.map(c => c.field) : ExportUtilities.getKeysFromData(this._data);
3734
- if (keys.length === 0) {
3735
- done('');
3736
- }
3737
3731
  this._isSpecialData = ExportUtilities.isSpecialData(this._data[0]);
3738
3732
  this._escapeCharacters.push(this._delimiter);
3739
3733
  const headers = columns && columns.length ?
3740
3734
  columns.map(c => { var _a; return (_a = c.header) !== null && _a !== void 0 ? _a : c.field; }) :
3741
3735
  keys;
3742
- this._headerRecord = this.processHeaderRecord(headers);
3743
- this.processDataRecordsAsync(this._data, keys, (dr) => {
3744
- done(this._headerRecord + dr);
3745
- });
3736
+ this._headerRecord = this.processHeaderRecord(headers, this._data.length);
3737
+ if (keys.length === 0 || ((!this._data || this._data.length === 0) && keys.length === 0)) {
3738
+ done('');
3739
+ }
3740
+ else {
3741
+ this.processDataRecordsAsync(this._data, keys, (dr) => {
3742
+ done(this._headerRecord + dr);
3743
+ });
3744
+ }
3746
3745
  }
3747
3746
  processField(value, escapeChars) {
3748
3747
  let safeValue = ExportUtilities.hasValue(value) ? String(value) : '';
@@ -3751,12 +3750,13 @@ class CharSeparatedValueData {
3751
3750
  }
3752
3751
  return safeValue + this._delimiter;
3753
3752
  }
3754
- processHeaderRecord(keys) {
3753
+ processHeaderRecord(keys, dataLength) {
3755
3754
  let recordData = '';
3756
3755
  for (const keyName of keys) {
3757
3756
  recordData += this.processField(keyName, this._escapeCharacters);
3758
3757
  }
3759
- return recordData.slice(0, -this._delimiterLength) + this._eor;
3758
+ const result = recordData.slice(0, -this._delimiterLength);
3759
+ return dataLength > 0 ? result + this._eor : result;
3760
3760
  }
3761
3761
  processRecord(record, keys) {
3762
3762
  const recordData = new Array(keys.length);
@@ -4092,7 +4092,7 @@ class IgxCsvExporterService extends IgxBaseExporter {
4092
4092
  }
4093
4093
  }
4094
4094
  exportFile(data, fileName, fileType) {
4095
- const blob = new Blob(['\ufeff', data], { type: fileType });
4095
+ const blob = new Blob([data ? '\ufeff' : '', data], { type: fileType });
4096
4096
  ExportUtilities.saveBlobToFile(blob, fileName);
4097
4097
  }
4098
4098
  }
@@ -40733,16 +40733,16 @@ class IgxDatePickerComponent extends PickerBaseDirective {
40733
40733
  }
40734
40734
  setCalendarViewDate() {
40735
40735
  const { minValue, maxValue } = this.getMinMaxDates();
40736
- this._dateValue = this.dateValue || new Date();
40737
- if (minValue && DateTimeUtil.lessThanMinValue(this.dateValue, minValue)) {
40736
+ const dateValue = DateTimeUtil.isValidDate(this.dateValue) ? this.dateValue : new Date();
40737
+ if (minValue && DateTimeUtil.lessThanMinValue(dateValue, minValue)) {
40738
40738
  this._calendar.viewDate = this._targetViewDate = minValue;
40739
40739
  return;
40740
40740
  }
40741
- if (maxValue && DateTimeUtil.greaterThanMaxValue(this.dateValue, maxValue)) {
40741
+ if (maxValue && DateTimeUtil.greaterThanMaxValue(dateValue, maxValue)) {
40742
40742
  this._calendar.viewDate = this._targetViewDate = maxValue;
40743
40743
  return;
40744
40744
  }
40745
- this._calendar.viewDate = this._targetViewDate = this.dateValue;
40745
+ this._calendar.viewDate = this._targetViewDate = dateValue;
40746
40746
  }
40747
40747
  }
40748
40748
  IgxDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: IgxDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: LOCALE_ID }, { token: IgxOverlayService }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: PlatformUtil }, { token: i0.ChangeDetectorRef }, { token: DisplayDensityToken, optional: true }, { token: IGX_INPUT_GROUP_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
@@ -53415,14 +53415,12 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
53415
53415
  get selectable() {
53416
53416
  return this.children && this.children.some(child => child.selectable);
53417
53417
  }
53418
+ /**
53419
+ * @hidden
53420
+ */
53418
53421
  set selectable(value) { }
53419
53422
  /**
53420
- * Returns a reference to the body template.
53421
- * ```typescript
53422
- * let bodyTemplate = this.columnGroup.bodyTemplate;
53423
- * ```
53424
- *
53425
- * @memberof IgxColumnGroupComponent
53423
+ * @hidden
53426
53424
  */
53427
53425
  get bodyTemplate() {
53428
53426
  return this._bodyTemplate;
@@ -53432,12 +53430,7 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
53432
53430
  */
53433
53431
  set bodyTemplate(template) { }
53434
53432
  /**
53435
- * Returns a reference to the inline editor template.
53436
- * ```typescript
53437
- * let inlineEditorTemplate = this.columnGroup.inlineEditorTemplate;
53438
- * ```
53439
- *
53440
- * @memberof IgxColumnGroupComponent
53433
+ * @hidden
53441
53434
  */
53442
53435
  get inlineEditorTemplate() {
53443
53436
  return this._inlineEditorTemplate;
@@ -62709,7 +62702,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
62709
62702
  return this._rowHeight ? this._rowHeight : this.defaultRowHeight;
62710
62703
  }
62711
62704
  set rowHeight(value) {
62712
- this._rowHeight = parseInt(value, 10);
62705
+ if (typeof value !== 'number') {
62706
+ value = parseInt(value, 10);
62707
+ }
62708
+ this._rowHeight = value;
62713
62709
  }
62714
62710
  /**
62715
62711
  * Gets/Sets the default width of the columns.
@@ -62969,10 +62965,6 @@ class IgxGridBaseDirective extends DisplayDensityBase {
62969
62965
  this.clearSort();
62970
62966
  this._sortingOptions = Object.assign(this._sortingOptions, value);
62971
62967
  }
62972
- /**
62973
- * @hidden
62974
- * @internal
62975
- */
62976
62968
  get sortingOptions() {
62977
62969
  return this._sortingOptions;
62978
62970
  }
@@ -64584,12 +64576,6 @@ class IgxGridBaseDirective extends DisplayDensityBase {
64584
64576
  get virtualizationState() {
64585
64577
  return this.verticalScrollContainer.state;
64586
64578
  }
64587
- /**
64588
- * @hidden
64589
- */
64590
- set virtualizationState(state) {
64591
- this.verticalScrollContainer.state = state;
64592
- }
64593
64579
  /**
64594
64580
  * @hidden
64595
64581
  * @internal