@ecodev/natural 55.8.1 → 55.8.2
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/modules/avatar/service/avatar.service.mjs +2 -2
- package/esm2022/lib/modules/avatar/sources/initials.mjs +12 -4
- package/fesm2022/ecodev-natural.mjs +12 -4
- package/fesm2022/ecodev-natural.mjs.map +1 -1
- package/lib/modules/avatar/service/avatar.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc2VydmljZS9hdmF0YXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUd2Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSUk7OztXQUdHO1FBQ2MsbUJBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBOEM7WUFDbkYsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQ3RCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztZQUNoQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBRWMsaUJBQVksR0FBRztZQUM1QixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDO1FBRWUsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztLQWlDOUQ7SUEvQlUsY0FBYyxDQUFDLFVBQWtCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBYztRQUN2QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSzthQUNQLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDOzhHQXZEUSxhQUFhO2tIQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NvdXJjZSwgU291cmNlQ3JlYXRvcn0gZnJvbSAnLi4vc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHtHcmF2YXRhcn0gZnJvbSAnLi4vc291cmNlcy9ncmF2YXRhcic7XG5pbXBvcnQge0luaXRpYWxzfSBmcm9tICcuLi9zb3VyY2VzL2luaXRpYWxzJztcbmltcG9ydCB7SW1hZ2V9IGZyb20gJy4uL3NvdXJjZXMvaW1hZ2UnO1xuaW1wb3J0IHtOYXR1cmFsQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdXRpbGl0aWVzIG1ldGhvZHMgcmVsYXRlZCB0byBBdmF0YXIgY29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIE9yZGVyZWQgcGFpcnMgb2YgcG9zc2libGUgc291cmNlcy4gRmlyc3QgaW4gdGhlIGxpc3QgaXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkuXG4gICAgICogQW5kIGtleSBtdXN0IG1hdGNoIG9uZSB0aGUgaW5wdXQgb2YgQXZhdGFyQ29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlQ3JlYXRvcnMgPSBuZXcgTWFwPGtleW9mIE5hdHVyYWxBdmF0YXJDb21wb25lbnQsIFNvdXJjZUNyZWF0b3I+KFtcbiAgICAgICAgWydncmF2YXRhcicsIEdyYXZhdGFyXSxcbiAgICAgICAgWydpbWFnZScsIEltYWdlXSxcbiAgICAgICAgWydpbml0aWFscycsIEluaXRpYWxzXSxcbiAgICBdKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyQ29sb3JzID0gW1xuICAgICAgICAnI2ZmMDAwMCcsXG4gICAgICAgICcjZmY4ODAwJyxcbiAgICAgICAgJyNkYWJiMDAnLFxuICAgICAgICAnIzAwYzIwMCcsXG4gICAgICAgICcjMDFjYmNiJyxcbiAgICAgICAgJyMwMDhjZmYnLFxuICAgICAgICAnI2ZmMDBkOCcsXG4gICAgICAgICcjYzgwMGZmJyxcbiAgICAgICAgJyMzYjNiM2InLFxuICAgIF07XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZhaWxlZFNvdXJjZXMgPSBuZXcgTWFwPHN0cmluZywgU291cmNlPigpO1xuXG4gICAgcHVibGljIGdldFJhbmRvbUNvbG9yKGF2YXRhclRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghYXZhdGFyVGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYXNjaWlDb2RlU3VtID0gdGhpcy5jYWxjdWxhdGVBc2NpaUNvZGUoYXZhdGFyVGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXZhdGFyQ29sb3JzW2FzY2lpQ29kZVN1bSAlIHRoaXMuYXZhdGFyQ29sb3JzLmxlbmd0aF07XG4gICAgfVxuXG4gICAgcHVibGljIGdldENyZWF0b3JzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W2tleW9mIE5hdHVyYWxBdmF0YXJDb21wb25lbnQsIFNvdXJjZUNyZWF0b3JdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZUNyZWF0b3JzLmVudHJpZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNvdXJjZUtleShzb3VyY2U6IFNvdXJjZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzb3VyY2UuY29uc3RydWN0b3IubmFtZSArICctJyArIHNvdXJjZS5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzb3VyY2VIYXNGYWlsZWRCZWZvcmUoc291cmNlOiBTb3VyY2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmFpbGVkU291cmNlcy5oYXModGhpcy5nZXRTb3VyY2VLZXkoc291cmNlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtTb3VyY2VBc0ZhaWxlZChzb3VyY2U6IFNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZhaWxlZFNvdXJjZXMuc2V0KHRoaXMuZ2V0U291cmNlS2V5KHNvdXJjZSksIHNvdXJjZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVBc2NpaUNvZGUodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcChsZXR0ZXIgPT4gbGV0dGVyLmNoYXJDb2RlQXQoMCkpXG4gICAgICAgICAgICAucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMgKyBjdXJyZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { Source } from './source';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
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()
|
|
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,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9pbml0aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDM0MsK0RBQStEO0lBQy9ELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRW5CLHlDQUF5QztJQUN6QyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQzdCO0lBRUQsNERBQTREO0lBQzVELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDUCxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDaEM7SUFFRCxPQUFPLEtBQUs7U0FDUCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNyQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNSLFdBQVcsRUFBRSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBTTtJQUN6QixTQUFTLENBQUMsSUFBWTtRQUN6QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NvdXJjZX0gZnJvbSAnLi9zb3VyY2UnO1xuXG4vKipcbiAqIEdldCB0aGUgaW5pdGlhbHMgb2YgZWFjaCB3b3JkIGluIHVwcGVyY2FzZS5cbiAqL1xuZnVuY3Rpb24gZ2V0SW5pdGlhbHMobmFtZTogc3RyaW5nLCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIERyb3AgYWxsIHRleHQgaW4gcGFyZW50aGVzZXMsIGJlY2F1c2UgYXNzdW1lZCBsZXNzIGltcG9ydGFudFxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1xcKFteKV0qXFwpL2csICcnKTtcbiAgICBuYW1lID0gbmFtZS50cmltKCk7XG5cbiAgICAvLyBEZWxpYmVyYXRlbHkgc2hvcnQgbmFtZSBpcyBrZXB0IGludGFjdFxuICAgIGlmIChuYW1lLmxlbmd0aCA8PSBzaXplKSB7XG4gICAgICAgIHJldHVybiBuYW1lLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgLy8gT25seSBsZXR0ZXJzIChpbmNsdWRpbmcgdW5pY29kZSksIG51bWJlcnMsIGFuZCB3aGl0ZXNwYWNlXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW15cXHB7TH1cXHB7Tn1cXHNdL2d1LCAnJyk7XG5cbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCB3b3JkcyA9IG5hbWUuc3BsaXQoL1xccysvKTtcbiAgICBpZiAoc2l6ZSAmJiBzaXplIDwgd29yZHMubGVuZ3RoKSB7XG4gICAgICAgIHdvcmRzID0gd29yZHMuc2xpY2UoMCwgc2l6ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Lmxlbmd0aCA+IDApXG4gICAgICAgIC5tYXAoZWxlbWVudCA9PiBlbGVtZW50WzBdKVxuICAgICAgICAuam9pbignJylcbiAgICAgICAgLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBpbml0aWFscyBvZiB0aGUgZ2l2ZW4gdmFsdWUgYXMgYXZhdGFyXG4gKi9cbmV4cG9ydCBjbGFzcyBJbml0aWFscyBleHRlbmRzIFNvdXJjZSB7XG4gICAgcHVibGljIGdldEF2YXRhcihzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2V0SW5pdGlhbHModGhpcy5nZXRWYWx1ZSgpLCBzaXplKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUZXh0dWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -10779,14 +10779,22 @@ class Gravatar extends Source {
|
|
|
10779
10779
|
}
|
|
10780
10780
|
|
|
10781
10781
|
/**
|
|
10782
|
-
*
|
|
10782
|
+
* Get the initials of each word in uppercase.
|
|
10783
10783
|
*/
|
|
10784
10784
|
function getInitials(name, size) {
|
|
10785
|
+
// Drop all text in parentheses, because assumed less important
|
|
10786
|
+
name = name.replace(/\([^)]*\)/g, '');
|
|
10785
10787
|
name = name.trim();
|
|
10788
|
+
// Deliberately short name is kept intact
|
|
10789
|
+
if (name.length <= size) {
|
|
10790
|
+
return name.toUpperCase();
|
|
10791
|
+
}
|
|
10792
|
+
// Only letters (including unicode), numbers, and whitespace
|
|
10793
|
+
name = name.replace(/[^\p{L}\p{N}\s]/gu, '');
|
|
10786
10794
|
if (!name) {
|
|
10787
10795
|
return '';
|
|
10788
10796
|
}
|
|
10789
|
-
let words = name.split(
|
|
10797
|
+
let words = name.split(/\s+/);
|
|
10790
10798
|
if (size && size < words.length) {
|
|
10791
10799
|
words = words.slice(0, size);
|
|
10792
10800
|
}
|
|
@@ -10801,7 +10809,7 @@ function getInitials(name, size) {
|
|
|
10801
10809
|
*/
|
|
10802
10810
|
class Initials extends Source {
|
|
10803
10811
|
getAvatar(size) {
|
|
10804
|
-
return getInitials(this.getValue()
|
|
10812
|
+
return getInitials(this.getValue(), size);
|
|
10805
10813
|
}
|
|
10806
10814
|
isTextual() {
|
|
10807
10815
|
return true;
|
|
@@ -10826,7 +10834,7 @@ class Image extends Source {
|
|
|
10826
10834
|
class AvatarService {
|
|
10827
10835
|
constructor() {
|
|
10828
10836
|
/**
|
|
10829
|
-
* Ordered pairs of possible sources. First in list is the highest priority.
|
|
10837
|
+
* Ordered pairs of possible sources. First in the list is the highest priority.
|
|
10830
10838
|
* And key must match one the input of AvatarComponent.
|
|
10831
10839
|
*/
|
|
10832
10840
|
this.sourceCreators = new Map([
|