@ecodev/natural 55.8.1 → 55.9.0

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.
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  export class AvatarService {
10
10
  constructor() {
11
11
  /**
12
- * Ordered pairs of possible sources. First in list is the highest priority.
12
+ * Ordered pairs of possible sources. First in the list is the highest priority.
13
13
  * And key must match one the input of AvatarComponent.
14
14
  */
15
15
  this.sourceCreators = new Map([
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
64
64
  providedIn: 'root',
65
65
  }]
66
66
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc2VydmljZS9hdmF0YXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUd2Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBOEM7WUFDbkYsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQ3RCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUNoQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBRWMsaUJBQVksR0FBRztZQUM1QixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDO1FBRWUsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztLQWlDOUQ7SUEvQlUsY0FBYyxDQUFDLFVBQWtCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBYztRQUN2QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSzthQUNQLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDOzhHQXZEUSxhQUFhO2tIQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NvdXJjZSwgU291cmNlQ3JlYXRvcn0gZnJvbSAnLi4vc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHtHcmF2YXRhcn0gZnJvbSAnLi4vc291cmNlcy9ncmF2YXRhcic7XG5pbXBvcnQge0luaXRpYWxzfSBmcm9tICcuLi9zb3VyY2VzL2luaXRpYWxzJztcbmltcG9ydCB7SW1hZ2V9IGZyb20gJy4uL3NvdXJjZXMvaW1hZ2UnO1xuaW1wb3J0IHtOYXR1cmFsQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdXRpbGl0aWVzIG1ldGhvZHMgcmVsYXRlZCB0byBBdmF0YXIgY29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIE9yZGVyZWQgcGFpcnMgb2YgcG9zc2libGUgc291cmNlcy4gRmlyc3QgaW4gbGlzdCBpcyB0aGUgaGlnaGVzdCBwcmlvcml0eS5cbiAgICAgKiBBbmQga2V5IG11c3QgbWF0Y2ggb25lIHRoZSBpbnB1dCBvZiBBdmF0YXJDb21wb25lbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2VDcmVhdG9ycyA9IG5ldyBNYXA8a2V5b2YgTmF0dXJhbEF2YXRhckNvbXBvbmVudCwgU291cmNlQ3JlYXRvcj4oW1xuICAgICAgICBbJ2dyYXZhdGFyJywgR3JhdmF0YXJdLFxuICAgICAgICBbJ2ltYWdlJywgSW1hZ2VdLFxuICAgICAgICBbJ2luaXRpYWxzJywgSW5pdGlhbHNdLFxuICAgIF0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdmF0YXJDb2xvcnMgPSBbXG4gICAgICAgICcjZmYwMDAwJyxcbiAgICAgICAgJyNmZjg4MDAnLFxuICAgICAgICAnI2RhYmIwMCcsXG4gICAgICAgICcjMDBjMjAwJyxcbiAgICAgICAgJyMwMWNiY2InLFxuICAgICAgICAnIzAwOGNmZicsXG4gICAgICAgICcjZmYwMGQ4JyxcbiAgICAgICAgJyNjODAwZmYnLFxuICAgICAgICAnIzNiM2IzYicsXG4gICAgXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFpbGVkU291cmNlcyA9IG5ldyBNYXA8c3RyaW5nLCBTb3VyY2U+KCk7XG5cbiAgICBwdWJsaWMgZ2V0UmFuZG9tQ29sb3IoYXZhdGFyVGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFhdmF0YXJUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhc2NpaUNvZGVTdW0gPSB0aGlzLmNhbGN1bGF0ZUFzY2lpQ29kZShhdmF0YXJUZXh0KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hdmF0YXJDb2xvcnNbYXNjaWlDb2RlU3VtICUgdGhpcy5hdmF0YXJDb2xvcnMubGVuZ3RoXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3JlYXRvcnMoKTogSXRlcmFibGVJdGVyYXRvcjxba2V5b2YgTmF0dXJhbEF2YXRhckNvbXBvbmVudCwgU291cmNlQ3JlYXRvcl0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc291cmNlQ3JlYXRvcnMuZW50cmllcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U291cmNlS2V5KHNvdXJjZTogU291cmNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5jb25zdHJ1Y3Rvci5uYW1lICsgJy0nICsgc291cmNlLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNvdXJjZUhhc0ZhaWxlZEJlZm9yZShzb3VyY2U6IFNvdXJjZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mYWlsZWRTb3VyY2VzLmhhcyh0aGlzLmdldFNvdXJjZUtleShzb3VyY2UpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFya1NvdXJjZUFzRmFpbGVkKHNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmFpbGVkU291cmNlcy5zZXQodGhpcy5nZXRTb3VyY2VLZXkoc291cmNlKSwgc291cmNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUFzY2lpQ29kZSh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAubWFwKGxldHRlciA9PiBsZXR0ZXIuY2hhckNvZGVBdCgwKSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cyArIGN1cnJlbnQpO1xuICAgIH1cbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc2VydmljZS9hdmF0YXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUd2Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBOEM7WUFDbkYsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQ3RCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUNoQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBRWMsaUJBQVksR0FBRztZQUM1QixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDO1FBRWUsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztLQWlDOUQ7SUEvQlUsY0FBYyxDQUFDLFVBQWtCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBYztRQUN2QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSzthQUNQLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDOzhHQXZEUSxhQUFhO2tIQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NvdXJjZSwgU291cmNlQ3JlYXRvcn0gZnJvbSAnLi4vc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHtHcmF2YXRhcn0gZnJvbSAnLi4vc291cmNlcy9ncmF2YXRhcic7XG5pbXBvcnQge0luaXRpYWxzfSBmcm9tICcuLi9zb3VyY2VzL2luaXRpYWxzJztcbmltcG9ydCB7SW1hZ2V9IGZyb20gJy4uL3NvdXJjZXMvaW1hZ2UnO1xuaW1wb3J0IHtOYXR1cmFsQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdXRpbGl0aWVzIG1ldGhvZHMgcmVsYXRlZCB0byBBdmF0YXIgY29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIE9yZGVyZWQgcGFpcnMgb2YgcG9zc2libGUgc291cmNlcy4gRmlyc3QgaW4gdGhlIGxpc3QgaXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkuXG4gICAgICogQW5kIGtleSBtdXN0IG1hdGNoIG9uZSB0aGUgaW5wdXQgb2YgQXZhdGFyQ29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlQ3JlYXRvcnMgPSBuZXcgTWFwPGtleW9mIE5hdHVyYWxBdmF0YXJDb21wb25lbnQsIFNvdXJjZUNyZWF0b3I+KFtcbiAgICAgICAgWydncmF2YXRhcicsIEdyYXZhdGFyXSxcbiAgICAgICAgWydpbWFnZScsIEltYWdlXSxcbiAgICAgICAgWydpbml0aWFscycsIEluaXRpYWxzXSxcbiAgICBdKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyQ29sb3JzID0gW1xuICAgICAgICAnI2ZmMDAwMCcsXG4gICAgICAgICcjZmY4ODAwJyxcbiAgICAgICAgJyNkYWJiMDAnLFxuICAgICAgICAnIzAwYzIwMCcsXG4gICAgICAgICcjMDFjYmNiJyxcbiAgICAgICAgJyMwMDhjZmYnLFxuICAgICAgICAnI2ZmMDBkOCcsXG4gICAgICAgICcjYzgwMGZmJyxcbiAgICAgICAgJyMzYjNiM2InLFxuICAgIF07XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZhaWxlZFNvdXJjZXMgPSBuZXcgTWFwPHN0cmluZywgU291cmNlPigpO1xuXG4gICAgcHVibGljIGdldFJhbmRvbUNvbG9yKGF2YXRhclRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghYXZhdGFyVGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYXNjaWlDb2RlU3VtID0gdGhpcy5jYWxjdWxhdGVBc2NpaUNvZGUoYXZhdGFyVGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXZhdGFyQ29sb3JzW2FzY2lpQ29kZVN1bSAlIHRoaXMuYXZhdGFyQ29sb3JzLmxlbmd0aF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldENyZWF0b3JzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W2tleW9mIE5hdHVyYWxBdmF0YXJDb21wb25lbnQsIFNvdXJjZUNyZWF0b3JdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZUNyZWF0b3JzLmVudHJpZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNvdXJjZUtleShzb3VyY2U6IFNvdXJjZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzb3VyY2UuY29uc3RydWN0b3IubmFtZSArICctJyArIHNvdXJjZS5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzb3VyY2VIYXNGYWlsZWRCZWZvcmUoc291cmNlOiBTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmFpbGVkU291cmNlcy5oYXModGhpcy5nZXRTb3VyY2VLZXkoc291cmNlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtTb3VyY2VBc0ZhaWxlZChzb3VyY2U6IFNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZhaWxlZFNvdXJjZXMuc2V0KHRoaXMuZ2V0U291cmNlS2V5KHNvdXJjZSksIHNvdXJjZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVBc2NpaUNvZGUodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcChsZXR0ZXIgPT4gbGV0dGVyLmNoYXJDb2RlQXQoMCkpXG4gICAgICAgICAgICAucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMgKyBjdXJyZW50KTtcbiAgICB9XG59XG4iXX0=
@@ -1,13 +1,21 @@
1
1
  import { Source } from './source';
2
2
  /**
3
- * Iterates a person's name string to get the initials of each word in uppercase.
3
+ * Get the initials of each word in uppercase.
4
4
  */
5
5
  function getInitials(name, size) {
6
+ // Drop all text in parentheses, because assumed less important
7
+ name = name.replace(/\([^)]*\)/g, '');
6
8
  name = name.trim();
9
+ // Deliberately short name is kept intact
10
+ if (name.length <= size) {
11
+ return name.toUpperCase();
12
+ }
13
+ // Only letters (including unicode), numbers, and whitespace
14
+ name = name.replace(/[^\p{L}\p{N}\s]/gu, '');
7
15
  if (!name) {
8
16
  return '';
9
17
  }
10
- let words = name.split(' ');
18
+ let words = name.split(/\s+/);
11
19
  if (size && size < words.length) {
12
20
  words = words.slice(0, size);
13
21
  }
@@ -22,10 +30,10 @@ function getInitials(name, size) {
22
30
  */
23
31
  export class Initials extends Source {
24
32
  getAvatar(size) {
25
- return getInitials(this.getValue().replace(/[^a-zA-Z0-9\s]/g, ''), size); // only letters, numbers and space
33
+ return getInitials(this.getValue(), size);
26
34
  }
27
35
  isTextual() {
28
36
  return true;
29
37
  }
30
38
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9pbml0aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDM0MsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVuQixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1AsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksS0FBSyxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFdEMsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsT0FBTyxLQUFLO1NBQ1AsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDckMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzFCLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDUixXQUFXLEVBQUUsQ0FBQztBQUN2QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLE1BQU07SUFDekIsU0FBUyxDQUFDLElBQVk7UUFDekIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztJQUNoSCxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U291cmNlfSBmcm9tICcuL3NvdXJjZSc7XG5cbi8qKlxuICogSXRlcmF0ZXMgYSBwZXJzb24ncyBuYW1lIHN0cmluZyB0byBnZXQgdGhlIGluaXRpYWxzIG9mIGVhY2ggd29yZCBpbiB1cHBlcmNhc2UuXG4gKi9cbmZ1bmN0aW9uIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZywgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBuYW1lID0gbmFtZS50cmltKCk7XG5cbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCB3b3Jkczogc3RyaW5nW10gPSBuYW1lLnNwbGl0KCcgJyk7XG5cbiAgICBpZiAoc2l6ZSAmJiBzaXplIDwgd29yZHMubGVuZ3RoKSB7XG4gICAgICAgIHdvcmRzID0gd29yZHMuc2xpY2UoMCwgc2l6ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Lmxlbmd0aCA+IDApXG4gICAgICAgIC5tYXAoZWxlbWVudCA9PiBlbGVtZW50WzBdKVxuICAgICAgICAuam9pbignJylcbiAgICAgICAgLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBpbml0aWFscyBvZiB0aGUgZ2l2ZW4gdmFsdWUgYXMgYXZhdGFyXG4gKi9cbmV4cG9ydCBjbGFzcyBJbml0aWFscyBleHRlbmRzIFNvdXJjZSB7XG4gICAgcHVibGljIGdldEF2YXRhcihzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2V0SW5pdGlhbHModGhpcy5nZXRWYWx1ZSgpLnJlcGxhY2UoL1teYS16QS1aMC05XFxzXS9nLCAnJyksIHNpemUpOyAvLyBvbmx5IGxldHRlcnMsIG51bWJlcnMgYW5kIHNwYWNlXG4gICAgfVxuXG4gICAgcHVibGljIGlzVGV4dHVhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9pbml0aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDM0MsK0RBQStEO0lBQy9ELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRW5CLHlDQUF5QztJQUN6QyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQzdCO0lBRUQsNERBQTREO0lBQzVELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDUCxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDaEM7SUFFRCxPQUFPLEtBQUs7U0FDUCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNyQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNSLFdBQVcsRUFBRSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBTTtJQUN6QixTQUFTLENBQUMsSUFBWTtRQUN6QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NvdXJjZX0gZnJvbSAnLi9zb3VyY2UnO1xuXG4vKipcbiAqIEdldCB0aGUgaW5pdGlhbHMgb2YgZWFjaCB3b3JkIGluIHVwcGVyY2FzZS5cbiAqL1xuZnVuY3Rpb24gZ2V0SW5pdGlhbHMobmFtZTogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIERyb3AgYWxsIHRleHQgaW4gcGFyZW50aGVzZXMsIGJlY2F1c2UgYXNzdW1lZCBsZXNzIGltcG9ydGFudFxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1xcKFteKV0qXFwpL2csICcnKTtcbiAgICBuYW1lID0gbmFtZS50cmltKCk7XG5cbiAgICAvLyBEZWxpYmVyYXRlbHkgc2hvcnQgbmFtZSBpcyBrZXB0IGludGFjdFxuICAgIGlmIChuYW1lLmxlbmd0aCA8PSBzaXplKSB7XG4gICAgICAgIHJldHVybiBuYW1lLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgLy8gT25seSBsZXR0ZXJzIChpbmNsdWRpbmcgdW5pY29kZSksIG51bWJlcnMsIGFuZCB3aGl0ZXNwYWNlXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW15cXHB7TH1cXHB7Tn1cXHNdL2d1LCAnJyk7XG5cbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCB3b3JkcyA9IG5hbWUuc3BsaXQoL1xccysvKTtcbiAgICBpZiAoc2l6ZSAmJiBzaXplIDwgd29yZHMubGVuZ3RoKSB7XG4gICAgICAgIHdvcmRzID0gd29yZHMuc2xpY2UoMCwgc2l6ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Lmxlbmd0aCA+IDApXG4gICAgICAgIC5tYXAoZWxlbWVudCA9PiBlbGVtZW50WzBdKVxuICAgICAgICAuam9pbignJylcbiAgICAgICAgLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBpbml0aWFscyBvZiB0aGUgZ2l2ZW4gdmFsdWUgYXMgYXZhdGFyXG4gKi9cbmV4cG9ydCBjbGFzcyBJbml0aWFscyBleHRlbmRzIFNvdXJjZSB7XG4gICAgcHVibGljIGdldEF2YXRhcihzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2V0SW5pdGlhbHModGhpcy5nZXRWYWx1ZSgpLCBzaXplKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUZXh0dWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
@@ -16,6 +16,40 @@ export function wrapLike(selection) {
16
16
  }
17
17
  return selection;
18
18
  }
19
+ /**
20
+ * Search by prefix using `%' SQL wildcard
21
+ *
22
+ * So:
23
+ *
24
+ * {field: 'myFieldName', condition: {like: {value: 'foo'}}}
25
+ *
26
+ * will become
27
+ *
28
+ * {field: 'myFieldName', condition: {like: {value: 'foo%'}}}
29
+ */
30
+ export function wrapPrefix(selection) {
31
+ if (selection.condition.like) {
32
+ selection.condition.like.value = selection.condition.like.value + '%';
33
+ }
34
+ return selection;
35
+ }
36
+ /**
37
+ * Search by suffix using `%' SQL wildcard
38
+ *
39
+ * So:
40
+ *
41
+ * {field: 'myFieldName', condition: {like: {value: 'foo'}}}
42
+ *
43
+ * will become
44
+ *
45
+ * {field: 'myFieldName', condition: {like: {value: '%foo'}}}
46
+ */
47
+ export function wrapSuffix(selection) {
48
+ if (selection.condition.like) {
49
+ selection.condition.like.value = '%' + selection.condition.like.value;
50
+ }
51
+ return selection;
52
+ }
19
53
  /**
20
54
  * Replace the operator name (usually "like", "in" or "between") with the
21
55
  * attribute "field" or "name" defined in the configuration
@@ -105,4 +139,4 @@ export function replaceToday(selection) {
105
139
  }
106
140
  return selection;
107
141
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2NsYXNzZXMvdHJhbnNmb3JtZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxTQUFpQztJQUN0RCxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQzFCLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztLQUMvRTtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxTQUFpQztJQUNwRSxPQUFPLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsU0FBaUM7SUFDbkUsT0FBTywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQy9CLFNBQWlDLEVBQ2pDLFNBQTJCO0lBRTNCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztLQUN6RjtJQUVELFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RSxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEMsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLFNBQWlDO0lBQzFELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyQyw0RUFBNEU7SUFDNUUsZ0hBQWdIO0lBQ2hILDZHQUE2RztJQUM3RyxtSEFBbUg7SUFDbkgsaUhBQWlIO0lBQ2pILHNFQUFzRTtJQUN0RSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ3RDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JDLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQzFDLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQztZQUM3QixTQUFTLENBQUMsSUFBSSxHQUFHLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDN0MsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3pCLFNBQVMsQ0FBQyxjQUFjLEdBQUcsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLENBQUM7U0FDbEQ7S0FDSjtJQUVELEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLFFBQVEsSUFBSSxPQUFPLElBQUksUUFBUSxFQUFFO1lBQ2pDLElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQzFCO2lCQUFNLElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7Z0JBQ3RDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2FBQzdCO1NBQ0o7S0FDSjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hdHVyYWxTZWFyY2hTZWxlY3Rpb259IGZyb20gJy4uL3R5cGVzL3ZhbHVlcyc7XG5pbXBvcnQge2Zvcm1hdElzb0RhdGV9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvdXRpbGl0eSc7XG5cbi8qKlxuICogV3JhcCB0aGUgc2VhcmNoZWQgdmFsdWUgYnkgYCVgIFNRTCB3aWxkY2FyZFxuICpcbiAqIFNvOlxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIGNvbmRpdGlvbjoge2xpa2U6IHt2YWx1ZTogJ2Zvbyd9fX1cbiAqXG4gKiB3aWxsIGJlY29tZVxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIGNvbmRpdGlvbjoge2xpa2U6IHt2YWx1ZTogJyVmb28lJ319fVxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcExpa2Uoc2VsZWN0aW9uOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uKTogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiB7XG4gICAgaWYgKHNlbGVjdGlvbi5jb25kaXRpb24ubGlrZSkge1xuICAgICAgICBzZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UudmFsdWUgPSAnJScgKyBzZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UudmFsdWUgKyAnJSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBSZXBsYWNlIHRoZSBvcGVyYXRvciBuYW1lICh1c3VhbGx5IFwibGlrZVwiLCBcImluXCIgb3IgXCJiZXR3ZWVuXCIpIHdpdGggdGhlXG4gKiBhdHRyaWJ1dGUgXCJmaWVsZFwiIG9yIFwibmFtZVwiIGRlZmluZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBTbzpcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtpbjoge3ZhbHVlczogWzEsIDIsIDNdfX19XG4gKlxuICogd2lsbCBiZWNvbWVcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtteUZpZWxkTmFtZToge3ZhbHVlczogWzEsIDIsIDNdfX19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlT3BlcmF0b3JCeUZpZWxkKHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbik6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24ge1xuICAgIHJldHVybiByZXBsYWNlT3BlcmF0b3JCeUF0dHJpYnV0ZShzZWxlY3Rpb24sICdmaWVsZCcpO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgdGhlIG9wZXJhdG9yIG5hbWUgKHVzdWFsbHkgXCJsaWtlXCIsIFwiaW5cIiBvciBcImJldHdlZW5cIikgd2l0aCB0aGVcbiAqIGZpZWxkIFwibmFtZVwiIGRlZmluZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBTbzpcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBuYW1lOidteUNvbmZpZ05hbWUnLCBjb25kaXRpb246IHtpbjoge3ZhbHVlczogWzEsIDIsIDNdfX19XG4gKlxuICogd2lsbCBiZWNvbWVcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCAgbmFtZTonbXlDb25maWdOYW1lJywgY29uZGl0aW9uOiB7bXlDb25maWdOYW1lOiB7dmFsdWVzOiBbMSwgMiwgM119fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VPcGVyYXRvckJ5TmFtZShzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24pOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uIHtcbiAgICByZXR1cm4gcmVwbGFjZU9wZXJhdG9yQnlBdHRyaWJ1dGUoc2VsZWN0aW9uLCAnbmFtZScpO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlT3BlcmF0b3JCeUF0dHJpYnV0ZShcbiAgICBzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24sXG4gICAgYXR0cmlidXRlOiAnbmFtZScgfCAnZmllbGQnLFxuKTogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiB7XG4gICAgY29uc3Qgb2xkT3BlcmF0b3IgPSBPYmplY3Qua2V5cyhzZWxlY3Rpb24uY29uZGl0aW9uKVswXTtcblxuICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gc2VsZWN0aW9uW2F0dHJpYnV0ZV07XG4gICAgaWYgKCFhdHRyaWJ1dGVWYWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dHJpYnV0ZSBjYW5ub3QgYmUgZW1wdHkuIE1vc3QgbGlrZWx5IHRoZSBjb25maWd1cmF0aW9uIHdhcyB3cm9uZycpO1xuICAgIH1cblxuICAgIHNlbGVjdGlvbi5jb25kaXRpb25bYXR0cmlidXRlVmFsdWVdID0gc2VsZWN0aW9uLmNvbmRpdGlvbltvbGRPcGVyYXRvcl07XG4gICAgZGVsZXRlIHNlbGVjdGlvbi5jb25kaXRpb25bb2xkT3BlcmF0b3JdO1xuXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBSZXBsYWNlIGBcInRvZGF5XCJgIGFuZCBgXCJ0b21vcnJvd1wiYCBieSB0aGVpciByZWFsIHZhbHVlIHJpZ2h0IG5vdy5cbiAqXG4gKiBUaGlzIHRyYW5zZm9ybWVyIGlzIGFwcGxpZWQgYXV0b21hdGljYWxseSBhbmQgc2hvdWxkICoqbm90KiogYmUgcGFydFxuICogb2YgTmF0dXJhbCBwdWJsaWMgQVBJLlxuICpcbiAqIFNvOlxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIGNvbmRpdGlvbjoge2dyZWF0ZXI6IHt2YWx1ZTogJ3RvZGF5J319fVxuICpcbiAqIHdpbGwgYmVjb21lXG4gKlxuICogICAgIHtmaWVsZDogJ215RmllbGROYW1lJywgY29uZGl0aW9uOiB7Z3JlYXRlcjoge3ZhbHVlOiAnMjAyMy0wMS0wMyd9fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VUb2RheShzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24pOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCB0b2RheSA9IGZvcm1hdElzb0RhdGUoZGF0ZSk7XG5cbiAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICBjb25zdCB0b21vcnJvdyA9IGZvcm1hdElzb0RhdGUoZGF0ZSk7XG5cbiAgICAvLyBUcmFuc3BhcmVudGx5IGFkYXB0IGV4Y2x1c2l2ZS9pbmNsdXNpdmUgcmFuZ2VzIGZvciBzcGVjaWFsIFwidG9kYXlcIiB2YWx1ZS5cbiAgICAvLyBJZGVhbGx5IHRoaXMgc2hvdWxkIGJlIGRvbmUgaW4gYFR5cGVEYXRlQ29tcG9uZW50YCwgbGlrZSBpdCBpcyBkb25lIGZvciByZWFsIGRhdGUgdmFsdWVzLiBCdXQgdW5mb3J0dW5hdGVseSBJXG4gICAgLy8gY291bGQgbm90IGZpbmQgYSByZWFzb25hYmxlIHdheSB0byBkbyB0aGF0IHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gcmVsb2FkIGEgY29oZXJlbnQgR1VJIHdpdGhvdXQgc2hvd2luZ1xuICAgIC8vIFwiRGVtYWluXCIgc29tZXdoZXJlIGluIHRoZSBHVUkuIEFuZCB0aGF0IGlzIHNvbWV0aGluZyB3ZSB3YW50IHRvIGF2b2lkLCB3ZSBvbmx5IHdhbnQgdG8gc2hvdyBlaXRoZXIgXCJBdWpvdXJkJ2h1aVwiXG4gICAgLy8gb3IgYSByZWFsIGRhdGUuIE90aGVyd2lzZSwgdGhlIGh1bWFuIHdvdWxkIHN0YXJ0IHRoaW5raW5nIHdpdGggXCJEZW1haW5cIiwgYW5kIGl0IHdvdWxkIHRoZW4gbmVlZCB0byBiZSBwcm9wZXJseVxuICAgIC8vIHN1cHBvcnRlZCB3aGljaCBvdmVyL2NvbXBsZXhpZnkgdGhlIGNvZGUsIHRoZSBHVUkgYW5kIHRoZSB3b3JrZmxvdy5cbiAgICBjb25zdCBjb25kaXRpb24gPSBzZWxlY3Rpb24uY29uZGl0aW9uO1xuICAgIGlmIChPYmplY3Qua2V5cyhjb25kaXRpb24pLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBpZiAoY29uZGl0aW9uLmxlc3NPckVxdWFsPy52YWx1ZSA9PT0gJ3RvZGF5Jykge1xuICAgICAgICAgICAgZGVsZXRlIGNvbmRpdGlvbi5sZXNzT3JFcXVhbDtcbiAgICAgICAgICAgIGNvbmRpdGlvbi5sZXNzID0ge3ZhbHVlOiAndG9tb3Jyb3cnfTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uZ3JlYXRlcj8udmFsdWUgPT09ICd0b2RheScpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBjb25kaXRpb24uZ3JlYXRlcjtcbiAgICAgICAgICAgIGNvbmRpdGlvbi5ncmVhdGVyT3JFcXVhbCA9IHt2YWx1ZTogJ3RvbW9ycm93J307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb25kaXRpb24pIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBjb25kaXRpb25ba2V5XTtcbiAgICAgICAgaWYgKG9wZXJhdG9yICYmICd2YWx1ZScgaW4gb3BlcmF0b3IpIHtcbiAgICAgICAgICAgIGlmIChvcGVyYXRvci52YWx1ZSA9PT0gJ3RvZGF5Jykge1xuICAgICAgICAgICAgICAgIG9wZXJhdG9yLnZhbHVlID0gdG9kYXk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yLnZhbHVlID09PSAndG9tb3Jyb3cnKSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0b3IudmFsdWUgPSB0b21vcnJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZWxlY3Rpb247XG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2NsYXNzZXMvdHJhbnNmb3JtZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxTQUFpQztJQUN0RCxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQzFCLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztLQUMvRTtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUFpQztJQUN4RCxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQzFCLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0tBQ3pFO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQWlDO0lBQ3hELElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7UUFDMUIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDekU7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsU0FBaUM7SUFDcEUsT0FBTywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFNBQWlDO0lBQ25FLE9BQU8sMEJBQTBCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUMvQixTQUFpQyxFQUNqQyxTQUEyQjtJQUUzQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4RCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7S0FDekY7SUFFRCxTQUFTLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkUsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxTQUFpQztJQUMxRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckMsNEVBQTRFO0lBQzVFLGdIQUFnSDtJQUNoSCw2R0FBNkc7SUFDN0csbUhBQW1IO0lBQ25ILGlIQUFpSDtJQUNqSCxzRUFBc0U7SUFDdEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUN0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyQyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLE9BQU8sRUFBRTtZQUMxQyxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDN0IsU0FBUyxDQUFDLElBQUksR0FBRyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQztTQUN4QzthQUFNLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQzdDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN6QixTQUFTLENBQUMsY0FBYyxHQUFHLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxDQUFDO1NBQ2xEO0tBQ0o7SUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRTtRQUN6QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxRQUFRLElBQUksT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUM1QixRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUMxQjtpQkFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO2dCQUN0QyxRQUFRLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQzthQUM3QjtTQUNKO0tBQ0o7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXR1cmFsU2VhcmNoU2VsZWN0aW9ufSBmcm9tICcuLi90eXBlcy92YWx1ZXMnO1xuaW1wb3J0IHtmb3JtYXRJc29EYXRlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3V0aWxpdHknO1xuXG4vKipcbiAqIFdyYXAgdGhlIHNlYXJjaGVkIHZhbHVlIGJ5IGAlYCBTUUwgd2lsZGNhcmRcbiAqXG4gKiBTbzpcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtsaWtlOiB7dmFsdWU6ICdmb28nfX19XG4gKlxuICogd2lsbCBiZWNvbWVcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtsaWtlOiB7dmFsdWU6ICclZm9vJSd9fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBMaWtlKHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbik6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24ge1xuICAgIGlmIChzZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UpIHtcbiAgICAgICAgc2VsZWN0aW9uLmNvbmRpdGlvbi5saWtlLnZhbHVlID0gJyUnICsgc2VsZWN0aW9uLmNvbmRpdGlvbi5saWtlLnZhbHVlICsgJyUnO1xuICAgIH1cblxuICAgIHJldHVybiBzZWxlY3Rpb247XG59XG5cbi8qKlxuICogU2VhcmNoIGJ5IHByZWZpeCB1c2luZyBgJScgU1FMIHdpbGRjYXJkXG4gKlxuICogU286XG4gKlxuICogICAgIHtmaWVsZDogJ215RmllbGROYW1lJywgY29uZGl0aW9uOiB7bGlrZToge3ZhbHVlOiAnZm9vJ319fVxuICpcbiAqIHdpbGwgYmVjb21lXG4gKlxuICogICAgIHtmaWVsZDogJ215RmllbGROYW1lJywgY29uZGl0aW9uOiB7bGlrZToge3ZhbHVlOiAnZm9vJSd9fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBQcmVmaXgoc2VsZWN0aW9uOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uKTogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiB7XG4gICAgaWYgKHNlbGVjdGlvbi5jb25kaXRpb24ubGlrZSkge1xuICAgICAgICBzZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UudmFsdWUgPSBzZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UudmFsdWUgKyAnJSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBTZWFyY2ggYnkgc3VmZml4IHVzaW5nIGAlJyBTUUwgd2lsZGNhcmRcbiAqXG4gKiBTbzpcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtsaWtlOiB7dmFsdWU6ICdmb28nfX19XG4gKlxuICogd2lsbCBiZWNvbWVcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtsaWtlOiB7dmFsdWU6ICclZm9vJ319fVxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcFN1ZmZpeChzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24pOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uIHtcbiAgICBpZiAoc2VsZWN0aW9uLmNvbmRpdGlvbi5saWtlKSB7XG4gICAgICAgIHNlbGVjdGlvbi5jb25kaXRpb24ubGlrZS52YWx1ZSA9ICclJyArIHNlbGVjdGlvbi5jb25kaXRpb24ubGlrZS52YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0aW9uO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgdGhlIG9wZXJhdG9yIG5hbWUgKHVzdWFsbHkgXCJsaWtlXCIsIFwiaW5cIiBvciBcImJldHdlZW5cIikgd2l0aCB0aGVcbiAqIGF0dHJpYnV0ZSBcImZpZWxkXCIgb3IgXCJuYW1lXCIgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvblxuICpcbiAqIFNvOlxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIGNvbmRpdGlvbjoge2luOiB7dmFsdWVzOiBbMSwgMiwgM119fX1cbiAqXG4gKiB3aWxsIGJlY29tZVxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIGNvbmRpdGlvbjoge215RmllbGROYW1lOiB7dmFsdWVzOiBbMSwgMiwgM119fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VPcGVyYXRvckJ5RmllbGQoc2VsZWN0aW9uOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uKTogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiB7XG4gICAgcmV0dXJuIHJlcGxhY2VPcGVyYXRvckJ5QXR0cmlidXRlKHNlbGVjdGlvbiwgJ2ZpZWxkJyk7XG59XG5cbi8qKlxuICogUmVwbGFjZSB0aGUgb3BlcmF0b3IgbmFtZSAodXN1YWxseSBcImxpa2VcIiwgXCJpblwiIG9yIFwiYmV0d2VlblwiKSB3aXRoIHRoZVxuICogZmllbGQgXCJuYW1lXCIgZGVmaW5lZCBpbiB0aGUgY29uZmlndXJhdGlvblxuICpcbiAqIFNvOlxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsIG5hbWU6J215Q29uZmlnTmFtZScsIGNvbmRpdGlvbjoge2luOiB7dmFsdWVzOiBbMSwgMiwgM119fX1cbiAqXG4gKiB3aWxsIGJlY29tZVxuICpcbiAqICAgICB7ZmllbGQ6ICdteUZpZWxkTmFtZScsICBuYW1lOidteUNvbmZpZ05hbWUnLCBjb25kaXRpb246IHtteUNvbmZpZ05hbWU6IHt2YWx1ZXM6IFsxLCAyLCAzXX19fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZU9wZXJhdG9yQnlOYW1lKHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbik6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24ge1xuICAgIHJldHVybiByZXBsYWNlT3BlcmF0b3JCeUF0dHJpYnV0ZShzZWxlY3Rpb24sICduYW1lJyk7XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VPcGVyYXRvckJ5QXR0cmlidXRlKFxuICAgIHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbixcbiAgICBhdHRyaWJ1dGU6ICduYW1lJyB8ICdmaWVsZCcsXG4pOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uIHtcbiAgICBjb25zdCBvbGRPcGVyYXRvciA9IE9iamVjdC5rZXlzKHNlbGVjdGlvbi5jb25kaXRpb24pWzBdO1xuXG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBzZWxlY3Rpb25bYXR0cmlidXRlXTtcbiAgICBpZiAoIWF0dHJpYnV0ZVZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQXR0cmlidXRlIGNhbm5vdCBiZSBlbXB0eS4gTW9zdCBsaWtlbHkgdGhlIGNvbmZpZ3VyYXRpb24gd2FzIHdyb25nJyk7XG4gICAgfVxuXG4gICAgc2VsZWN0aW9uLmNvbmRpdGlvblthdHRyaWJ1dGVWYWx1ZV0gPSBzZWxlY3Rpb24uY29uZGl0aW9uW29sZE9wZXJhdG9yXTtcbiAgICBkZWxldGUgc2VsZWN0aW9uLmNvbmRpdGlvbltvbGRPcGVyYXRvcl07XG5cbiAgICByZXR1cm4gc2VsZWN0aW9uO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgYFwidG9kYXlcImAgYW5kIGBcInRvbW9ycm93XCJgIGJ5IHRoZWlyIHJlYWwgdmFsdWUgcmlnaHQgbm93LlxuICpcbiAqIFRoaXMgdHJhbnNmb3JtZXIgaXMgYXBwbGllZCBhdXRvbWF0aWNhbGx5IGFuZCBzaG91bGQgKipub3QqKiBiZSBwYXJ0XG4gKiBvZiBOYXR1cmFsIHB1YmxpYyBBUEkuXG4gKlxuICogU286XG4gKlxuICogICAgIHtmaWVsZDogJ215RmllbGROYW1lJywgY29uZGl0aW9uOiB7Z3JlYXRlcjoge3ZhbHVlOiAndG9kYXknfX19XG4gKlxuICogd2lsbCBiZWNvbWVcbiAqXG4gKiAgICAge2ZpZWxkOiAnbXlGaWVsZE5hbWUnLCBjb25kaXRpb246IHtncmVhdGVyOiB7dmFsdWU6ICcyMDIzLTAxLTAzJ319fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVRvZGF5KHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbik6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24ge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHRvZGF5ID0gZm9ybWF0SXNvRGF0ZShkYXRlKTtcblxuICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIDEpO1xuICAgIGNvbnN0IHRvbW9ycm93ID0gZm9ybWF0SXNvRGF0ZShkYXRlKTtcblxuICAgIC8vIFRyYW5zcGFyZW50bHkgYWRhcHQgZXhjbHVzaXZlL2luY2x1c2l2ZSByYW5nZXMgZm9yIHNwZWNpYWwgXCJ0b2RheVwiIHZhbHVlLlxuICAgIC8vIElkZWFsbHkgdGhpcyBzaG91bGQgYmUgZG9uZSBpbiBgVHlwZURhdGVDb21wb25lbnRgLCBsaWtlIGl0IGlzIGRvbmUgZm9yIHJlYWwgZGF0ZSB2YWx1ZXMuIEJ1dCB1bmZvcnR1bmF0ZWx5IElcbiAgICAvLyBjb3VsZCBub3QgZmluZCBhIHJlYXNvbmFibGUgd2F5IHRvIGRvIHRoYXQgd2hpbGUgc3RpbGwgYmVpbmcgYWJsZSB0byByZWxvYWQgYSBjb2hlcmVudCBHVUkgd2l0aG91dCBzaG93aW5nXG4gICAgLy8gXCJEZW1haW5cIiBzb21ld2hlcmUgaW4gdGhlIEdVSS4gQW5kIHRoYXQgaXMgc29tZXRoaW5nIHdlIHdhbnQgdG8gYXZvaWQsIHdlIG9ubHkgd2FudCB0byBzaG93IGVpdGhlciBcIkF1am91cmQnaHVpXCJcbiAgICAvLyBvciBhIHJlYWwgZGF0ZS4gT3RoZXJ3aXNlLCB0aGUgaHVtYW4gd291bGQgc3RhcnQgdGhpbmtpbmcgd2l0aCBcIkRlbWFpblwiLCBhbmQgaXQgd291bGQgdGhlbiBuZWVkIHRvIGJlIHByb3Blcmx5XG4gICAgLy8gc3VwcG9ydGVkIHdoaWNoIG92ZXIvY29tcGxleGlmeSB0aGUgY29kZSwgdGhlIEdVSSBhbmQgdGhlIHdvcmtmbG93LlxuICAgIGNvbnN0IGNvbmRpdGlvbiA9IHNlbGVjdGlvbi5jb25kaXRpb247XG4gICAgaWYgKE9iamVjdC5rZXlzKGNvbmRpdGlvbikubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGlmIChjb25kaXRpb24ubGVzc09yRXF1YWw/LnZhbHVlID09PSAndG9kYXknKSB7XG4gICAgICAgICAgICBkZWxldGUgY29uZGl0aW9uLmxlc3NPckVxdWFsO1xuICAgICAgICAgICAgY29uZGl0aW9uLmxlc3MgPSB7dmFsdWU6ICd0b21vcnJvdyd9O1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmRpdGlvbi5ncmVhdGVyPy52YWx1ZSA9PT0gJ3RvZGF5Jykge1xuICAgICAgICAgICAgZGVsZXRlIGNvbmRpdGlvbi5ncmVhdGVyO1xuICAgICAgICAgICAgY29uZGl0aW9uLmdyZWF0ZXJPckVxdWFsID0ge3ZhbHVlOiAndG9tb3Jyb3cnfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qga2V5IGluIGNvbmRpdGlvbikge1xuICAgICAgICBjb25zdCBvcGVyYXRvciA9IGNvbmRpdGlvbltrZXldO1xuICAgICAgICBpZiAob3BlcmF0b3IgJiYgJ3ZhbHVlJyBpbiBvcGVyYXRvcikge1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yLnZhbHVlID09PSAndG9kYXknKSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0b3IudmFsdWUgPSB0b2RheTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IudmFsdWUgPT09ICd0b21vcnJvdycpIHtcbiAgICAgICAgICAgICAgICBvcGVyYXRvci52YWx1ZSA9IHRvbW9ycm93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcbn1cbiJdfQ==
@@ -2,6 +2,6 @@ export { NaturalDropdownRef } from './dropdown-container/dropdown-ref';
2
2
  export { NATURAL_DROPDOWN_DATA } from './dropdown-container/dropdown.service';
3
3
  export { toGraphQLDoctrineFilter } from './classes/graphql-doctrine';
4
4
  export { fromUrl, toUrl, toNavigationParameters } from './classes/url';
5
- export { replaceOperatorByName, wrapLike, replaceOperatorByField } from './classes/transformers';
5
+ export { replaceOperatorByName, wrapLike, wrapPrefix, wrapSuffix, replaceOperatorByField } from './classes/transformers';
6
6
  export { NaturalSearchComponent } from './search/search.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbC1zZWFyY2hcbiAqL1xuZXhwb3J0IHtOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCwgRmlsdGVyfSBmcm9tICcuL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5leHBvcnQge0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5leHBvcnQge0ZsYWdGYWNldCwgRHJvcGRvd25GYWNldCwgRmFjZXQsIE5hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4vdHlwZXMvZmFjZXQnO1xuZXhwb3J0IHtOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucywgTmF0dXJhbFNlYXJjaFNlbGVjdGlvbn0gZnJvbSAnLi90eXBlcy92YWx1ZXMnO1xuZXhwb3J0IHtOYXR1cmFsRHJvcGRvd25SZWZ9IGZyb20gJy4vZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLXJlZic7XG5leHBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQX0gZnJvbSAnLi9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQge3RvR3JhcGhRTERvY3RyaW5lRmlsdGVyfSBmcm9tICcuL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZSc7XG5leHBvcnQge2Zyb21VcmwsIHRvVXJsLCB0b05hdmlnYXRpb25QYXJhbWV0ZXJzfSBmcm9tICcuL2NsYXNzZXMvdXJsJztcbmV4cG9ydCB7cmVwbGFjZU9wZXJhdG9yQnlOYW1lLCB3cmFwTGlrZSwgcmVwbGFjZU9wZXJhdG9yQnlGaWVsZH0gZnJvbSAnLi9jbGFzc2VzL3RyYW5zZm9ybWVycyc7XG5leHBvcnQge05hdHVyYWxTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuYXR1cmFsLXNlYXJjaFxuICovXG5leHBvcnQge05hdHVyYWxEcm9wZG93bkRhdGF9IGZyb20gJy4vZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuZXhwb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkLCBGaWx0ZXJ9IGZyb20gJy4vY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmV4cG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tY29tcG9uZW50JztcbmV4cG9ydCB7RmxhZ0ZhY2V0LCBEcm9wZG93bkZhY2V0LCBGYWNldCwgTmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi90eXBlcy9mYWNldCc7XG5leHBvcnQge05hdHVyYWxTZWFyY2hTZWxlY3Rpb25zLCBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ufSBmcm9tICcuL3R5cGVzL3ZhbHVlcyc7XG5leHBvcnQge05hdHVyYWxEcm9wZG93blJlZn0gZnJvbSAnLi9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tcmVmJztcbmV4cG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBfSBmcm9tICcuL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCB7dG9HcmFwaFFMRG9jdHJpbmVGaWx0ZXJ9IGZyb20gJy4vY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lJztcbmV4cG9ydCB7ZnJvbVVybCwgdG9VcmwsIHRvTmF2aWdhdGlvblBhcmFtZXRlcnN9IGZyb20gJy4vY2xhc3Nlcy91cmwnO1xuZXhwb3J0IHtyZXBsYWNlT3BlcmF0b3JCeU5hbWUsIHdyYXBMaWtlLCB3cmFwUHJlZml4LCB3cmFwU3VmZml4LCByZXBsYWNlT3BlcmF0b3JCeUZpZWxkfSBmcm9tICcuL2NsYXNzZXMvdHJhbnNmb3JtZXJzJztcbmV4cG9ydCB7TmF0dXJhbFNlYXJjaENvbXBvbmVudH0gZnJvbSAnLi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG4iXX0=
@@ -2620,6 +2620,40 @@ function wrapLike(selection) {
2620
2620
  }
2621
2621
  return selection;
2622
2622
  }
2623
+ /**
2624
+ * Search by prefix using `%' SQL wildcard
2625
+ *
2626
+ * So:
2627
+ *
2628
+ * {field: 'myFieldName', condition: {like: {value: 'foo'}}}
2629
+ *
2630
+ * will become
2631
+ *
2632
+ * {field: 'myFieldName', condition: {like: {value: 'foo%'}}}
2633
+ */
2634
+ function wrapPrefix(selection) {
2635
+ if (selection.condition.like) {
2636
+ selection.condition.like.value = selection.condition.like.value + '%';
2637
+ }
2638
+ return selection;
2639
+ }
2640
+ /**
2641
+ * Search by suffix using `%' SQL wildcard
2642
+ *
2643
+ * So:
2644
+ *
2645
+ * {field: 'myFieldName', condition: {like: {value: 'foo'}}}
2646
+ *
2647
+ * will become
2648
+ *
2649
+ * {field: 'myFieldName', condition: {like: {value: '%foo'}}}
2650
+ */
2651
+ function wrapSuffix(selection) {
2652
+ if (selection.condition.like) {
2653
+ selection.condition.like.value = '%' + selection.condition.like.value;
2654
+ }
2655
+ return selection;
2656
+ }
2623
2657
  /**
2624
2658
  * Replace the operator name (usually "like", "in" or "between") with the
2625
2659
  * attribute "field" or "name" defined in the configuration
@@ -10779,14 +10813,22 @@ class Gravatar extends Source {
10779
10813
  }
10780
10814
 
10781
10815
  /**
10782
- * Iterates a person's name string to get the initials of each word in uppercase.
10816
+ * Get the initials of each word in uppercase.
10783
10817
  */
10784
10818
  function getInitials(name, size) {
10819
+ // Drop all text in parentheses, because assumed less important
10820
+ name = name.replace(/\([^)]*\)/g, '');
10785
10821
  name = name.trim();
10822
+ // Deliberately short name is kept intact
10823
+ if (name.length <= size) {
10824
+ return name.toUpperCase();
10825
+ }
10826
+ // Only letters (including unicode), numbers, and whitespace
10827
+ name = name.replace(/[^\p{L}\p{N}\s]/gu, '');
10786
10828
  if (!name) {
10787
10829
  return '';
10788
10830
  }
10789
- let words = name.split(' ');
10831
+ let words = name.split(/\s+/);
10790
10832
  if (size && size < words.length) {
10791
10833
  words = words.slice(0, size);
10792
10834
  }
@@ -10801,7 +10843,7 @@ function getInitials(name, size) {
10801
10843
  */
10802
10844
  class Initials extends Source {
10803
10845
  getAvatar(size) {
10804
- return getInitials(this.getValue().replace(/[^a-zA-Z0-9\s]/g, ''), size); // only letters, numbers and space
10846
+ return getInitials(this.getValue(), size);
10805
10847
  }
10806
10848
  isTextual() {
10807
10849
  return true;
@@ -10826,7 +10868,7 @@ class Image extends Source {
10826
10868
  class AvatarService {
10827
10869
  constructor() {
10828
10870
  /**
10829
- * Ordered pairs of possible sources. First in list is the highest priority.
10871
+ * Ordered pairs of possible sources. First in the list is the highest priority.
10830
10872
  * And key must match one the input of AvatarComponent.
10831
10873
  */
10832
10874
  this.sourceCreators = new Map([
@@ -11405,5 +11447,5 @@ function graphqlQuerySigner(key) {
11405
11447
  * Generated bundle index. Do not edit.
11406
11448
  */
11407
11449
 
11408
- export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, ifValid, integer, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike };
11450
+ export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, ifValid, integer, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike, wrapPrefix, wrapSuffix };
11409
11451
  //# sourceMappingURL=ecodev-natural.mjs.map