@skyux/indicators 5.0.2 → 5.1.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.
Files changed (39) hide show
  1. package/bundles/skyux-indicators.umd.js +161 -134
  2. package/bundles/skyux-indicators.umd.js.map +1 -1
  3. package/documentation.json +453 -328
  4. package/esm2015/modules/alert/alert.component.js +3 -3
  5. package/esm2015/modules/alert/alert.module.js +4 -4
  6. package/esm2015/modules/chevron/chevron.component.js +3 -3
  7. package/esm2015/modules/chevron/chevron.module.js +4 -4
  8. package/esm2015/modules/help-inline/help-inline.component.js +3 -3
  9. package/esm2015/modules/help-inline/help-inline.module.js +4 -4
  10. package/esm2015/modules/icon/icon-class-list.pipe.js +3 -3
  11. package/esm2015/modules/icon/icon-resolver.service.js +3 -3
  12. package/esm2015/modules/icon/icon-stack.component.js +3 -3
  13. package/esm2015/modules/icon/icon.component.js +3 -3
  14. package/esm2015/modules/icon/icon.module.js +4 -4
  15. package/esm2015/modules/key-info/key-info-label.component.js +3 -3
  16. package/esm2015/modules/key-info/key-info-value.component.js +3 -3
  17. package/esm2015/modules/key-info/key-info.component.js +3 -3
  18. package/esm2015/modules/key-info/key-info.module.js +4 -4
  19. package/esm2015/modules/label/label.component.js +3 -3
  20. package/esm2015/modules/label/label.module.js +4 -4
  21. package/esm2015/modules/shared/sky-indicators-resources.module.js +4 -4
  22. package/esm2015/modules/status-indicator/status-indicator.component.js +3 -3
  23. package/esm2015/modules/status-indicator/status-indicator.module.js +4 -4
  24. package/esm2015/modules/text-highlight/text-highlight.directive.js +50 -33
  25. package/esm2015/modules/text-highlight/text-highlight.module.js +4 -4
  26. package/esm2015/modules/tokens/token.component.js +10 -4
  27. package/esm2015/modules/tokens/tokens.component.js +3 -3
  28. package/esm2015/modules/tokens/tokens.module.js +4 -4
  29. package/esm2015/modules/wait/wait-adapter.service.js +3 -3
  30. package/esm2015/modules/wait/wait-page-adapter.service.js +3 -3
  31. package/esm2015/modules/wait/wait-page.component.js +3 -3
  32. package/esm2015/modules/wait/wait.component.js +3 -3
  33. package/esm2015/modules/wait/wait.module.js +4 -4
  34. package/esm2015/modules/wait/wait.service.js +3 -3
  35. package/fesm2015/skyux-indicators.js +156 -133
  36. package/fesm2015/skyux-indicators.js.map +1 -1
  37. package/modules/text-highlight/text-highlight.directive.d.ts +2 -2
  38. package/modules/tokens/token.component.d.ts +2 -0
  39. package/package.json +6 -6
@@ -16,6 +16,24 @@ export class SkyTextHighlightDirective {
16
16
  this.observerService = observerService;
17
17
  this.existingHighlight = false;
18
18
  }
19
+ /**
20
+ * Specifies the text to highlight.
21
+ */
22
+ set skyHighlight(value) {
23
+ value = value || [];
24
+ this._skyHighlight = [];
25
+ if (Array.isArray(value)) {
26
+ this._skyHighlight = value.filter((item) => !!item);
27
+ // Reorder strings by their length in descending order to avoid missing matches
28
+ // that contain substrings of other matches.
29
+ this._skyHighlight.sort(function (a, b) {
30
+ return b.length - a.length;
31
+ });
32
+ }
33
+ else {
34
+ this._skyHighlight = [value];
35
+ }
36
+ }
19
37
  ngOnChanges(changes) {
20
38
  if (changes.skyHighlight && !changes.skyHighlight.firstChange) {
21
39
  this.highlight();
@@ -27,7 +45,7 @@ export class SkyTextHighlightDirective {
27
45
  self.highlight();
28
46
  });
29
47
  this.observeDom();
30
- if (this.skyHighlight) {
48
+ if (this._skyHighlight && this._skyHighlight.length > 0) {
31
49
  this.highlight();
32
50
  }
33
51
  }
@@ -38,14 +56,14 @@ export class SkyTextHighlightDirective {
38
56
  }
39
57
  }
40
58
  readyForHighlight(searchText) {
41
- return searchText && this.el.nativeElement;
59
+ return searchText && searchText.length > 0 && this.el.nativeElement;
42
60
  }
43
61
  highlight() {
44
62
  /* istanbul ignore else */
45
63
  if (this.observer) {
46
64
  this.observer.disconnect();
47
65
  }
48
- const searchText = this.skyHighlight;
66
+ const searchText = this._skyHighlight;
49
67
  if (this.existingHighlight) {
50
68
  SkyTextHighlightDirective.removeHighlight(this.el);
51
69
  }
@@ -72,39 +90,38 @@ export class SkyTextHighlightDirective {
72
90
  static cleanRegex(regex) {
73
91
  return regex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
74
92
  }
75
- static getRegexMatch(node, searchText) {
76
- const text = node.nodeValue;
77
- const newSearchText = this.cleanRegex(searchText);
78
- const searchRegex = new RegExp(newSearchText, 'gi');
79
- return searchRegex.exec(text);
80
- }
81
- static markNode(node, searchText) {
82
- const regexMatch = SkyTextHighlightDirective.getRegexMatch(node, searchText);
83
- // found match
84
- if (regexMatch && regexMatch.length > 0) {
85
- // split apart text node with mark tags in the middle on the search term
86
- const matchIndex = regexMatch.index;
87
- const middle = node.splitText(matchIndex);
88
- middle.splitText(searchText.length);
89
- const middleClone = middle.cloneNode(true);
90
- const markNode = document.createElement('mark');
91
- markNode.className = className;
92
- markNode.appendChild(middleClone);
93
- middle.parentNode.replaceChild(markNode, middle);
94
- return 1;
95
- }
96
- else {
97
- return 0;
93
+ static markNode(node, searchTerms) {
94
+ /* istanbul ignore else */
95
+ if (searchTerms) {
96
+ const text = node.nodeValue;
97
+ for (let i = 0; i < searchTerms.length; i++) {
98
+ searchTerms[i] = this.cleanRegex(searchTerms[i]);
99
+ }
100
+ const searchRegex = new RegExp(searchTerms.join('|'), 'gi');
101
+ const match = searchRegex.exec(text);
102
+ if (match) {
103
+ // Split apart text node with mark tags in the middle on the search term.
104
+ const matchIndex = match.index;
105
+ const middle = node.splitText(matchIndex);
106
+ middle.splitText(searchRegex.lastIndex - matchIndex);
107
+ const middleClone = middle.cloneNode(true);
108
+ const markNode = document.createElement('mark');
109
+ markNode.className = className;
110
+ markNode.appendChild(middleClone);
111
+ middle.parentNode.replaceChild(markNode, middle);
112
+ return 1;
113
+ }
98
114
  }
115
+ return 0;
99
116
  }
100
- static markTextNodes(node, searchText) {
117
+ static markTextNodes(node, searchTerms) {
101
118
  if (node.nodeType === 3) {
102
- return SkyTextHighlightDirective.markNode(node, searchText);
119
+ return SkyTextHighlightDirective.markNode(node, searchTerms);
103
120
  }
104
121
  else if (node.nodeType === 1 && node.childNodes) {
105
122
  for (let i = 0; i < node.childNodes.length; i++) {
106
123
  const childNode = node.childNodes[i];
107
- i += SkyTextHighlightDirective.markTextNodes(childNode, searchText);
124
+ i += SkyTextHighlightDirective.markTextNodes(childNode, searchTerms);
108
125
  }
109
126
  }
110
127
  return 0;
@@ -123,9 +140,9 @@ export class SkyTextHighlightDirective {
123
140
  }
124
141
  }
125
142
  }
126
- SkyTextHighlightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
127
- SkyTextHighlightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SkyTextHighlightDirective, selector: "[skyHighlight]", inputs: { skyHighlight: "skyHighlight" }, usesOnChanges: true, ngImport: i0 });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightDirective, decorators: [{
143
+ SkyTextHighlightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
144
+ SkyTextHighlightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyTextHighlightDirective, selector: "[skyHighlight]", inputs: { skyHighlight: "skyHighlight" }, usesOnChanges: true, ngImport: i0 });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightDirective, decorators: [{
129
146
  type: Directive,
130
147
  args: [{
131
148
  selector: '[skyHighlight]',
@@ -133,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
133
150
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MutationObserverService }]; }, propDecorators: { skyHighlight: [{
134
151
  type: Input
135
152
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7OztBQUl2QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUV2QyxxRUFBcUU7QUFDckUsMkRBQTJEO0FBQzNELFdBQVc7QUFDWDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQWFwQyxZQUNVLEVBQWMsRUFDZCxlQUF3QztRQUR4QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBTjFDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUcsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzdELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUN6QyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUMxQyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUM1QjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFckMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIseUJBQXlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwRDtRQUVELDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUksR0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFFaEQsbUNBQW1DO1lBQ25DLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sTUFBTSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixhQUFhLEVBQUUsSUFBSTthQUNwQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FDMUIsSUFBaUIsRUFDakIsVUFBa0I7UUFFbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBUyxFQUFFLFVBQWtCO1FBQ25ELE1BQU0sVUFBVSxHQUFHLHlCQUF5QixDQUFDLGFBQWEsQ0FDeEQsSUFBSSxFQUNKLFVBQVUsQ0FDWCxDQUFDO1FBRUYsY0FBYztRQUNkLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLHdFQUF3RTtZQUN4RSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBRXBDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRWpELE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFpQixFQUFFLFVBQWtCO1FBQ2hFLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQWdCLENBQUM7Z0JBQ3BELENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3JFO1NBQ0Y7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQWM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdkQsUUFBUSxTQUFTLEVBQUUsQ0FDUixDQUFDO1FBRWQsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLGVBQWUsRUFBRTtZQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUVuQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7dUhBM0pVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7dUlBUVEsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmNvbnN0IGNsYXNzTmFtZSA9ICdza3ktaGlnaGxpZ2h0LW1hcmsnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuLyoqXG4gKiBIaWdobGlnaHRzIGFsbCBtYXRjaGluZyB0ZXh0IHdpdGhpbiBET00gZWxlbWVudHMgdGhhdCBpdCBpcyBwbGFjZWQgb24uXG4gKiBUaGUgZGlyZWN0aXZlIGlzIG9ubHkgdmFsaWQgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiBjb250ZW50LCBzbyB5b3VcbiAqIGNhbm5vdCBwbGFjZSBpdCBvbiBgbmctdGVtcGxhdGVgLCBgbmctY29udGVudGAsIG9yIGBuZy1jb250YWluZXJgIHRhZ3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIaWdobGlnaHRdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gaGlnaGxpZ2h0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUhpZ2hsaWdodDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZXhpc3RpbmdIaWdobGlnaHQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvYnNlcnZlclNlcnZpY2U6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNreUhpZ2hsaWdodCAmJiAhY2hhbmdlcy5za3lIaWdobGlnaHQuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLm9ic2VydmVyID0gdGhpcy5vYnNlcnZlclNlcnZpY2UuY3JlYXRlKFxuICAgICAgKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgICBzZWxmLmhpZ2hsaWdodCgpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLm9ic2VydmVEb20oKTtcbiAgICBpZiAodGhpcy5za3lIaWdobGlnaHQpIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZHlGb3JIaWdobGlnaHQoc2VhcmNoVGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlYXJjaFRleHQgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IHRoaXMuc2t5SGlnaGxpZ2h0O1xuXG4gICAgaWYgKHRoaXMuZXhpc3RpbmdIaWdobGlnaHQpIHtcbiAgICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUucmVtb3ZlSGlnaGxpZ2h0KHRoaXMuZWwpO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMucmVhZHlGb3JIaWdobGlnaHQoc2VhcmNoVGV4dCkpIHtcbiAgICAgIGNvbnN0IG5vZGU6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBtYXJrIGFsbCBtYXRjaGVkIHRleHQgaW4gdGhlIERPTVxuICAgICAgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZS5tYXJrVGV4dE5vZGVzKG5vZGUsIHNlYXJjaFRleHQpO1xuICAgICAgdGhpcy5leGlzdGluZ0hpZ2hsaWdodCA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5vYnNlcnZlRG9tKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVEb20oKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICBhdHRyaWJ1dGVzOiBmYWxzZSxcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2xlYW5SZWdleChyZWdleDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVnZXgucmVwbGFjZSgvWy1cXC9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCAnXFxcXCQmJyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRSZWdleE1hdGNoKFxuICAgIG5vZGU6IEhUTUxFbGVtZW50LFxuICAgIHNlYXJjaFRleHQ6IHN0cmluZ1xuICApOiBSZWdFeHBFeGVjQXJyYXkge1xuICAgIGNvbnN0IHRleHQgPSBub2RlLm5vZGVWYWx1ZTtcbiAgICBjb25zdCBuZXdTZWFyY2hUZXh0ID0gdGhpcy5jbGVhblJlZ2V4KHNlYXJjaFRleHQpO1xuICAgIGNvbnN0IHNlYXJjaFJlZ2V4ID0gbmV3IFJlZ0V4cChuZXdTZWFyY2hUZXh0LCAnZ2knKTtcblxuICAgIHJldHVybiBzZWFyY2hSZWdleC5leGVjKHRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya05vZGUobm9kZTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHJlZ2V4TWF0Y2ggPSBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLmdldFJlZ2V4TWF0Y2goXG4gICAgICBub2RlLFxuICAgICAgc2VhcmNoVGV4dFxuICAgICk7XG5cbiAgICAvLyBmb3VuZCBtYXRjaFxuICAgIGlmIChyZWdleE1hdGNoICYmIHJlZ2V4TWF0Y2gubGVuZ3RoID4gMCkge1xuICAgICAgLy8gc3BsaXQgYXBhcnQgdGV4dCBub2RlIHdpdGggbWFyayB0YWdzIGluIHRoZSBtaWRkbGUgb24gdGhlIHNlYXJjaCB0ZXJtXG4gICAgICBjb25zdCBtYXRjaEluZGV4ID0gcmVnZXhNYXRjaC5pbmRleDtcblxuICAgICAgY29uc3QgbWlkZGxlID0gbm9kZS5zcGxpdFRleHQobWF0Y2hJbmRleCk7XG4gICAgICBtaWRkbGUuc3BsaXRUZXh0KHNlYXJjaFRleHQubGVuZ3RoKTtcbiAgICAgIGNvbnN0IG1pZGRsZUNsb25lID0gbWlkZGxlLmNsb25lTm9kZSh0cnVlKTtcblxuICAgICAgY29uc3QgbWFya05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtYXJrJyk7XG4gICAgICBtYXJrTm9kZS5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICBtYXJrTm9kZS5hcHBlbmRDaGlsZChtaWRkbGVDbG9uZSk7XG4gICAgICBtaWRkbGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobWFya05vZGUsIG1pZGRsZSk7XG5cbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXJrVGV4dE5vZGVzKG5vZGU6IEhUTUxFbGVtZW50LCBzZWFyY2hUZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSAzKSB7XG4gICAgICByZXR1cm4gU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZS5tYXJrTm9kZShub2RlLCBzZWFyY2hUZXh0KTtcbiAgICB9IGVsc2UgaWYgKG5vZGUubm9kZVR5cGUgPT09IDEgJiYgbm9kZS5jaGlsZE5vZGVzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGUuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPSBub2RlLmNoaWxkTm9kZXNbaV0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGkgKz0gU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZS5tYXJrVGV4dE5vZGVzKGNoaWxkTm9kZSwgc2VhcmNoVGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZW1vdmVIaWdobGlnaHQoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaGVkRWxlbWVudHMgPSBlbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgbWFyay4ke2NsYXNzTmFtZX1gXG4gICAgKSBhcyBOb2RlTGlzdDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKG1hdGNoZWRFbGVtZW50cykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaGVkRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG1hdGNoZWRFbGVtZW50c1tpXTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZChub2RlLmZpcnN0Q2hpbGQsIG5vZGUpO1xuICAgICAgICBwYXJlbnROb2RlLm5vcm1hbGl6ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7OztBQUl2QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUV2QyxxRUFBcUU7QUFDckUsMkRBQTJEO0FBQzNELFdBQVc7QUFDWDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQTZCcEMsWUFDVSxFQUFjLEVBQ2QsZUFBd0M7UUFEeEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUF5QjtRQVIxQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFTL0IsQ0FBQztJQTdCSjs7T0FFRztJQUNILElBQ1csWUFBWSxDQUFDLEtBQXdCO1FBQzlDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCwrRUFBK0U7WUFDL0UsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FB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QUMsVUFBVSxFQUFFO1lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQWdCLENBQUM7Z0JBQ3BELENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0Y7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQWM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdkQsUUFBUSxTQUFTLEVBQUUsQ0FDUixDQUFDO1FBRWQsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLGVBQWUsRUFBRTtZQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUVuQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7dUhBcktVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7dUlBUVksWUFBWTtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmNvbnN0IGNsYXNzTmFtZSA9ICdza3ktaGlnaGxpZ2h0LW1hcmsnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuLyoqXG4gKiBIaWdobGlnaHRzIGFsbCBtYXRjaGluZyB0ZXh0IHdpdGhpbiBET00gZWxlbWVudHMgdGhhdCBpdCBpcyBwbGFjZWQgb24uXG4gKiBUaGUgZGlyZWN0aXZlIGlzIG9ubHkgdmFsaWQgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiBjb250ZW50LCBzbyB5b3VcbiAqIGNhbm5vdCBwbGFjZSBpdCBvbiBgbmctdGVtcGxhdGVgLCBgbmctY29udGVudGAsIG9yIGBuZy1jb250YWluZXJgIHRhZ3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIaWdobGlnaHRdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gaGlnaGxpZ2h0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIaWdobGlnaHQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSB8fCBbXTtcbiAgICB0aGlzLl9za3lIaWdobGlnaHQgPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fc2t5SGlnaGxpZ2h0ID0gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgICAgLy8gUmVvcmRlciBzdHJpbmdzIGJ5IHRoZWlyIGxlbmd0aCBpbiBkZXNjZW5kaW5nIG9yZGVyIHRvIGF2b2lkIG1pc3NpbmcgbWF0Y2hlc1xuICAgICAgLy8gdGhhdCBjb250YWluIHN1YnN0cmluZ3Mgb2Ygb3RoZXIgbWF0Y2hlcy5cbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIHJldHVybiBiLmxlbmd0aCAtIGEubGVuZ3RoO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodCA9IFt2YWx1ZSBhcyBzdHJpbmddO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhpc3RpbmdIaWdobGlnaHQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgX3NreUhpZ2hsaWdodDogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG9ic2VydmVyU2VydmljZTogTXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2t5SGlnaGxpZ2h0ICYmICFjaGFuZ2VzLnNreUhpZ2hsaWdodC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5oaWdobGlnaHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMub2JzZXJ2ZXIgPSB0aGlzLm9ic2VydmVyU2VydmljZS5jcmVhdGUoXG4gICAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgIHNlbGYuaGlnaGxpZ2h0KCk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICAgIGlmICh0aGlzLl9za3lIaWdobGlnaHQgJiYgdGhpcy5fc2t5SGlnaGxpZ2h0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZHlGb3JIaWdobGlnaHQoc2VhcmNoVGV4dDogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0Lmxlbmd0aCA+IDAgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IHRoaXMuX3NreUhpZ2hsaWdodDtcblxuICAgIGlmICh0aGlzLmV4aXN0aW5nSGlnaGxpZ2h0KSB7XG4gICAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLnJlbW92ZUhpZ2hsaWdodCh0aGlzLmVsKTtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJlYWR5Rm9ySGlnaGxpZ2h0KHNlYXJjaFRleHQpKSB7XG4gICAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gbWFyayBhbGwgbWF0Y2hlZCB0ZXh0IGluIHRoZSBET01cbiAgICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya1RleHROb2Rlcyhub2RlLCBzZWFyY2hUZXh0KTtcbiAgICAgIHRoaXMuZXhpc3RpbmdIaWdobGlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRG9tKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgYXR0cmlidXRlczogZmFsc2UsXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIH07XG4gICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuUmVnZXgocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlZ2V4LnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya05vZGUobm9kZTogYW55LCBzZWFyY2hUZXJtczogc3RyaW5nW10pOiBudW1iZXIge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNlYXJjaFRlcm1zKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gbm9kZS5ub2RlVmFsdWU7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlYXJjaFRlcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHNlYXJjaFRlcm1zW2ldID0gdGhpcy5jbGVhblJlZ2V4KHNlYXJjaFRlcm1zW2ldKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlYXJjaFJlZ2V4ID0gbmV3IFJlZ0V4cChzZWFyY2hUZXJtcy5qb2luKCd8JyksICdnaScpO1xuICAgICAgY29uc3QgbWF0Y2ggPSBzZWFyY2hSZWdleC5leGVjKHRleHQpO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIC8vIFNwbGl0IGFwYXJ0IHRleHQgbm9kZSB3aXRoIG1hcmsgdGFncyBpbiB0aGUgbWlkZGxlIG9uIHRoZSBzZWFyY2ggdGVybS5cbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IG1hdGNoLmluZGV4O1xuXG4gICAgICAgIGNvbnN0IG1pZGRsZSA9IG5vZGUuc3BsaXRUZXh0KG1hdGNoSW5kZXgpO1xuICAgICAgICBtaWRkbGUuc3BsaXRUZXh0KHNlYXJjaFJlZ2V4Lmxhc3RJbmRleCAtIG1hdGNoSW5kZXgpO1xuICAgICAgICBjb25zdCBtaWRkbGVDbG9uZSA9IG1pZGRsZS5jbG9uZU5vZGUodHJ1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFya05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtYXJrJyk7XG4gICAgICAgIG1hcmtOb2RlLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgbWFya05vZGUuYXBwZW5kQ2hpbGQobWlkZGxlQ2xvbmUpO1xuICAgICAgICBtaWRkbGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobWFya05vZGUsIG1pZGRsZSk7XG5cbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya1RleHROb2RlcyhcbiAgICBub2RlOiBIVE1MRWxlbWVudCxcbiAgICBzZWFyY2hUZXJtczogc3RyaW5nW11cbiAgKTogbnVtYmVyIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgcmV0dXJuIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya05vZGUobm9kZSwgc2VhcmNoVGVybXMpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSAmJiBub2RlLmNoaWxkTm9kZXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vZGUuY2hpbGROb2Rlc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaSArPSBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLm1hcmtUZXh0Tm9kZXMoY2hpbGROb2RlLCBzZWFyY2hUZXJtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZW1vdmVIaWdobGlnaHQoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaGVkRWxlbWVudHMgPSBlbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgbWFyay4ke2NsYXNzTmFtZX1gXG4gICAgKSBhcyBOb2RlTGlzdDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKG1hdGNoZWRFbGVtZW50cykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaGVkRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG1hdGNoZWRFbGVtZW50c1tpXTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZChub2RlLmZpcnN0Q2hpbGQsIG5vZGUpO1xuICAgICAgICBwYXJlbnROb2RlLm5vcm1hbGl6ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -4,10 +4,10 @@ import { SkyTextHighlightDirective } from './text-highlight.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SkyTextHighlightModule {
6
6
  }
7
- SkyTextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyTextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightModule, declarations: [SkyTextHighlightDirective], exports: [SkyTextHighlightDirective] });
9
- SkyTextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightModule, providers: [MutationObserverService] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTextHighlightModule, decorators: [{
7
+ SkyTextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyTextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, declarations: [SkyTextHighlightDirective], exports: [SkyTextHighlightDirective] });
9
+ SkyTextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, providers: [MutationObserverService] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [SkyTextHighlightDirective],
@@ -74,14 +74,20 @@ export class SkyTokenComponent {
74
74
  focusElement() {
75
75
  this.elementRef.nativeElement.querySelector('.sky-token').focus();
76
76
  }
77
+ setTokenActive(tokenActive) {
78
+ this.tokenActive = tokenActive;
79
+ }
80
+ setCloseActive(closeActive) {
81
+ this.closeActive = closeActive;
82
+ }
77
83
  getString(key) {
78
84
  // TODO: Need to implement the async `getString` method in a breaking change.
79
85
  return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key);
80
86
  }
81
87
  }
82
- SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
83
- SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n role=\"button\"\n [attr.aria-disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-dismissable': dismissible,\n 'sky-token-active': tokenActive && !closeActive\n }\"\n (document:mouseup)=\"tokenActive = false\"\n (focus)=\"tokenFocus.emit()\"\n (mousedown)=\"tokenActive = true\"\n>\n <ng-content> </ng-content>\n <button\n *ngIf=\"dismissible\"\n class=\"sky-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"closeActive = false\"\n (mousedown)=\"closeActive = true\"\n >\n <sky-icon class=\"sky-token-btn-close-icon-default\" icon=\"times\"> </sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;overflow:hidden;padding:2px 8px;display:inline-block;-webkit-user-select:none;user-select:none}.sky-token:hover,.sky-token:focus{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token:focus{box-shadow:0 0 8px #00b4f199;border:1px solid #00b4f1;outline:none}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn-close{background:transparent;padding:0;border:0;margin-left:2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus{opacity:1}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}:host-context(.sky-theme-modern) .sky-token.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissable{padding-right:1px}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token:focus,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}.sky-theme-modern .sky-token.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissable{padding-right:1px}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token:focus,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus{outline:none}.sky-theme-modern .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], components: [{ type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokenComponent, decorators: [{
88
+ SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
89
+ SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n role=\"button\"\n [attr.aria-disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-dismissable': dismissible,\n 'sky-token-active': tokenActive && !closeActive\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focus)=\"tokenFocus.emit()\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <ng-content></ng-content>\n <button\n *ngIf=\"dismissible\"\n class=\"sky-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon class=\"sky-token-btn-close-icon-default\" icon=\"times\"></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;overflow:hidden;padding:2px 8px;display:inline-block;-webkit-user-select:none;user-select:none}.sky-token:hover,.sky-token:focus{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token:focus{box-shadow:0 0 8px #00b4f199;border:1px solid #00b4f1;outline:none}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn-close{background:transparent;padding:0;border:0;margin-left:2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus{opacity:1}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}:host-context(.sky-theme-modern) .sky-token.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissable{padding-right:1px}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token:focus,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}.sky-theme-modern .sky-token.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissable{padding-right:1px}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token:focus,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus{outline:none}.sky-theme-modern .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], components: [{ type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokenComponent, decorators: [{
85
91
  type: Component,
86
92
  args: [{
87
93
  selector: 'sky-token',
@@ -102,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
102
108
  }], tokenFocus: [{
103
109
  type: Output
104
110
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUE4RjVCLFlBQ1UsVUFBc0IsRUFDdEIsZ0JBQXdDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXBDbEQ7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBMkIxQyxDQUFDO0lBaEdKOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFjRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQXNCTSxZQUFZLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLDZFQUE2RTtRQUM3RSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RSxDQUFDOzsrR0EvR1UsaUJBQWlCO21HQUFqQixpQkFBaUIsME5DakI5Qiw2bUNBdUNBOzRGRHRCYSxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7c0lBU1ksUUFBUTtzQkFEbEIsS0FBSztnQkFlSyxTQUFTO3NCQURuQixLQUFLO2dCQWlCSyxXQUFXO3NCQURyQixLQUFLO2dCQWVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBYUMsT0FBTztzQkFEYixNQUFNO2dCQU9BLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9rZW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5Db21wb25lbnQge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW4gdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyBpdCwgZGlzbWlzc2luZyBpdCxcbiAgICogb3IgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLiBXaGVuIHRoZSB0b2tlbiBpcyBkaXNhYmxlZCxcbiAgICogdXNlcnMgY2FuIHN0aWxsIHBsYWNlIGZvY3VzIG9uIGl0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIHRva2VuJ3MgY2xvc2UgYnV0dG9uLiBUaGlzIHNldHMgdGhlIGJ1dHRvbidzIGBhcmlhLWxhYmVsYFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBAZGVmYXVsdCBcIlJlbW92ZSBpdGVtXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYUxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hcmlhTGFiZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2FyaWFMYWJlbCB8fCB0aGlzLmdldFN0cmluZygnc2t5dXhfdG9rZW5zX2Rpc21pc3NfYnV0dG9uX3RpdGxlJylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdGhlIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZSBjbG9zZSBidXR0b25cbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdXNlcnMgY2FuIHByZXNzIHRoZSBgVGFiYCBrZXkgdG8gcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuLiBUaGlzIGRvZXMgbm90XG4gICAqIGFmZmVjdCB0aGUgYWJpbGl0eSB0byBzZWxlY3QgdGhlIHRva2VuLCBkaXNtaXNzIGl0LCBvciBuYXZpZ2F0ZSB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2ZvY3VzYWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzYWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgY2xvc2UgYnV0dG9uIG9yIHByZXNzIHRoZSBgQmFja3NwYWNlYCBrZXkgdG8gZGlzbWlzcyB0aGUgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIGJ5IG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYFRhYmAga2V5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRva2VuQWN0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjbG9zZUFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9hcmlhTGFiZWw6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2Rpc21pc3NpYmxlOiBib29sZWFuO1xuICBwcml2YXRlIF9mb2N1c2FibGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGRpc21pc3NUb2tlbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmRpc21pc3MuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRva2VuJykuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICByb2xlPVwiYnV0dG9uXCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktYnRuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzYWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlXG4gIH1cIlxuICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJ0b2tlbkFjdGl2ZSA9IGZhbHNlXCJcbiAgKGZvY3VzKT1cInRva2VuRm9jdXMuZW1pdCgpXCJcbiAgKG1vdXNlZG93bik9XCJ0b2tlbkFjdGl2ZSA9IHRydWVcIlxuPlxuICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJkaXNtaXNzaWJsZVwiXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS10b2tlbi1idG4tY2xvc2VcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW2F0dHIudGl0bGVdPVwiYXJpYUxhYmVsXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdG9rZW4tYnRuLWNsb3NlLWFjdGl2ZSc6IGNsb3NlQWN0aXZlXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cImRpc21pc3NUb2tlbigkZXZlbnQpXCJcbiAgICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJjbG9zZUFjdGl2ZSA9IGZhbHNlXCJcbiAgICAobW91c2Vkb3duKT1cImNsb3NlQWN0aXZlID0gdHJ1ZVwiXG4gID5cbiAgICA8c2t5LWljb24gY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb24tZGVmYXVsdFwiIGljb249XCJ0aW1lc1wiPiA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvblxuICAgICAgY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb24tbW9kZXJuXCJcbiAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUE4RjVCLFlBQ1UsVUFBc0IsRUFDdEIsZ0JBQXdDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXBDbEQ7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBMkIxQyxDQUFDO0lBaEdKOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFjRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQXNCTSxZQUFZLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQW9CO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVztRQUMzQiw2RUFBNkU7UUFDN0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7K0dBdkhVLGlCQUFpQjttR0FBakIsaUJBQWlCLDBOQ2pCOUIsbW5DQXVDQTs0RkR0QmEsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3NJQVNZLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUssU0FBUztzQkFEbkIsS0FBSztnQkFpQkssV0FBVztzQkFEckIsS0FBSztnQkFlSyxTQUFTO3NCQURuQixLQUFLO2dCQWFDLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW4uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRva2VuQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VuIHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgaXQsIGRpc21pc3NpbmcgaXQsXG4gICAqIG9yIG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW4gaXMgZGlzYWJsZWQsXG4gICAqIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgbGFiZWwgZm9yIHRoZSB0b2tlbidzIGNsb3NlIGJ1dHRvbi4gVGhpcyBzZXRzIHRoZSBidXR0b24ncyBgYXJpYS1sYWJlbGBcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogQGRlZmF1bHQgXCJSZW1vdmUgaXRlbVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXJpYUxhYmVsID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9hcmlhTGFiZWwgfHwgdGhpcy5nZXRTdHJpbmcoJ3NreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZScpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIHRoZSB0b2tlbiBmcm9tIHRoZSBsaXN0IGJ5IHNlbGVjdGluZyB0aGUgY2xvc2UgYnV0dG9uXG4gICAqIG9yIHByZXNzaW5nIHRoZSBgQmFja3NwYWNlYCBrZXkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNtaXNzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzbWlzc2libGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBwcmVzcyB0aGUgYFRhYmAga2V5IHRvIHBsYWNlIGZvY3VzIG9uIHRoZSB0b2tlbi4gVGhpcyBkb2VzIG5vdFxuICAgKiBhZmZlY3QgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSB0b2tlbiwgZGlzbWlzcyBpdCwgb3IgbmF2aWdhdGUgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNsb3NlIGJ1dHRvbiBvciBwcmVzcyB0aGUgYEJhY2tzcGFjZWAga2V5IHRvIGRpc21pc3MgdGhlIHRva2VuLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHBsYWNlIGZvY3VzIG9uIHRoZSB0b2tlbiBieSBuYXZpZ2F0aW5nIHRvIGl0IHdpdGggdGhlIGBUYWJgIGtleS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB8IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSA/IDAgOiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyB0b2tlbkFjdGl2ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY2xvc2VBY3RpdmU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfYXJpYUxhYmVsOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9kaXNtaXNzaWJsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZm9jdXNhYmxlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBkaXNtaXNzVG9rZW4oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0VsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS10b2tlbicpLmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW5BY3RpdmUodG9rZW5BY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuQWN0aXZlID0gdG9rZW5BY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xvc2VBY3RpdmUoY2xvc2VBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWN0aXZlID0gY2xvc2VBY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIGdldFN0cmluZyhrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZSh7IGxvY2FsZTogJ2VuLVVTJyB9LCBrZXkpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRva2VuIHNreS1idG4gc2t5LWJ0bi1kZWZhdWx0XCJcbiAgcm9sZT1cImJ1dHRvblwiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWJ0bi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICdza3ktdG9rZW4tZGlzbWlzc2FibGUnOiBkaXNtaXNzaWJsZSxcbiAgICAnc2t5LXRva2VuLWFjdGl2ZSc6IHRva2VuQWN0aXZlICYmICFjbG9zZUFjdGl2ZVxuICB9XCJcbiAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0VG9rZW5BY3RpdmUoZmFsc2UpXCJcbiAgKGZvY3VzKT1cInRva2VuRm9jdXMuZW1pdCgpXCJcbiAgKG1vdXNlZG93bik9XCJzZXRUb2tlbkFjdGl2ZSh0cnVlKVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiZGlzbWlzc2libGVcIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktdG9rZW4tYnRuLWNsb3NlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnRpdGxlXT1cImFyaWFMYWJlbFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXRva2VuLWJ0bi1jbG9zZS1hY3RpdmUnOiBjbG9zZUFjdGl2ZVxuICAgIH1cIlxuICAgIChjbGljayk9XCJkaXNtaXNzVG9rZW4oJGV2ZW50KVwiXG4gICAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0Q2xvc2VBY3RpdmUoZmFsc2UpXCJcbiAgICAobW91c2Vkb3duKT1cInNldENsb3NlQWN0aXZlKHRydWUpXCJcbiAgPlxuICAgIDxza3ktaWNvbiBjbGFzcz1cInNreS10b2tlbi1idG4tY2xvc2UtaWNvbi1kZWZhdWx0XCIgaWNvbj1cInRpbWVzXCI+PC9za3ktaWNvbj5cbiAgICA8c2t5LWljb25cbiAgICAgIGNsYXNzPVwic2t5LXRva2VuLWJ0bi1jbG9zZS1pY29uLW1vZGVyblwiXG4gICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -224,8 +224,8 @@ export class SkyTokensComponent {
224
224
  });
225
225
  }
226
226
  }
227
- SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
228
- SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"tokens\"\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens && tokens.length ? 'list' : null\"\n>\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n role=\"listitem\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], components: [{ type: i1.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable"], outputs: ["dismiss", "tokenFocus"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
227
+ SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
228
+ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"tokens\"\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens && tokens.length ? 'list' : null\"\n>\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n role=\"listitem\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], components: [{ type: i1.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable"], outputs: ["dismiss", "tokenFocus"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
229
229
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
230
230
  trigger('dismiss', [
231
231
  transition(':enter', [
@@ -246,7 +246,7 @@ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
246
246
  ]),
247
247
  ]),
248
248
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensComponent, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensComponent, decorators: [{
250
250
  type: Component,
251
251
  args: [{
252
252
  selector: 'sky-tokens',
@@ -8,18 +8,18 @@ import { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources
8
8
  import * as i0 from "@angular/core";
9
9
  export class SkyTokensModule {
10
10
  }
11
- SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
11
+ SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
13
13
  SkyI18nModule,
14
14
  SkyIconModule,
15
15
  SkyIndicatorsResourcesModule], exports: [SkyTokenComponent, SkyTokensComponent] });
16
- SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, imports: [[
16
+ SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensModule, imports: [[
17
17
  CommonModule,
18
18
  SkyI18nModule,
19
19
  SkyIconModule,
20
20
  SkyIndicatorsResourcesModule,
21
21
  ]] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyTokensModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokensModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  declarations: [SkyTokenComponent, SkyTokensComponent],
@@ -193,9 +193,9 @@ export class SkyWaitAdapterService {
193
193
  }
194
194
  SkyWaitAdapterService.isPageWaitActive = false;
195
195
  SkyWaitAdapterService.busyElements = {};
196
- SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
197
- SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
196
+ SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
197
+ SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitAdapterService });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
199
199
  type: Injectable
200
200
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
201
201
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3dhaXQvd2FpdC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FJWCxNQUFNLGVBQWUsQ0FBQzs7QUFFdkIscUVBQXFFO0FBQ3JFLDJEQUEyRDtBQUMzRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBVWhDLFlBQW9CLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQ2xDLFVBQVUsRUFDVixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFrQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sWUFBWSxDQUNqQixNQUFrQixFQUNsQixVQUFtQixFQUNuQixTQUFrQixFQUNsQixhQUFhLEdBQUcsS0FBSyxFQUNyQixlQUF3QjtRQUV4QixNQUFNLE1BQU0sR0FBRyxVQUFVO1lBQ3ZCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUV2QyxJQUFJLENB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Q2YsT0FBTyxDQUNMLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDO2dCQUN4QixPQUFPLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FDbkMsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVPLGNBQWM7UUFDcEIscUJBQXFCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNqRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkQsT0FBTyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDOztBQTNQYyxzQ0FBZ0IsR0FBRyxLQUFLLENBQUM7QUFDekIsa0NBQVksR0FFdkIsRUFBRSxDQUFDO21IQUpJLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIE5lZWQgdG8gYWRkIHRoZSBmb2xsb3dpbmcgdG8gY2xhc3NlcyB3aGljaCBjb250YWluIHN0YXRpYyBtZXRob2RzLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2lzc3Vlcy82NDFcbi8qKlxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYWdlV2FpdEFjdGl2ZSA9IGZhbHNlO1xuICBwcml2YXRlIHN0YXRpYyBidXN5RWxlbWVudHM6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7IGJ1c3lFbDogSFRNTEVsZW1lbnQ7IGxpc3RlbmVyOiBhbnkgfTtcbiAgfSA9IHt9O1xuXG4gIHByaXZhdGUgZm9jdXNzYWJsZUVsZW1lbnRzOiBIVE1MRWxlbWVudFtdO1xuXG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHdhaXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsXG4gICAgICAncG9zaXRpb24nLFxuICAgICAgJ3JlbGF0aXZlJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlV2FpdEJvdW5kcyh3YWl0RWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHdhaXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsICdwb3NpdGlvbicpO1xuICB9XG5cbiAgcHVibGljIHNldEJ1c3lTdGF0ZShcbiAgICB3YWl0RWw6IEVsZW1lbnRSZWYsXG4gICAgaXNGdWxsUGFnZTogYm9vbGVhbixcbiAgICBpc1dhaXRpbmc6IGJvb2xlYW4sXG4gICAgaXNOb25CbG9ja2luZyA9IGZhbHNlLFxuICAgIHdhaXRDb21wb25lbnRJZD86IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBidXN5RWwgPSBpc0Z1bGxQYWdlXG4gICAgICA/IGRvY3VtZW50LmJvZHlcbiAgICAgIDogd2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgaWYgKGlzV2FpdGluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knLCAndHJ1ZScpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmb2N1cyBmcm9tIHBhZ2Ugd2hlbiBmdWxsIHBhZ2UgYmxvY2tpbmcgd2FpdFxuICAgICAgICBpZiAoaXNGdWxsUGFnZSB8fCBidXN5RWwuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICB0aGlzLmNsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuaXNQYWdlV2FpdEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LFxuICAgICAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndGFiJykge1xuICAgICAgICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgIGxpc3RlbmVyOiBlbmRMaXN0ZW5lckZ1bmMsXG4gICAgICAgICAgICBidXN5RWw6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGVuZExpc3RlbmVyRnVuYyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJEb2N1bWVudEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC8vIFByb3BhZ2F0ZSB0YWIgbmF2aWdhdGlvbiBpZiBhdHRlbXB0ZWQgaW50byB3YWl0ZWQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgICAgICAgICB0YXJnZXQuYmx1cigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KHRhcmdldCwgdGhpcy5pc1NoaWZ0KGV2ZW50KSwgYnVzeUVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgIGxpc3RlbmVyOiBlbmRMaXN0ZW5lckZ1bmMsXG4gICAgICAgICAgICBidXN5RWw6IGJ1c3lFbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShidXN5RWwsICdhcmlhLWJ1c3knKTtcblxuICAgICAgICBpZiAoaXNGdWxsUGFnZSkge1xuICAgICAgICAgIFNreVdhaXRBZGFwdGVyU2VydmljZS5pc1BhZ2VXYWl0QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHdhaXRDb21wb25lbnRJZCBpbiBTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSB7XG4gICAgICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdLmxpc3RlbmVyKCk7XG4gICAgICAgICAgZGVsZXRlIFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudChcbiAgICB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBzaGlmdEtleTogYm9vbGVhbixcbiAgICBidXN5RWw6IEVsZW1lbnRcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNzYWJsZSA9IHRoaXMuZ2V0Rm9jdXNzYWJsZUVsZW1lbnRzKCk7XG5cbiAgICAvLyBJZiBzaGlmdCB0YWIsIGdvIGluIHRoZSBvdGhlciBkaXJlY3Rpb25cbiAgICBjb25zdCBtb2RpZmllciA9IHNoaWZ0S2V5ID8gLTEgOiAxO1xuXG4gICAgLy8gRmluZCB0aGUgbmV4dCBuYXZpZ2FibGUgZWxlbWVudCB0aGF0IGlzbid0IHdhaXRpbmdcbiAgICBjb25zdCBzdGFydGluZ0luZGV4ID0gZm9jdXNzYWJsZS5pbmRleE9mKHRhcmdldEVsZW1lbnQpO1xuICAgIGxldCBjdXJJbmRleCA9IHN0YXJ0aW5nSW5kZXggKyBtb2RpZmllcjtcbiAgICB3aGlsZSAoXG4gICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgdGhpcy5pc0VsZW1lbnRCdXN5T3JIaWRkZW4oZm9jdXNzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgIXRoaXMuaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3Vzc2FibGVbY3VySW5kZXhdKVxuICAgICkge1xuICAgICAgZm9jdXNzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJ5IHdyYXBwaW5nIHRoZSBuYXZpZ2F0aW9uXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBjdXJJbmRleCA9IG1vZGlmaWVyID4gMCA/IDAgOiBmb2N1c3NhYmxlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoXG4gICAgICAgIGN1ckluZGV4ICE9PSBzdGFydGluZ0luZGV4ICYmXG4gICAgICAgIGZvY3Vzc2FibGVbY3VySW5kZXhdICYmXG4gICAgICAgIHRoaXMuaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3Vzc2FibGVbY3VySW5kZXhdKVxuICAgICAgKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICAgIH1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKFxuICAgICAgICBmb2N1c3NhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgICAhdGhpcy5pc0VsZW1lbnRCdXN5T3JIaWRkZW4oZm9jdXNzYWJsZVtjdXJJbmRleF0pXG4gICAgICApIHtcbiAgICAgICAgZm9jdXNzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHZhbGlkIHRhcmdldCwgd2lwZSBmb2N1c1xuICAgICAgICB0aGlzLmNsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNsZWFyIGZvY3Vzc2FibGVFbGVtZW50cyBsaXN0XG4gICAgdGhpcy5mb2N1c3NhYmxlRWxlbWVudHMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzU2hpZnQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNoaWZ0K3RhYiB3YXMgdXNlZCBiYXNlZCBvbiBlbGVtZW50IG9yZGVyXG4gICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmdldEZvY3Vzc2FibGVFbGVtZW50cygpLmZpbHRlcihcbiAgICAgIChlbGVtKSA9PiAhdGhpcy5pc0VsZW1lbnRIaWRkZW4oZWxlbSlcbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNJbmQgPSBlbGVtZW50cy5pbmRleE9mKChldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmQgPSBlbGVtZW50cy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNJbmQgPT09IGN1cnJlbnRJbmQgKyAxIHx8XG4gICAgICAocHJldmlvdXNJbmQgPT09IDAgJiYgY3VycmVudEluZCA9PT0gZWxlbWVudHMubGVuZ3RoIC0gMSkgfHxcbiAgICAgIHByZXZpb3VzSW5kID4gY3VycmVudEluZCB8fFxuICAgICAgIShldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VsZW1lbnRIaWRkZW4oZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICByZXR1cm4gc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnIHx8IHN0eWxlLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VsZW1lbnRCdXN5T3JIaWRkZW4oZWxlbWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNFbGVtZW50SGlkZGVuKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSkge1xuICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IFNreVdhaXRBZGFwdGVyU2VydmljZS5idXN5RWxlbWVudHNba2V5XS5idXN5RWw7XG4gICAgICBpZiAocGFyZW50RWxlbWVudCAmJiBwYXJlbnRFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRG9jdW1lbnRGb2N1cygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIGFueSkuYmx1cikge1xuICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgYW55KS5ibHVyKCk7XG4gICAgfVxuICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9jdXNzYWJsZUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIC8vIEtlZXAgdGhpcyBjYWNoZWQgc28gd2UgY2FuIHJlZHVjZSBxdWVyeXNcbiAgICBpZiAodGhpcy5mb2N1c3NhYmxlRWxlbWVudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cztcbiAgICB9XG5cbiAgICAvLyBTZWxlY3QgYWxsIHBvc3NpYmxlIGZvY3Vzc2FibGUgZWxlbWVudHNcbiAgICBjb25zdCBmb2N1c3NhYmxlRWxlbWVudHMgPVxuICAgICAgJ2FbaHJlZl0sICcgK1xuICAgICAgJ2FyZWFbaHJlZl0sICcgK1xuICAgICAgXCJpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSksIFwiICtcbiAgICAgIFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICBcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgJ2lmcmFtZSwgb2JqZWN0LCBlbWJlZCwgJyArXG4gICAgICBcIipbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICAnKltjb250ZW50ZWRpdGFibGU9dHJ1ZV0nO1xuXG4gICAgdGhpcy5mb2N1c3NhYmxlRWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoXG4gICAgICBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoZm9jdXNzYWJsZUVsZW1lbnRzKSxcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoID4gMCB8fFxuICAgICAgICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID4gMCB8fFxuICAgICAgICAgIGVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLmZvY3Vzc2FibGVFbGVtZW50cztcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhTa3lXYWl0QWRhcHRlclNlcnZpY2UuYnVzeUVsZW1lbnRzKSkge1xuICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldLmxpc3RlbmVyKCk7XG4gICAgICBkZWxldGUgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmJ1c3lFbGVtZW50c1trZXldO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -14,9 +14,9 @@ export class SkyWaitPageAdapterService {
14
14
  }
15
15
  }
16
16
  }
17
- SkyWaitPageAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitPageAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- SkyWaitPageAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitPageAdapterService, providedIn: 'root' });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitPageAdapterService, decorators: [{
17
+ SkyWaitPageAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitPageAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ SkyWaitPageAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitPageAdapterService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitPageAdapterService, decorators: [{
20
20
  type: Injectable,
21
21
  args: [{
22
22
  providedIn: 'root',
@@ -6,9 +6,9 @@ import * as i1 from "./wait.component";
6
6
  */
7
7
  export class SkyWaitPageComponent {
8
8
  }
9
- SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait [isFullPage]=\"true\" [isWaiting]=\"hasBlockingWait\"> </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], components: [{ type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
9
+ SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait [isFullPage]=\"true\" [isWaiting]=\"hasBlockingWait\"> </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], components: [{ type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'sky-wait-page',
@@ -69,9 +69,9 @@ export class SkyWaitComponent {
69
69
  }
70
70
  }
71
71
  }
72
- SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyWaitAdapterService }, { token: i2.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
73
- SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;top:0;right:0;left:0;bottom:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{top:auto;right:auto;bottom:0;left:0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i3.AsyncPipe } });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitComponent, decorators: [{
72
+ SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyWaitAdapterService }, { token: i2.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
73
+ SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;top:0;right:0;left:0;bottom:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{top:auto;right:auto;bottom:0;left:0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i3.AsyncPipe } });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitComponent, decorators: [{
75
75
  type: Component,
76
76
  args: [{
77
77
  selector: 'sky-wait',
@@ -7,10 +7,10 @@ import { SkyWaitPageComponent } from './wait-page.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class SkyWaitModule {
9
9
  }
10
- SkyWaitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- SkyWaitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitModule, declarations: [SkyWaitComponent, SkyWaitPageComponent], imports: [CommonModule, SkyI18nModule, SkyIndicatorsResourcesModule], exports: [SkyWaitComponent] });
12
- SkyWaitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitModule, imports: [[CommonModule, SkyI18nModule, SkyIndicatorsResourcesModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitModule, decorators: [{
10
+ SkyWaitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ SkyWaitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitModule, declarations: [SkyWaitComponent, SkyWaitPageComponent], imports: [CommonModule, SkyI18nModule, SkyIndicatorsResourcesModule], exports: [SkyWaitComponent] });
12
+ SkyWaitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitModule, imports: [[CommonModule, SkyI18nModule, SkyIndicatorsResourcesModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [SkyWaitComponent, SkyWaitPageComponent],
@@ -151,9 +151,9 @@ export class SkyWaitService {
151
151
  }
152
152
  SkyWaitService.pageWaitBlockingCount = 0;
153
153
  SkyWaitService.pageWaitNonBlockingCount = 0;
154
- SkyWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i1.SkyWaitPageAdapterService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
155
- SkyWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitService, providedIn: 'root' });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyWaitService, decorators: [{
154
+ SkyWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i1.SkyWaitPageAdapterService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
155
+ SkyWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitService, providedIn: 'root' });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyWaitService, decorators: [{
157
157
  type: Injectable,
158
158
  args: [{
159
159
  providedIn: 'root',