@skyux/indicators 5.3.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/bundles/skyux-indicators.umd.js +115 -114
- package/documentation.json +303 -30
- package/esm2015/index.js +38 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/{modules → lib/modules}/alert/alert.component.js +4 -4
- package/esm2015/lib/modules/alert/alert.component.js.map +1 -0
- package/esm2015/lib/modules/alert/alert.module.js +38 -0
- package/esm2015/lib/modules/alert/alert.module.js.map +1 -0
- package/esm2015/lib/modules/chevron/chevron.component.js +66 -0
- package/esm2015/lib/modules/chevron/chevron.component.js.map +1 -0
- package/esm2015/lib/modules/chevron/chevron.module.js +38 -0
- package/esm2015/lib/modules/chevron/chevron.module.js.map +1 -0
- package/esm2015/{modules → lib/modules}/expansion-indicator/expansion-indicator.component.js +4 -4
- package/esm2015/lib/modules/expansion-indicator/expansion-indicator.component.js.map +1 -0
- package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js +19 -0
- package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js.map +1 -0
- package/esm2015/{modules → lib/modules}/help-inline/help-inline.component.js +4 -4
- package/esm2015/lib/modules/help-inline/help-inline.component.js.map +1 -0
- package/esm2015/lib/modules/help-inline/help-inline.module.js +38 -0
- package/esm2015/lib/modules/help-inline/help-inline.module.js.map +1 -0
- package/esm2015/lib/modules/icon/icon-class-list.pipe.js +38 -0
- package/esm2015/lib/modules/icon/icon-class-list.pipe.js.map +1 -0
- package/esm2015/lib/modules/icon/icon-resolver.service.js +42 -0
- package/esm2015/lib/modules/icon/icon-resolver.service.js.map +1 -0
- package/esm2015/lib/modules/icon/icon-stack-item.js +2 -0
- package/esm2015/lib/modules/icon/icon-stack-item.js.map +1 -0
- package/esm2015/lib/modules/icon/icon-stack.component.js +23 -0
- package/esm2015/lib/modules/icon/icon-stack.component.js.map +1 -0
- package/esm2015/lib/modules/icon/icon.component.js +37 -0
- package/esm2015/lib/modules/icon/icon.component.js.map +1 -0
- package/esm2015/lib/modules/icon/icon.module.js +21 -0
- package/esm2015/lib/modules/icon/icon.module.js.map +1 -0
- package/esm2015/lib/modules/icon/types/icon-type.js +2 -0
- package/esm2015/lib/modules/icon/types/icon-type.js.map +1 -0
- package/esm2015/lib/modules/icon/types/icon-variant-type.js +2 -0
- package/esm2015/lib/modules/icon/types/icon-variant-type.js.map +1 -0
- package/esm2015/lib/modules/key-info/key-info-label.component.js +18 -0
- package/esm2015/lib/modules/key-info/key-info-label.component.js.map +1 -0
- package/esm2015/lib/modules/key-info/key-info-value.component.js +18 -0
- package/esm2015/lib/modules/key-info/key-info-value.component.js.map +1 -0
- package/esm2015/lib/modules/key-info/key-info.component.js +26 -0
- package/esm2015/lib/modules/key-info/key-info.component.js.map +1 -0
- package/esm2015/lib/modules/key-info/key-info.module.js +32 -0
- package/esm2015/lib/modules/key-info/key-info.module.js.map +1 -0
- package/esm2015/lib/modules/label/label-type.js +2 -0
- package/esm2015/lib/modules/label/label-type.js.map +1 -0
- package/esm2015/{modules → lib/modules}/label/label.component.js +4 -4
- package/esm2015/lib/modules/label/label.component.js.map +1 -0
- package/esm2015/lib/modules/label/label.module.js +19 -0
- package/esm2015/lib/modules/label/label.module.js.map +1 -0
- package/esm2015/lib/modules/shared/indicator-description-type.js +2 -0
- package/esm2015/lib/modules/shared/indicator-description-type.js.map +1 -0
- package/esm2015/lib/modules/shared/indicator-icon-type.js +2 -0
- package/esm2015/lib/modules/shared/indicator-icon-type.js.map +1 -0
- package/esm2015/lib/modules/shared/indicator-icon-utility.js +41 -0
- package/esm2015/lib/modules/shared/indicator-icon-utility.js.map +1 -0
- package/esm2015/lib/modules/shared/indicator-icon.js +2 -0
- package/esm2015/lib/modules/shared/indicator-icon.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-indicators-resources.module.js +61 -0
- package/esm2015/lib/modules/shared/sky-indicators-resources.module.js.map +1 -0
- package/esm2015/lib/modules/status-indicator/status-indicator.component.js +99 -0
- package/esm2015/lib/modules/status-indicator/status-indicator.component.js.map +1 -0
- package/esm2015/lib/modules/status-indicator/status-indicator.module.js +34 -0
- package/esm2015/lib/modules/status-indicator/status-indicator.module.js.map +1 -0
- package/esm2015/lib/modules/text-highlight/text-highlight.directive.js +154 -0
- package/esm2015/lib/modules/text-highlight/text-highlight.directive.js.map +1 -0
- package/esm2015/lib/modules/text-highlight/text-highlight.module.js +18 -0
- package/esm2015/lib/modules/text-highlight/text-highlight.module.js.map +1 -0
- package/esm2015/{modules → lib/modules}/tokens/token.component.js +6 -5
- package/esm2015/lib/modules/tokens/token.component.js.map +1 -0
- package/esm2015/lib/modules/tokens/tokens.component.js +304 -0
- package/esm2015/lib/modules/tokens/tokens.component.js.map +1 -0
- package/esm2015/lib/modules/tokens/tokens.module.js +35 -0
- package/esm2015/lib/modules/tokens/tokens.module.js.map +1 -0
- package/esm2015/lib/modules/tokens/types/token-selected-event-args.js +2 -0
- package/esm2015/lib/modules/tokens/types/token-selected-event-args.js.map +1 -0
- package/esm2015/lib/modules/tokens/types/token.js +2 -0
- package/esm2015/lib/modules/tokens/types/token.js.map +1 -0
- package/esm2015/lib/modules/tokens/types/tokens-message-type.js +24 -0
- package/esm2015/lib/modules/tokens/types/tokens-message-type.js.map +1 -0
- package/esm2015/lib/modules/tokens/types/tokens-message.js +2 -0
- package/esm2015/lib/modules/tokens/types/tokens-message.js.map +1 -0
- package/esm2015/lib/modules/wait/wait-adapter.service.js +201 -0
- package/esm2015/lib/modules/wait/wait-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/wait/wait-page-adapter.service.js +25 -0
- package/esm2015/lib/modules/wait/wait-page-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/wait/wait-page.component.js +23 -0
- package/esm2015/lib/modules/wait/wait-page.component.js.map +1 -0
- package/esm2015/lib/modules/wait/wait.component.js +94 -0
- package/esm2015/lib/modules/wait/wait.component.js.map +1 -0
- package/esm2015/lib/modules/wait/wait.module.js +22 -0
- package/esm2015/lib/modules/wait/wait.module.js.map +1 -0
- package/esm2015/lib/modules/wait/wait.service.js +164 -0
- package/esm2015/lib/modules/wait/wait.service.js.map +1 -0
- package/esm2015/skyux-indicators.js +2 -2
- package/esm2015/skyux-indicators.js.map +1 -0
- package/esm2015/testing/alert-fixture.js +1 -1
- package/esm2015/testing/alert-fixture.js.map +1 -0
- package/esm2015/testing/label-fixture.js +1 -1
- package/esm2015/testing/label-fixture.js.map +1 -0
- package/esm2015/testing/public-api.js +1 -1
- package/esm2015/testing/public-api.js.map +1 -0
- package/esm2015/testing/skyux-indicators-testing.js +1 -1
- package/esm2015/testing/skyux-indicators-testing.js.map +1 -0
- package/esm2015/testing/wait-fixture.js +1 -1
- package/esm2015/testing/wait-fixture.js.map +1 -0
- package/fesm2015/skyux-indicators-testing.js.map +1 -1
- package/fesm2015/skyux-indicators.js +115 -114
- package/fesm2015/skyux-indicators.js.map +1 -1
- package/index.d.ts +35 -0
- package/{modules → lib/modules}/alert/alert.component.d.ts +0 -0
- package/{modules → lib/modules}/alert/alert.module.d.ts +0 -0
- package/{modules → lib/modules}/chevron/chevron.component.d.ts +0 -0
- package/{modules → lib/modules}/chevron/chevron.module.d.ts +0 -0
- package/{modules → lib/modules}/expansion-indicator/expansion-indicator.component.d.ts +0 -0
- package/{modules → lib/modules}/expansion-indicator/expansion-indicator.module.d.ts +0 -0
- package/{modules → lib/modules}/help-inline/help-inline.component.d.ts +0 -0
- package/{modules → lib/modules}/help-inline/help-inline.module.d.ts +0 -0
- package/{modules → lib/modules}/icon/icon-class-list.pipe.d.ts +0 -0
- package/{modules → lib/modules}/icon/icon-resolver.service.d.ts +0 -0
- package/{modules → lib/modules}/icon/icon-stack-item.d.ts +0 -0
- package/{modules → lib/modules}/icon/icon-stack.component.d.ts +0 -0
- package/{modules → lib/modules}/icon/icon.component.d.ts +4 -3
- package/{modules → lib/modules}/icon/icon.module.d.ts +0 -0
- package/{modules → lib/modules}/icon/types/icon-type.d.ts +0 -0
- package/{modules → lib/modules}/icon/types/icon-variant-type.d.ts +0 -0
- package/{modules → lib/modules}/key-info/key-info-label.component.d.ts +0 -0
- package/{modules → lib/modules}/key-info/key-info-value.component.d.ts +0 -0
- package/{modules → lib/modules}/key-info/key-info.component.d.ts +0 -0
- package/{modules → lib/modules}/key-info/key-info.module.d.ts +0 -0
- package/{modules → lib/modules}/label/label-type.d.ts +0 -0
- package/{modules → lib/modules}/label/label.component.d.ts +0 -0
- package/{modules → lib/modules}/label/label.module.d.ts +0 -0
- package/{modules → lib/modules}/shared/indicator-description-type.d.ts +0 -0
- package/{modules → lib/modules}/shared/indicator-icon-type.d.ts +0 -0
- package/{modules → lib/modules}/shared/indicator-icon-utility.d.ts +0 -0
- package/{modules → lib/modules}/shared/indicator-icon.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-indicators-resources.module.d.ts +0 -0
- package/{modules → lib/modules}/status-indicator/status-indicator.component.d.ts +0 -0
- package/{modules → lib/modules}/status-indicator/status-indicator.module.d.ts +0 -0
- package/{modules → lib/modules}/text-highlight/text-highlight.directive.d.ts +0 -0
- package/{modules → lib/modules}/text-highlight/text-highlight.module.d.ts +0 -0
- package/{modules → lib/modules}/tokens/token.component.d.ts +0 -0
- package/{modules → lib/modules}/tokens/tokens.component.d.ts +1 -1
- package/{modules → lib/modules}/tokens/tokens.module.d.ts +0 -0
- package/{modules → lib/modules}/tokens/types/token-selected-event-args.d.ts +0 -0
- package/{modules → lib/modules}/tokens/types/token.d.ts +0 -0
- package/{modules → lib/modules}/tokens/types/tokens-message-type.d.ts +0 -0
- package/{modules → lib/modules}/tokens/types/tokens-message.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait-page-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait-page.component.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait.component.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait.module.d.ts +0 -0
- package/{modules → lib/modules}/wait/wait.service.d.ts +0 -0
- package/package.json +20 -6
- package/skyux-indicators.d.ts +1 -1
- package/LICENSE +0 -21
- package/esm2015/modules/alert/alert.module.js +0 -38
- package/esm2015/modules/chevron/chevron.component.js +0 -66
- package/esm2015/modules/chevron/chevron.module.js +0 -38
- package/esm2015/modules/expansion-indicator/expansion-indicator.module.js +0 -19
- package/esm2015/modules/help-inline/help-inline.module.js +0 -38
- package/esm2015/modules/icon/icon-class-list.pipe.js +0 -37
- package/esm2015/modules/icon/icon-resolver.service.js +0 -41
- package/esm2015/modules/icon/icon-stack-item.js +0 -2
- package/esm2015/modules/icon/icon-stack.component.js +0 -23
- package/esm2015/modules/icon/icon.component.js +0 -36
- package/esm2015/modules/icon/icon.module.js +0 -21
- package/esm2015/modules/icon/types/icon-type.js +0 -2
- package/esm2015/modules/icon/types/icon-variant-type.js +0 -2
- package/esm2015/modules/key-info/key-info-label.component.js +0 -18
- package/esm2015/modules/key-info/key-info-value.component.js +0 -18
- package/esm2015/modules/key-info/key-info.component.js +0 -26
- package/esm2015/modules/key-info/key-info.module.js +0 -32
- package/esm2015/modules/label/label-type.js +0 -2
- package/esm2015/modules/label/label.module.js +0 -19
- package/esm2015/modules/shared/indicator-description-type.js +0 -2
- package/esm2015/modules/shared/indicator-icon-type.js +0 -2
- package/esm2015/modules/shared/indicator-icon-utility.js +0 -41
- package/esm2015/modules/shared/indicator-icon.js +0 -2
- package/esm2015/modules/shared/sky-indicators-resources.module.js +0 -61
- package/esm2015/modules/status-indicator/status-indicator.component.js +0 -98
- package/esm2015/modules/status-indicator/status-indicator.module.js +0 -34
- package/esm2015/modules/text-highlight/text-highlight.directive.js +0 -153
- package/esm2015/modules/text-highlight/text-highlight.module.js +0 -18
- package/esm2015/modules/tokens/tokens.component.js +0 -304
- package/esm2015/modules/tokens/tokens.module.js +0 -35
- package/esm2015/modules/tokens/types/token-selected-event-args.js +0 -2
- package/esm2015/modules/tokens/types/token.js +0 -2
- package/esm2015/modules/tokens/types/tokens-message-type.js +0 -24
- package/esm2015/modules/tokens/types/tokens-message.js +0 -2
- package/esm2015/modules/wait/wait-adapter.service.js +0 -201
- package/esm2015/modules/wait/wait-page-adapter.service.js +0 -25
- package/esm2015/modules/wait/wait-page.component.js +0 -23
- package/esm2015/modules/wait/wait.component.js +0 -93
- package/esm2015/modules/wait/wait.module.js +0 -22
- package/esm2015/modules/wait/wait.service.js +0 -162
- package/esm2015/public-api.js +0 -38
- package/public-api.d.ts +0 -35
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@skyux/core";
|
|
4
|
-
const className = 'sky-highlight-mark';
|
|
5
|
-
// Need to add the following to classes which contain static methods.
|
|
6
|
-
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
7
|
-
// @dynamic
|
|
8
|
-
/**
|
|
9
|
-
* Highlights all matching text within DOM elements that it is placed on.
|
|
10
|
-
* The directive is only valid for elements that contain content, so you
|
|
11
|
-
* cannot place it on `ng-template`, `ng-content`, or `ng-container` tags.
|
|
12
|
-
*/
|
|
13
|
-
export class SkyTextHighlightDirective {
|
|
14
|
-
constructor(el, observerService) {
|
|
15
|
-
this.el = el;
|
|
16
|
-
this.observerService = observerService;
|
|
17
|
-
this.existingHighlight = false;
|
|
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
|
-
}
|
|
37
|
-
ngOnChanges(changes) {
|
|
38
|
-
if (changes.skyHighlight && !changes.skyHighlight.firstChange) {
|
|
39
|
-
this.highlight();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
ngAfterViewInit() {
|
|
43
|
-
const self = this;
|
|
44
|
-
this.observer = this.observerService.create((mutations) => {
|
|
45
|
-
self.highlight();
|
|
46
|
-
});
|
|
47
|
-
this.observeDom();
|
|
48
|
-
if (this._skyHighlight && this._skyHighlight.length > 0) {
|
|
49
|
-
this.highlight();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
ngOnDestroy() {
|
|
53
|
-
/* istanbul ignore else */
|
|
54
|
-
if (this.observer) {
|
|
55
|
-
this.observer.disconnect();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
readyForHighlight(searchText) {
|
|
59
|
-
return searchText && searchText.length > 0 && this.el.nativeElement;
|
|
60
|
-
}
|
|
61
|
-
highlight() {
|
|
62
|
-
/* istanbul ignore else */
|
|
63
|
-
if (this.observer) {
|
|
64
|
-
this.observer.disconnect();
|
|
65
|
-
}
|
|
66
|
-
const searchText = this._skyHighlight;
|
|
67
|
-
if (this.existingHighlight) {
|
|
68
|
-
SkyTextHighlightDirective.removeHighlight(this.el);
|
|
69
|
-
}
|
|
70
|
-
/* istanbul ignore else */
|
|
71
|
-
if (this.readyForHighlight(searchText)) {
|
|
72
|
-
const node = this.el.nativeElement;
|
|
73
|
-
// mark all matched text in the DOM
|
|
74
|
-
SkyTextHighlightDirective.markTextNodes(node, searchText);
|
|
75
|
-
this.existingHighlight = true;
|
|
76
|
-
}
|
|
77
|
-
this.observeDom();
|
|
78
|
-
}
|
|
79
|
-
observeDom() {
|
|
80
|
-
/* istanbul ignore else */
|
|
81
|
-
if (this.observer) {
|
|
82
|
-
const config = {
|
|
83
|
-
attributes: false,
|
|
84
|
-
childList: true,
|
|
85
|
-
characterData: true,
|
|
86
|
-
};
|
|
87
|
-
this.observer.observe(this.el.nativeElement, config);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
static cleanRegex(regex) {
|
|
91
|
-
return regex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
92
|
-
}
|
|
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
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return 0;
|
|
116
|
-
}
|
|
117
|
-
static markTextNodes(node, searchTerms) {
|
|
118
|
-
if (node.nodeType === 3) {
|
|
119
|
-
return SkyTextHighlightDirective.markNode(node, searchTerms);
|
|
120
|
-
}
|
|
121
|
-
else if (node.nodeType === 1 && node.childNodes) {
|
|
122
|
-
for (let i = 0; i < node.childNodes.length; i++) {
|
|
123
|
-
const childNode = node.childNodes[i];
|
|
124
|
-
i += SkyTextHighlightDirective.markTextNodes(childNode, searchTerms);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return 0;
|
|
128
|
-
}
|
|
129
|
-
static removeHighlight(el) {
|
|
130
|
-
const matchedElements = el.nativeElement.querySelectorAll(`mark.${className}`);
|
|
131
|
-
/* istanbul ignore else */
|
|
132
|
-
/* sanity check */
|
|
133
|
-
if (matchedElements) {
|
|
134
|
-
for (let i = 0; i < matchedElements.length; i++) {
|
|
135
|
-
const node = matchedElements[i];
|
|
136
|
-
const parentNode = node.parentNode;
|
|
137
|
-
parentNode.replaceChild(node.firstChild, node);
|
|
138
|
-
parentNode.normalize();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
SkyTextHighlightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", 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.15", type: SkyTextHighlightDirective, selector: "[skyHighlight]", inputs: { skyHighlight: "skyHighlight" }, usesOnChanges: true, ngImport: i0 });
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextHighlightDirective, decorators: [{
|
|
146
|
-
type: Directive,
|
|
147
|
-
args: [{
|
|
148
|
-
selector: '[skyHighlight]',
|
|
149
|
-
}]
|
|
150
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MutationObserverService }]; }, propDecorators: { skyHighlight: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7OztBQUl2QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUV2QyxxRUFBcUU7QUFDckUsMkRBQTJEO0FBQzNELFdBQVc7QUFDWDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQTZCcEMsWUFDVSxFQUFjLEVBQ2QsZUFBd0M7UUFEeEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUF5QjtRQVIxQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFTL0IsQ0FBQztJQTdCSjs7T0FFRztJQUNILElBQ1csWUFBWSxDQUFDLEtBQXdCO1FBQzlDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCwrRUFBK0U7WUFDL0UsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FB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QUMsVUFBVSxFQUFFO1lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQWdCLENBQUM7Z0JBQ3BELENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0Y7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQWM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdkQsUUFBUSxTQUFTLEVBQUUsQ0FDUixDQUFDO1FBRWQsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLGVBQWUsRUFBRTtZQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUVuQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7dUhBcktVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7dUlBUVksWUFBWTtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmNvbnN0IGNsYXNzTmFtZSA9ICdza3ktaGlnaGxpZ2h0LW1hcmsnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuLyoqXG4gKiBIaWdobGlnaHRzIGFsbCBtYXRjaGluZyB0ZXh0IHdpdGhpbiBET00gZWxlbWVudHMgdGhhdCBpdCBpcyBwbGFjZWQgb24uXG4gKiBUaGUgZGlyZWN0aXZlIGlzIG9ubHkgdmFsaWQgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiBjb250ZW50LCBzbyB5b3VcbiAqIGNhbm5vdCBwbGFjZSBpdCBvbiBgbmctdGVtcGxhdGVgLCBgbmctY29udGVudGAsIG9yIGBuZy1jb250YWluZXJgIHRhZ3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIaWdobGlnaHRdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gaGlnaGxpZ2h0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIaWdobGlnaHQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSB8fCBbXTtcbiAgICB0aGlzLl9za3lIaWdobGlnaHQgPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fc2t5SGlnaGxpZ2h0ID0gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgICAgLy8gUmVvcmRlciBzdHJpbmdzIGJ5IHRoZWlyIGxlbmd0aCBpbiBkZXNjZW5kaW5nIG9yZGVyIHRvIGF2b2lkIG1pc3NpbmcgbWF0Y2hlc1xuICAgICAgLy8gdGhhdCBjb250YWluIHN1YnN0cmluZ3Mgb2Ygb3RoZXIgbWF0Y2hlcy5cbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIHJldHVybiBiLmxlbmd0aCAtIGEubGVuZ3RoO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodCA9IFt2YWx1ZSBhcyBzdHJpbmddO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhpc3RpbmdIaWdobGlnaHQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgX3NreUhpZ2hsaWdodDogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG9ic2VydmVyU2VydmljZTogTXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2t5SGlnaGxpZ2h0ICYmICFjaGFuZ2VzLnNreUhpZ2hsaWdodC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5oaWdobGlnaHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMub2JzZXJ2ZXIgPSB0aGlzLm9ic2VydmVyU2VydmljZS5jcmVhdGUoXG4gICAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgIHNlbGYuaGlnaGxpZ2h0KCk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICAgIGlmICh0aGlzLl9za3lIaWdobGlnaHQgJiYgdGhpcy5fc2t5SGlnaGxpZ2h0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZHlGb3JIaWdobGlnaHQoc2VhcmNoVGV4dDogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0Lmxlbmd0aCA+IDAgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IHRoaXMuX3NreUhpZ2hsaWdodDtcblxuICAgIGlmICh0aGlzLmV4aXN0aW5nSGlnaGxpZ2h0KSB7XG4gICAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLnJlbW92ZUhpZ2hsaWdodCh0aGlzLmVsKTtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJlYWR5Rm9ySGlnaGxpZ2h0KHNlYXJjaFRleHQpKSB7XG4gICAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gbWFyayBhbGwgbWF0Y2hlZCB0ZXh0IGluIHRoZSBET01cbiAgICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya1RleHROb2Rlcyhub2RlLCBzZWFyY2hUZXh0KTtcbiAgICAgIHRoaXMuZXhpc3RpbmdIaWdobGlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRG9tKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgYXR0cmlidXRlczogZmFsc2UsXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIH07XG4gICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuUmVnZXgocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlZ2V4LnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya05vZGUobm9kZTogYW55LCBzZWFyY2hUZXJtczogc3RyaW5nW10pOiBudW1iZXIge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNlYXJjaFRlcm1zKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gbm9kZS5ub2RlVmFsdWU7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlYXJjaFRlcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHNlYXJjaFRlcm1zW2ldID0gdGhpcy5jbGVhblJlZ2V4KHNlYXJjaFRlcm1zW2ldKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlYXJjaFJlZ2V4ID0gbmV3IFJlZ0V4cChzZWFyY2hUZXJtcy5qb2luKCd8JyksICdnaScpO1xuICAgICAgY29uc3QgbWF0Y2ggPSBzZWFyY2hSZWdleC5leGVjKHRleHQpO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIC8vIFNwbGl0IGFwYXJ0IHRleHQgbm9kZSB3aXRoIG1hcmsgdGFncyBpbiB0aGUgbWlkZGxlIG9uIHRoZSBzZWFyY2ggdGVybS5cbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IG1hdGNoLmluZGV4O1xuXG4gICAgICAgIGNvbnN0IG1pZGRsZSA9IG5vZGUuc3BsaXRUZXh0KG1hdGNoSW5kZXgpO1xuICAgICAgICBtaWRkbGUuc3BsaXRUZXh0KHNlYXJjaFJlZ2V4Lmxhc3RJbmRleCAtIG1hdGNoSW5kZXgpO1xuICAgICAgICBjb25zdCBtaWRkbGVDbG9uZSA9IG1pZGRsZS5jbG9uZU5vZGUodHJ1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFya05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtYXJrJyk7XG4gICAgICAgIG1hcmtOb2RlLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgbWFya05vZGUuYXBwZW5kQ2hpbGQobWlkZGxlQ2xvbmUpO1xuICAgICAgICBtaWRkbGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobWFya05vZGUsIG1pZGRsZSk7XG5cbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya1RleHROb2RlcyhcbiAgICBub2RlOiBIVE1MRWxlbWVudCxcbiAgICBzZWFyY2hUZXJtczogc3RyaW5nW11cbiAgKTogbnVtYmVyIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgcmV0dXJuIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya05vZGUobm9kZSwgc2VhcmNoVGVybXMpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSAmJiBub2RlLmNoaWxkTm9kZXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vZGUuY2hpbGROb2Rlc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaSArPSBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLm1hcmtUZXh0Tm9kZXMoY2hpbGROb2RlLCBzZWFyY2hUZXJtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZW1vdmVIaWdobGlnaHQoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaGVkRWxlbWVudHMgPSBlbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgbWFyay4ke2NsYXNzTmFtZX1gXG4gICAgKSBhcyBOb2RlTGlzdDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKG1hdGNoZWRFbGVtZW50cykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaGVkRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG1hdGNoZWRFbGVtZW50c1tpXTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZChub2RlLmZpcnN0Q2hpbGQsIG5vZGUpO1xuICAgICAgICBwYXJlbnROb2RlLm5vcm1hbGl6ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MutationObserverService } from '@skyux/core';
|
|
3
|
-
import { SkyTextHighlightDirective } from './text-highlight.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SkyTextHighlightModule {
|
|
6
|
-
}
|
|
7
|
-
SkyTextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
SkyTextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextHighlightModule, declarations: [SkyTextHighlightDirective], exports: [SkyTextHighlightDirective] });
|
|
9
|
-
SkyTextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextHighlightModule, providers: [MutationObserverService] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextHighlightModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [SkyTextHighlightDirective],
|
|
14
|
-
exports: [SkyTextHighlightDirective],
|
|
15
|
-
providers: [MutationObserverService],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT3ZFLE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixpQkFKbEIseUJBQXlCLGFBQzlCLHlCQUF5QjtxSEFHeEIsc0JBQXNCLGFBRnRCLENBQUMsdUJBQXVCLENBQUM7NEZBRXpCLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1NreVRleHRIaWdobGlnaHREaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtNdXRhdGlvbk9ic2VydmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRleHRIaWdobGlnaHRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { SkyTokensMessageType } from './types/tokens-message-type';
|
|
6
|
-
import { SkyTokenComponent } from './token.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./token.component";
|
|
9
|
-
import * as i2 from "@angular/common";
|
|
10
|
-
export class SkyTokensComponent {
|
|
11
|
-
constructor(changeDetector) {
|
|
12
|
-
this.changeDetector = changeDetector;
|
|
13
|
-
/**
|
|
14
|
-
* Fires when users navigate through the tokens list with the `Tab` key
|
|
15
|
-
* and attempt to move past the final token in the list.
|
|
16
|
-
*/
|
|
17
|
-
this.focusIndexOverRange = new EventEmitter();
|
|
18
|
-
/**
|
|
19
|
-
* Fires when usersnavigate through the tokens list with the `Tab` key
|
|
20
|
-
* and attempt to move before the first token in the list.
|
|
21
|
-
*/
|
|
22
|
-
this.focusIndexUnderRange = new EventEmitter();
|
|
23
|
-
/**
|
|
24
|
-
* Fires when users select a token in the list. This event emits the selected token.
|
|
25
|
-
*/
|
|
26
|
-
this.tokenSelected = new EventEmitter();
|
|
27
|
-
/**
|
|
28
|
-
* Fires when the tokens in the list change.
|
|
29
|
-
* This event emits an array of the tokens in the updated list.
|
|
30
|
-
*/
|
|
31
|
-
this.tokensChange = new EventEmitter();
|
|
32
|
-
this.ngUnsubscribe = new Subject();
|
|
33
|
-
// Angular calls the trackBy function without applying the component instance's scope.
|
|
34
|
-
// Use a fat-arrow function so the current component instance's trackWith property can
|
|
35
|
-
// be referenced.
|
|
36
|
-
this.trackTokenFn = (_index, item) => {
|
|
37
|
-
if (this.trackWith) {
|
|
38
|
-
return item.value[this.trackWith];
|
|
39
|
-
}
|
|
40
|
-
return item;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Indicates whether to disable the tokens list to prevent users from selecting tokens,
|
|
45
|
-
* dismissing tokens, or navigating through the list with the arrow keys. When the tokens list
|
|
46
|
-
* is disabled, users can still place focus on items in the list using the `Tab` key.
|
|
47
|
-
* @default false
|
|
48
|
-
*/
|
|
49
|
-
set disabled(value) {
|
|
50
|
-
this._disabled = value;
|
|
51
|
-
}
|
|
52
|
-
get disabled() {
|
|
53
|
-
return !!this._disabled;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Indicates whether users can remove tokens from the list by selecting their close buttons
|
|
57
|
-
* or pressing the `Backspace` key.
|
|
58
|
-
* @default true
|
|
59
|
-
*/
|
|
60
|
-
set dismissible(value) {
|
|
61
|
-
this._dismissible = value;
|
|
62
|
-
}
|
|
63
|
-
get dismissible() {
|
|
64
|
-
return this._dismissible !== false;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Specifies the token property to display for each item in the tokens list.
|
|
68
|
-
* @default 'name'
|
|
69
|
-
*/
|
|
70
|
-
set displayWith(value) {
|
|
71
|
-
this._displayWith = value;
|
|
72
|
-
}
|
|
73
|
-
get displayWith() {
|
|
74
|
-
return this._displayWith || 'name';
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Indicates whether users can focus on items in the list using the `Tab` key.
|
|
78
|
-
* This does not affect the ability of users to select tokens, dismiss tokens,
|
|
79
|
-
* or navigate through the list with the arrow keys.
|
|
80
|
-
* @default true
|
|
81
|
-
*/
|
|
82
|
-
set focusable(value) {
|
|
83
|
-
this._focusable = value;
|
|
84
|
-
}
|
|
85
|
-
get focusable() {
|
|
86
|
-
return this._focusable !== false;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Specifies an array of tokens to include in the list.
|
|
90
|
-
*/
|
|
91
|
-
set tokens(value) {
|
|
92
|
-
this._tokens = value;
|
|
93
|
-
this.tokensChange.emit(this._tokens);
|
|
94
|
-
}
|
|
95
|
-
get tokens() {
|
|
96
|
-
return this._tokens || [];
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Specifies an observable of `SkyTokensMessage` that can place focus on a
|
|
100
|
-
* particular token or remove the active token from the list.
|
|
101
|
-
*/
|
|
102
|
-
set messageStream(value) {
|
|
103
|
-
this._messageStream = value;
|
|
104
|
-
this.initMessageStream();
|
|
105
|
-
}
|
|
106
|
-
get messageStream() {
|
|
107
|
-
return this._messageStream;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @internal
|
|
111
|
-
*/
|
|
112
|
-
get activeIndex() {
|
|
113
|
-
return this._activeIndex || 0;
|
|
114
|
-
}
|
|
115
|
-
set activeIndex(value) {
|
|
116
|
-
if (value >= this.tokens.length) {
|
|
117
|
-
value = this.tokens.length - 1;
|
|
118
|
-
this.focusIndexOverRange.emit();
|
|
119
|
-
}
|
|
120
|
-
if (value < 0) {
|
|
121
|
-
value = 0;
|
|
122
|
-
this.focusIndexUnderRange.emit();
|
|
123
|
-
}
|
|
124
|
-
this._activeIndex = value;
|
|
125
|
-
}
|
|
126
|
-
ngOnDestroy() {
|
|
127
|
-
this.ngUnsubscribe.next();
|
|
128
|
-
this.ngUnsubscribe.complete();
|
|
129
|
-
}
|
|
130
|
-
onTokenClick(token) {
|
|
131
|
-
if (this.disabled) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
this.notifyTokenSelected(token);
|
|
135
|
-
}
|
|
136
|
-
onTokenKeyDown(event) {
|
|
137
|
-
if (!this.disabled) {
|
|
138
|
-
/* tslint:disable-next-line:switch-default */
|
|
139
|
-
switch (event.key) {
|
|
140
|
-
case 'Left':
|
|
141
|
-
case 'ArrowLeft':
|
|
142
|
-
this.messageStream.next({
|
|
143
|
-
type: SkyTokensMessageType.FocusPreviousToken,
|
|
144
|
-
});
|
|
145
|
-
event.preventDefault();
|
|
146
|
-
break;
|
|
147
|
-
case 'Right':
|
|
148
|
-
case 'ArrowRight':
|
|
149
|
-
this.messageStream.next({
|
|
150
|
-
type: SkyTokensMessageType.FocusNextToken,
|
|
151
|
-
});
|
|
152
|
-
event.preventDefault();
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
selectToken(token) {
|
|
158
|
-
if (!this.disabled) {
|
|
159
|
-
this.notifyTokenSelected(token);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
removeToken(token) {
|
|
163
|
-
this.tokens = this.tokens.filter((t) => t !== token);
|
|
164
|
-
this.changeDetector.detectChanges();
|
|
165
|
-
}
|
|
166
|
-
focusPreviousToken() {
|
|
167
|
-
this.activeIndex--;
|
|
168
|
-
this.focusActiveToken();
|
|
169
|
-
}
|
|
170
|
-
focusNextToken() {
|
|
171
|
-
this.activeIndex++;
|
|
172
|
-
this.focusActiveToken();
|
|
173
|
-
}
|
|
174
|
-
focusLastToken() {
|
|
175
|
-
this.activeIndex = this.tokenComponents.length - 1;
|
|
176
|
-
this.focusActiveToken();
|
|
177
|
-
}
|
|
178
|
-
focusActiveToken() {
|
|
179
|
-
const tokenComponent = this.tokenComponents.find((_comp, i) => {
|
|
180
|
-
return this.activeIndex === i;
|
|
181
|
-
});
|
|
182
|
-
if (tokenComponent) {
|
|
183
|
-
tokenComponent.focusElement();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
removeActiveToken() {
|
|
187
|
-
const token = this.tokens[this.activeIndex];
|
|
188
|
-
if (token) {
|
|
189
|
-
this.removeToken(token);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
initMessageStream() {
|
|
193
|
-
if (this.messageStreamSub) {
|
|
194
|
-
this.messageStreamSub.unsubscribe();
|
|
195
|
-
}
|
|
196
|
-
if (this.messageStream) {
|
|
197
|
-
this.messageStreamSub = this.messageStream
|
|
198
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
199
|
-
.subscribe((message) => {
|
|
200
|
-
/* tslint:disable-next-line:switch-default */
|
|
201
|
-
switch (message.type) {
|
|
202
|
-
case SkyTokensMessageType.FocusLastToken:
|
|
203
|
-
this.focusLastToken();
|
|
204
|
-
break;
|
|
205
|
-
case SkyTokensMessageType.FocusActiveToken:
|
|
206
|
-
this.focusActiveToken();
|
|
207
|
-
break;
|
|
208
|
-
case SkyTokensMessageType.FocusPreviousToken:
|
|
209
|
-
this.focusPreviousToken();
|
|
210
|
-
break;
|
|
211
|
-
case SkyTokensMessageType.FocusNextToken:
|
|
212
|
-
this.focusNextToken();
|
|
213
|
-
break;
|
|
214
|
-
case SkyTokensMessageType.RemoveActiveToken:
|
|
215
|
-
this.removeActiveToken();
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
notifyTokenSelected(token) {
|
|
222
|
-
this.tokenSelected.emit({
|
|
223
|
-
token,
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
228
|
-
SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", 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
|
-
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
230
|
-
trigger('dismiss', [
|
|
231
|
-
transition(':enter', [
|
|
232
|
-
style({
|
|
233
|
-
opacity: 0,
|
|
234
|
-
width: 0,
|
|
235
|
-
}),
|
|
236
|
-
animate('150ms ease-in', style({
|
|
237
|
-
opacity: 1,
|
|
238
|
-
width: '*',
|
|
239
|
-
})),
|
|
240
|
-
]),
|
|
241
|
-
transition(':leave', [
|
|
242
|
-
animate('150ms ease-in', style({
|
|
243
|
-
opacity: 0,
|
|
244
|
-
width: 0,
|
|
245
|
-
})),
|
|
246
|
-
]),
|
|
247
|
-
]),
|
|
248
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensComponent, decorators: [{
|
|
250
|
-
type: Component,
|
|
251
|
-
args: [{
|
|
252
|
-
selector: 'sky-tokens',
|
|
253
|
-
templateUrl: './tokens.component.html',
|
|
254
|
-
styleUrls: ['./tokens.component.scss'],
|
|
255
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
256
|
-
animations: [
|
|
257
|
-
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
258
|
-
trigger('dismiss', [
|
|
259
|
-
transition(':enter', [
|
|
260
|
-
style({
|
|
261
|
-
opacity: 0,
|
|
262
|
-
width: 0,
|
|
263
|
-
}),
|
|
264
|
-
animate('150ms ease-in', style({
|
|
265
|
-
opacity: 1,
|
|
266
|
-
width: '*',
|
|
267
|
-
})),
|
|
268
|
-
]),
|
|
269
|
-
transition(':leave', [
|
|
270
|
-
animate('150ms ease-in', style({
|
|
271
|
-
opacity: 0,
|
|
272
|
-
width: 0,
|
|
273
|
-
})),
|
|
274
|
-
]),
|
|
275
|
-
]),
|
|
276
|
-
],
|
|
277
|
-
}]
|
|
278
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
279
|
-
type: Input
|
|
280
|
-
}], dismissible: [{
|
|
281
|
-
type: Input
|
|
282
|
-
}], displayWith: [{
|
|
283
|
-
type: Input
|
|
284
|
-
}], trackWith: [{
|
|
285
|
-
type: Input
|
|
286
|
-
}], focusable: [{
|
|
287
|
-
type: Input
|
|
288
|
-
}], tokens: [{
|
|
289
|
-
type: Input
|
|
290
|
-
}], messageStream: [{
|
|
291
|
-
type: Input
|
|
292
|
-
}], focusIndexOverRange: [{
|
|
293
|
-
type: Output
|
|
294
|
-
}], focusIndexUnderRange: [{
|
|
295
|
-
type: Output
|
|
296
|
-
}], tokenSelected: [{
|
|
297
|
-
type: Output
|
|
298
|
-
}], tokensChange: [{
|
|
299
|
-
type: Output
|
|
300
|
-
}], tokenComponents: [{
|
|
301
|
-
type: ViewChildren,
|
|
302
|
-
args: [SkyTokenComponent]
|
|
303
|
-
}] } });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90b2tlbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFtQ3RELE1BQU0sT0FBTyxrQkFBa0I7SUE4SjdCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWxFckQ7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUErQjdDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztR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ekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQTZCQyxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbiB9IGZyb20gJy4vdHlwZXMvdG9rZW4nO1xuXG5pbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZSc7XG5cbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZS10eXBlJztcblxuaW1wb3J0IHsgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2Vucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Jsb2NrQW5pbWF0aW9uT25Mb2FkJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHdpZHRoOiAnKicsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdG9rZW5zIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZWlyIGNsb3NlIGJ1dHRvbnNcbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCAnbmFtZSdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2Rpc3BsYXlXaXRoID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoIHx8ICduYW1lJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiB0b2tlbnMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9rZW5zKHZhbHVlOiBTa3lUb2tlbltdKSB7XG4gICAgdGhpcy5fdG9rZW5zID0gdmFsdWU7XG4gICAgdGhpcy50b2tlbnNDaGFuZ2UuZW1pdCh0aGlzLl90b2tlbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbnMoKTogU2t5VG9rZW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VucyB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gb2JzZXJ2YWJsZSBvZiBgU2t5VG9rZW5zTWVzc2FnZWAgdGhhdCBjYW4gcGxhY2UgZm9jdXMgb24gYVxuICAgKiBwYXJ0aWN1bGFyIHRva2VuIG9yIHJlbW92ZSB0aGUgYWN0aXZlIHRva2VuIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0odmFsdWU6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4pIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgbmF2aWdhdGUgdGhyb3VnaCB0aGUgdG9rZW5zIGxpc3Qgd2l0aCB0aGUgYFRhYmAga2V5XG4gICAqIGFuZCBhdHRlbXB0IHRvIG1vdmUgcGFzdCB0aGUgZmluYWwgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhPdmVyUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnNuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBiZWZvcmUgdGhlIGZpcnN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4VW5kZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYSB0b2tlbiBpbiB0aGUgbGlzdC4gVGhpcyBldmVudCBlbWl0cyB0aGUgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHRva2VucyBpbiB0aGUgbGlzdCBjaGFuZ2UuXG4gICAqIFRoaXMgZXZlbnQgZW1pdHMgYW4gYXJyYXkgb2YgdGhlIHRva2VucyBpbiB0aGUgdXBkYXRlZCBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuW10+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCB8fCAwO1xuICB9XG4gIHB1YmxpYyBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+PSB0aGlzLnRva2Vucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleE92ZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgICAgdGhpcy5mb2N1c0luZGV4VW5kZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlSW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRyYWNrVG9rZW5GbjogKGluZGV4OiBudW1iZXIsIGl0ZW06IFNreVRva2VuKSA9PiBhbnk7XG5cbiAgQFZpZXdDaGlsZHJlbihTa3lUb2tlbkNvbXBvbmVudClcbiAgcHJpdmF0ZSB0b2tlbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lUb2tlbkNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBtZXNzYWdlU3RyZWFtU3ViOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2Rpc21pc3NpYmxlOiBib29sZWFuO1xuICBwcml2YXRlIF9mb2N1c2FibGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX3Rva2VuczogU2t5VG9rZW5bXTtcbiAgcHJpdmF0ZSBfZGlzcGxheVdpdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBfbWVzc2FnZVN0cmVhbTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIEFuZ3VsYXIgY2FsbHMgdGhlIHRyYWNrQnkgZnVuY3Rpb24gd2l0aG91dCBhcHBseWluZyB0aGUgY29tcG9uZW50IGluc3RhbmNlJ3Mgc2NvcGUuXG4gICAgLy8gVXNlIGEgZmF0LWFycm93IGZ1bmN0aW9uIHNvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpbnN0YW5jZSdzIHRyYWNrV2l0aCBwcm9wZXJ0eSBjYW5cbiAgICAvLyBiZSByZWZlcmVuY2VkLlxuICAgIHRoaXMudHJhY2tUb2tlbkZuID0gKF9pbmRleCwgaXRlbSkgPT4ge1xuICAgICAgaWYgKHRoaXMudHJhY2tXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlW3RoaXMudHJhY2tXaXRoXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5DbGljayh0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdCAqL1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUmlnaHQnOlxuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZVRva2VuKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b2tlbik7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dFRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgrKztcbiAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW5Db21wb25lbnQgPSB0aGlzLnRva2VuQ29tcG9uZW50cy5maW5kKFxuICAgICAgKF9jb21wOiBTa3lUb2tlbkNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgIHRva2VuQ29tcG9uZW50LmZvY3VzRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmFjdGl2ZUluZGV4XTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMucmVtb3ZlVG9rZW4odG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbSkge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0ICovXG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNMYXN0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ0b2tlbnNcIlxuICBjbGFzcz1cInNreS10b2tlbnNcIlxuICBbQGJsb2NrQW5pbWF0aW9uT25Mb2FkXVxuICBbYXR0ci5yb2xlXT1cInRva2VucyAmJiB0b2tlbnMubGVuZ3RoID8gJ2xpc3QnIDogbnVsbFwiXG4+XG4gIDxza3ktdG9rZW5cbiAgICAqbmdGb3I9XCJsZXQgdG9rZW4gb2YgdG9rZW5zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja1Rva2VuRm5cIlxuICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { SkyI18nModule } from '@skyux/i18n';
|
|
4
|
-
import { SkyTokenComponent } from './token.component';
|
|
5
|
-
import { SkyTokensComponent } from './tokens.component';
|
|
6
|
-
import { SkyIconModule } from '../icon/icon.module';
|
|
7
|
-
import { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class SkyTokensModule {
|
|
10
|
-
}
|
|
11
|
-
SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
|
|
13
|
-
SkyI18nModule,
|
|
14
|
-
SkyIconModule,
|
|
15
|
-
SkyIndicatorsResourcesModule], exports: [SkyTokenComponent, SkyTokensComponent] });
|
|
16
|
-
SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensModule, imports: [[
|
|
17
|
-
CommonModule,
|
|
18
|
-
SkyI18nModule,
|
|
19
|
-
SkyIconModule,
|
|
20
|
-
SkyIndicatorsResourcesModule,
|
|
21
|
-
]] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTokensModule, decorators: [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
declarations: [SkyTokenComponent, SkyTokensComponent],
|
|
26
|
-
imports: [
|
|
27
|
-
CommonModule,
|
|
28
|
-
SkyI18nModule,
|
|
29
|
-
SkyIconModule,
|
|
30
|
-
SkyIndicatorsResourcesModule,
|
|
31
|
-
],
|
|
32
|
-
exports: [SkyTokenComponent, SkyTokensComponent],
|
|
33
|
-
}]
|
|
34
|
-
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBWXpGLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBVFgsaUJBQWlCLEVBQUUsa0JBQWtCLGFBRWxELFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLDRCQUE0QixhQUVwQixpQkFBaUIsRUFBRSxrQkFBa0I7OEdBRXBDLGVBQWUsWUFSakI7WUFDUCxZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYiw0QkFBNEI7U0FDN0I7NEZBR1UsZUFBZTtrQkFWM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQztvQkFDckQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5VG9rZW5Db21wb25lbnQgfSBmcm9tICcuL3Rva2VuLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVRva2Vuc0NvbXBvbmVudCB9IGZyb20gJy4vdG9rZW5zLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5SW5kaWNhdG9yc1Jlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktaW5kaWNhdG9ycy1yZXNvdXJjZXMubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VG9rZW5Db21wb25lbnQsIFNreVRva2Vuc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZGljYXRvcnNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUb2tlbkNvbXBvbmVudCwgU2t5VG9rZW5zQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreVRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIHRva2VuPzogU2t5VG9rZW47XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90eXBlcy90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lUb2tlbiB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuJ3MgY29udGVudHMuXG4gICAqL1xuICB2YWx1ZTogYW55O1xufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export var SkyTokensMessageType;
|
|
2
|
-
(function (SkyTokensMessageType) {
|
|
3
|
-
/**
|
|
4
|
-
* Places focus on the last token in the list.
|
|
5
|
-
*/
|
|
6
|
-
SkyTokensMessageType[SkyTokensMessageType["FocusLastToken"] = 0] = "FocusLastToken";
|
|
7
|
-
/**
|
|
8
|
-
* Places focus on the token that is currently selected.
|
|
9
|
-
*/
|
|
10
|
-
SkyTokensMessageType[SkyTokensMessageType["FocusActiveToken"] = 1] = "FocusActiveToken";
|
|
11
|
-
/**
|
|
12
|
-
* Places focus on the token before the currently selected token.
|
|
13
|
-
*/
|
|
14
|
-
SkyTokensMessageType[SkyTokensMessageType["FocusPreviousToken"] = 2] = "FocusPreviousToken";
|
|
15
|
-
/**
|
|
16
|
-
* Places focus on the token after the currently selected token.
|
|
17
|
-
*/
|
|
18
|
-
SkyTokensMessageType[SkyTokensMessageType["FocusNextToken"] = 3] = "FocusNextToken";
|
|
19
|
-
/**
|
|
20
|
-
* Removes the token that is currently selected from the list of tokens.
|
|
21
|
-
*/
|
|
22
|
-
SkyTokensMessageType[SkyTokensMessageType["RemoveActiveToken"] = 4] = "RemoveActiveToken";
|
|
23
|
-
})(SkyTokensMessageType || (SkyTokensMessageType = {}));
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBeUJYO0FBekJELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gsbUZBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCx1RkFBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILDJGQUFzQixDQUFBO0lBRXRCOztPQUVHO0lBQ0gsbUZBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCx5RkFBcUIsQ0FBQTtBQUN2QixDQUFDLEVBekJXLG9CQUFvQixLQUFwQixvQkFBb0IsUUF5Qi9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2t5VG9rZW5zTWVzc2FnZVR5cGUge1xuICAvKipcbiAgICogUGxhY2VzIGZvY3VzIG9uIHRoZSBsYXN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgRm9jdXNMYXN0VG9rZW4gPSAwLFxuXG4gIC8qKlxuICAgKiBQbGFjZXMgZm9jdXMgb24gdGhlIHRva2VuIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkLlxuICAgKi9cbiAgRm9jdXNBY3RpdmVUb2tlbiA9IDEsXG5cbiAgLyoqXG4gICAqIFBsYWNlcyBmb2N1cyBvbiB0aGUgdG9rZW4gYmVmb3JlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBGb2N1c1ByZXZpb3VzVG9rZW4gPSAyLFxuXG4gIC8qKlxuICAgKiBQbGFjZXMgZm9jdXMgb24gdGhlIHRva2VuIGFmdGVyIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBGb2N1c05leHRUb2tlbiA9IDMsXG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIHRva2VuIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkIGZyb20gdGhlIGxpc3Qgb2YgdG9rZW5zLlxuICAgKi9cbiAgUmVtb3ZlQWN0aXZlVG9rZW4gPSA0LFxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90eXBlcy90b2tlbnMtbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreVRva2Vuc01lc3NhZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG4gICAqL1xuICB0eXBlPzogU2t5VG9rZW5zTWVzc2FnZVR5cGU7XG59XG4iXX0=
|