@entake/particle 18.0.1 → 18.0.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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Particle NG by SD Solutions
1
+ # Particle NG by Entake
2
2
 
3
3
  This package offers a small selection of reusable components that are meant to replace usage of other Angular component libraries, like Angular Material and PrimeNG. If you're looking for a themeable alternative that gives you unprecedented control of your Angular components, give Particle a try! If you're interested in contributing or find any bugs, feel free to catch us on GitHub.
4
4
 
@@ -16,12 +16,17 @@ export declare class KeyfilterDirective {
16
16
  * @private
17
17
  */
18
18
  private static readonly ALPHA_KEYS;
19
+ /**
20
+ * Array of keyboard alpha key names
21
+ * @private
22
+ */
23
+ private static readonly URL_TOKEN_KEYS;
19
24
  /**
20
25
  * The type of filtering to apply
21
26
  */
22
- filterType: 'alpha' | 'numeric' | 'alphanumeric' | 'digits';
27
+ filterType: 'alpha' | 'numeric' | 'alphanumeric' | 'digits' | 'url-token';
23
28
  /**
24
- * Whether or not to allow spaces (default false)
29
+ * Whether spaces should be allowed (default false)
25
30
  */
26
31
  allowSpaces: boolean;
27
32
  /**
@@ -39,6 +44,7 @@ export declare class KeyfilterDirective {
39
44
  * @private
40
45
  */
41
46
  private static keyIsAlpha;
47
+ private static keyIsUrlToken;
42
48
  /**
43
49
  * Dependency injection site
44
50
  * @param hostElement
@@ -23,12 +23,22 @@ export class KeyfilterDirective {
23
23
  'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
24
24
  'u', 'v', 'w', 'x', 'y', 'z'
25
25
  ];
26
+ /**
27
+ * Array of keyboard alpha key names
28
+ * @private
29
+ */
30
+ static URL_TOKEN_KEYS = [
31
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
32
+ 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
33
+ 'u', 'v', 'w', 'x', 'y', 'z', '-', '0', '1', '2',
34
+ '3', '4', '5', '6', '7', '8', '9'
35
+ ];
26
36
  /**
27
37
  * The type of filtering to apply
28
38
  */
29
39
  filterType = null;
30
40
  /**
31
- * Whether or not to allow spaces (default false)
41
+ * Whether spaces should be allowed (default false)
32
42
  */
33
43
  allowSpaces = false;
34
44
  /**
@@ -37,7 +47,7 @@ export class KeyfilterDirective {
37
47
  * @private
38
48
  */
39
49
  static keyIsNumeric(key) {
40
- return new RegExp('^\\d|[\.-]$', 'g').test(key);
50
+ return new RegExp('^\\d|[.-]$', 'g').test(key);
41
51
  }
42
52
  static keyIsDigit(key) {
43
53
  return new RegExp('^\\d$', 'g').test(key);
@@ -54,6 +64,9 @@ export class KeyfilterDirective {
54
64
  static keyIsAlpha(key) {
55
65
  return KeyfilterDirective.ALPHA_KEYS.includes(key.toLowerCase());
56
66
  }
67
+ static keyIsUrlToken(key) {
68
+ return KeyfilterDirective.URL_TOKEN_KEYS.includes(key.toLowerCase());
69
+ }
57
70
  /**
58
71
  * Dependency injection site
59
72
  * @param hostElement
@@ -84,6 +97,9 @@ export class KeyfilterDirective {
84
97
  else if (this.filterType === 'digits') {
85
98
  preventDefault = !KeyfilterDirective.keyIsDigit(key);
86
99
  }
100
+ else if (this.filterType === 'url-token') {
101
+ preventDefault = !KeyfilterDirective.keyIsUrlToken(key);
102
+ }
87
103
  else if (this.filterType === 'alphanumeric') {
88
104
  const isNumeric = KeyfilterDirective.keyIsDigit(key);
89
105
  const isAlpha = KeyfilterDirective.keyIsAlpha(key);
@@ -155,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
155
171
  type: HostListener,
156
172
  args: ['blur']
157
173
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9rZXlmaWx0ZXIva2V5ZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQWlFVDtJQS9EcEI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVztRQUNqRCxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0tBQzdELENBQUM7SUFFRjs7O09BR0c7SUFDSyxNQUFNLENBQVUsVUFBVSxHQUFHO1FBQ25DLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7UUFDaEQsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7S0FDN0IsQ0FBQztJQUVGOztPQUVHO0lBRUgsVUFBVSxHQUFvRCxJQUFXLENBQUM7SUFFMUU7O09BRUc7SUFFSCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRXBCOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDckMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFD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LENBQUM7WUFDOUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQzt1R0FoSlUsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7K0VBMkJDLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBTzFCLFdBQVc7c0JBRFYsS0FBSztnQkF5Q04sU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFrQ25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0NqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIERpcmVjdGl2ZSB0byBhcHBseSBrZXkgZmlsdGVyaW5nIHRvIGFuIEhUTUwgaW5wdXQgZWxlbWVudFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcGFydGljbGVLZXlmaWx0ZXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS2V5ZmlsdGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQXJyYXkgb2Yga2V5Ym9hcmQga2V5IG5hbWVzIHRoYXQgYXJlIGFsd2F5cyBhbGxvd2VkXHJcbiAgICogKGFycm93IGtleXMsIGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSlcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMTE9XRURfS0VZUyA9IFtcclxuICAgICdBcnJvd0xlZnQnLCAnQXJyb3dVcCcsICdBcnJvd1JpZ2h0JywgJ0Fycm93RG93bicsXHJcbiAgICAnQmFja3NwYWNlJywgJ0RlbGV0ZScsICdUYWInLCAnRXNjJywgJ0VzY2FwZScsICdIb21lJywgJ0VuZCdcclxuICBdO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBrZXlib2FyZCBhbHBoYSBrZXkgbmFtZXNcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMUEhBX0tFWVMgPSBbXHJcbiAgICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsXHJcbiAgICAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsXHJcbiAgICAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onXHJcbiAgXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHR5cGUgb2YgZmlsdGVyaW5nIHRvIGFwcGx5XHJcbiAgICovXHJcbiAgQElucHV0KCdwYXJ0aWNsZUtleWZpbHRlcicpXHJcbiAgZmlsdGVyVHlwZTogJ2FscGhhJyB8ICdudW1lcmljJyB8ICdhbHBoYW51bWVyaWMnIHwgJ2RpZ2l0cycgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgc3BhY2VzIChkZWZhdWx0IGZhbHNlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dTcGFjZXMgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBpbnB1dCBrZXkgaXMgbnVtZXJpYyAoYSBkaWdpdClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNOdW1lcmljKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkfFtcXC4tXSQnLCAnZycpLnRlc3Qoa2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGtleUlzRGlnaXQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKCdeXFxcXGQkJywgJ2cnKS50ZXN0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyB2YWx1ZUlzTnVtZXJpYyh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXigtP1xcXFxkK1xcXFwuXFxcXGQrKSR8XigtP1xcXFxkKykkJywgJ2cnKS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZSBpZiB0aGUgaW5wdXQga2V5IGlzIGFuIGFscGhhIGtleSAoYSBsZXR0ZXIgb2ZcclxuICAgKiB0aGUgRW5nbGlzaCBhbHBoYWJldClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNBbHBoYShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEtleWZpbHRlckRpcmVjdGl2ZS5BTFBIQV9LRVlTLmluY2x1ZGVzKGtleS50b0xvd2VyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlcGVuZGVuY3kgaW5qZWN0aW9uIHNpdGVcclxuICAgKiBAcGFyYW0gaG9zdEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIG91dCBrZXlzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgZmlsdGVyIHR5cGVcclxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIGtleWRvd24gS2V5Ym9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB7IGtleSB9ID0gZXZlbnQ7XHJcblxyXG4gICAgICBpZiAoS2V5ZmlsdGVyRGlyZWN0aXZlLkFMTE9XRURfS0VZUy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmFsbG93U3BhY2VzICYmIGtleSA9PT0gJyAnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSAhZXZlbnQuY3RybEtleSAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzTnVtZXJpYyhrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycpIHtcclxuICAgICAgICBjb25zdCBpc051bWVyaWMgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG5cclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICEoaXNOdW1lcmljIHx8IGlzQWxwaGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IHBhc3RlIGlmIGlucHV0IGNvbnRhaW5zIGZvcmJpZGRlbiBjaGFyYWN0ZXJzXHJcbiAgICogQHBhcmFtIGV2ZW50IHRoZSBwYXN0ZSBDbGlwYm9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgY2xpcGJvYXJkRGF0YTogRGF0YVRyYW5zZmVyID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhO1xyXG4gICAgICB9IGVsc2UgaWYgKCdjbGlwYm9hcmREYXRhJyBpbiB3aW5kb3cpIHtcclxuICAgICAgICBjbGlwYm9hcmREYXRhID0gKHdpbmRvdyBhcyBhbnkpLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHBhc3RlZFRleHQgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNTcGFjZSA9IGNoYXIgPT09ICcgJztcclxuICAgICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShjaGFyKTtcclxuICAgICAgICAgIGNvbnN0IGlzTnVtZXJpYyA9IEtleWZpbHRlckRpcmVjdGl2ZS5rZXlJc051bWVyaWMoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0RpZ2l0ID0gS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzRGlnaXQoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0FscGhhTnVtZXJpYyA9IGlzQWxwaGEgfHwgaXNEaWdpdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBjaGFySXNWYWxpZCA9IChpc1NwYWNlICYmIHRoaXMuYWxsb3dTcGFjZXMpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScgJiYgaXNBbHBoYSkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnICYmIGlzTnVtZXJpYykgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycgJiYgaXNEaWdpdCkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycgJiYgaXNBbHBoYU51bWVyaWMpO1xyXG5cclxuICAgICAgICAgIGlmICghY2hhcklzVmFsaWQpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdudW1lcmljJyAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLnZhbHVlSXNOdW1lcmljKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9rZXlmaWx0ZXIva2V5ZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQWdGVDtJQTlFcEI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVztRQUNqRCxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0tBQzdELENBQUM7SUFFRjs7O09BR0c7SUFDSyxNQUFNLENBQVUsVUFBVSxHQUFHO1FBQ25DLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7UUFDaEQsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7S0FDN0IsQ0FBQztJQUVGOzs7T0FHRztJQUNLLE1BQU0sQ0FBVSxjQUFjLEdBQUc7UUFDdkMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFF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RFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0NuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DakMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgdG8gYXBwbHkga2V5IGZpbHRlcmluZyB0byBhbiBIVE1MIGlucHV0IGVsZW1lbnRcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3BhcnRpY2xlS2V5ZmlsdGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEtleWZpbHRlckRpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFycmF5IG9mIGtleWJvYXJkIGtleSBuYW1lcyB0aGF0IGFyZSBhbHdheXMgYWxsb3dlZFxyXG4gICAqIChhcnJvdyBrZXlzLCBiYWNrc3BhY2UsIGRlbGV0ZSwgdGFiLCBlc2NhcGUpXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTExPV0VEX0tFWVMgPSBbXHJcbiAgICAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dSaWdodCcsICdBcnJvd0Rvd24nLFxyXG4gICAgJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnVGFiJywgJ0VzYycsICdFc2NhcGUnLCAnSG9tZScsICdFbmQnXHJcbiAgXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQXJyYXkgb2Yga2V5Ym9hcmQgYWxwaGEga2V5IG5hbWVzXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFBIQV9LRVlTID0gW1xyXG4gICAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLFxyXG4gICAgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLFxyXG4gICAgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6J1xyXG4gIF07XHJcblxyXG4gIC8qKlxyXG4gICAqIEFycmF5IG9mIGtleWJvYXJkIGFscGhhIGtleSBuYW1lc1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVVJMX1RPS0VOX0tFWVMgPSBbXHJcbiAgICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsXHJcbiAgICAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsXHJcbiAgICAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLCAnLScsICcwJywgJzEnLCAnMicsXHJcbiAgICAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOSdcclxuICBdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdHlwZSBvZiBmaWx0ZXJpbmcgdG8gYXBwbHlcclxuICAgKi9cclxuICBASW5wdXQoJ3BhcnRpY2xlS2V5ZmlsdGVyJylcclxuICBmaWx0ZXJUeXBlOiAnYWxwaGEnIHwgJ251bWVyaWMnIHwgJ2FscGhhbnVtZXJpYycgfCAnZGlnaXRzJyB8ICd1cmwtdG9rZW4nID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgc3BhY2VzIHNob3VsZCBiZSBhbGxvd2VkIChkZWZhdWx0IGZhbHNlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dTcGFjZXMgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBpbnB1dCBrZXkgaXMgbnVtZXJpYyAoYSBkaWdpdClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNOdW1lcmljKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkfFsuLV0kJywgJ2cnKS50ZXN0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBrZXlJc0RpZ2l0KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkJCcsICdnJykudGVzdChrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgdmFsdWVJc051bWVyaWModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJ14oLT9cXFxcZCtcXFxcLlxcXFxkKykkfF4oLT9cXFxcZCspJCcsICdnJykudGVzdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGlucHV0IGtleSBpcyBhbiBhbHBoYSBrZXkgKGEgbGV0dGVyIG9mXHJcbiAgICogdGhlIEVuZ2xpc2ggYWxwaGFiZXQpXHJcbiAgICogQHBhcmFtIGtleSB0aGUga2V5IHRvIHRlc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGtleUlzQWxwaGEoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBLZXlmaWx0ZXJEaXJlY3RpdmUuQUxQSEFfS0VZUy5pbmNsdWRlcyhrZXkudG9Mb3dlckNhc2UoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBrZXlJc1VybFRva2VuKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gS2V5ZmlsdGVyRGlyZWN0aXZlLlVSTF9UT0tFTl9LRVlTLmluY2x1ZGVzKGtleS50b0xvd2VyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlcGVuZGVuY3kgaW5qZWN0aW9uIHNpdGVcclxuICAgKiBAcGFyYW0gaG9zdEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIG91dCBrZXlzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgZmlsdGVyIHR5cGVcclxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIGtleWRvd24gS2V5Ym9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB7IGtleSB9ID0gZXZlbnQ7XHJcblxyXG4gICAgICBpZiAoS2V5ZmlsdGVyRGlyZWN0aXZlLkFMTE9XRURfS0VZUy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmFsbG93U3BhY2VzICYmIGtleSA9PT0gJyAnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSAhZXZlbnQuY3RybEtleSAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzTnVtZXJpYyhrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ3VybC10b2tlbicpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNVcmxUb2tlbihrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycpIHtcclxuICAgICAgICBjb25zdCBpc051bWVyaWMgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG5cclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICEoaXNOdW1lcmljIHx8IGlzQWxwaGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IHBhc3RlIGlmIGlucHV0IGNvbnRhaW5zIGZvcmJpZGRlbiBjaGFyYWN0ZXJzXHJcbiAgICogQHBhcmFtIGV2ZW50IHRoZSBwYXN0ZSBDbGlwYm9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgY2xpcGJvYXJkRGF0YTogRGF0YVRyYW5zZmVyID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhO1xyXG4gICAgICB9IGVsc2UgaWYgKCdjbGlwYm9hcmREYXRhJyBpbiB3aW5kb3cpIHtcclxuICAgICAgICBjbGlwYm9hcmREYXRhID0gKHdpbmRvdyBhcyBhbnkpLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHBhc3RlZFRleHQgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNTcGFjZSA9IGNoYXIgPT09ICcgJztcclxuICAgICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShjaGFyKTtcclxuICAgICAgICAgIGNvbnN0IGlzTnVtZXJpYyA9IEtleWZpbHRlckRpcmVjdGl2ZS5rZXlJc051bWVyaWMoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0RpZ2l0ID0gS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzRGlnaXQoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0FscGhhTnVtZXJpYyA9IGlzQWxwaGEgfHwgaXNEaWdpdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBjaGFySXNWYWxpZCA9IChpc1NwYWNlICYmIHRoaXMuYWxsb3dTcGFjZXMpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScgJiYgaXNBbHBoYSkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnICYmIGlzTnVtZXJpYykgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycgJiYgaXNEaWdpdCkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycgJiYgaXNBbHBoYU51bWVyaWMpO1xyXG5cclxuICAgICAgICAgIGlmICghY2hhcklzVmFsaWQpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdudW1lcmljJyAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLnZhbHVlSXNOdW1lcmljKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -8552,12 +8552,22 @@ class KeyfilterDirective {
8552
8552
  'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
8553
8553
  'u', 'v', 'w', 'x', 'y', 'z'
8554
8554
  ];
8555
+ /**
8556
+ * Array of keyboard alpha key names
8557
+ * @private
8558
+ */
8559
+ static URL_TOKEN_KEYS = [
8560
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
8561
+ 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
8562
+ 'u', 'v', 'w', 'x', 'y', 'z', '-', '0', '1', '2',
8563
+ '3', '4', '5', '6', '7', '8', '9'
8564
+ ];
8555
8565
  /**
8556
8566
  * The type of filtering to apply
8557
8567
  */
8558
8568
  filterType = null;
8559
8569
  /**
8560
- * Whether or not to allow spaces (default false)
8570
+ * Whether spaces should be allowed (default false)
8561
8571
  */
8562
8572
  allowSpaces = false;
8563
8573
  /**
@@ -8566,7 +8576,7 @@ class KeyfilterDirective {
8566
8576
  * @private
8567
8577
  */
8568
8578
  static keyIsNumeric(key) {
8569
- return new RegExp('^\\d|[\.-]$', 'g').test(key);
8579
+ return new RegExp('^\\d|[.-]$', 'g').test(key);
8570
8580
  }
8571
8581
  static keyIsDigit(key) {
8572
8582
  return new RegExp('^\\d$', 'g').test(key);
@@ -8583,6 +8593,9 @@ class KeyfilterDirective {
8583
8593
  static keyIsAlpha(key) {
8584
8594
  return KeyfilterDirective.ALPHA_KEYS.includes(key.toLowerCase());
8585
8595
  }
8596
+ static keyIsUrlToken(key) {
8597
+ return KeyfilterDirective.URL_TOKEN_KEYS.includes(key.toLowerCase());
8598
+ }
8586
8599
  /**
8587
8600
  * Dependency injection site
8588
8601
  * @param hostElement
@@ -8613,6 +8626,9 @@ class KeyfilterDirective {
8613
8626
  else if (this.filterType === 'digits') {
8614
8627
  preventDefault = !KeyfilterDirective.keyIsDigit(key);
8615
8628
  }
8629
+ else if (this.filterType === 'url-token') {
8630
+ preventDefault = !KeyfilterDirective.keyIsUrlToken(key);
8631
+ }
8616
8632
  else if (this.filterType === 'alphanumeric') {
8617
8633
  const isNumeric = KeyfilterDirective.keyIsDigit(key);
8618
8634
  const isAlpha = KeyfilterDirective.keyIsAlpha(key);