@skyux/indicators 5.9.4 → 6.0.0-beta.10

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 (171) hide show
  1. package/documentation.json +4 -4
  2. package/esm2020/index.mjs +38 -0
  3. package/esm2020/lib/modules/alert/alert.component.mjs +56 -0
  4. package/esm2020/lib/modules/alert/alert.module.mjs +38 -0
  5. package/esm2020/lib/modules/chevron/chevron.component.mjs +62 -0
  6. package/esm2020/lib/modules/chevron/chevron.module.mjs +38 -0
  7. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.component.mjs +31 -0
  8. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.module.mjs +19 -0
  9. package/esm2020/lib/modules/help-inline/help-inline.component.mjs +26 -0
  10. package/esm2020/lib/modules/help-inline/help-inline.module.mjs +38 -0
  11. package/esm2020/lib/modules/icon/icon-class-list.pipe.mjs +38 -0
  12. package/esm2020/lib/modules/icon/icon-resolver.service.mjs +42 -0
  13. package/esm2020/lib/modules/icon/icon-stack-item.mjs +2 -0
  14. package/esm2020/lib/modules/icon/icon-stack.component.mjs +19 -0
  15. package/esm2020/lib/modules/icon/icon.component.mjs +32 -0
  16. package/esm2020/lib/modules/icon/icon.module.mjs +21 -0
  17. package/esm2020/lib/modules/icon/types/icon-type.mjs +2 -0
  18. package/esm2020/lib/modules/icon/types/icon-variant-type.mjs +2 -0
  19. package/esm2020/lib/modules/key-info/key-info-label.component.mjs +18 -0
  20. package/esm2020/lib/modules/key-info/key-info-value.component.mjs +18 -0
  21. package/esm2020/lib/modules/key-info/key-info.component.mjs +22 -0
  22. package/esm2020/lib/modules/key-info/key-info.module.mjs +32 -0
  23. package/esm2020/lib/modules/label/label-type.mjs +2 -0
  24. package/esm2020/lib/modules/label/label.component.mjs +34 -0
  25. package/esm2020/lib/modules/label/label.module.mjs +19 -0
  26. package/esm2020/lib/modules/shared/indicator-description-type.mjs +2 -0
  27. package/esm2020/lib/modules/shared/indicator-icon-type.mjs +2 -0
  28. package/esm2020/lib/modules/shared/indicator-icon-utility.mjs +40 -0
  29. package/esm2020/lib/modules/shared/indicator-icon.mjs +2 -0
  30. package/esm2020/lib/modules/shared/sky-indicators-resources.module.mjs +61 -0
  31. package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +94 -0
  32. package/esm2020/lib/modules/status-indicator/status-indicator.module.mjs +34 -0
  33. package/esm2020/lib/modules/text-highlight/text-highlight.directive.mjs +153 -0
  34. package/esm2020/lib/modules/text-highlight/text-highlight.module.mjs +18 -0
  35. package/esm2020/lib/modules/tokens/token.component.mjs +107 -0
  36. package/esm2020/lib/modules/tokens/tokens.component.mjs +296 -0
  37. package/esm2020/lib/modules/tokens/tokens.module.mjs +35 -0
  38. package/esm2020/lib/modules/tokens/types/token-selected-event-args.mjs +2 -0
  39. package/esm2020/lib/modules/tokens/types/token.mjs +2 -0
  40. package/esm2020/lib/modules/tokens/types/tokens-message-type.mjs +24 -0
  41. package/esm2020/lib/modules/tokens/types/tokens-message.mjs +2 -0
  42. package/esm2020/lib/modules/wait/wait-adapter.service.mjs +201 -0
  43. package/esm2020/lib/modules/wait/wait-page-adapter.service.mjs +25 -0
  44. package/esm2020/lib/modules/wait/wait-page.component.mjs +19 -0
  45. package/esm2020/lib/modules/wait/wait.component.mjs +89 -0
  46. package/esm2020/lib/modules/wait/wait.module.mjs +21 -0
  47. package/esm2020/lib/modules/wait/wait.service.mjs +164 -0
  48. package/esm2020/skyux-indicators.mjs +5 -0
  49. package/esm2020/testing/alert-fixture.mjs +67 -0
  50. package/esm2020/testing/label-fixture.mjs +40 -0
  51. package/esm2020/testing/public-api.mjs +4 -0
  52. package/esm2020/testing/skyux-indicators-testing.mjs +5 -0
  53. package/esm2020/testing/wait-fixture.mjs +24 -0
  54. package/fesm2015/{skyux-indicators-testing.js → skyux-indicators-testing.mjs} +1 -1
  55. package/fesm2015/skyux-indicators-testing.mjs.map +1 -0
  56. package/fesm2015/skyux-indicators.mjs +1827 -0
  57. package/fesm2015/skyux-indicators.mjs.map +1 -0
  58. package/fesm2020/skyux-indicators-testing.mjs +135 -0
  59. package/fesm2020/skyux-indicators-testing.mjs.map +1 -0
  60. package/{fesm2015/skyux-indicators.js → fesm2020/skyux-indicators.mjs} +126 -188
  61. package/fesm2020/skyux-indicators.mjs.map +1 -0
  62. package/package.json +38 -14
  63. package/testing/package.json +5 -5
  64. package/bundles/skyux-indicators-testing.umd.js +0 -187
  65. package/bundles/skyux-indicators.umd.js +0 -2463
  66. package/esm2015/index.js +0 -38
  67. package/esm2015/index.js.map +0 -1
  68. package/esm2015/lib/modules/alert/alert.component.js +0 -60
  69. package/esm2015/lib/modules/alert/alert.component.js.map +0 -1
  70. package/esm2015/lib/modules/alert/alert.module.js +0 -38
  71. package/esm2015/lib/modules/alert/alert.module.js.map +0 -1
  72. package/esm2015/lib/modules/chevron/chevron.component.js +0 -66
  73. package/esm2015/lib/modules/chevron/chevron.component.js.map +0 -1
  74. package/esm2015/lib/modules/chevron/chevron.module.js +0 -38
  75. package/esm2015/lib/modules/chevron/chevron.module.js.map +0 -1
  76. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.component.js +0 -35
  77. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.component.js.map +0 -1
  78. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js +0 -19
  79. package/esm2015/lib/modules/expansion-indicator/expansion-indicator.module.js.map +0 -1
  80. package/esm2015/lib/modules/help-inline/help-inline.component.js +0 -30
  81. package/esm2015/lib/modules/help-inline/help-inline.component.js.map +0 -1
  82. package/esm2015/lib/modules/help-inline/help-inline.module.js +0 -38
  83. package/esm2015/lib/modules/help-inline/help-inline.module.js.map +0 -1
  84. package/esm2015/lib/modules/icon/icon-class-list.pipe.js +0 -38
  85. package/esm2015/lib/modules/icon/icon-class-list.pipe.js.map +0 -1
  86. package/esm2015/lib/modules/icon/icon-resolver.service.js +0 -42
  87. package/esm2015/lib/modules/icon/icon-resolver.service.js.map +0 -1
  88. package/esm2015/lib/modules/icon/icon-stack-item.js +0 -2
  89. package/esm2015/lib/modules/icon/icon-stack-item.js.map +0 -1
  90. package/esm2015/lib/modules/icon/icon-stack.component.js +0 -23
  91. package/esm2015/lib/modules/icon/icon-stack.component.js.map +0 -1
  92. package/esm2015/lib/modules/icon/icon.component.js +0 -37
  93. package/esm2015/lib/modules/icon/icon.component.js.map +0 -1
  94. package/esm2015/lib/modules/icon/icon.module.js +0 -21
  95. package/esm2015/lib/modules/icon/icon.module.js.map +0 -1
  96. package/esm2015/lib/modules/icon/types/icon-type.js +0 -2
  97. package/esm2015/lib/modules/icon/types/icon-type.js.map +0 -1
  98. package/esm2015/lib/modules/icon/types/icon-variant-type.js +0 -2
  99. package/esm2015/lib/modules/icon/types/icon-variant-type.js.map +0 -1
  100. package/esm2015/lib/modules/key-info/key-info-label.component.js +0 -18
  101. package/esm2015/lib/modules/key-info/key-info-label.component.js.map +0 -1
  102. package/esm2015/lib/modules/key-info/key-info-value.component.js +0 -18
  103. package/esm2015/lib/modules/key-info/key-info-value.component.js.map +0 -1
  104. package/esm2015/lib/modules/key-info/key-info.component.js +0 -26
  105. package/esm2015/lib/modules/key-info/key-info.component.js.map +0 -1
  106. package/esm2015/lib/modules/key-info/key-info.module.js +0 -32
  107. package/esm2015/lib/modules/key-info/key-info.module.js.map +0 -1
  108. package/esm2015/lib/modules/label/label-type.js +0 -2
  109. package/esm2015/lib/modules/label/label-type.js.map +0 -1
  110. package/esm2015/lib/modules/label/label.component.js +0 -38
  111. package/esm2015/lib/modules/label/label.component.js.map +0 -1
  112. package/esm2015/lib/modules/label/label.module.js +0 -19
  113. package/esm2015/lib/modules/label/label.module.js.map +0 -1
  114. package/esm2015/lib/modules/shared/indicator-description-type.js +0 -2
  115. package/esm2015/lib/modules/shared/indicator-description-type.js.map +0 -1
  116. package/esm2015/lib/modules/shared/indicator-icon-type.js +0 -2
  117. package/esm2015/lib/modules/shared/indicator-icon-type.js.map +0 -1
  118. package/esm2015/lib/modules/shared/indicator-icon-utility.js +0 -41
  119. package/esm2015/lib/modules/shared/indicator-icon-utility.js.map +0 -1
  120. package/esm2015/lib/modules/shared/indicator-icon.js +0 -2
  121. package/esm2015/lib/modules/shared/indicator-icon.js.map +0 -1
  122. package/esm2015/lib/modules/shared/sky-indicators-resources.module.js +0 -61
  123. package/esm2015/lib/modules/shared/sky-indicators-resources.module.js.map +0 -1
  124. package/esm2015/lib/modules/status-indicator/status-indicator.component.js +0 -99
  125. package/esm2015/lib/modules/status-indicator/status-indicator.component.js.map +0 -1
  126. package/esm2015/lib/modules/status-indicator/status-indicator.module.js +0 -34
  127. package/esm2015/lib/modules/status-indicator/status-indicator.module.js.map +0 -1
  128. package/esm2015/lib/modules/text-highlight/text-highlight.directive.js +0 -153
  129. package/esm2015/lib/modules/text-highlight/text-highlight.directive.js.map +0 -1
  130. package/esm2015/lib/modules/text-highlight/text-highlight.module.js +0 -18
  131. package/esm2015/lib/modules/text-highlight/text-highlight.module.js.map +0 -1
  132. package/esm2015/lib/modules/tokens/token.component.js +0 -112
  133. package/esm2015/lib/modules/tokens/token.component.js.map +0 -1
  134. package/esm2015/lib/modules/tokens/tokens.component.js +0 -304
  135. package/esm2015/lib/modules/tokens/tokens.component.js.map +0 -1
  136. package/esm2015/lib/modules/tokens/tokens.module.js +0 -35
  137. package/esm2015/lib/modules/tokens/tokens.module.js.map +0 -1
  138. package/esm2015/lib/modules/tokens/types/token-selected-event-args.js +0 -2
  139. package/esm2015/lib/modules/tokens/types/token-selected-event-args.js.map +0 -1
  140. package/esm2015/lib/modules/tokens/types/token.js +0 -2
  141. package/esm2015/lib/modules/tokens/types/token.js.map +0 -1
  142. package/esm2015/lib/modules/tokens/types/tokens-message-type.js +0 -24
  143. package/esm2015/lib/modules/tokens/types/tokens-message-type.js.map +0 -1
  144. package/esm2015/lib/modules/tokens/types/tokens-message.js +0 -2
  145. package/esm2015/lib/modules/tokens/types/tokens-message.js.map +0 -1
  146. package/esm2015/lib/modules/wait/wait-adapter.service.js +0 -201
  147. package/esm2015/lib/modules/wait/wait-adapter.service.js.map +0 -1
  148. package/esm2015/lib/modules/wait/wait-page-adapter.service.js +0 -25
  149. package/esm2015/lib/modules/wait/wait-page-adapter.service.js.map +0 -1
  150. package/esm2015/lib/modules/wait/wait-page.component.js +0 -23
  151. package/esm2015/lib/modules/wait/wait-page.component.js.map +0 -1
  152. package/esm2015/lib/modules/wait/wait.component.js +0 -94
  153. package/esm2015/lib/modules/wait/wait.component.js.map +0 -1
  154. package/esm2015/lib/modules/wait/wait.module.js +0 -22
  155. package/esm2015/lib/modules/wait/wait.module.js.map +0 -1
  156. package/esm2015/lib/modules/wait/wait.service.js +0 -164
  157. package/esm2015/lib/modules/wait/wait.service.js.map +0 -1
  158. package/esm2015/skyux-indicators.js +0 -5
  159. package/esm2015/skyux-indicators.js.map +0 -1
  160. package/esm2015/testing/alert-fixture.js +0 -67
  161. package/esm2015/testing/alert-fixture.js.map +0 -1
  162. package/esm2015/testing/label-fixture.js +0 -40
  163. package/esm2015/testing/label-fixture.js.map +0 -1
  164. package/esm2015/testing/public-api.js +0 -4
  165. package/esm2015/testing/public-api.js.map +0 -1
  166. package/esm2015/testing/skyux-indicators-testing.js +0 -5
  167. package/esm2015/testing/skyux-indicators-testing.js.map +0 -1
  168. package/esm2015/testing/wait-fixture.js +0 -24
  169. package/esm2015/testing/wait-fixture.js.map +0 -1
  170. package/fesm2015/skyux-indicators-testing.js.map +0 -1
  171. package/fesm2015/skyux-indicators.js.map +0 -1
@@ -0,0 +1,296 @@
1
+ import { animate, style, transition, trigger } from '@angular/animations';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, QueryList, ViewChildren, } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { SkyTokenComponent } from './token.component';
6
+ import { SkyTokensMessageType } from './types/tokens-message-type';
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
+ switch (event.key) {
139
+ case 'Left':
140
+ case 'ArrowLeft':
141
+ this.messageStream.next({
142
+ type: SkyTokensMessageType.FocusPreviousToken,
143
+ });
144
+ event.preventDefault();
145
+ break;
146
+ case 'Right':
147
+ case 'ArrowRight':
148
+ this.messageStream.next({
149
+ type: SkyTokensMessageType.FocusNextToken,
150
+ });
151
+ event.preventDefault();
152
+ break;
153
+ }
154
+ }
155
+ }
156
+ selectToken(token) {
157
+ if (!this.disabled) {
158
+ this.notifyTokenSelected(token);
159
+ }
160
+ }
161
+ removeToken(token) {
162
+ this.tokens = this.tokens.filter((t) => t !== token);
163
+ this.changeDetector.detectChanges();
164
+ }
165
+ focusPreviousToken() {
166
+ this.activeIndex--;
167
+ this.focusActiveToken();
168
+ }
169
+ focusNextToken() {
170
+ this.activeIndex++;
171
+ this.focusActiveToken();
172
+ }
173
+ focusLastToken() {
174
+ this.activeIndex = this.tokenComponents.length - 1;
175
+ this.focusActiveToken();
176
+ }
177
+ focusActiveToken() {
178
+ const tokenComponent = this.tokenComponents.find((_comp, i) => {
179
+ return this.activeIndex === i;
180
+ });
181
+ if (tokenComponent) {
182
+ tokenComponent.focusElement();
183
+ }
184
+ }
185
+ removeActiveToken() {
186
+ const token = this.tokens[this.activeIndex];
187
+ if (token) {
188
+ this.removeToken(token);
189
+ }
190
+ }
191
+ initMessageStream() {
192
+ if (this.messageStreamSub) {
193
+ this.messageStreamSub.unsubscribe();
194
+ }
195
+ if (this.messageStream) {
196
+ this.messageStreamSub = this.messageStream
197
+ .pipe(takeUntil(this.ngUnsubscribe))
198
+ .subscribe((message) => {
199
+ switch (message.type) {
200
+ case SkyTokensMessageType.FocusLastToken:
201
+ this.focusLastToken();
202
+ break;
203
+ case SkyTokensMessageType.FocusActiveToken:
204
+ this.focusActiveToken();
205
+ break;
206
+ case SkyTokensMessageType.FocusPreviousToken:
207
+ this.focusPreviousToken();
208
+ break;
209
+ case SkyTokensMessageType.FocusNextToken:
210
+ this.focusNextToken();
211
+ break;
212
+ case SkyTokensMessageType.RemoveActiveToken:
213
+ this.removeActiveToken();
214
+ break;
215
+ }
216
+ });
217
+ }
218
+ }
219
+ notifyTokenSelected(token) {
220
+ this.tokenSelected.emit({
221
+ token,
222
+ });
223
+ }
224
+ }
225
+ SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
226
+ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"tokens\"\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens && tokens.length ? 'list' : null\"\n>\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n role=\"listitem\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], components: [{ type: i1.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable"], outputs: ["dismiss", "tokenFocus"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
227
+ trigger('blockAnimationOnLoad', [transition(':enter', [])]),
228
+ trigger('dismiss', [
229
+ transition(':enter', [
230
+ style({
231
+ opacity: 0,
232
+ width: 0,
233
+ }),
234
+ animate('150ms ease-in', style({
235
+ opacity: 1,
236
+ width: '*',
237
+ })),
238
+ ]),
239
+ transition(':leave', [
240
+ animate('150ms ease-in', style({
241
+ opacity: 0,
242
+ width: 0,
243
+ })),
244
+ ]),
245
+ ]),
246
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTokensComponent, decorators: [{
248
+ type: Component,
249
+ args: [{ selector: 'sky-tokens', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
250
+ trigger('blockAnimationOnLoad', [transition(':enter', [])]),
251
+ trigger('dismiss', [
252
+ transition(':enter', [
253
+ style({
254
+ opacity: 0,
255
+ width: 0,
256
+ }),
257
+ animate('150ms ease-in', style({
258
+ opacity: 1,
259
+ width: '*',
260
+ })),
261
+ ]),
262
+ transition(':leave', [
263
+ animate('150ms ease-in', style({
264
+ opacity: 0,
265
+ width: 0,
266
+ })),
267
+ ]),
268
+ ]),
269
+ ], 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"] }]
270
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
271
+ type: Input
272
+ }], dismissible: [{
273
+ type: Input
274
+ }], displayWith: [{
275
+ type: Input
276
+ }], trackWith: [{
277
+ type: Input
278
+ }], focusable: [{
279
+ type: Input
280
+ }], tokens: [{
281
+ type: Input
282
+ }], messageStream: [{
283
+ type: Input
284
+ }], focusIndexOverRange: [{
285
+ type: Output
286
+ }], focusIndexUnderRange: [{
287
+ type: Output
288
+ }], tokenSelected: [{
289
+ type: Output
290
+ }], tokensChange: [{
291
+ type: Output
292
+ }], tokenComponents: [{
293
+ type: ViewChildren,
294
+ args: [SkyTokenComponent]
295
+ }] } });
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFtQ25FLE1BQU0sT0FBTyxrQkFBa0I7SUE4SjdCLFlBQW9CLGNBQWlDO1FBQWpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWxFckQ7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxH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O3NCQURsQixNQUFNO2dCQTZCQyxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VG9rZW4gfSBmcm9tICcuL3R5cGVzL3Rva2VuJztcbmltcG9ydCB7IFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3MgfSBmcm9tICcuL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2Vucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Jsb2NrQW5pbWF0aW9uT25Mb2FkJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHdpZHRoOiAnKicsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdG9rZW5zIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZWlyIGNsb3NlIGJ1dHRvbnNcbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCBcIm5hbWVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5V2l0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheVdpdGggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheVdpdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheVdpdGggfHwgJ25hbWUnO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdG9rZW4gcHJvcGVydHkgdGhhdCByZXByZXNlbnRzIHRoZSB0b2tlbidzIHVuaXF1ZSBpZGVudGlmaWVyLiBXaGVuIHRoaXMgcHJvcGVydHlcbiAgICogaXMgc2V0LCBhbmltYXRpb25zIGFyZSBlbmFibGVkIHdoZW4gZGlzbWlzc2luZyB0b2tlbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhY2tXaXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBUaGlzIGRvZXMgbm90IGFmZmVjdCB0aGUgYWJpbGl0eSBvZiB1c2VycyB0byBzZWxlY3QgdG9rZW5zLCBkaXNtaXNzIHRva2VucyxcbiAgICogb3IgbmF2aWdhdGUgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBhcnJvdyBrZXlzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2ZvY3VzYWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzYWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIGFycmF5IG9mIHRva2VucyB0byBpbmNsdWRlIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2tlbnModmFsdWU6IFNreVRva2VuW10pIHtcbiAgICB0aGlzLl90b2tlbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnRva2Vuc0NoYW5nZS5lbWl0KHRoaXMuX3Rva2Vucyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRva2VucygpOiBTa3lUb2tlbltdIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW5zIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBvYnNlcnZhYmxlIG9mIGBTa3lUb2tlbnNNZXNzYWdlYCB0aGF0IGNhbiBwbGFjZSBmb2N1cyBvbiBhXG4gICAqIHBhcnRpY3VsYXIgdG9rZW4gb3IgcmVtb3ZlIHRoZSBhY3RpdmUgdG9rZW4gZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbSh2YWx1ZTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPikge1xuICAgIHRoaXMuX21lc3NhZ2VTdHJlYW0gPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBwYXN0IHRoZSBmaW5hbCB0b2tlbiBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNJbmRleE92ZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2Vyc25hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhVbmRlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIHRva2VuIGluIHRoZSBsaXN0LiBUaGlzIGV2ZW50IGVtaXRzIHRoZSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0IGNoYW5nZS5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgdG9rZW5zIGluIHRoZSB1cGRhdGVkIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5bXT4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4IHx8IDA7XG4gIH1cbiAgcHVibGljIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlID49IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgdGhpcy5mb2N1c0luZGV4T3ZlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IDA7XG4gICAgICB0aGlzLmZvY3VzSW5kZXhVbmRlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmVJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdHJhY2tUb2tlbkZuOiAoaW5kZXg6IG51bWJlciwgaXRlbTogU2t5VG9rZW4pID0+IGFueTtcblxuICBAVmlld0NoaWxkcmVuKFNreVRva2VuQ29tcG9uZW50KVxuICBwcml2YXRlIHRva2VuQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVRva2VuQ29tcG9uZW50PjtcblxuICBwcml2YXRlIG1lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9hY3RpdmVJbmRleDogbnVtYmVyO1xuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZGlzbWlzc2libGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX2ZvY3VzYWJsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfdG9rZW5zOiBTa3lUb2tlbltdO1xuICBwcml2YXRlIF9kaXNwbGF5V2l0aDogc3RyaW5nO1xuICBwcml2YXRlIF9tZXNzYWdlU3RyZWFtOiBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgLy8gQW5ndWxhciBjYWxscyB0aGUgdHJhY2tCeSBmdW5jdGlvbiB3aXRob3V0IGFwcGx5aW5nIHRoZSBjb21wb25lbnQgaW5zdGFuY2UncyBzY29wZS5cbiAgICAvLyBVc2UgYSBmYXQtYXJyb3cgZnVuY3Rpb24gc28gdGhlIGN1cnJlbnQgY29tcG9uZW50IGluc3RhbmNlJ3MgdHJhY2tXaXRoIHByb3BlcnR5IGNhblxuICAgIC8vIGJlIHJlZmVyZW5jZWQuXG4gICAgdGhpcy50cmFja1Rva2VuRm4gPSAoX2luZGV4LCBpdGVtKSA9PiB7XG4gICAgICBpZiAodGhpcy50cmFja1dpdGgpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWVbdGhpcy50cmFja1dpdGhdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbkNsaWNrKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUmlnaHQnOlxuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZVRva2VuKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b2tlbik7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dFRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgrKztcbiAgICB0aGlzLmZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW5Db21wb25lbnQgPSB0aGlzLnRva2VuQ29tcG9uZW50cy5maW5kKFxuICAgICAgKF9jb21wOiBTa3lUb2tlbkNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgIHRva2VuQ29tcG9uZW50LmZvY3VzRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmFjdGl2ZUluZGV4XTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMucmVtb3ZlVG9rZW4odG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWVzc2FnZVN0cmVhbSkge1xuICAgICAgdGhpcy5tZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNMYXN0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbjpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW46XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0VG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ0b2tlbnNcIlxuICBjbGFzcz1cInNreS10b2tlbnNcIlxuICBbQGJsb2NrQW5pbWF0aW9uT25Mb2FkXVxuICBbYXR0ci5yb2xlXT1cInRva2VucyAmJiB0b2tlbnMubGVuZ3RoID8gJ2xpc3QnIDogbnVsbFwiXG4+XG4gIDxza3ktdG9rZW5cbiAgICAqbmdGb3I9XCJsZXQgdG9rZW4gb2YgdG9rZW5zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja1Rva2VuRm5cIlxuICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkyI18nModule } from '@skyux/i18n';
4
+ import { SkyIconModule } from '../icon/icon.module';
5
+ import { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';
6
+ import { SkyTokenComponent } from './token.component';
7
+ import { SkyTokensComponent } from './tokens.component';
8
+ import * as i0 from "@angular/core";
9
+ export class SkyTokensModule {
10
+ }
11
+ SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", 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: "13.3.2", ngImport: i0, type: SkyTokensModule, imports: [[
17
+ CommonModule,
18
+ SkyI18nModule,
19
+ SkyIconModule,
20
+ SkyIndicatorsResourcesModule,
21
+ ]] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUV6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFZeEQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFUWCxpQkFBaUIsRUFBRSxrQkFBa0IsYUFFbEQsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsNEJBQTRCLGFBRXBCLGlCQUFpQixFQUFFLGtCQUFrQjs2R0FFcEMsZUFBZSxZQVJqQjtZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLDRCQUE0QjtTQUM3QjsyRkFHVSxlQUFlO2tCQVYzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDO29CQUNyRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFNreUluZGljYXRvcnNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWluZGljYXRvcnMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VG9rZW5zQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VG9rZW5Db21wb25lbnQsIFNreVRva2Vuc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZGljYXRvcnNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lUb2tlbkNvbXBvbmVudCwgU2t5VG9rZW5zQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VG9rZW4gfSBmcm9tICcuL3Rva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lUb2tlblNlbGVjdGVkRXZlbnRBcmdzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRva2VuLlxuICAgKi9cbiAgdG9rZW4/OiBTa3lUb2tlbjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreVRva2VuIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdG9rZW4ncyBjb250ZW50cy5cbiAgICovXG4gIHZhbHVlOiBhbnk7XG59XG4iXX0=
@@ -0,0 +1,24 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdHlwZXMvdG9rZW5zLW1lc3NhZ2UtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkF5Qlg7QUF6QkQsV0FBWSxvQkFBb0I7SUFDOUI7O09BRUc7SUFDSCxtRkFBa0IsQ0FBQTtJQUVsQjs7T0FFRztJQUNILHVGQUFvQixDQUFBO0lBRXBCOztPQUVHO0lBQ0gsMkZBQXNCLENBQUE7SUFFdEI7O09BRUc7SUFDSCxtRkFBa0IsQ0FBQTtJQUVsQjs7T0FFRztJQUNILHlGQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUF6Qlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQXlCL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTa3lUb2tlbnNNZXNzYWdlVHlwZSB7XG4gIC8qKlxuICAgKiBQbGFjZXMgZm9jdXMgb24gdGhlIGxhc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBGb2N1c0xhc3RUb2tlbiA9IDAsXG5cbiAgLyoqXG4gICAqIFBsYWNlcyBmb2N1cyBvbiB0aGUgdG9rZW4gdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuXG4gICAqL1xuICBGb2N1c0FjdGl2ZVRva2VuID0gMSxcblxuICAvKipcbiAgICogUGxhY2VzIGZvY3VzIG9uIHRoZSB0b2tlbiBiZWZvcmUgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEZvY3VzUHJldmlvdXNUb2tlbiA9IDIsXG5cbiAgLyoqXG4gICAqIFBsYWNlcyBmb2N1cyBvbiB0aGUgdG9rZW4gYWZ0ZXIgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEZvY3VzTmV4dFRva2VuID0gMyxcblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgdG9rZW4gdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgZnJvbSB0aGUgbGlzdCBvZiB0b2tlbnMuXG4gICAqL1xuICBSZW1vdmVBY3RpdmVUb2tlbiA9IDQsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3R5cGVzL3Rva2Vucy1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlVHlwZSB9IGZyb20gJy4vdG9rZW5zLW1lc3NhZ2UtdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VG9rZW5zTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgbWVzc2FnZS5cbiAgICovXG4gIHR5cGU/OiBTa3lUb2tlbnNNZXNzYWdlVHlwZTtcbn1cbiJdfQ==