igniteui-angular 16.0.14 → 16.0.15
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/esm2022/lib/combo/combo.common.mjs +2 -2
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +2 -2
- package/esm2022/lib/directives/mask/mask-parsing.service.mjs +5 -19
- package/fesm2022/igniteui-angular.mjs +6 -20
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -88,10 +88,9 @@ export class MaskParsingService {
|
|
|
88
88
|
const chars = Array.from(value);
|
|
89
89
|
let cursor = start;
|
|
90
90
|
end = Math.min(end, maskedValue.length);
|
|
91
|
-
const initialMaskedValue = maskedValue;
|
|
92
91
|
for (let i = start; i < end || (chars.length && i < maskedValue.length); i++) {
|
|
93
92
|
if (literalsPositions.indexOf(i) !== -1) {
|
|
94
|
-
if (chars[0] === maskedValue[i]) {
|
|
93
|
+
if (chars[0] === maskedValue[i] || value.length < 1) {
|
|
95
94
|
cursor = i + 1;
|
|
96
95
|
chars.shift();
|
|
97
96
|
}
|
|
@@ -107,24 +106,11 @@ export class MaskParsingService {
|
|
|
107
106
|
cursor = i + 1;
|
|
108
107
|
char = chars.shift();
|
|
109
108
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (value.length <= 1) {
|
|
113
|
-
let isDelete = false;
|
|
114
|
-
cursor = start;
|
|
115
|
-
for (let i = 0; i < literalsPositions.length; i++) {
|
|
116
|
-
if (value === '') {
|
|
117
|
-
// on `delete` the cursor should move forward
|
|
118
|
-
cursor = Math.max(cursor, end);
|
|
119
|
-
isDelete = true;
|
|
120
|
-
}
|
|
121
|
-
else if (cursor === literalsPositions[i]) {
|
|
122
|
-
cursor = literalsPositions[i] + 1;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
if (!isDelete && initialMaskedValue !== maskedValue) {
|
|
109
|
+
if (value.length < 1) {
|
|
110
|
+
// on `delete` the cursor should move forward
|
|
126
111
|
cursor++;
|
|
127
112
|
}
|
|
113
|
+
maskedValue = replaceCharAt(maskedValue, i, char);
|
|
128
114
|
}
|
|
129
115
|
return { value: maskedValue, end: cursor };
|
|
130
116
|
}
|
|
@@ -166,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
166
152
|
providedIn: 'root'
|
|
167
153
|
}]
|
|
168
154
|
}] });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1wYXJzaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2stcGFyc2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQztJQUNoQixDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQztJQUMxQixDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQztJQUNyQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQztJQUN4QixDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQztJQUNuQyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUM7SUFDcEIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ1gsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7SUFDM0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsbUJBQW1CO0NBQ3hDLENBQUMsQ0FBQztBQW1CSCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FDaEUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUdyRSxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDM0MsSUFBSSxJQUFJ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QUMsQ0FBQyxDQUFDLENBQUM7SUFDYixDQUFDOzhHQXJKUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuY29uc3QgRkxBR1MgPSBuZXcgU2V0KCdhQUNMMDkjJj8nKTtcbmNvbnN0IFJFR0VYID0gbmV3IE1hcChbXG4gICAgWydDJywgLyg/IV4kKS91XSwgLy8gTm9uLWVtcHR5XG4gICAgWycmJywgL1teXFxwe1NlcGFyYXRvcn1dL3VdLCAvLyBOb24td2hpdGVzcGFjZVxuICAgIFsnYScsIC9bXFxwe0xldHRlcn1cXGRcXHB7U2VwYXJhdG9yfV0vdV0sIC8vIEFscGhhbnVtZXJpYyAmIHdoaXRlc3BhY2VcbiAgICBbJ0EnLCAvW1xccHtMZXR0ZXJ9XFxkXS91XSwgLy8gQWxwaGFudW1lcmljXG4gICAgWyc/JywgL1tcXHB7TGV0dGVyfVxccHtTZXBhcmF0b3J9XS91XSwgLy8gQWxwaGEgJiB3aGl0ZXNwYWNlXG4gICAgWydMJywgL1xccHtMZXR0ZXJ9L3VdLCAvLyBBbHBoYVxuICAgIFsnMCcsIC9cXGQvXSwgLy8gTnVtZXJpY1xuICAgIFsnOScsIC9bXFxkXFxwe1NlcGFyYXRvcn1dL3VdLCAvLyBOdW1lcmljICYgd2hpdGVzcGFjZVxuICAgIFsnIycsIC9bXFxkXFwtK10vXSwgLy8gTnVtZXJpYyBhbmQgc2lnblxuXSk7XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hc2tPcHRpb25zIHtcbiAgICBmb3JtYXQ6IHN0cmluZztcbiAgICBwcm9tcHRDaGFyOiBzdHJpbmc7XG59XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VkIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGVuZDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUGFyc2VkTWFzayB7XG4gICAgbGl0ZXJhbHM6IE1hcDxudW1iZXIsIHN0cmluZz4sXG4gICAgbWFzazogc3RyaW5nXG59XG5cbmNvbnN0IHJlcGxhY2VDaGFyQXQgPSAoc3RyaW5nOiBzdHJpbmcsIGlkeDogbnVtYmVyLCBjaGFyOiBzdHJpbmcpID0+XG4gICAgYCR7c3RyaW5nLnN1YnN0cmluZygwLCBpZHgpfSR7Y2hhcn0ke3N0cmluZy5zdWJzdHJpbmcoaWR4ICsgMSl9YDtcblxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNYXNrKGZvcm1hdDogc3RyaW5nKTogUGFyc2VkTWFzayB7XG4gICAgY29uc3QgbGl0ZXJhbHMgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuICAgIGxldCBtYXNrID0gZm9ybWF0O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGogPSAwOyBpIDwgZm9ybWF0Lmxlbmd0aDsgaSsrLCBqKyspIHtcbiAgICAgICAgY29uc3QgW2N1cnJlbnQsIG5leHRdID0gW2Zvcm1hdC5jaGFyQXQoaSksIGZvcm1hdC5jaGFyQXQoaSArIDEpXTtcblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gJ1xcXFwnICYmIEZMQUdTLmhhcyhuZXh0KSkge1xuICAgICAgICAgICAgbWFzayA9IHJlcGxhY2VDaGFyQXQobWFzaywgaiwgJycpO1xuICAgICAgICAgICAgbGl0ZXJhbHMuc2V0KGosIG5leHQpO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFGTEFHUy5oYXMoY3VycmVudCkpIHtcbiAgICAgICAgICAgICAgICBsaXRlcmFscy5zZXQoaiwgY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBsaXRlcmFscywgbWFzayB9O1xufVxuXG4vKiogQGhpZGRlbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYXNrUGFyc2luZ1NlcnZpY2Uge1xuXG4gICAgcHVibGljIGFwcGx5TWFzayhpbnB1dFZhbDogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMsIHBvcyA9IDApOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3V0cHV0VmFsID0gJyc7XG4gICAgICAgIGxldCB2YWx1ZSA9ICcnO1xuICAgICAgICBjb25zdCB7IGxpdGVyYWxzLCBtYXNrIH0gPSBwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbEtleXM6IG51bWJlcltdID0gQXJyYXkuZnJvbShsaXRlcmFscy5rZXlzKCkpO1xuICAgICAgICBjb25zdCBub25MaXRlcmFsSW5kaWNlczogbnVtYmVyW10gPSB0aGlzLmdldE5vbkxpdGVyYWxJbmRpY2VzKG1hc2ssIGxpdGVyYWxLZXlzKTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbFZhbHVlczogc3RyaW5nW10gPSBBcnJheS5mcm9tKGxpdGVyYWxzLnZhbHVlcygpKTtcblxuICAgICAgICBpZiAoaW5wdXRWYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgdmFsdWUgPSBpbnB1dFZhbC50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBfbWFza1N5bSBvZiBtYXNrKSB7XG4gICAgICAgICAgICBvdXRwdXRWYWwgKz0gbWFza09wdGlvbnMucHJvbXB0Q2hhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpdGVyYWxzLmZvckVhY2goKHZhbDogc3RyaW5nLCBrZXk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgb3V0cHV0VmFsID0gcmVwbGFjZUNoYXJBdChvdXRwdXRWYWwsIGtleSwgdmFsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG91dHB1dFZhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vbkxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gdGhpcy5nZXROb25MaXRlcmFsVmFsdWVzKHZhbHVlLCBsaXRlcmFsVmFsdWVzKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vbkxpdGVyYWxWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBub25MaXRlcmFsVmFsdWVzW2ldO1xuICAgICAgICAgICAgY29uc3QgaXNDaGFyVmFsaWQgPSB0aGlzLnZhbGlkYXRlQ2hhck9uUG9zaXRpb24oY2hhciwgbm9uTGl0ZXJhbEluZGljZXNbaV0sIG1hc2spO1xuXG4gICAgICAgICAgICBpZiAoIWlzQ2hhclZhbGlkICYmIGNoYXIgIT09IG1hc2tPcHRpb25zLnByb21wdENoYXIpIHtcbiAgICAgICAgICAgICAgICBub25MaXRlcmFsVmFsdWVzW2ldID0gbWFza09wdGlvbnMucHJvbXB0Q2hhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub25MaXRlcmFsVmFsdWVzLmxlbmd0aCA+IG5vbkxpdGVyYWxJbmRpY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgbm9uTGl0ZXJhbFZhbHVlcy5zcGxpY2Uobm9uTGl0ZXJhbEluZGljZXMubGVuZ3RoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgbm9uTGl0ZXJhbFZhbHVlIG9mIG5vbkxpdGVyYWxWYWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBub25MaXRlcmFsVmFsdWU7XG4gICAgICAgICAgICBvdXRwdXRWYWwgPSByZXBsYWNlQ2hhckF0KG91dHB1dFZhbCwgbm9uTGl0ZXJhbEluZGljZXNbcG9zKytdLCBjaGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdXRwdXRWYWw7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlVmFsdWVGcm9tTWFzayhtYXNrZWRWYWx1ZTogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3V0cHV0VmFsID0gJyc7XG4gICAgICAgIGNvbnN0IGxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KS5saXRlcmFscy52YWx1ZXMoKSk7XG5cbiAgICAgICAgZm9yIChjb25zdCB2YWwgb2YgbWFza2VkVmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChsaXRlcmFsVmFsdWVzLmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSBtYXNrT3B0aW9ucy5wcm9tcHRDaGFyKSB7XG4gICAgICAgICAgICAgICAgICAgIG91dHB1dFZhbCArPSB2YWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG91dHB1dFZhbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVwbGFjZUluTWFzayhtYXNrZWRWYWx1ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogUmVwbGFjZWQge1xuICAgICAgICBjb25zdCB7IGxpdGVyYWxzLCBtYXNrIH0gPSBwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbHNQb3NpdGlvbnMgPSBBcnJheS5mcm9tKGxpdGVyYWxzLmtleXMoKSk7XG4gICAgICAgIHZhbHVlID0gdGhpcy5yZXBsYWNlSU1FTnVtYmVycyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNoYXJzID0gQXJyYXkuZnJvbSh2YWx1ZSk7XG4gICAgICAgIGxldCBjdXJzb3IgPSBzdGFydDtcbiAgICAgICAgZW5kID0gTWF0aC5taW4oZW5kLCBtYXNrZWRWYWx1ZS5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpbml0aWFsTWFza2VkVmFsdWUgPSBtYXNrZWRWYWx1ZTtcblxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBlbmQgfHwgKGNoYXJzLmxlbmd0aCAmJiBpIDwgbWFza2VkVmFsdWUubGVuZ3RoKTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAobGl0ZXJhbHNQb3NpdGlvbnMuaW5kZXhPZihpKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2hhcnNbMF0gPT09IG1hc2tlZFZhbHVlW2ldKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvciA9IGkgKyAxO1xuICAgICAgICAgICAgICAgICAgICBjaGFycy5zaGlmdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjaGFyc1swXVxuICAgICAgICAgICAgICAgICYmICF0aGlzLnZhbGlkYXRlQ2hhck9uUG9zaXRpb24oY2hhcnNbMF0sIGksIG1hc2spXG4gICAgICAgICAgICAgICAgJiYgY2hhcnNbMF0gIT09IG1hc2tPcHRpb25zLnByb21wdENoYXIpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGNoYXIgPSBtYXNrT3B0aW9ucy5wcm9tcHRDaGFyO1xuICAgICAgICAgICAgaWYgKGNoYXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGN1cnNvciA9IGkgKyAxO1xuICAgICAgICAgICAgICAgIGNoYXIgPSBjaGFycy5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWFza2VkVmFsdWUgPSByZXBsYWNlQ2hhckF0KG1hc2tlZFZhbHVlLCBpLCBjaGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgbGV0IGlzRGVsZXRlID0gZmFsc2U7XG4gICAgICAgICAgICBjdXJzb3IgPSBzdGFydDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGl0ZXJhbHNQb3NpdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9uIGBkZWxldGVgIHRoZSBjdXJzb3Igc2hvdWxkIG1vdmUgZm9yd2FyZFxuICAgICAgICAgICAgICAgICAgICBjdXJzb3IgPSBNYXRoLm1heChjdXJzb3IsIGVuZCk7XG4gICAgICAgICAgICAgICAgICAgIGlzRGVsZXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnNvciA9PT0gbGl0ZXJhbHNQb3NpdGlvbnNbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yID0gbGl0ZXJhbHNQb3NpdGlvbnNbaV0gKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaXNEZWxldGUgJiYgaW5pdGlhbE1hc2tlZFZhbHVlICE9PSBtYXNrZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnNvcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG1hc2tlZFZhbHVlLCBlbmQ6IGN1cnNvciB9O1xuICAgIH1cblxuICAgIC8qKiBWYWxpZGF0ZXMgb25seSBub24gbGl0ZXJhbCBwb3NpdGlvbnMuICovXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUNoYXJPblBvc2l0aW9uKGlucHV0Q2hhcjogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyLCBtYXNrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSBSRUdFWC5nZXQobWFzay5jaGFyQXQocG9zaXRpb24pKTtcbiAgICAgICAgcmV0dXJuIHJlZ2V4ID8gcmVnZXgudGVzdChpbnB1dENoYXIpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb25MaXRlcmFsSW5kaWNlcyhtYXNrOiBzdHJpbmcsIGxpdGVyYWxLZXlzOiBudW1iZXJbXSk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3Qgbm9uTGl0ZXJhbHNJbmRpY2VzOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGxpdGVyYWxLZXlzLmluZGV4T2YoaSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbm9uTGl0ZXJhbHNJbmRpY2VzLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbm9uTGl0ZXJhbHNJbmRpY2VzO1xuICAgIH1cbiAgICBwcml2YXRlIGdldE5vbkxpdGVyYWxWYWx1ZXModmFsdWU6IHN0cmluZywgbGl0ZXJhbFZhbHVlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IG5vbkxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCB2YWwgb2YgdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChsaXRlcmFsVmFsdWVzLmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBub25MaXRlcmFsVmFsdWVzLnB1c2godmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub25MaXRlcmFsVmFsdWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVwbGFjZUlNRU51bWJlcnModmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9b77yQ77yR77yS77yT77yU77yV77yW77yX77yY77yZXS9nLCAobnVtKSA9PiAoe1xuICAgICAgICAgICAgJ++8kSc6ICcxJywgJ++8kic6ICcyJywgJ++8kyc6ICczJywgJ++8lCc6ICc0JywgJ++8lSc6ICc1JyxcbiAgICAgICAgICAgICfvvJYnOiAnNicsICfvvJcnOiAnNycsICfvvJgnOiAnOCcsICfvvJknOiAnOScsICfvvJAnOiAnMCdcbiAgICAgICAgfVtudW1dKSk7XG4gICAgfVxufVxuIl19
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1wYXJzaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9tYXNrL21hc2stcGFyc2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2xCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQztJQUNoQixDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQztJQUMxQixDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQztJQUNyQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQztJQUN4QixDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQztJQUNuQyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUM7SUFDcEIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ1gsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7SUFDM0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsbUJBQW1CO0NBQ3hDLENBQUMsQ0FBQztBQW1CSCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQWMsRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FDaEUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUdyRSxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDM0MsSUFBSSxJQUFJ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QUU7WUFDckIsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUI7U0FDSjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWE7UUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO1lBQ2hELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7U0FDbkQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDYixDQUFDOzhHQXZJUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuY29uc3QgRkxBR1MgPSBuZXcgU2V0KCdhQUNMMDkjJj8nKTtcbmNvbnN0IFJFR0VYID0gbmV3IE1hcChbXG4gICAgWydDJywgLyg/IV4kKS91XSwgLy8gTm9uLWVtcHR5XG4gICAgWycmJywgL1teXFxwe1NlcGFyYXRvcn1dL3VdLCAvLyBOb24td2hpdGVzcGFjZVxuICAgIFsnYScsIC9bXFxwe0xldHRlcn1cXGRcXHB7U2VwYXJhdG9yfV0vdV0sIC8vIEFscGhhbnVtZXJpYyAmIHdoaXRlc3BhY2VcbiAgICBbJ0EnLCAvW1xccHtMZXR0ZXJ9XFxkXS91XSwgLy8gQWxwaGFudW1lcmljXG4gICAgWyc/JywgL1tcXHB7TGV0dGVyfVxccHtTZXBhcmF0b3J9XS91XSwgLy8gQWxwaGEgJiB3aGl0ZXNwYWNlXG4gICAgWydMJywgL1xccHtMZXR0ZXJ9L3VdLCAvLyBBbHBoYVxuICAgIFsnMCcsIC9cXGQvXSwgLy8gTnVtZXJpY1xuICAgIFsnOScsIC9bXFxkXFxwe1NlcGFyYXRvcn1dL3VdLCAvLyBOdW1lcmljICYgd2hpdGVzcGFjZVxuICAgIFsnIycsIC9bXFxkXFwtK10vXSwgLy8gTnVtZXJpYyBhbmQgc2lnblxuXSk7XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hc2tPcHRpb25zIHtcbiAgICBmb3JtYXQ6IHN0cmluZztcbiAgICBwcm9tcHRDaGFyOiBzdHJpbmc7XG59XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VkIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGVuZDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUGFyc2VkTWFzayB7XG4gICAgbGl0ZXJhbHM6IE1hcDxudW1iZXIsIHN0cmluZz4sXG4gICAgbWFzazogc3RyaW5nXG59XG5cbmNvbnN0IHJlcGxhY2VDaGFyQXQgPSAoc3RyaW5nOiBzdHJpbmcsIGlkeDogbnVtYmVyLCBjaGFyOiBzdHJpbmcpID0+XG4gICAgYCR7c3RyaW5nLnN1YnN0cmluZygwLCBpZHgpfSR7Y2hhcn0ke3N0cmluZy5zdWJzdHJpbmcoaWR4ICsgMSl9YDtcblxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNYXNrKGZvcm1hdDogc3RyaW5nKTogUGFyc2VkTWFzayB7XG4gICAgY29uc3QgbGl0ZXJhbHMgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuICAgIGxldCBtYXNrID0gZm9ybWF0O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGogPSAwOyBpIDwgZm9ybWF0Lmxlbmd0aDsgaSsrLCBqKyspIHtcbiAgICAgICAgY29uc3QgW2N1cnJlbnQsIG5leHRdID0gW2Zvcm1hdC5jaGFyQXQoaSksIGZvcm1hdC5jaGFyQXQoaSArIDEpXTtcblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gJ1xcXFwnICYmIEZMQUdTLmhhcyhuZXh0KSkge1xuICAgICAgICAgICAgbWFzayA9IHJlcGxhY2VDaGFyQXQobWFzaywgaiwgJycpO1xuICAgICAgICAgICAgbGl0ZXJhbHMuc2V0KGosIG5leHQpO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFGTEFHUy5oYXMoY3VycmVudCkpIHtcbiAgICAgICAgICAgICAgICBsaXRlcmFscy5zZXQoaiwgY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBsaXRlcmFscywgbWFzayB9O1xufVxuXG4vKiogQGhpZGRlbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYXNrUGFyc2luZ1NlcnZpY2Uge1xuXG4gICAgcHVibGljIGFwcGx5TWFzayhpbnB1dFZhbDogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMsIHBvcyA9IDApOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3V0cHV0VmFsID0gJyc7XG4gICAgICAgIGxldCB2YWx1ZSA9ICcnO1xuICAgICAgICBjb25zdCB7IGxpdGVyYWxzLCBtYXNrIH0gPSBwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbEtleXM6IG51bWJlcltdID0gQXJyYXkuZnJvbShsaXRlcmFscy5rZXlzKCkpO1xuICAgICAgICBjb25zdCBub25MaXRlcmFsSW5kaWNlczogbnVtYmVyW10gPSB0aGlzLmdldE5vbkxpdGVyYWxJbmRpY2VzKG1hc2ssIGxpdGVyYWxLZXlzKTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbFZhbHVlczogc3RyaW5nW10gPSBBcnJheS5mcm9tKGxpdGVyYWxzLnZhbHVlcygpKTtcblxuICAgICAgICBpZiAoaW5wdXRWYWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgdmFsdWUgPSBpbnB1dFZhbC50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBfbWFza1N5bSBvZiBtYXNrKSB7XG4gICAgICAgICAgICBvdXRwdXRWYWwgKz0gbWFza09wdGlvbnMucHJvbXB0Q2hhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpdGVyYWxzLmZvckVhY2goKHZhbDogc3RyaW5nLCBrZXk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgb3V0cHV0VmFsID0gcmVwbGFjZUNoYXJBdChvdXRwdXRWYWwsIGtleSwgdmFsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG91dHB1dFZhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vbkxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gdGhpcy5nZXROb25MaXRlcmFsVmFsdWVzKHZhbHVlLCBsaXRlcmFsVmFsdWVzKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vbkxpdGVyYWxWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBub25MaXRlcmFsVmFsdWVzW2ldO1xuICAgICAgICAgICAgY29uc3QgaXNDaGFyVmFsaWQgPSB0aGlzLnZhbGlkYXRlQ2hhck9uUG9zaXRpb24oY2hhciwgbm9uTGl0ZXJhbEluZGljZXNbaV0sIG1hc2spO1xuXG4gICAgICAgICAgICBpZiAoIWlzQ2hhclZhbGlkICYmIGNoYXIgIT09IG1hc2tPcHRpb25zLnByb21wdENoYXIpIHtcbiAgICAgICAgICAgICAgICBub25MaXRlcmFsVmFsdWVzW2ldID0gbWFza09wdGlvbnMucHJvbXB0Q2hhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub25MaXRlcmFsVmFsdWVzLmxlbmd0aCA+IG5vbkxpdGVyYWxJbmRpY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgbm9uTGl0ZXJhbFZhbHVlcy5zcGxpY2Uobm9uTGl0ZXJhbEluZGljZXMubGVuZ3RoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgbm9uTGl0ZXJhbFZhbHVlIG9mIG5vbkxpdGVyYWxWYWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXIgPSBub25MaXRlcmFsVmFsdWU7XG4gICAgICAgICAgICBvdXRwdXRWYWwgPSByZXBsYWNlQ2hhckF0KG91dHB1dFZhbCwgbm9uTGl0ZXJhbEluZGljZXNbcG9zKytdLCBjaGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdXRwdXRWYWw7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlVmFsdWVGcm9tTWFzayhtYXNrZWRWYWx1ZTogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3V0cHV0VmFsID0gJyc7XG4gICAgICAgIGNvbnN0IGxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbShwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KS5saXRlcmFscy52YWx1ZXMoKSk7XG5cbiAgICAgICAgZm9yIChjb25zdCB2YWwgb2YgbWFza2VkVmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChsaXRlcmFsVmFsdWVzLmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsICE9PSBtYXNrT3B0aW9ucy5wcm9tcHRDaGFyKSB7XG4gICAgICAgICAgICAgICAgICAgIG91dHB1dFZhbCArPSB2YWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG91dHB1dFZhbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVwbGFjZUluTWFzayhtYXNrZWRWYWx1ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBtYXNrT3B0aW9uczogTWFza09wdGlvbnMsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogUmVwbGFjZWQge1xuICAgICAgICBjb25zdCB7IGxpdGVyYWxzLCBtYXNrIH0gPSBwYXJzZU1hc2sobWFza09wdGlvbnMuZm9ybWF0KTtcbiAgICAgICAgY29uc3QgbGl0ZXJhbHNQb3NpdGlvbnMgPSBBcnJheS5mcm9tKGxpdGVyYWxzLmtleXMoKSk7XG4gICAgICAgIHZhbHVlID0gdGhpcy5yZXBsYWNlSU1FTnVtYmVycyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNoYXJzID0gQXJyYXkuZnJvbSh2YWx1ZSk7XG4gICAgICAgIGxldCBjdXJzb3IgPSBzdGFydDtcbiAgICAgICAgZW5kID0gTWF0aC5taW4oZW5kLCBtYXNrZWRWYWx1ZS5sZW5ndGgpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IGVuZCB8fCAoY2hhcnMubGVuZ3RoICYmIGkgPCBtYXNrZWRWYWx1ZS5sZW5ndGgpOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChsaXRlcmFsc1Bvc2l0aW9ucy5pbmRleE9mKGkpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGlmIChjaGFyc1swXSA9PT0gbWFza2VkVmFsdWVbaV0gfHwgdmFsdWUubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3IgPSBpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgY2hhcnMuc2hpZnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2hhcnNbMF1cbiAgICAgICAgICAgICAgICAmJiAhdGhpcy52YWxpZGF0ZUNoYXJPblBvc2l0aW9uKGNoYXJzWzBdLCBpLCBtYXNrKVxuICAgICAgICAgICAgICAgICYmIGNoYXJzWzBdICE9PSBtYXNrT3B0aW9ucy5wcm9tcHRDaGFyKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBjaGFyID0gbWFza09wdGlvbnMucHJvbXB0Q2hhcjtcbiAgICAgICAgICAgIGlmIChjaGFycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjdXJzb3IgPSBpICsgMTtcbiAgICAgICAgICAgICAgICBjaGFyID0gY2hhcnMuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgLy8gb24gYGRlbGV0ZWAgdGhlIGN1cnNvciBzaG91bGQgbW92ZSBmb3J3YXJkXG4gICAgICAgICAgICAgICAgY3Vyc29yKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXNrZWRWYWx1ZSA9IHJlcGxhY2VDaGFyQXQobWFza2VkVmFsdWUsIGksIGNoYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG1hc2tlZFZhbHVlLCBlbmQ6IGN1cnNvciB9O1xuICAgIH1cblxuICAgIC8qKiBWYWxpZGF0ZXMgb25seSBub24gbGl0ZXJhbCBwb3NpdGlvbnMuICovXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUNoYXJPblBvc2l0aW9uKGlucHV0Q2hhcjogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyLCBtYXNrOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSBSRUdFWC5nZXQobWFzay5jaGFyQXQocG9zaXRpb24pKTtcbiAgICAgICAgcmV0dXJuIHJlZ2V4ID8gcmVnZXgudGVzdChpbnB1dENoYXIpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROb25MaXRlcmFsSW5kaWNlcyhtYXNrOiBzdHJpbmcsIGxpdGVyYWxLZXlzOiBudW1iZXJbXSk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3Qgbm9uTGl0ZXJhbHNJbmRpY2VzOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGxpdGVyYWxLZXlzLmluZGV4T2YoaSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbm9uTGl0ZXJhbHNJbmRpY2VzLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbm9uTGl0ZXJhbHNJbmRpY2VzO1xuICAgIH1cbiAgICBwcml2YXRlIGdldE5vbkxpdGVyYWxWYWx1ZXModmFsdWU6IHN0cmluZywgbGl0ZXJhbFZhbHVlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IG5vbkxpdGVyYWxWYWx1ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCB2YWwgb2YgdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChsaXRlcmFsVmFsdWVzLmluZGV4T2YodmFsKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBub25MaXRlcmFsVmFsdWVzLnB1c2godmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub25MaXRlcmFsVmFsdWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVwbGFjZUlNRU51bWJlcnModmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9b77yQ77yR77yS77yT77yU77yV77yW77yX77yY77yZXS9nLCAobnVtKSA9PiAoe1xuICAgICAgICAgICAgJ++8kSc6ICcxJywgJ++8kic6ICcyJywgJ++8kyc6ICczJywgJ++8lCc6ICc0JywgJ++8lSc6ICc1JyxcbiAgICAgICAgICAgICfvvJYnOiAnNicsICfvvJcnOiAnNycsICfvvJgnOiAnOCcsICfvvJknOiAnOScsICfvvJAnOiAnMCdcbiAgICAgICAgfVtudW1dKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -12333,7 +12333,7 @@ class IgxDragDirective {
|
|
|
12333
12333
|
this._pointerDownId = event.pointerId;
|
|
12334
12334
|
// Set pointer capture so we detect pointermove even if mouse is out of bounds until ghostElement is created.
|
|
12335
12335
|
const handleFound = this.dragHandles.find(handle => handle.element.nativeElement === event.target);
|
|
12336
|
-
const targetElement = handleFound ? handleFound.element.nativeElement : this.element.nativeElement;
|
|
12336
|
+
const targetElement = handleFound ? handleFound.element.nativeElement : event.target || this.element.nativeElement;
|
|
12337
12337
|
if (this.pointerEventsEnabled) {
|
|
12338
12338
|
targetElement.setPointerCapture(this._pointerDownId);
|
|
12339
12339
|
}
|
|
@@ -16401,10 +16401,9 @@ class MaskParsingService {
|
|
|
16401
16401
|
const chars = Array.from(value);
|
|
16402
16402
|
let cursor = start;
|
|
16403
16403
|
end = Math.min(end, maskedValue.length);
|
|
16404
|
-
const initialMaskedValue = maskedValue;
|
|
16405
16404
|
for (let i = start; i < end || (chars.length && i < maskedValue.length); i++) {
|
|
16406
16405
|
if (literalsPositions.indexOf(i) !== -1) {
|
|
16407
|
-
if (chars[0] === maskedValue[i]) {
|
|
16406
|
+
if (chars[0] === maskedValue[i] || value.length < 1) {
|
|
16408
16407
|
cursor = i + 1;
|
|
16409
16408
|
chars.shift();
|
|
16410
16409
|
}
|
|
@@ -16420,24 +16419,11 @@ class MaskParsingService {
|
|
|
16420
16419
|
cursor = i + 1;
|
|
16421
16420
|
char = chars.shift();
|
|
16422
16421
|
}
|
|
16423
|
-
|
|
16424
|
-
|
|
16425
|
-
if (value.length <= 1) {
|
|
16426
|
-
let isDelete = false;
|
|
16427
|
-
cursor = start;
|
|
16428
|
-
for (let i = 0; i < literalsPositions.length; i++) {
|
|
16429
|
-
if (value === '') {
|
|
16430
|
-
// on `delete` the cursor should move forward
|
|
16431
|
-
cursor = Math.max(cursor, end);
|
|
16432
|
-
isDelete = true;
|
|
16433
|
-
}
|
|
16434
|
-
else if (cursor === literalsPositions[i]) {
|
|
16435
|
-
cursor = literalsPositions[i] + 1;
|
|
16436
|
-
}
|
|
16437
|
-
}
|
|
16438
|
-
if (!isDelete && initialMaskedValue !== maskedValue) {
|
|
16422
|
+
if (value.length < 1) {
|
|
16423
|
+
// on `delete` the cursor should move forward
|
|
16439
16424
|
cursor++;
|
|
16440
16425
|
}
|
|
16426
|
+
maskedValue = replaceCharAt(maskedValue, i, char);
|
|
16441
16427
|
}
|
|
16442
16428
|
return { value: maskedValue, end: cursor };
|
|
16443
16429
|
}
|
|
@@ -37911,7 +37897,7 @@ class IgxComboBaseDirective extends DisplayDensityBase {
|
|
|
37911
37897
|
}
|
|
37912
37898
|
/** if there is a valueKey - map the keys to data items, else - just return the keys */
|
|
37913
37899
|
convertKeysToItems(keys) {
|
|
37914
|
-
if (this.
|
|
37900
|
+
if (this.valueKey === null || this.valueKey === undefined) {
|
|
37915
37901
|
return keys;
|
|
37916
37902
|
}
|
|
37917
37903
|
// map keys vs. filter data to retain the order of the selected items
|