@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.
Files changed (201) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-indicators.umd.js +115 -114
  3. package/documentation.json +303 -30
  4. package/esm2015/index.js +38 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/{modules → lib/modules}/alert/alert.component.js +4 -4
  7. package/esm2015/lib/modules/alert/alert.component.js.map +1 -0
  8. package/esm2015/lib/modules/alert/alert.module.js +38 -0
  9. package/esm2015/lib/modules/alert/alert.module.js.map +1 -0
  10. package/esm2015/lib/modules/chevron/chevron.component.js +66 -0
  11. package/esm2015/lib/modules/chevron/chevron.component.js.map +1 -0
  12. package/esm2015/lib/modules/chevron/chevron.module.js +38 -0
  13. package/esm2015/lib/modules/chevron/chevron.module.js.map +1 -0
  14. package/esm2015/{modules → lib/modules}/expansion-indicator/expansion-indicator.component.js +4 -4
  15. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.component.js.map +1 -0
  16. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js +19 -0
  17. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js.map +1 -0
  18. package/esm2015/{modules → lib/modules}/help-inline/help-inline.component.js +4 -4
  19. package/esm2015/lib/modules/help-inline/help-inline.component.js.map +1 -0
  20. package/esm2015/lib/modules/help-inline/help-inline.module.js +38 -0
  21. package/esm2015/lib/modules/help-inline/help-inline.module.js.map +1 -0
  22. package/esm2015/lib/modules/icon/icon-class-list.pipe.js +38 -0
  23. package/esm2015/lib/modules/icon/icon-class-list.pipe.js.map +1 -0
  24. package/esm2015/lib/modules/icon/icon-resolver.service.js +42 -0
  25. package/esm2015/lib/modules/icon/icon-resolver.service.js.map +1 -0
  26. package/esm2015/lib/modules/icon/icon-stack-item.js +2 -0
  27. package/esm2015/lib/modules/icon/icon-stack-item.js.map +1 -0
  28. package/esm2015/lib/modules/icon/icon-stack.component.js +23 -0
  29. package/esm2015/lib/modules/icon/icon-stack.component.js.map +1 -0
  30. package/esm2015/lib/modules/icon/icon.component.js +37 -0
  31. package/esm2015/lib/modules/icon/icon.component.js.map +1 -0
  32. package/esm2015/lib/modules/icon/icon.module.js +21 -0
  33. package/esm2015/lib/modules/icon/icon.module.js.map +1 -0
  34. package/esm2015/lib/modules/icon/types/icon-type.js +2 -0
  35. package/esm2015/lib/modules/icon/types/icon-type.js.map +1 -0
  36. package/esm2015/lib/modules/icon/types/icon-variant-type.js +2 -0
  37. package/esm2015/lib/modules/icon/types/icon-variant-type.js.map +1 -0
  38. package/esm2015/lib/modules/key-info/key-info-label.component.js +18 -0
  39. package/esm2015/lib/modules/key-info/key-info-label.component.js.map +1 -0
  40. package/esm2015/lib/modules/key-info/key-info-value.component.js +18 -0
  41. package/esm2015/lib/modules/key-info/key-info-value.component.js.map +1 -0
  42. package/esm2015/lib/modules/key-info/key-info.component.js +26 -0
  43. package/esm2015/lib/modules/key-info/key-info.component.js.map +1 -0
  44. package/esm2015/lib/modules/key-info/key-info.module.js +32 -0
  45. package/esm2015/lib/modules/key-info/key-info.module.js.map +1 -0
  46. package/esm2015/lib/modules/label/label-type.js +2 -0
  47. package/esm2015/lib/modules/label/label-type.js.map +1 -0
  48. package/esm2015/{modules → lib/modules}/label/label.component.js +4 -4
  49. package/esm2015/lib/modules/label/label.component.js.map +1 -0
  50. package/esm2015/lib/modules/label/label.module.js +19 -0
  51. package/esm2015/lib/modules/label/label.module.js.map +1 -0
  52. package/esm2015/lib/modules/shared/indicator-description-type.js +2 -0
  53. package/esm2015/lib/modules/shared/indicator-description-type.js.map +1 -0
  54. package/esm2015/lib/modules/shared/indicator-icon-type.js +2 -0
  55. package/esm2015/lib/modules/shared/indicator-icon-type.js.map +1 -0
  56. package/esm2015/lib/modules/shared/indicator-icon-utility.js +41 -0
  57. package/esm2015/lib/modules/shared/indicator-icon-utility.js.map +1 -0
  58. package/esm2015/lib/modules/shared/indicator-icon.js +2 -0
  59. package/esm2015/lib/modules/shared/indicator-icon.js.map +1 -0
  60. package/esm2015/lib/modules/shared/sky-indicators-resources.module.js +61 -0
  61. package/esm2015/lib/modules/shared/sky-indicators-resources.module.js.map +1 -0
  62. package/esm2015/lib/modules/status-indicator/status-indicator.component.js +99 -0
  63. package/esm2015/lib/modules/status-indicator/status-indicator.component.js.map +1 -0
  64. package/esm2015/lib/modules/status-indicator/status-indicator.module.js +34 -0
  65. package/esm2015/lib/modules/status-indicator/status-indicator.module.js.map +1 -0
  66. package/esm2015/lib/modules/text-highlight/text-highlight.directive.js +154 -0
  67. package/esm2015/lib/modules/text-highlight/text-highlight.directive.js.map +1 -0
  68. package/esm2015/lib/modules/text-highlight/text-highlight.module.js +18 -0
  69. package/esm2015/lib/modules/text-highlight/text-highlight.module.js.map +1 -0
  70. package/esm2015/{modules → lib/modules}/tokens/token.component.js +6 -5
  71. package/esm2015/lib/modules/tokens/token.component.js.map +1 -0
  72. package/esm2015/lib/modules/tokens/tokens.component.js +304 -0
  73. package/esm2015/lib/modules/tokens/tokens.component.js.map +1 -0
  74. package/esm2015/lib/modules/tokens/tokens.module.js +35 -0
  75. package/esm2015/lib/modules/tokens/tokens.module.js.map +1 -0
  76. package/esm2015/lib/modules/tokens/types/token-selected-event-args.js +2 -0
  77. package/esm2015/lib/modules/tokens/types/token-selected-event-args.js.map +1 -0
  78. package/esm2015/lib/modules/tokens/types/token.js +2 -0
  79. package/esm2015/lib/modules/tokens/types/token.js.map +1 -0
  80. package/esm2015/lib/modules/tokens/types/tokens-message-type.js +24 -0
  81. package/esm2015/lib/modules/tokens/types/tokens-message-type.js.map +1 -0
  82. package/esm2015/lib/modules/tokens/types/tokens-message.js +2 -0
  83. package/esm2015/lib/modules/tokens/types/tokens-message.js.map +1 -0
  84. package/esm2015/lib/modules/wait/wait-adapter.service.js +201 -0
  85. package/esm2015/lib/modules/wait/wait-adapter.service.js.map +1 -0
  86. package/esm2015/lib/modules/wait/wait-page-adapter.service.js +25 -0
  87. package/esm2015/lib/modules/wait/wait-page-adapter.service.js.map +1 -0
  88. package/esm2015/lib/modules/wait/wait-page.component.js +23 -0
  89. package/esm2015/lib/modules/wait/wait-page.component.js.map +1 -0
  90. package/esm2015/lib/modules/wait/wait.component.js +94 -0
  91. package/esm2015/lib/modules/wait/wait.component.js.map +1 -0
  92. package/esm2015/lib/modules/wait/wait.module.js +22 -0
  93. package/esm2015/lib/modules/wait/wait.module.js.map +1 -0
  94. package/esm2015/lib/modules/wait/wait.service.js +164 -0
  95. package/esm2015/lib/modules/wait/wait.service.js.map +1 -0
  96. package/esm2015/skyux-indicators.js +2 -2
  97. package/esm2015/skyux-indicators.js.map +1 -0
  98. package/esm2015/testing/alert-fixture.js +1 -1
  99. package/esm2015/testing/alert-fixture.js.map +1 -0
  100. package/esm2015/testing/label-fixture.js +1 -1
  101. package/esm2015/testing/label-fixture.js.map +1 -0
  102. package/esm2015/testing/public-api.js +1 -1
  103. package/esm2015/testing/public-api.js.map +1 -0
  104. package/esm2015/testing/skyux-indicators-testing.js +1 -1
  105. package/esm2015/testing/skyux-indicators-testing.js.map +1 -0
  106. package/esm2015/testing/wait-fixture.js +1 -1
  107. package/esm2015/testing/wait-fixture.js.map +1 -0
  108. package/fesm2015/skyux-indicators-testing.js.map +1 -1
  109. package/fesm2015/skyux-indicators.js +115 -114
  110. package/fesm2015/skyux-indicators.js.map +1 -1
  111. package/index.d.ts +35 -0
  112. package/{modules → lib/modules}/alert/alert.component.d.ts +0 -0
  113. package/{modules → lib/modules}/alert/alert.module.d.ts +0 -0
  114. package/{modules → lib/modules}/chevron/chevron.component.d.ts +0 -0
  115. package/{modules → lib/modules}/chevron/chevron.module.d.ts +0 -0
  116. package/{modules → lib/modules}/expansion-indicator/expansion-indicator.component.d.ts +0 -0
  117. package/{modules → lib/modules}/expansion-indicator/expansion-indicator.module.d.ts +0 -0
  118. package/{modules → lib/modules}/help-inline/help-inline.component.d.ts +0 -0
  119. package/{modules → lib/modules}/help-inline/help-inline.module.d.ts +0 -0
  120. package/{modules → lib/modules}/icon/icon-class-list.pipe.d.ts +0 -0
  121. package/{modules → lib/modules}/icon/icon-resolver.service.d.ts +0 -0
  122. package/{modules → lib/modules}/icon/icon-stack-item.d.ts +0 -0
  123. package/{modules → lib/modules}/icon/icon-stack.component.d.ts +0 -0
  124. package/{modules → lib/modules}/icon/icon.component.d.ts +4 -3
  125. package/{modules → lib/modules}/icon/icon.module.d.ts +0 -0
  126. package/{modules → lib/modules}/icon/types/icon-type.d.ts +0 -0
  127. package/{modules → lib/modules}/icon/types/icon-variant-type.d.ts +0 -0
  128. package/{modules → lib/modules}/key-info/key-info-label.component.d.ts +0 -0
  129. package/{modules → lib/modules}/key-info/key-info-value.component.d.ts +0 -0
  130. package/{modules → lib/modules}/key-info/key-info.component.d.ts +0 -0
  131. package/{modules → lib/modules}/key-info/key-info.module.d.ts +0 -0
  132. package/{modules → lib/modules}/label/label-type.d.ts +0 -0
  133. package/{modules → lib/modules}/label/label.component.d.ts +0 -0
  134. package/{modules → lib/modules}/label/label.module.d.ts +0 -0
  135. package/{modules → lib/modules}/shared/indicator-description-type.d.ts +0 -0
  136. package/{modules → lib/modules}/shared/indicator-icon-type.d.ts +0 -0
  137. package/{modules → lib/modules}/shared/indicator-icon-utility.d.ts +0 -0
  138. package/{modules → lib/modules}/shared/indicator-icon.d.ts +0 -0
  139. package/{modules → lib/modules}/shared/sky-indicators-resources.module.d.ts +0 -0
  140. package/{modules → lib/modules}/status-indicator/status-indicator.component.d.ts +0 -0
  141. package/{modules → lib/modules}/status-indicator/status-indicator.module.d.ts +0 -0
  142. package/{modules → lib/modules}/text-highlight/text-highlight.directive.d.ts +0 -0
  143. package/{modules → lib/modules}/text-highlight/text-highlight.module.d.ts +0 -0
  144. package/{modules → lib/modules}/tokens/token.component.d.ts +0 -0
  145. package/{modules → lib/modules}/tokens/tokens.component.d.ts +1 -1
  146. package/{modules → lib/modules}/tokens/tokens.module.d.ts +0 -0
  147. package/{modules → lib/modules}/tokens/types/token-selected-event-args.d.ts +0 -0
  148. package/{modules → lib/modules}/tokens/types/token.d.ts +0 -0
  149. package/{modules → lib/modules}/tokens/types/tokens-message-type.d.ts +0 -0
  150. package/{modules → lib/modules}/tokens/types/tokens-message.d.ts +0 -0
  151. package/{modules → lib/modules}/wait/wait-adapter.service.d.ts +0 -0
  152. package/{modules → lib/modules}/wait/wait-page-adapter.service.d.ts +0 -0
  153. package/{modules → lib/modules}/wait/wait-page.component.d.ts +0 -0
  154. package/{modules → lib/modules}/wait/wait.component.d.ts +0 -0
  155. package/{modules → lib/modules}/wait/wait.module.d.ts +0 -0
  156. package/{modules → lib/modules}/wait/wait.service.d.ts +0 -0
  157. package/package.json +20 -6
  158. package/skyux-indicators.d.ts +1 -1
  159. package/LICENSE +0 -21
  160. package/esm2015/modules/alert/alert.module.js +0 -38
  161. package/esm2015/modules/chevron/chevron.component.js +0 -66
  162. package/esm2015/modules/chevron/chevron.module.js +0 -38
  163. package/esm2015/modules/expansion-indicator/expansion-indicator.module.js +0 -19
  164. package/esm2015/modules/help-inline/help-inline.module.js +0 -38
  165. package/esm2015/modules/icon/icon-class-list.pipe.js +0 -37
  166. package/esm2015/modules/icon/icon-resolver.service.js +0 -41
  167. package/esm2015/modules/icon/icon-stack-item.js +0 -2
  168. package/esm2015/modules/icon/icon-stack.component.js +0 -23
  169. package/esm2015/modules/icon/icon.component.js +0 -36
  170. package/esm2015/modules/icon/icon.module.js +0 -21
  171. package/esm2015/modules/icon/types/icon-type.js +0 -2
  172. package/esm2015/modules/icon/types/icon-variant-type.js +0 -2
  173. package/esm2015/modules/key-info/key-info-label.component.js +0 -18
  174. package/esm2015/modules/key-info/key-info-value.component.js +0 -18
  175. package/esm2015/modules/key-info/key-info.component.js +0 -26
  176. package/esm2015/modules/key-info/key-info.module.js +0 -32
  177. package/esm2015/modules/label/label-type.js +0 -2
  178. package/esm2015/modules/label/label.module.js +0 -19
  179. package/esm2015/modules/shared/indicator-description-type.js +0 -2
  180. package/esm2015/modules/shared/indicator-icon-type.js +0 -2
  181. package/esm2015/modules/shared/indicator-icon-utility.js +0 -41
  182. package/esm2015/modules/shared/indicator-icon.js +0 -2
  183. package/esm2015/modules/shared/sky-indicators-resources.module.js +0 -61
  184. package/esm2015/modules/status-indicator/status-indicator.component.js +0 -98
  185. package/esm2015/modules/status-indicator/status-indicator.module.js +0 -34
  186. package/esm2015/modules/text-highlight/text-highlight.directive.js +0 -153
  187. package/esm2015/modules/text-highlight/text-highlight.module.js +0 -18
  188. package/esm2015/modules/tokens/tokens.component.js +0 -304
  189. package/esm2015/modules/tokens/tokens.module.js +0 -35
  190. package/esm2015/modules/tokens/types/token-selected-event-args.js +0 -2
  191. package/esm2015/modules/tokens/types/token.js +0 -2
  192. package/esm2015/modules/tokens/types/tokens-message-type.js +0 -24
  193. package/esm2015/modules/tokens/types/tokens-message.js +0 -2
  194. package/esm2015/modules/wait/wait-adapter.service.js +0 -201
  195. package/esm2015/modules/wait/wait-page-adapter.service.js +0 -25
  196. package/esm2015/modules/wait/wait-page.component.js +0 -23
  197. package/esm2015/modules/wait/wait.component.js +0 -93
  198. package/esm2015/modules/wait/wait.module.js +0 -22
  199. package/esm2015/modules/wait/wait.service.js +0 -162
  200. package/esm2015/public-api.js +0 -38
  201. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZGljYXRvcnMvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmRpY2F0b3JzL3NyYy9tb2R1bGVzL3Rva2Vucy90b2tlbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFtQ3RELE1BQU0sT0FBTyxrQkFBa0I7SUE4SjdCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWxFckQ7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUErQjdDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVdwQyxzRkFBc0Y7UUFDdEYsc0ZBQXNGO1FBQ3RGLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQXhLRDs7Ozs7T0FLRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxXQUFXLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFTRDs7Ozs7T0FLRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxhQUFhLENBQUMsS0FBZ0M7UUFDdkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQTZCRDs7T0FFRztJQUNILElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQy9CLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNWLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFrQ00sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFlO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFvQjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQiw2Q0FBNkM7WUFDN0MsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO2dCQUNqQixLQUFLLE1BQU0sQ0FBQztnQkFDWixLQUFLLFdBQVc7b0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7d0JBQ3RCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0I7cUJBQzlDLENBQUMsQ0FBQztvQkFDSCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLE1BQU07Z0JBRVIsS0FBSyxPQUFPLENBQUM7Z0JBQ2IsS0FBSyxZQUFZO29CQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO3dCQUN0QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsY0FBYztxQkFDMUMsQ0FBQyxDQUFDO29CQUNILEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFlO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM5QyxDQUFDLEtBQXdCLEVBQUUsQ0FBUyxFQUFFLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksY0FBYyxFQUFFO1lBQ2xCLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhO2lCQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDbkMsU0FBUyxDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFO2dCQUN2Qyw2Q0FBNkM7Z0JBQzdDLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRTtvQkFDcEIsS0FBSyxvQkFBb0IsQ0FBQyxjQUFjO3dCQUN0QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLE1BQU07b0JBRVIsS0FBSyxvQkFBb0IsQ0FBQyxnQkFBZ0I7d0JBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3dCQUN4QixNQUFNO29CQUVSLEtBQUssb0JBQW9CLENBQUMsa0JBQWtCO3dCQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt3QkFDMUIsTUFBTTtvQkFFUixLQUFLLG9CQUFvQixDQUFDLGNBQWM7d0JBQ3RDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdEIsTUFBTTtvQkFFUixLQUFLLG9CQUFvQixDQUFDLGlCQUFpQjt3QkFDekMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3pCLE1BQU07aUJBQ1Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWU7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsS0FBSztTQUNOLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQW5TVSxrQkFBa0I7b0dBQWxCLGtCQUFrQix1YkFnSmYsaUJBQWlCLGdEQzdNakMsMHZCQTBCQSw4c0JET2M7UUFDVixPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNqQixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixLQUFLLENBQUM7b0JBQ0osT0FBTyxFQUFFLENBQUM7b0JBQ1YsS0FBSyxFQUFFLENBQUM7aUJBQ1QsQ0FBQztnQkFDRixPQUFPLENBQ0wsZUFBZSxFQUNmLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsR0FBRztpQkFDWCxDQUFDLENBQ0g7YUFDRixDQUFDO1lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0JBQ0osT0FBTyxFQUFFLENBQUM7b0JBQ1YsS0FBSyxFQUFFLENBQUM7aUJBQ1QsQ0FBQyxDQUNIO2FBQ0YsQ0FBQztTQUNILENBQUM7S0FDSDs0RkFFVSxrQkFBa0I7a0JBakM5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRTt3QkFDVixPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQzNELE9BQU8sQ0FBQyxTQUFTLEVBQUU7NEJBQ2pCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQztvQ0FDSixPQUFPLEVBQUUsQ0FBQztvQ0FDVixLQUFLLEVBQUUsQ0FBQztpQ0FDVCxDQUFDO2dDQUNGLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxHQUFHO2lDQUNYLENBQUMsQ0FDSDs2QkFDRixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7aUJBQ0Y7d0dBU1ksUUFBUTtzQkFEbEIsS0FBSztnQkFlSyxXQUFXO3NCQURyQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0MsU0FBUztzQkFEZixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBYUssTUFBTTtzQkFEaEIsS0FBSztnQkFlSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQTZCQyxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbiB9IGZyb20gJy4vdHlwZXMvdG9rZW4nO1xuXG5pbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZSc7XG5cbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZS10eXBlJztcblxuaW1wb3J0IHsgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2Vucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Jsb2NrQW5pbWF0aW9uT25Mb2FkJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHdpZHRoOiAnKicsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdG9rZW5zIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZWlyIGNsb3NlIGJ1dHRvbnNcbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCAnbmFtZSdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2Rpc3BsYXlXaXRoID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoIHx8ICduYW1lJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiB0b2tlbnMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9rZW5zKHZhbHVlOiBTa3lUb2tlbltdKSB7XG4gICAgdGhpcy5fdG9rZW5zID0gdmFsdWU7XG4gICAgdGhpcy50b2tlbnNDaGFuZ2UuZW1pdCh0aGlzLl90b2tlbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbnMoKTogU2t5VG9rZW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VucyB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gb2JzZXJ2YWJsZSBvZiBgU2t5VG9rZW5zTWVzc2FnZWAgdGhhdCBjYW4gcGxhY2UgZm9jdXMgb24gYVxuICAgKiBwYXJ0aWN1bGFyIHRva2VuIG9yIHJlbW92ZSB0aGUgYWN0aXZlIHRva2VuIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0odmFsdWU6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4pIHtcbiAgICB0aGlzLl9tZXNzYWdlU3RyZWFtID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgbmF2aWdhdGUgdGhyb3VnaCB0aGUgdG9rZW5zIGxpc3Qgd2l0aCB0aGUgYFRhYmAga2V5XG4gICAqIGFuZCBhdHRlbXB0IHRvIG1vdmUgcGFzdCB0aGUgZmluYWwgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhPdmVyUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+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=