@skyux/lookup 6.3.3 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +909 -927
- package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +12 -8
- package/esm2020/lib/modules/autocomplete/autocomplete-default-search-function.mjs +1 -1
- package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +82 -69
- package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +377 -381
- package/esm2020/lib/modules/country-field/country-field.component.mjs +170 -152
- package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +14 -8
- package/esm2020/lib/modules/lookup/lookup-show-more-async-modal.component.mjs +65 -58
- package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +49 -41
- package/esm2020/lib/modules/lookup/lookup.component.mjs +231 -222
- package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +1 -1
- package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.mjs +1 -1
- package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +1 -1
- package/esm2020/lib/modules/search/search-adapter.service.mjs +22 -21
- package/esm2020/lib/modules/search/search.component.mjs +68 -67
- package/esm2020/testing/country-field/country-field-fixture.mjs +1 -1
- package/fesm2015/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2015/skyux-lookup.mjs +1075 -1021
- package/fesm2015/skyux-lookup.mjs.map +1 -1
- package/fesm2020/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2020/skyux-lookup.mjs +1073 -1019
- package/fesm2020/skyux-lookup.mjs.map +1 -1
- package/lib/modules/autocomplete/autocomplete-adapter.service.d.ts +1 -3
- package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +3 -16
- package/lib/modules/autocomplete/autocomplete.component.d.ts +20 -76
- package/lib/modules/country-field/country-field.component.d.ts +14 -36
- package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +6 -8
- package/lib/modules/lookup/lookup-show-more-async-modal.component.d.ts +9 -16
- package/lib/modules/lookup/lookup-show-more-modal.component.d.ts +3 -4
- package/lib/modules/lookup/lookup.component.d.ts +17 -42
- package/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.d.ts +1 -1
- package/lib/modules/lookup/types/lookup-show-more-native-picker-context.d.ts +1 -1
- package/lib/modules/search/search-adapter.service.d.ts +1 -5
- package/lib/modules/search/search.component.d.ts +11 -22
- package/package.json +10 -10
- package/testing/country-field/country-field-fixture.d.ts +1 -1
|
@@ -10,14 +10,15 @@ import * as i4 from '@skyux/indicators';
|
|
|
10
10
|
import { SkyTextHighlightModule, SkyIconModule, SkyWaitModule, SkyTokensMessageType, SkyTokensModule } from '@skyux/indicators';
|
|
11
11
|
import * as i7 from '@skyux/theme';
|
|
12
12
|
import { SkyThemeModule } from '@skyux/theme';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i4$1 from '@skyux/i18n';
|
|
14
14
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
15
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
15
16
|
import { Subject, fromEvent, of, from } from 'rxjs';
|
|
16
17
|
import { takeUntil, debounceTime, switchMap, take, map, distinctUntilChanged } from 'rxjs/operators';
|
|
17
18
|
import * as i6 from '@skyux/forms';
|
|
18
19
|
import { SkyInputBoxModule, SkyCheckboxModule } from '@skyux/forms';
|
|
19
20
|
import 'intl-tel-input';
|
|
20
|
-
import * as i4$
|
|
21
|
+
import * as i4$2 from '@skyux/layout';
|
|
21
22
|
import { SkyToolbarModule } from '@skyux/layout';
|
|
22
23
|
import * as i7$1 from '@skyux/lists';
|
|
23
24
|
import { SkyInfiniteScrollModule, SkyRepeaterModule } from '@skyux/lists';
|
|
@@ -94,6 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
94
95
|
}]
|
|
95
96
|
}] });
|
|
96
97
|
|
|
98
|
+
var _SkyAutocompleteInputDirective_instances, _SkyAutocompleteInputDirective_blur, _SkyAutocompleteInputDirective_control, _SkyAutocompleteInputDirective_elementRef, _SkyAutocompleteInputDirective_focus, _SkyAutocompleteInputDirective_isFirstChange, _SkyAutocompleteInputDirective_ngUnsubscribe, _SkyAutocompleteInputDirective_renderer, _SkyAutocompleteInputDirective_textChanges, _SkyAutocompleteInputDirective__autocompleteAttribute, _SkyAutocompleteInputDirective__blurObs, _SkyAutocompleteInputDirective__disabled, _SkyAutocompleteInputDirective__displayWith, _SkyAutocompleteInputDirective__focusObs, _SkyAutocompleteInputDirective__textChangesObs, _SkyAutocompleteInputDirective__value, _SkyAutocompleteInputDirective_setAttributes, _SkyAutocompleteInputDirective_getValueByKey;
|
|
97
99
|
const SKY_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
98
100
|
provide: NG_VALUE_ACCESSOR,
|
|
99
101
|
useExisting: forwardRef(() => SkyAutocompleteInputDirective),
|
|
@@ -106,17 +108,33 @@ const SKY_AUTOCOMPLETE_VALIDATOR = {
|
|
|
106
108
|
};
|
|
107
109
|
class SkyAutocompleteInputDirective {
|
|
108
110
|
constructor(elementRef, renderer) {
|
|
109
|
-
this
|
|
110
|
-
this
|
|
111
|
-
this
|
|
112
|
-
this
|
|
113
|
-
this
|
|
114
|
-
this
|
|
115
|
-
this
|
|
116
|
-
this
|
|
111
|
+
_SkyAutocompleteInputDirective_instances.add(this);
|
|
112
|
+
_SkyAutocompleteInputDirective_blur.set(this, void 0);
|
|
113
|
+
_SkyAutocompleteInputDirective_control.set(this, void 0);
|
|
114
|
+
_SkyAutocompleteInputDirective_elementRef.set(this, void 0);
|
|
115
|
+
_SkyAutocompleteInputDirective_focus.set(this, void 0);
|
|
116
|
+
_SkyAutocompleteInputDirective_isFirstChange.set(this, true);
|
|
117
|
+
_SkyAutocompleteInputDirective_ngUnsubscribe.set(this, new Subject());
|
|
118
|
+
_SkyAutocompleteInputDirective_renderer.set(this, void 0);
|
|
119
|
+
_SkyAutocompleteInputDirective_textChanges.set(this, void 0);
|
|
120
|
+
_SkyAutocompleteInputDirective__autocompleteAttribute.set(this, void 0);
|
|
121
|
+
_SkyAutocompleteInputDirective__blurObs.set(this, void 0);
|
|
122
|
+
_SkyAutocompleteInputDirective__disabled.set(this, false);
|
|
123
|
+
_SkyAutocompleteInputDirective__displayWith.set(this, '');
|
|
124
|
+
_SkyAutocompleteInputDirective__focusObs.set(this, void 0);
|
|
125
|
+
_SkyAutocompleteInputDirective__textChangesObs.set(this, void 0);
|
|
126
|
+
_SkyAutocompleteInputDirective__value.set(this, void 0);
|
|
117
127
|
// istanbul ignore next
|
|
118
128
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
119
129
|
this.onValidatorChange = () => { };
|
|
130
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_elementRef, elementRef, "f");
|
|
131
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_renderer, renderer, "f");
|
|
132
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_blur, new Subject(), "f");
|
|
133
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_focus, new Subject(), "f");
|
|
134
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_textChanges, new Subject(), "f");
|
|
135
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__blurObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").asObservable(), "f");
|
|
136
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__focusObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_focus, "f").asObservable(), "f");
|
|
137
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__textChangesObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").asObservable(), "f");
|
|
120
138
|
}
|
|
121
139
|
/**
|
|
122
140
|
* Specifies the value for the `autocomplete` attribute on the form input.
|
|
@@ -124,114 +142,109 @@ class SkyAutocompleteInputDirective {
|
|
|
124
142
|
*/
|
|
125
143
|
set autocompleteAttribute(value) {
|
|
126
144
|
if (!value) {
|
|
127
|
-
this
|
|
145
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, 'off', "f");
|
|
128
146
|
}
|
|
129
147
|
else {
|
|
130
|
-
this
|
|
148
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, value, "f");
|
|
131
149
|
}
|
|
132
|
-
this.
|
|
150
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'autocomplete', __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, "f"));
|
|
133
151
|
}
|
|
134
152
|
get autocompleteAttribute() {
|
|
135
|
-
return this
|
|
153
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, "f") || 'off';
|
|
136
154
|
}
|
|
137
155
|
/**
|
|
138
156
|
* Indicates whether to disable the autocomplete field.
|
|
139
157
|
* @default false
|
|
140
158
|
*/
|
|
141
159
|
set disabled(value) {
|
|
142
|
-
this
|
|
143
|
-
this.
|
|
160
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__disabled, value, "f");
|
|
161
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'disabled', value);
|
|
144
162
|
}
|
|
145
163
|
get disabled() {
|
|
146
|
-
return this
|
|
164
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__disabled, "f");
|
|
147
165
|
}
|
|
148
166
|
get blur() {
|
|
149
|
-
return this
|
|
167
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__blurObs, "f");
|
|
150
168
|
}
|
|
151
169
|
get displayWith() {
|
|
152
|
-
return this
|
|
170
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__displayWith, "f");
|
|
153
171
|
}
|
|
154
172
|
set displayWith(value) {
|
|
155
|
-
this
|
|
156
|
-
this.inputTextValue = this.
|
|
173
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__displayWith, value, "f");
|
|
174
|
+
this.inputTextValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
157
175
|
}
|
|
158
176
|
get focus() {
|
|
159
|
-
return this
|
|
177
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__focusObs, "f");
|
|
160
178
|
}
|
|
161
179
|
get inputTextValue() {
|
|
162
|
-
return this.
|
|
180
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value;
|
|
163
181
|
}
|
|
164
182
|
set inputTextValue(value) {
|
|
165
|
-
this.
|
|
183
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value = value || '';
|
|
166
184
|
}
|
|
167
185
|
get textChanges() {
|
|
168
|
-
return this
|
|
186
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__textChangesObs, "f");
|
|
169
187
|
}
|
|
170
188
|
get value() {
|
|
171
|
-
return this
|
|
189
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f");
|
|
172
190
|
}
|
|
173
191
|
set value(value) {
|
|
174
|
-
const isNewValue = value !== this
|
|
192
|
+
const isNewValue = value !== __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f");
|
|
175
193
|
/* istanbul ignore else */
|
|
176
194
|
if (isNewValue) {
|
|
177
|
-
this
|
|
178
|
-
this.inputTextValue = this.
|
|
179
|
-
this.onChange(this
|
|
195
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__value, value, "f");
|
|
196
|
+
this.inputTextValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
197
|
+
this.onChange(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f"));
|
|
180
198
|
// Do not mark the field as "dirty"
|
|
181
199
|
// if the field has been initialized with a value.
|
|
182
|
-
if (this
|
|
183
|
-
this.
|
|
200
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f")) {
|
|
201
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f").markAsPristine();
|
|
184
202
|
}
|
|
185
|
-
if (this
|
|
186
|
-
this
|
|
203
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f")) {
|
|
204
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_isFirstChange, false, "f");
|
|
187
205
|
}
|
|
188
206
|
}
|
|
189
207
|
}
|
|
190
208
|
ngOnInit() {
|
|
191
|
-
const element = this.
|
|
192
|
-
this.
|
|
209
|
+
const element = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement;
|
|
210
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_setAttributes).call(this, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f"));
|
|
193
211
|
fromEvent(element, 'input')
|
|
194
|
-
.pipe(takeUntil(this
|
|
212
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
195
213
|
.subscribe(() => {
|
|
196
|
-
/** Sanity check */
|
|
197
214
|
if (!this.disabled) {
|
|
198
|
-
this.
|
|
199
|
-
value: this.
|
|
215
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").next({
|
|
216
|
+
value: __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value,
|
|
200
217
|
});
|
|
201
218
|
}
|
|
202
219
|
});
|
|
203
220
|
fromEvent(element, 'blur')
|
|
204
|
-
.pipe(takeUntil(this
|
|
221
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
205
222
|
.subscribe(() => {
|
|
206
|
-
/** Sanity check */
|
|
207
223
|
if (!this.disabled) {
|
|
208
|
-
this.
|
|
224
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").next();
|
|
209
225
|
}
|
|
210
226
|
});
|
|
211
227
|
fromEvent(element, 'focus')
|
|
212
|
-
.pipe(takeUntil(this
|
|
228
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
213
229
|
.subscribe(() => {
|
|
214
|
-
/** Sanity check */
|
|
215
230
|
if (!this.disabled) {
|
|
216
|
-
this.
|
|
231
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_focus, "f").next();
|
|
217
232
|
}
|
|
218
233
|
});
|
|
219
234
|
fromEvent(element, 'change')
|
|
220
|
-
.pipe(takeUntil(this
|
|
235
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
221
236
|
.subscribe(() => {
|
|
222
|
-
/** Sanity check */
|
|
223
237
|
/* istanbul ignore else */
|
|
224
238
|
if (!this.disabled) {
|
|
225
|
-
this
|
|
239
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_isFirstChange, false, "f");
|
|
226
240
|
}
|
|
227
241
|
});
|
|
228
242
|
}
|
|
229
243
|
ngOnDestroy() {
|
|
230
|
-
this.
|
|
231
|
-
this.
|
|
232
|
-
this.
|
|
233
|
-
this.
|
|
234
|
-
this._blur = this._textChanges = this.ngUnsubscribe = undefined;
|
|
244
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").complete();
|
|
245
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").complete();
|
|
246
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f").next();
|
|
247
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f").complete();
|
|
235
248
|
}
|
|
236
249
|
writeValue(value) {
|
|
237
250
|
this.value = value;
|
|
@@ -246,7 +259,7 @@ class SkyAutocompleteInputDirective {
|
|
|
246
259
|
this.onValidatorChange = fn;
|
|
247
260
|
}
|
|
248
261
|
restoreInputTextValueToPreviousState() {
|
|
249
|
-
const modelValue = this.
|
|
262
|
+
const modelValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
250
263
|
// If the search field contains text, make sure that the value
|
|
251
264
|
// matches the selected descriptor key.
|
|
252
265
|
if (this.inputTextValue !== modelValue) {
|
|
@@ -258,18 +271,18 @@ class SkyAutocompleteInputDirective {
|
|
|
258
271
|
this.disabled = disabled;
|
|
259
272
|
}
|
|
260
273
|
validate(control) {
|
|
261
|
-
if (!this
|
|
262
|
-
this
|
|
274
|
+
if (!__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f")) {
|
|
275
|
+
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_control, control, "f");
|
|
263
276
|
}
|
|
264
|
-
return;
|
|
277
|
+
return null;
|
|
265
278
|
}
|
|
266
279
|
// See: https://www.w3.org/TR/wai-aria-practices/#kbd_focus_activedescendant
|
|
267
280
|
setActiveDescendant(descendantId) {
|
|
268
281
|
if (descendantId) {
|
|
269
|
-
this.
|
|
282
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-activedescendant', descendantId);
|
|
270
283
|
}
|
|
271
284
|
else {
|
|
272
|
-
this.
|
|
285
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-activedescendant');
|
|
273
286
|
}
|
|
274
287
|
}
|
|
275
288
|
// Angular automatically constructs these methods.
|
|
@@ -277,17 +290,17 @@ class SkyAutocompleteInputDirective {
|
|
|
277
290
|
onChange(value) { }
|
|
278
291
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
279
292
|
onTouched() { }
|
|
280
|
-
setAttributes(element) {
|
|
281
|
-
this.renderer.setAttribute(element, 'autocomplete', this.autocompleteAttribute);
|
|
282
|
-
this.renderer.setAttribute(element, 'autocapitalize', 'none');
|
|
283
|
-
this.renderer.setAttribute(element, 'autocorrect', 'off');
|
|
284
|
-
this.renderer.setAttribute(element, 'spellcheck', 'false');
|
|
285
|
-
this.renderer.addClass(element, 'sky-form-control');
|
|
286
|
-
}
|
|
287
|
-
getValueByKey() {
|
|
288
|
-
return this.value ? this.value[this.displayWith] : undefined;
|
|
289
|
-
}
|
|
290
293
|
}
|
|
294
|
+
_SkyAutocompleteInputDirective_blur = new WeakMap(), _SkyAutocompleteInputDirective_control = new WeakMap(), _SkyAutocompleteInputDirective_elementRef = new WeakMap(), _SkyAutocompleteInputDirective_focus = new WeakMap(), _SkyAutocompleteInputDirective_isFirstChange = new WeakMap(), _SkyAutocompleteInputDirective_ngUnsubscribe = new WeakMap(), _SkyAutocompleteInputDirective_renderer = new WeakMap(), _SkyAutocompleteInputDirective_textChanges = new WeakMap(), _SkyAutocompleteInputDirective__autocompleteAttribute = new WeakMap(), _SkyAutocompleteInputDirective__blurObs = new WeakMap(), _SkyAutocompleteInputDirective__disabled = new WeakMap(), _SkyAutocompleteInputDirective__displayWith = new WeakMap(), _SkyAutocompleteInputDirective__focusObs = new WeakMap(), _SkyAutocompleteInputDirective__textChangesObs = new WeakMap(), _SkyAutocompleteInputDirective__value = new WeakMap(), _SkyAutocompleteInputDirective_instances = new WeakSet(), _SkyAutocompleteInputDirective_setAttributes = function _SkyAutocompleteInputDirective_setAttributes(elementRef) {
|
|
295
|
+
const element = elementRef.nativeElement;
|
|
296
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocomplete', this.autocompleteAttribute);
|
|
297
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocapitalize', 'none');
|
|
298
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocorrect', 'off');
|
|
299
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'spellcheck', 'false');
|
|
300
|
+
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").addClass(element, 'sky-form-control');
|
|
301
|
+
}, _SkyAutocompleteInputDirective_getValueByKey = function _SkyAutocompleteInputDirective_getValueByKey() {
|
|
302
|
+
return this.value ? this.value[this.displayWith] : undefined;
|
|
303
|
+
};
|
|
291
304
|
SkyAutocompleteInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
292
305
|
SkyAutocompleteInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: { autocompleteAttribute: "autocompleteAttribute", disabled: "disabled" }, providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR], ngImport: i0 });
|
|
293
306
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteInputDirective, decorators: [{
|
|
@@ -327,14 +340,16 @@ function normalizeDiacritics(value) {
|
|
|
327
340
|
return value.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
328
341
|
}
|
|
329
342
|
|
|
343
|
+
var _SkyAutocompleteAdapterService_coreAdapterService, _SkyAutocompleteAdapterService_renderer;
|
|
330
344
|
/**
|
|
331
345
|
* @internal
|
|
332
346
|
*/
|
|
333
347
|
class SkyAutocompleteAdapterService {
|
|
334
348
|
constructor(coreAdapterService, rendererFactory) {
|
|
335
|
-
this
|
|
336
|
-
this
|
|
337
|
-
this
|
|
349
|
+
_SkyAutocompleteAdapterService_coreAdapterService.set(this, void 0);
|
|
350
|
+
_SkyAutocompleteAdapterService_renderer.set(this, void 0);
|
|
351
|
+
__classPrivateFieldSet(this, _SkyAutocompleteAdapterService_coreAdapterService, coreAdapterService, "f");
|
|
352
|
+
__classPrivateFieldSet(this, _SkyAutocompleteAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
|
338
353
|
}
|
|
339
354
|
/**
|
|
340
355
|
* Adds the className for the provided element.
|
|
@@ -343,11 +358,11 @@ class SkyAutocompleteAdapterService {
|
|
|
343
358
|
/* Sanity check */
|
|
344
359
|
/* istanbul ignore else */
|
|
345
360
|
if (element) {
|
|
346
|
-
this.
|
|
361
|
+
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").addClass(element, className);
|
|
347
362
|
}
|
|
348
363
|
}
|
|
349
364
|
getOverlayFocusableElements(overlay) {
|
|
350
|
-
return this.
|
|
365
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteAdapterService_coreAdapterService, "f").getFocusableChildren(
|
|
351
366
|
/* Sanity check - calling function also has null check */
|
|
352
367
|
/* istanbul ignore next */
|
|
353
368
|
overlay?.componentRef.location.nativeElement, { ignoreTabIndex: true });
|
|
@@ -359,7 +374,7 @@ class SkyAutocompleteAdapterService {
|
|
|
359
374
|
/* Sanity check */
|
|
360
375
|
/* istanbul ignore else */
|
|
361
376
|
if (element) {
|
|
362
|
-
this.
|
|
377
|
+
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").removeClass(element, className);
|
|
363
378
|
}
|
|
364
379
|
}
|
|
365
380
|
setDropdownWidth(elementRef, dropdownRef, isInputBox) {
|
|
@@ -368,7 +383,7 @@ class SkyAutocompleteAdapterService {
|
|
|
368
383
|
: elementRef.nativeElement;
|
|
369
384
|
if (parentElement) {
|
|
370
385
|
const width = parentElement.getBoundingClientRect().width;
|
|
371
|
-
this.
|
|
386
|
+
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").setStyle(dropdownRef.nativeElement, 'width', `${width}px`);
|
|
372
387
|
}
|
|
373
388
|
}
|
|
374
389
|
/**
|
|
@@ -378,6 +393,7 @@ class SkyAutocompleteAdapterService {
|
|
|
378
393
|
element.tabIndex = tabIndex;
|
|
379
394
|
}
|
|
380
395
|
}
|
|
396
|
+
_SkyAutocompleteAdapterService_coreAdapterService = new WeakMap(), _SkyAutocompleteAdapterService_renderer = new WeakMap();
|
|
381
397
|
SkyAutocompleteAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteAdapterService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
382
398
|
SkyAutocompleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteAdapterService });
|
|
383
399
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteAdapterService, decorators: [{
|
|
@@ -437,15 +453,11 @@ var SkyAutocompleteMessageType;
|
|
|
437
453
|
SkyAutocompleteMessageType[SkyAutocompleteMessageType["RepositionDropdown"] = 1] = "RepositionDropdown";
|
|
438
454
|
})(SkyAutocompleteMessageType || (SkyAutocompleteMessageType = {}));
|
|
439
455
|
|
|
456
|
+
var _SkyAutocompleteComponent_instances, _SkyAutocompleteComponent_activeElementIndex, _SkyAutocompleteComponent_adapterService, _SkyAutocompleteComponent_affixer, _SkyAutocompleteComponent_affixService, _SkyAutocompleteComponent_changeDetector, _SkyAutocompleteComponent_elementRef, _SkyAutocompleteComponent_inputBoxHostSvc, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, _SkyAutocompleteComponent_messageStreamSub, _SkyAutocompleteComponent_ngUnsubscribe, _SkyAutocompleteComponent_overlay, _SkyAutocompleteComponent_overlayService, _SkyAutocompleteComponent_overlayFocusableElements, _SkyAutocompleteComponent_currentSearchSub, _SkyAutocompleteComponent__data, _SkyAutocompleteComponent__debounceTime, _SkyAutocompleteComponent__descriptorProperty, _SkyAutocompleteComponent__highlightText, _SkyAutocompleteComponent__inputDirective, _SkyAutocompleteComponent__messageStream, _SkyAutocompleteComponent__propertiesToSearch, _SkyAutocompleteComponent__resultsRef, _SkyAutocompleteComponent__search, _SkyAutocompleteComponent__searchResults, _SkyAutocompleteComponent__searchResultTemplate, _SkyAutocompleteComponent__searchResultsLimit, _SkyAutocompleteComponent__searchTextMinimumCharacters, _SkyAutocompleteComponent_searchTextChanged, _SkyAutocompleteComponent_performSearch, _SkyAutocompleteComponent_cancelCurrentSearch, _SkyAutocompleteComponent_getHighlightText, _SkyAutocompleteComponent_selectSearchResultById, _SkyAutocompleteComponent_openDropdown, _SkyAutocompleteComponent_closeDropdown, _SkyAutocompleteComponent_setActiveDescendant, _SkyAutocompleteComponent_removeActiveDescendant, _SkyAutocompleteComponent_resetSearch, _SkyAutocompleteComponent_addInputEventListeners, _SkyAutocompleteComponent_destroyOverlay, _SkyAutocompleteComponent_createAffixer, _SkyAutocompleteComponent_destroyAffixer, _SkyAutocompleteComponent_initMessageStream, _SkyAutocompleteComponent_initOverlayFocusableElements, _SkyAutocompleteComponent_getActiveElement, _SkyAutocompleteComponent_removeFocusedClass, _SkyAutocompleteComponent_addFocusedClass;
|
|
440
457
|
let uniqueId$1 = 0;
|
|
441
458
|
class SkyAutocompleteComponent {
|
|
442
459
|
constructor(changeDetector, elementRef, affixService, adapterService, overlayService, inputBoxHostSvc) {
|
|
443
|
-
this
|
|
444
|
-
this.elementRef = elementRef;
|
|
445
|
-
this.affixService = affixService;
|
|
446
|
-
this.adapterService = adapterService;
|
|
447
|
-
this.overlayService = overlayService;
|
|
448
|
-
this.inputBoxHostSvc = inputBoxHostSvc;
|
|
460
|
+
_SkyAutocompleteComponent_instances.add(this);
|
|
449
461
|
/**
|
|
450
462
|
* @internal
|
|
451
463
|
* Indicates whether to display a button in the dropdown that opens a picker where users can view all options.
|
|
@@ -472,26 +484,59 @@ class SkyAutocompleteComponent {
|
|
|
472
484
|
* Fires when users select the button to view all options.
|
|
473
485
|
*/
|
|
474
486
|
this.showMoreClick = new EventEmitter();
|
|
487
|
+
/**
|
|
488
|
+
* Fires when users select items in the dropdown list.
|
|
489
|
+
*/
|
|
490
|
+
this.selectionChange = new EventEmitter();
|
|
475
491
|
/**
|
|
476
492
|
* Fires when users enter new search information and allows results to be
|
|
477
493
|
* returned via an observable.
|
|
478
494
|
*/
|
|
479
495
|
this.searchAsync = new EventEmitter();
|
|
480
496
|
this.isOpen = false;
|
|
497
|
+
this.searchText = '';
|
|
481
498
|
this.isSearchingAsync = false;
|
|
482
499
|
/**
|
|
483
500
|
* Index that indicates which descendant of the overlay currently has focus.
|
|
484
501
|
*/
|
|
485
|
-
this
|
|
486
|
-
this
|
|
487
|
-
this
|
|
502
|
+
_SkyAutocompleteComponent_activeElementIndex.set(this, -1);
|
|
503
|
+
_SkyAutocompleteComponent_adapterService.set(this, void 0);
|
|
504
|
+
_SkyAutocompleteComponent_affixer.set(this, void 0);
|
|
505
|
+
_SkyAutocompleteComponent_affixService.set(this, void 0);
|
|
506
|
+
_SkyAutocompleteComponent_changeDetector.set(this, void 0);
|
|
507
|
+
_SkyAutocompleteComponent_elementRef.set(this, void 0);
|
|
508
|
+
_SkyAutocompleteComponent_inputBoxHostSvc.set(this, void 0);
|
|
509
|
+
_SkyAutocompleteComponent_inputDirectiveUnsubscribe.set(this, new Subject());
|
|
510
|
+
_SkyAutocompleteComponent_messageStreamSub.set(this, void 0);
|
|
511
|
+
_SkyAutocompleteComponent_ngUnsubscribe.set(this, new Subject());
|
|
512
|
+
_SkyAutocompleteComponent_overlay.set(this, void 0);
|
|
513
|
+
_SkyAutocompleteComponent_overlayService.set(this, void 0);
|
|
488
514
|
/**
|
|
489
515
|
* Elements within the autocomplete dropdown that are focusable.
|
|
490
516
|
* These are typically the search results and action buttons, but could also be
|
|
491
517
|
* elements provided in the consumer's own template.
|
|
492
518
|
*/
|
|
493
|
-
this
|
|
494
|
-
this
|
|
519
|
+
_SkyAutocompleteComponent_overlayFocusableElements.set(this, []);
|
|
520
|
+
_SkyAutocompleteComponent_currentSearchSub.set(this, void 0);
|
|
521
|
+
_SkyAutocompleteComponent__data.set(this, void 0);
|
|
522
|
+
_SkyAutocompleteComponent__debounceTime.set(this, void 0);
|
|
523
|
+
_SkyAutocompleteComponent__descriptorProperty.set(this, void 0);
|
|
524
|
+
_SkyAutocompleteComponent__highlightText.set(this, void 0);
|
|
525
|
+
_SkyAutocompleteComponent__inputDirective.set(this, void 0);
|
|
526
|
+
_SkyAutocompleteComponent__messageStream.set(this, new Subject());
|
|
527
|
+
_SkyAutocompleteComponent__propertiesToSearch.set(this, void 0);
|
|
528
|
+
_SkyAutocompleteComponent__resultsRef.set(this, void 0);
|
|
529
|
+
_SkyAutocompleteComponent__search.set(this, void 0);
|
|
530
|
+
_SkyAutocompleteComponent__searchResults.set(this, void 0);
|
|
531
|
+
_SkyAutocompleteComponent__searchResultTemplate.set(this, void 0);
|
|
532
|
+
_SkyAutocompleteComponent__searchResultsLimit.set(this, void 0);
|
|
533
|
+
_SkyAutocompleteComponent__searchTextMinimumCharacters.set(this, void 0);
|
|
534
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_changeDetector, changeDetector, "f");
|
|
535
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_elementRef, elementRef, "f");
|
|
536
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_affixService, affixService, "f");
|
|
537
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_adapterService, adapterService, "f");
|
|
538
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_overlayService, overlayService, "f");
|
|
539
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_inputBoxHostSvc, inputBoxHostSvc, "f");
|
|
495
540
|
const id = ++uniqueId$1;
|
|
496
541
|
this.resultsListId = `sky-autocomplete-list-${id}`;
|
|
497
542
|
this.resultsWrapperId = `sky-autocomplete-wrapper-${id}`;
|
|
@@ -502,10 +547,10 @@ class SkyAutocompleteComponent {
|
|
|
502
547
|
* changes due to server calls, use `search` or `searchAsync` instead.
|
|
503
548
|
*/
|
|
504
549
|
set data(value) {
|
|
505
|
-
this
|
|
550
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__data, value, "f");
|
|
506
551
|
}
|
|
507
552
|
get data() {
|
|
508
|
-
return this
|
|
553
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__data, "f") || [];
|
|
509
554
|
}
|
|
510
555
|
/**
|
|
511
556
|
* Specifies how many milliseconds to wait before searching while users
|
|
@@ -513,10 +558,10 @@ class SkyAutocompleteComponent {
|
|
|
513
558
|
* @default 0
|
|
514
559
|
*/
|
|
515
560
|
set debounceTime(value) {
|
|
516
|
-
this
|
|
561
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__debounceTime, value, "f");
|
|
517
562
|
}
|
|
518
563
|
get debounceTime() {
|
|
519
|
-
return this
|
|
564
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__debounceTime, "f") || 0;
|
|
520
565
|
}
|
|
521
566
|
/**
|
|
522
567
|
* Specifies an object property to display in the text input after users
|
|
@@ -524,31 +569,31 @@ class SkyAutocompleteComponent {
|
|
|
524
569
|
* @default "name"
|
|
525
570
|
*/
|
|
526
571
|
set descriptorProperty(value) {
|
|
527
|
-
this
|
|
572
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__descriptorProperty, value, "f");
|
|
528
573
|
}
|
|
529
574
|
get descriptorProperty() {
|
|
530
|
-
return this
|
|
575
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__descriptorProperty, "f") || 'name';
|
|
531
576
|
}
|
|
532
577
|
/**
|
|
533
578
|
* Specifies an observable of `SkyAutocompleteMessage` that can close the dropdown.
|
|
534
579
|
* @internal
|
|
535
580
|
*/
|
|
536
581
|
set messageStream(value) {
|
|
537
|
-
this
|
|
538
|
-
this.
|
|
582
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__messageStream, value ?? new Subject(), "f");
|
|
583
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_initMessageStream).call(this);
|
|
539
584
|
}
|
|
540
585
|
get messageStream() {
|
|
541
|
-
return this
|
|
586
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__messageStream, "f");
|
|
542
587
|
}
|
|
543
588
|
/**
|
|
544
589
|
* Specifies the object properties to search.
|
|
545
590
|
* @default ["name"]
|
|
546
591
|
*/
|
|
547
592
|
set propertiesToSearch(value) {
|
|
548
|
-
this
|
|
593
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__propertiesToSearch, value, "f");
|
|
549
594
|
}
|
|
550
595
|
get propertiesToSearch() {
|
|
551
|
-
return this
|
|
596
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__propertiesToSearch, "f") || ['name'];
|
|
552
597
|
}
|
|
553
598
|
/**
|
|
554
599
|
* Specifies a function to dynamically manage the data source when users
|
|
@@ -559,10 +604,10 @@ class SkyAutocompleteComponent {
|
|
|
559
604
|
* `search`.
|
|
560
605
|
*/
|
|
561
606
|
set search(value) {
|
|
562
|
-
this
|
|
607
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__search, value, "f");
|
|
563
608
|
}
|
|
564
609
|
get search() {
|
|
565
|
-
return (this
|
|
610
|
+
return (__classPrivateFieldGet(this, _SkyAutocompleteComponent__search, "f") ||
|
|
566
611
|
skyAutocompleteDefaultSearchFunction({
|
|
567
612
|
propertiesToSearch: this.propertiesToSearch,
|
|
568
613
|
searchFilters: this.searchFilters,
|
|
@@ -574,10 +619,10 @@ class SkyAutocompleteComponent {
|
|
|
574
619
|
* as `item` variables that reference all of the object properties of the search results.
|
|
575
620
|
*/
|
|
576
621
|
set searchResultTemplate(value) {
|
|
577
|
-
this
|
|
622
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__searchResultTemplate, value, "f");
|
|
578
623
|
}
|
|
579
624
|
get searchResultTemplate() {
|
|
580
|
-
return this
|
|
625
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResultTemplate, "f") || this.defaultSearchResultTemplate;
|
|
581
626
|
}
|
|
582
627
|
/**
|
|
583
628
|
* Specifies the minimum number of characters that users must enter before
|
|
@@ -586,11 +631,12 @@ class SkyAutocompleteComponent {
|
|
|
586
631
|
* @default 1
|
|
587
632
|
*/
|
|
588
633
|
set searchTextMinimumCharacters(value) {
|
|
589
|
-
this
|
|
634
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__searchTextMinimumCharacters, value, "f");
|
|
590
635
|
}
|
|
591
636
|
get searchTextMinimumCharacters() {
|
|
592
|
-
return this
|
|
593
|
-
|
|
637
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchTextMinimumCharacters, "f") &&
|
|
638
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent__searchTextMinimumCharacters, "f") > 0
|
|
639
|
+
? __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchTextMinimumCharacters, "f")
|
|
594
640
|
: 1;
|
|
595
641
|
}
|
|
596
642
|
/**
|
|
@@ -598,126 +644,117 @@ class SkyAutocompleteComponent {
|
|
|
598
644
|
* By default, the component displays all matching results.
|
|
599
645
|
*/
|
|
600
646
|
set searchResultsLimit(value) {
|
|
601
|
-
this
|
|
647
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__searchResultsLimit, value, "f");
|
|
602
648
|
}
|
|
603
649
|
get searchResultsLimit() {
|
|
604
|
-
if (this
|
|
605
|
-
return this
|
|
650
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResultsLimit, "f") && __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResultsLimit, "f") > 0) {
|
|
651
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResultsLimit, "f");
|
|
606
652
|
}
|
|
607
653
|
else {
|
|
608
|
-
return this.enableShowMore ? 5 : this
|
|
654
|
+
return this.enableShowMore ? 5 : __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResultsLimit, "f");
|
|
609
655
|
}
|
|
610
656
|
}
|
|
611
|
-
/**
|
|
612
|
-
* Fires when users select items in the dropdown list.
|
|
613
|
-
*/
|
|
614
|
-
get selectionChange() {
|
|
615
|
-
return this._selectionChange;
|
|
616
|
-
}
|
|
617
657
|
//#endregion
|
|
618
658
|
//#region template_properties
|
|
619
659
|
get searchResults() {
|
|
620
|
-
return this
|
|
660
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__searchResults, "f") || [];
|
|
661
|
+
}
|
|
662
|
+
set searchResults(value) {
|
|
663
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__searchResults, value, "f");
|
|
621
664
|
}
|
|
622
665
|
get highlightText() {
|
|
623
|
-
return this
|
|
666
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__highlightText, "f") || [];
|
|
667
|
+
}
|
|
668
|
+
set highlightText(value) {
|
|
669
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__highlightText, value, "f");
|
|
624
670
|
}
|
|
625
671
|
get showActionsArea() {
|
|
626
672
|
return this.showAddButton || this.enableShowMore;
|
|
627
673
|
}
|
|
628
674
|
set inputDirective(directive) {
|
|
629
|
-
if (
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
675
|
+
if (!directive) {
|
|
676
|
+
throw Error([
|
|
677
|
+
'The SkyAutocompleteComponent requires a ContentChild input or',
|
|
678
|
+
'textarea bound with the SkyAutocomplete directive. For example:',
|
|
679
|
+
'`<input type="text" skyAutocomplete>`.',
|
|
680
|
+
].join(' '));
|
|
681
|
+
}
|
|
682
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f") !== directive) {
|
|
637
683
|
// Unsubscribe from old subscriptions on any previous input directive
|
|
638
|
-
this.
|
|
639
|
-
this
|
|
640
|
-
this.
|
|
641
|
-
this.
|
|
642
|
-
.pipe(takeUntil(this
|
|
684
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f").next();
|
|
685
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__inputDirective, directive, "f");
|
|
686
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f").displayWith = this.descriptorProperty;
|
|
687
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f").textChanges
|
|
688
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f")), debounceTime(this.debounceTime), switchMap((change) => {
|
|
643
689
|
this.isSearchingAsync = true;
|
|
644
690
|
return of(change);
|
|
645
691
|
}))
|
|
646
692
|
.subscribe((change) => {
|
|
647
|
-
this.
|
|
693
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_searchTextChanged).call(this, change.value);
|
|
648
694
|
});
|
|
649
|
-
this.
|
|
650
|
-
.pipe(takeUntil(this
|
|
695
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f").blur
|
|
696
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f")))
|
|
651
697
|
.subscribe(() => {
|
|
652
|
-
|
|
653
|
-
this.
|
|
654
|
-
|
|
698
|
+
directive.restoreInputTextValueToPreviousState();
|
|
699
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
700
|
+
directive.onTouched();
|
|
655
701
|
});
|
|
656
|
-
this.
|
|
657
|
-
.pipe(takeUntil(this
|
|
702
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f").focus
|
|
703
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f")))
|
|
658
704
|
.subscribe(() => {
|
|
659
705
|
if (this.showActionsArea) {
|
|
660
|
-
this.
|
|
706
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_openDropdown).call(this);
|
|
661
707
|
}
|
|
662
708
|
});
|
|
663
709
|
}
|
|
664
710
|
}
|
|
665
711
|
get inputDirective() {
|
|
666
|
-
return this
|
|
712
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__inputDirective, "f");
|
|
667
713
|
}
|
|
668
714
|
set resultsRef(value) {
|
|
669
715
|
if (value) {
|
|
670
|
-
this
|
|
671
|
-
this.
|
|
672
|
-
this.
|
|
716
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent__resultsRef, value, "f");
|
|
717
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_destroyAffixer).call(this);
|
|
718
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_createAffixer).call(this);
|
|
673
719
|
}
|
|
674
720
|
}
|
|
675
721
|
get resultsRef() {
|
|
676
|
-
return this
|
|
677
|
-
}
|
|
678
|
-
ngAfterContentInit() {
|
|
679
|
-
if (!this.inputDirective) {
|
|
680
|
-
throw Error([
|
|
681
|
-
'The SkyAutocompleteComponent requires a ContentChild input or',
|
|
682
|
-
'textarea bound with the SkyAutocomplete directive. For example:',
|
|
683
|
-
'`<input type="text" skyAutocomplete>`.',
|
|
684
|
-
].join(' '));
|
|
685
|
-
}
|
|
722
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent__resultsRef, "f");
|
|
686
723
|
}
|
|
687
724
|
ngAfterViewInit() {
|
|
688
|
-
this.
|
|
725
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_addInputEventListeners).call(this);
|
|
689
726
|
}
|
|
690
727
|
ngOnDestroy() {
|
|
691
|
-
this.
|
|
692
|
-
this.
|
|
693
|
-
this.
|
|
694
|
-
this.
|
|
695
|
-
this.
|
|
696
|
-
this.
|
|
697
|
-
this.
|
|
728
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_cancelCurrentSearch).call(this);
|
|
729
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f").next();
|
|
730
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputDirectiveUnsubscribe, "f").complete();
|
|
731
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_ngUnsubscribe, "f").next();
|
|
732
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_ngUnsubscribe, "f").complete();
|
|
733
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_destroyAffixer).call(this);
|
|
734
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_destroyOverlay).call(this);
|
|
698
735
|
}
|
|
699
736
|
addButtonClicked() {
|
|
700
737
|
this.addClick.emit();
|
|
701
738
|
this.inputDirective.restoreInputTextValueToPreviousState();
|
|
702
|
-
this.
|
|
739
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
703
740
|
}
|
|
704
741
|
handleKeydown(event) {
|
|
705
742
|
/* Sanity check */
|
|
706
743
|
/* istanbul ignore else */
|
|
707
744
|
if (event.key) {
|
|
708
745
|
const key = event.key.toLowerCase();
|
|
709
|
-
const activeElement = this.
|
|
746
|
+
const activeElement = __classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_getActiveElement).call(this);
|
|
710
747
|
const activeElementId = activeElement?.id;
|
|
711
748
|
const targetIsSearchResult = this.searchResults.find((r) => r.elementId === activeElementId);
|
|
712
749
|
switch (key) {
|
|
713
750
|
case 'enter':
|
|
714
751
|
if (targetIsSearchResult) {
|
|
715
|
-
this.
|
|
752
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_selectSearchResultById).call(this, activeElementId);
|
|
716
753
|
if (!this.showActionsArea) {
|
|
717
|
-
this.
|
|
754
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
718
755
|
}
|
|
719
756
|
else {
|
|
720
|
-
this.
|
|
757
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_resetSearch).call(this);
|
|
721
758
|
}
|
|
722
759
|
}
|
|
723
760
|
else {
|
|
@@ -730,43 +767,43 @@ class SkyAutocompleteComponent {
|
|
|
730
767
|
break;
|
|
731
768
|
case 'tab':
|
|
732
769
|
if (targetIsSearchResult) {
|
|
733
|
-
this.
|
|
770
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_selectSearchResultById).call(this, activeElementId);
|
|
734
771
|
}
|
|
735
772
|
else {
|
|
736
773
|
this.inputDirective.restoreInputTextValueToPreviousState();
|
|
737
774
|
}
|
|
738
|
-
this.
|
|
775
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
739
776
|
break;
|
|
740
777
|
case 'escape':
|
|
741
|
-
this.
|
|
778
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
742
779
|
break;
|
|
743
780
|
case 'arrowdown':
|
|
744
781
|
case 'down':
|
|
745
|
-
this.
|
|
746
|
-
if (this
|
|
747
|
-
this.
|
|
748
|
-
this
|
|
749
|
-
this
|
|
782
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeFocusedClass).call(this);
|
|
783
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") ===
|
|
784
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f").length - 1 ||
|
|
785
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") === -1) {
|
|
786
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, 0, "f");
|
|
750
787
|
}
|
|
751
788
|
else {
|
|
752
|
-
this
|
|
789
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, __classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") + 1, "f");
|
|
753
790
|
}
|
|
754
|
-
this.
|
|
755
|
-
this.
|
|
791
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_addFocusedClass).call(this);
|
|
792
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
756
793
|
event.preventDefault();
|
|
757
794
|
event.stopPropagation();
|
|
758
795
|
break;
|
|
759
796
|
case 'arrowup':
|
|
760
797
|
case 'up':
|
|
761
|
-
this.
|
|
762
|
-
if (this
|
|
763
|
-
this
|
|
798
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeFocusedClass).call(this);
|
|
799
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") <= 0) {
|
|
800
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, __classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f").length - 1, "f");
|
|
764
801
|
}
|
|
765
802
|
else {
|
|
766
|
-
this
|
|
803
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, __classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") - 1, "f");
|
|
767
804
|
}
|
|
768
|
-
this.
|
|
769
|
-
this.
|
|
805
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_addFocusedClass).call(this);
|
|
806
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
770
807
|
event.preventDefault();
|
|
771
808
|
event.stopPropagation();
|
|
772
809
|
break;
|
|
@@ -776,310 +813,284 @@ class SkyAutocompleteComponent {
|
|
|
776
813
|
moreButtonClicked() {
|
|
777
814
|
this.showMoreClick.emit({ inputValue: this.searchText });
|
|
778
815
|
this.inputDirective.restoreInputTextValueToPreviousState();
|
|
779
|
-
this.
|
|
816
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
780
817
|
}
|
|
781
818
|
onResultMouseDown(id, event) {
|
|
782
|
-
this.
|
|
819
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_selectSearchResultById).call(this, id);
|
|
783
820
|
if (!this.showActionsArea) {
|
|
784
|
-
this.
|
|
821
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
785
822
|
}
|
|
786
823
|
else {
|
|
787
|
-
this.
|
|
824
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_resetSearch).call(this);
|
|
788
825
|
}
|
|
789
826
|
event.preventDefault();
|
|
790
827
|
event.stopPropagation();
|
|
791
828
|
}
|
|
792
829
|
onResultMouseMove(id) {
|
|
793
|
-
if (id !== this
|
|
794
|
-
this.
|
|
795
|
-
this
|
|
796
|
-
this.
|
|
797
|
-
this.
|
|
830
|
+
if (id !== __classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")) {
|
|
831
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeFocusedClass).call(this);
|
|
832
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, id, "f");
|
|
833
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_addFocusedClass).call(this);
|
|
834
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
798
835
|
}
|
|
799
836
|
}
|
|
800
837
|
isElementFocused(ref) {
|
|
801
|
-
return ref === this
|
|
838
|
+
return ref === __classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f")[__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")];
|
|
802
839
|
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
}
|
|
813
|
-
if (!this.showActionsArea) {
|
|
814
|
-
this.closeDropdown();
|
|
815
|
-
}
|
|
816
|
-
else {
|
|
817
|
-
this.resetSearch();
|
|
818
|
-
}
|
|
819
|
-
this.isSearchingAsync = false;
|
|
820
|
-
this.changeDetector.markForCheck();
|
|
821
|
-
return;
|
|
822
|
-
}
|
|
823
|
-
const isLongEnough = searchText.length >= this.searchTextMinimumCharacters;
|
|
824
|
-
const isDifferent = searchText !== this.searchText;
|
|
825
|
-
this.searchText = searchText.trim();
|
|
826
|
-
if (isLongEnough && isDifferent) {
|
|
827
|
-
this.cancelCurrentSearch();
|
|
828
|
-
this.currentSearchSub = this.performSearch()
|
|
829
|
-
.pipe(take(1))
|
|
830
|
-
.subscribe((result) => {
|
|
831
|
-
const items = result.items.filter((item) => {
|
|
832
|
-
return item && this.descriptorProperty in item;
|
|
833
|
-
});
|
|
834
|
-
this.isSearchingAsync = false;
|
|
835
|
-
this._searchResults = items.map((r, i) => {
|
|
836
|
-
const result = {
|
|
837
|
-
elementId: `${this.resultsListId}-item-${i}`,
|
|
838
|
-
data: r,
|
|
839
|
-
};
|
|
840
|
-
return result;
|
|
841
|
-
});
|
|
842
|
-
this.searchResultsCount = result.totalCount;
|
|
843
|
-
this._highlightText = this.getHighlightText(this.searchText);
|
|
844
|
-
this.removeFocusedClass();
|
|
845
|
-
this.removeActiveDescendant();
|
|
846
|
-
if (this.searchResults.length > 0) {
|
|
847
|
-
this.activeElementIndex = 0;
|
|
848
|
-
}
|
|
849
|
-
else {
|
|
850
|
-
this.activeElementIndex = -1;
|
|
851
|
-
}
|
|
852
|
-
this.changeDetector.markForCheck();
|
|
853
|
-
if (this.isOpen) {
|
|
854
|
-
// Let the results populate in the DOM before recalculating placement.
|
|
855
|
-
setTimeout(() => {
|
|
856
|
-
this.affixer.reaffix();
|
|
857
|
-
this.changeDetector.detectChanges();
|
|
858
|
-
this.initOverlayFocusableElements();
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
else {
|
|
862
|
-
this.openDropdown();
|
|
863
|
-
this.changeDetector.markForCheck();
|
|
864
|
-
}
|
|
865
|
-
});
|
|
866
|
-
}
|
|
867
|
-
else {
|
|
868
|
-
this.isSearchingAsync = false;
|
|
869
|
-
this.changeDetector.markForCheck();
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
performSearch() {
|
|
873
|
-
if (!this.searchAsyncDisabled && this.searchAsync.observers.length > 0) {
|
|
874
|
-
const searchAsyncArgs = {
|
|
875
|
-
displayType: 'popover',
|
|
876
|
-
offset: 0,
|
|
877
|
-
searchText: this.searchText,
|
|
878
|
-
};
|
|
879
|
-
this.searchAsync.emit(searchAsyncArgs);
|
|
880
|
-
return searchAsyncArgs.result;
|
|
881
|
-
}
|
|
882
|
-
const result = this.search(this.searchText, this.data);
|
|
883
|
-
if (result instanceof Array) {
|
|
884
|
-
return of({
|
|
885
|
-
items: result,
|
|
886
|
-
totalCount: result.length,
|
|
840
|
+
}
|
|
841
|
+
_SkyAutocompleteComponent_activeElementIndex = new WeakMap(), _SkyAutocompleteComponent_adapterService = new WeakMap(), _SkyAutocompleteComponent_affixer = new WeakMap(), _SkyAutocompleteComponent_affixService = new WeakMap(), _SkyAutocompleteComponent_changeDetector = new WeakMap(), _SkyAutocompleteComponent_elementRef = new WeakMap(), _SkyAutocompleteComponent_inputBoxHostSvc = new WeakMap(), _SkyAutocompleteComponent_inputDirectiveUnsubscribe = new WeakMap(), _SkyAutocompleteComponent_messageStreamSub = new WeakMap(), _SkyAutocompleteComponent_ngUnsubscribe = new WeakMap(), _SkyAutocompleteComponent_overlay = new WeakMap(), _SkyAutocompleteComponent_overlayService = new WeakMap(), _SkyAutocompleteComponent_overlayFocusableElements = new WeakMap(), _SkyAutocompleteComponent_currentSearchSub = new WeakMap(), _SkyAutocompleteComponent__data = new WeakMap(), _SkyAutocompleteComponent__debounceTime = new WeakMap(), _SkyAutocompleteComponent__descriptorProperty = new WeakMap(), _SkyAutocompleteComponent__highlightText = new WeakMap(), _SkyAutocompleteComponent__inputDirective = new WeakMap(), _SkyAutocompleteComponent__messageStream = new WeakMap(), _SkyAutocompleteComponent__propertiesToSearch = new WeakMap(), _SkyAutocompleteComponent__resultsRef = new WeakMap(), _SkyAutocompleteComponent__search = new WeakMap(), _SkyAutocompleteComponent__searchResults = new WeakMap(), _SkyAutocompleteComponent__searchResultTemplate = new WeakMap(), _SkyAutocompleteComponent__searchResultsLimit = new WeakMap(), _SkyAutocompleteComponent__searchTextMinimumCharacters = new WeakMap(), _SkyAutocompleteComponent_instances = new WeakSet(), _SkyAutocompleteComponent_searchTextChanged = function _SkyAutocompleteComponent_searchTextChanged(searchText) {
|
|
842
|
+
const isEmpty = !searchText || !searchText.trim() || searchText.match(/^\s+$/);
|
|
843
|
+
if (isEmpty) {
|
|
844
|
+
// Emit selectionChange if value has been cleared.
|
|
845
|
+
if (this.inputDirective.value) {
|
|
846
|
+
this.inputDirective.value = undefined;
|
|
847
|
+
this.selectionChange.emit({
|
|
848
|
+
selectedItem: undefined,
|
|
887
849
|
});
|
|
888
850
|
}
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
items,
|
|
892
|
-
totalCount: items.length,
|
|
893
|
-
};
|
|
894
|
-
}));
|
|
895
|
-
}
|
|
896
|
-
cancelCurrentSearch() {
|
|
897
|
-
if (this.currentSearchSub) {
|
|
898
|
-
this.currentSearchSub.unsubscribe();
|
|
899
|
-
this.currentSearchSub = undefined;
|
|
851
|
+
if (!this.showActionsArea) {
|
|
852
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
900
853
|
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
* Returns the text to highlight based on exact matches, case-insensitive matches, and matches for corresponding diacritical characters (a will match à).
|
|
904
|
-
*/
|
|
905
|
-
getHighlightText(searchText) {
|
|
906
|
-
const normalizedSearchText = normalizeDiacritics(searchText)
|
|
907
|
-
.toLocaleUpperCase()
|
|
908
|
-
.trim();
|
|
909
|
-
if (!normalizedSearchText) {
|
|
910
|
-
return [];
|
|
911
|
-
}
|
|
912
|
-
let matchesToHighlight = [];
|
|
913
|
-
for (let i = 0, n = this._searchResults.length; i < n; i++) {
|
|
914
|
-
const value = this._searchResults[i].data[this.descriptorProperty]
|
|
915
|
-
.toString()
|
|
916
|
-
.toLocaleUpperCase();
|
|
917
|
-
const normalizedDataValue = normalizeDiacritics(value);
|
|
918
|
-
let offset = 0;
|
|
919
|
-
let index;
|
|
920
|
-
while ((index = normalizedDataValue.indexOf(normalizedSearchText, offset)) > -1) {
|
|
921
|
-
const matchedString = value.slice(index, index + searchText.length);
|
|
922
|
-
offset = index + searchText.length;
|
|
923
|
-
matchesToHighlight = matchesToHighlight.concat(matchedString);
|
|
924
|
-
}
|
|
854
|
+
else {
|
|
855
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_resetSearch).call(this);
|
|
925
856
|
}
|
|
926
|
-
|
|
927
|
-
|
|
857
|
+
this.isSearchingAsync = false;
|
|
858
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
859
|
+
return;
|
|
928
860
|
}
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
861
|
+
const isLongEnough = searchText.length >= this.searchTextMinimumCharacters;
|
|
862
|
+
const isDifferent = searchText !== this.searchText;
|
|
863
|
+
this.searchText = searchText.trim();
|
|
864
|
+
if (isLongEnough && isDifferent) {
|
|
865
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_cancelCurrentSearch).call(this);
|
|
866
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_currentSearchSub, __classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_performSearch).call(this)
|
|
867
|
+
.pipe(take(1))
|
|
868
|
+
.subscribe((result) => {
|
|
869
|
+
const items = result.items.filter((item) => {
|
|
870
|
+
return item && this.descriptorProperty in item;
|
|
938
871
|
});
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
wrapperClass: this.wrapperClass,
|
|
872
|
+
this.isSearchingAsync = false;
|
|
873
|
+
this.searchResults = items.map((r, i) => {
|
|
874
|
+
const result = {
|
|
875
|
+
elementId: `${this.resultsListId}-item-${i}`,
|
|
876
|
+
data: r,
|
|
877
|
+
};
|
|
878
|
+
return result;
|
|
947
879
|
});
|
|
948
|
-
|
|
949
|
-
this.
|
|
950
|
-
this
|
|
951
|
-
this.
|
|
952
|
-
this.
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
this.removeActiveDescendant();
|
|
960
|
-
this.changeDetector.markForCheck();
|
|
961
|
-
}
|
|
962
|
-
setActiveDescendant() {
|
|
963
|
-
const activeElement = this.overlayFocusableElements[this.activeElementIndex];
|
|
964
|
-
/* Sanity check */
|
|
965
|
-
/* istanbul ignore else */
|
|
966
|
-
if (activeElement) {
|
|
967
|
-
this.inputDirective.setActiveDescendant(activeElement.id);
|
|
968
|
-
}
|
|
969
|
-
}
|
|
970
|
-
removeActiveDescendant() {
|
|
971
|
-
this.inputDirective.setActiveDescendant(null);
|
|
972
|
-
}
|
|
973
|
-
resetSearch() {
|
|
974
|
-
this._searchResults = [];
|
|
975
|
-
this.searchText = '';
|
|
976
|
-
this._highlightText = [];
|
|
977
|
-
this.activeElementIndex = -1;
|
|
978
|
-
this.searchResultsCount = undefined;
|
|
979
|
-
this.removeActiveDescendant();
|
|
980
|
-
this.initOverlayFocusableElements();
|
|
981
|
-
this.changeDetector.markForCheck();
|
|
982
|
-
}
|
|
983
|
-
addInputEventListeners() {
|
|
984
|
-
const element = this.elementRef.nativeElement;
|
|
985
|
-
fromEvent(element, 'keydown')
|
|
986
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
987
|
-
.subscribe((event) => {
|
|
988
|
-
this.handleKeydown(event);
|
|
989
|
-
});
|
|
990
|
-
fromEvent(window, 'resize')
|
|
991
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
992
|
-
.subscribe(() => {
|
|
993
|
-
/* istanbul ignore else */
|
|
880
|
+
this.searchResultsCount = result.totalCount;
|
|
881
|
+
this.highlightText = __classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_getHighlightText).call(this, this.searchText);
|
|
882
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeFocusedClass).call(this);
|
|
883
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeActiveDescendant).call(this);
|
|
884
|
+
if (this.searchResults.length > 0) {
|
|
885
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, 0, "f");
|
|
886
|
+
}
|
|
887
|
+
else {
|
|
888
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, -1, "f");
|
|
889
|
+
}
|
|
890
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
994
891
|
if (this.isOpen) {
|
|
995
|
-
|
|
892
|
+
// Let the results populate in the DOM before recalculating placement.
|
|
893
|
+
setTimeout(() => {
|
|
894
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f").reaffix();
|
|
895
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").detectChanges();
|
|
896
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_initOverlayFocusableElements).call(this);
|
|
897
|
+
});
|
|
996
898
|
}
|
|
899
|
+
else {
|
|
900
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_openDropdown).call(this);
|
|
901
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
902
|
+
}
|
|
903
|
+
}), "f");
|
|
904
|
+
}
|
|
905
|
+
else {
|
|
906
|
+
this.isSearchingAsync = false;
|
|
907
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
908
|
+
}
|
|
909
|
+
}, _SkyAutocompleteComponent_performSearch = function _SkyAutocompleteComponent_performSearch() {
|
|
910
|
+
if (!this.searchAsyncDisabled && this.searchAsync.observers.length > 0) {
|
|
911
|
+
const searchAsyncArgs = {
|
|
912
|
+
displayType: 'popover',
|
|
913
|
+
offset: 0,
|
|
914
|
+
searchText: this.searchText,
|
|
915
|
+
};
|
|
916
|
+
this.searchAsync.emit(searchAsyncArgs);
|
|
917
|
+
return searchAsyncArgs.result;
|
|
918
|
+
}
|
|
919
|
+
const result = this.search(this.searchText, this.data);
|
|
920
|
+
if (result instanceof Array) {
|
|
921
|
+
return of({
|
|
922
|
+
items: result,
|
|
923
|
+
totalCount: result.length,
|
|
997
924
|
});
|
|
998
925
|
}
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
}
|
|
926
|
+
return from(result).pipe(map((items) => {
|
|
927
|
+
return {
|
|
928
|
+
items,
|
|
929
|
+
totalCount: items.length,
|
|
930
|
+
};
|
|
931
|
+
}));
|
|
932
|
+
}, _SkyAutocompleteComponent_cancelCurrentSearch = function _SkyAutocompleteComponent_cancelCurrentSearch() {
|
|
933
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_currentSearchSub, "f")) {
|
|
934
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_currentSearchSub, "f").unsubscribe();
|
|
935
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_currentSearchSub, undefined, "f");
|
|
936
|
+
}
|
|
937
|
+
}, _SkyAutocompleteComponent_getHighlightText = function _SkyAutocompleteComponent_getHighlightText(searchText) {
|
|
938
|
+
const normalizedSearchText = normalizeDiacritics(searchText)
|
|
939
|
+
.toLocaleUpperCase()
|
|
940
|
+
.trim();
|
|
941
|
+
if (!normalizedSearchText) {
|
|
942
|
+
return [];
|
|
943
|
+
}
|
|
944
|
+
let matchesToHighlight = [];
|
|
945
|
+
for (let i = 0, n = this.searchResults.length; i < n; i++) {
|
|
946
|
+
const value = this.searchResults[i].data[this.descriptorProperty]
|
|
947
|
+
.toString()
|
|
948
|
+
.toLocaleUpperCase();
|
|
949
|
+
const normalizedDataValue = normalizeDiacritics(value);
|
|
950
|
+
let offset = 0;
|
|
951
|
+
let index;
|
|
952
|
+
while ((index = normalizedDataValue.indexOf(normalizedSearchText, offset)) > -1) {
|
|
953
|
+
const matchedString = value.slice(index, index + searchText.length);
|
|
954
|
+
offset = index + searchText.length;
|
|
955
|
+
matchesToHighlight = matchesToHighlight.concat(matchedString);
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
// Remove any duplicates from the array.
|
|
959
|
+
return [...new Set(matchesToHighlight)];
|
|
960
|
+
}, _SkyAutocompleteComponent_selectSearchResultById = function _SkyAutocompleteComponent_selectSearchResultById(id) {
|
|
961
|
+
const result = this.searchResults.find((r) => r.elementId === id);
|
|
962
|
+
/* istanbul ignore else */
|
|
963
|
+
if (result) {
|
|
964
|
+
const data = result.data;
|
|
965
|
+
this.searchText = data[this.descriptorProperty];
|
|
966
|
+
this.inputDirective.value = data;
|
|
967
|
+
this.selectionChange.emit({
|
|
968
|
+
selectedItem: data,
|
|
969
|
+
});
|
|
1004
970
|
}
|
|
1005
|
-
|
|
1006
|
-
|
|
971
|
+
}, _SkyAutocompleteComponent_openDropdown = function _SkyAutocompleteComponent_openDropdown() {
|
|
972
|
+
if (!__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlay, "f")) {
|
|
973
|
+
const overlay = __classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayService, "f").create({
|
|
974
|
+
enableClose: false,
|
|
975
|
+
enablePointerEvents: true,
|
|
976
|
+
wrapperClass: this.wrapperClass,
|
|
977
|
+
});
|
|
978
|
+
overlay.attachTemplate(this.resultsTemplateRef);
|
|
979
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_overlay, overlay, "f");
|
|
980
|
+
this.isOpen = true;
|
|
981
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
982
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_initOverlayFocusableElements).call(this);
|
|
983
|
+
}
|
|
984
|
+
}, _SkyAutocompleteComponent_closeDropdown = function _SkyAutocompleteComponent_closeDropdown() {
|
|
985
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_resetSearch).call(this);
|
|
986
|
+
this.isOpen = false;
|
|
987
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_destroyOverlay).call(this);
|
|
988
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeActiveDescendant).call(this);
|
|
989
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
990
|
+
}, _SkyAutocompleteComponent_setActiveDescendant = function _SkyAutocompleteComponent_setActiveDescendant() {
|
|
991
|
+
const activeElement = __classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f")[__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")];
|
|
992
|
+
/* Sanity check */
|
|
993
|
+
/* istanbul ignore else */
|
|
994
|
+
if (activeElement) {
|
|
995
|
+
this.inputDirective.setActiveDescendant(activeElement.id);
|
|
996
|
+
}
|
|
997
|
+
}, _SkyAutocompleteComponent_removeActiveDescendant = function _SkyAutocompleteComponent_removeActiveDescendant() {
|
|
998
|
+
this.inputDirective.setActiveDescendant(null);
|
|
999
|
+
}, _SkyAutocompleteComponent_resetSearch = function _SkyAutocompleteComponent_resetSearch() {
|
|
1000
|
+
this.searchResults = [];
|
|
1001
|
+
this.searchText = '';
|
|
1002
|
+
this.highlightText = [];
|
|
1003
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_activeElementIndex, -1, "f");
|
|
1004
|
+
this.searchResultsCount = undefined;
|
|
1005
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_removeActiveDescendant).call(this);
|
|
1006
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_initOverlayFocusableElements).call(this);
|
|
1007
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_changeDetector, "f").markForCheck();
|
|
1008
|
+
}, _SkyAutocompleteComponent_addInputEventListeners = function _SkyAutocompleteComponent_addInputEventListeners() {
|
|
1009
|
+
const element = __classPrivateFieldGet(this, _SkyAutocompleteComponent_elementRef, "f").nativeElement;
|
|
1010
|
+
fromEvent(element, 'keydown')
|
|
1011
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteComponent_ngUnsubscribe, "f")))
|
|
1012
|
+
.subscribe((event) => {
|
|
1013
|
+
this.handleKeydown(event);
|
|
1014
|
+
});
|
|
1015
|
+
fromEvent(window, 'resize')
|
|
1016
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteComponent_ngUnsubscribe, "f")))
|
|
1017
|
+
.subscribe(() => {
|
|
1007
1018
|
/* istanbul ignore else */
|
|
1008
|
-
if (
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
if (this.messageStreamSub) {
|
|
1030
|
-
this.messageStreamSub.unsubscribe();
|
|
1031
|
-
}
|
|
1032
|
-
if (this.messageStream) {
|
|
1033
|
-
this.messageStreamSub = this.messageStream
|
|
1034
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1035
|
-
.subscribe((message) => {
|
|
1036
|
-
switch (message.type) {
|
|
1037
|
-
case SkyAutocompleteMessageType.CloseDropdown:
|
|
1038
|
-
this.closeDropdown();
|
|
1039
|
-
break;
|
|
1040
|
-
case SkyAutocompleteMessageType.RepositionDropdown:
|
|
1041
|
-
// Settimeout waits for changes in DOM (e.g., tokens being removed)
|
|
1042
|
-
setTimeout(() => {
|
|
1043
|
-
/* istanbul ignore else */
|
|
1044
|
-
if (this.affixer) {
|
|
1045
|
-
this.affixer.reaffix();
|
|
1046
|
-
}
|
|
1047
|
-
});
|
|
1048
|
-
break;
|
|
1049
|
-
}
|
|
1050
|
-
});
|
|
1051
|
-
}
|
|
1052
|
-
}
|
|
1053
|
-
initOverlayFocusableElements() {
|
|
1054
|
-
// Wait for dropdown elements to render.
|
|
1055
|
-
setTimeout(() => {
|
|
1056
|
-
if (this.overlay) {
|
|
1057
|
-
this.overlayFocusableElements =
|
|
1058
|
-
this.adapterService.getOverlayFocusableElements(this.overlay);
|
|
1059
|
-
this.overlayFocusableElements.forEach((el) => {
|
|
1060
|
-
this.adapterService.setTabIndex(el, -1);
|
|
1061
|
-
});
|
|
1062
|
-
this.addFocusedClass();
|
|
1063
|
-
}
|
|
1019
|
+
if (this.isOpen && this.resultsRef) {
|
|
1020
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").setDropdownWidth(__classPrivateFieldGet(this, _SkyAutocompleteComponent_elementRef, "f"), this.resultsRef, !!__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputBoxHostSvc, "f"));
|
|
1021
|
+
}
|
|
1022
|
+
});
|
|
1023
|
+
}, _SkyAutocompleteComponent_destroyOverlay = function _SkyAutocompleteComponent_destroyOverlay() {
|
|
1024
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlay, "f")) {
|
|
1025
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayService, "f").close(__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlay, "f"));
|
|
1026
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_overlay, undefined, "f");
|
|
1027
|
+
}
|
|
1028
|
+
}, _SkyAutocompleteComponent_createAffixer = function _SkyAutocompleteComponent_createAffixer() {
|
|
1029
|
+
/* Sanity check */
|
|
1030
|
+
/* istanbul ignore else */
|
|
1031
|
+
if (!__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f") && this.resultsRef) {
|
|
1032
|
+
const affixer = __classPrivateFieldGet(this, _SkyAutocompleteComponent_affixService, "f").createAffixer(this.resultsRef);
|
|
1033
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").setDropdownWidth(__classPrivateFieldGet(this, _SkyAutocompleteComponent_elementRef, "f"), this.resultsRef, !!__classPrivateFieldGet(this, _SkyAutocompleteComponent_inputBoxHostSvc, "f"));
|
|
1034
|
+
affixer.affixTo(__classPrivateFieldGet(this, _SkyAutocompleteComponent_elementRef, "f").nativeElement, {
|
|
1035
|
+
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
|
1036
|
+
enableAutoFit: true,
|
|
1037
|
+
isSticky: true,
|
|
1038
|
+
placement: 'below',
|
|
1039
|
+
horizontalAlignment: 'left',
|
|
1064
1040
|
});
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1041
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_affixer, affixer, "f");
|
|
1042
|
+
}
|
|
1043
|
+
}, _SkyAutocompleteComponent_destroyAffixer = function _SkyAutocompleteComponent_destroyAffixer() {
|
|
1044
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f")) {
|
|
1045
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f").destroy();
|
|
1046
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_affixer, undefined, "f");
|
|
1047
|
+
}
|
|
1048
|
+
}, _SkyAutocompleteComponent_initMessageStream = function _SkyAutocompleteComponent_initMessageStream() {
|
|
1049
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_messageStreamSub, "f")) {
|
|
1050
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_messageStreamSub, "f").unsubscribe();
|
|
1051
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_messageStreamSub, undefined, "f");
|
|
1052
|
+
}
|
|
1053
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_messageStreamSub, this.messageStream.subscribe((message) => {
|
|
1054
|
+
switch (message.type) {
|
|
1055
|
+
case SkyAutocompleteMessageType.CloseDropdown:
|
|
1056
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_closeDropdown).call(this);
|
|
1057
|
+
break;
|
|
1058
|
+
case SkyAutocompleteMessageType.RepositionDropdown:
|
|
1059
|
+
// Settimeout waits for changes in DOM (e.g., tokens being removed)
|
|
1060
|
+
setTimeout(() => {
|
|
1061
|
+
/* istanbul ignore else */
|
|
1062
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f")) {
|
|
1063
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_affixer, "f").reaffix();
|
|
1064
|
+
}
|
|
1065
|
+
});
|
|
1066
|
+
break;
|
|
1067
|
+
}
|
|
1068
|
+
}), "f");
|
|
1069
|
+
}, _SkyAutocompleteComponent_initOverlayFocusableElements = function _SkyAutocompleteComponent_initOverlayFocusableElements() {
|
|
1070
|
+
// Wait for dropdown elements to render.
|
|
1071
|
+
setTimeout(() => {
|
|
1072
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlay, "f")) {
|
|
1073
|
+
__classPrivateFieldSet(this, _SkyAutocompleteComponent_overlayFocusableElements, __classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").getOverlayFocusableElements(__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlay, "f")), "f");
|
|
1074
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f").forEach((el) => {
|
|
1075
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").setTabIndex(el, -1);
|
|
1076
|
+
});
|
|
1077
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_addFocusedClass).call(this);
|
|
1072
1078
|
}
|
|
1079
|
+
});
|
|
1080
|
+
}, _SkyAutocompleteComponent_getActiveElement = function _SkyAutocompleteComponent_getActiveElement() {
|
|
1081
|
+
return __classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f")[__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")];
|
|
1082
|
+
}, _SkyAutocompleteComponent_removeFocusedClass = function _SkyAutocompleteComponent_removeFocusedClass() {
|
|
1083
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") > -1) {
|
|
1084
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").removeCSSClass(__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f")[__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")], 'sky-autocomplete-descendant-focus');
|
|
1073
1085
|
}
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
}
|
|
1086
|
+
}, _SkyAutocompleteComponent_addFocusedClass = function _SkyAutocompleteComponent_addFocusedClass() {
|
|
1087
|
+
if (__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f") > -1) {
|
|
1088
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_adapterService, "f").addCSSClass(__classPrivateFieldGet(this, _SkyAutocompleteComponent_overlayFocusableElements, "f")[__classPrivateFieldGet(this, _SkyAutocompleteComponent_activeElementIndex, "f")], 'sky-autocomplete-descendant-focus');
|
|
1089
|
+
__classPrivateFieldGet(this, _SkyAutocompleteComponent_instances, "m", _SkyAutocompleteComponent_setActiveDescendant).call(this);
|
|
1079
1090
|
}
|
|
1080
|
-
}
|
|
1091
|
+
};
|
|
1081
1092
|
SkyAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: SkyAutocompleteAdapterService }, { token: i1.SkyOverlayService }, { token: i6.SkyInputBoxHostService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1082
|
-
SkyAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: { ariaLabelledBy: "ariaLabelledBy", data: "data", debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", enableShowMore: "enableShowMore", messageStream: "messageStream", wrapperClass: "wrapperClass", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit", showAddButton: "showAddButton", noResultsFoundText: "noResultsFoundText", searchAsyncDisabled: "searchAsyncDisabled" }, outputs: { addClick: "addClick", showMoreClick: "showMoreClick", selectionChange: "selectionChange", searchAsync: "searchAsync" }, providers: [SkyAutocompleteAdapterService], queries: [{ propertyName: "inputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }], viewQueries: [{ propertyName: "defaultSearchResultTemplate", first: true, predicate: ["defaultSearchResultTemplate"], descendants: true, read: TemplateRef }, { propertyName: "resultsTemplateRef", first: true, predicate: ["resultsTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "resultsRef", first: true, predicate: ["resultsRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n class=\"sky-autocomplete\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen && searchText\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-owns]=\"isOpen ? resultsListId : null\"\n [attr.id]=\"resultsWrapperId\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #resultsTemplateRef>\n <div\n class=\"sky-autocomplete-results-container\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n (keydown)=\"handleKeydown($event)\"\n #resultsRef\n >\n <div\n *ngIf=\"isSearchingAsync; else resultControlsTemplateRef\"\n class=\"sky-autocomplete-results-waiting\"\n >\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n </div>\n </div>\n</ng-template>\n\n<ng-template #resultControlsTemplateRef>\n <div\n *ngIf=\"searchText && (!showActionsArea || searchResults.length > 0)\"\n class=\"sky-autocomplete-results\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"resultsListId\"\n >\n <ng-container *ngFor=\"let result of searchResults; let i = index\">\n <div\n *ngIf=\"!searchResultsLimit || i < searchResultsLimit\"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.id]=\"result.elementId\"\n [skyHighlight]=\"highlightText\"\n (mousedown)=\"onResultMouseDown(result.elementId, $event)\"\n (mousemove)=\"onResultMouseMove(i)\"\n #searchResultEl\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchResultTemplate;\n context: { item: result.data }\n \"\n >\n </ng-container>\n </div>\n </ng-container>\n <div\n *ngIf=\"searchResults.length === 0\"\n class=\"sky-deemphasized sky-padding-squish-default\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n </div>\n <div *ngIf=\"showActionsArea\" class=\"sky-autocomplete-actions\">\n <button\n *ngIf=\"enableShowMore && (!searchText || searchResults.length > 0)\"\n class=\"sky-autocomplete-action sky-autocomplete-action-more sky-btn sky-btn-link\"\n type=\"button\"\n (mousedown)=\"moreButtonClicked()\"\n >\n <ng-container\n *ngIf=\"\n !(\n searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled\n ) &&\n searchResults.length === 0 &&\n !searchText\n \"\n >\n {{ 'skyux_autocomplete_show_all' | skyLibResources }}\n </ng-container>\n <ng-container\n *ngIf=\"\n (searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled) &&\n !searchText\n \"\n >\n {{\n 'skyux_autocomplete_show_all_count'\n | skyLibResources: (data.length | skyNumeric: { truncate: false })\n }}\n </ng-container>\n <ng-container *ngIf=\"searchText\">\n {{\n 'skyux_autocomplete_show_matches_count'\n | skyLibResources\n : (searchResultsCount === undefined\n ? data.length\n : (searchResultsCount | skyNumeric: { truncate: false }))\n }}\n </ng-container>\n </button>\n <div\n *ngIf=\"searchText && searchResults.length === 0\"\n class=\"sky-font-deemphasized sky-autocomplete-actions-no-results\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n <button\n *ngIf=\"showAddButton\"\n class=\"sky-autocomplete-action sky-autocomplete-action-add sky-btn sky-btn-link\"\n tabindex=\"0\"\n type=\"button\"\n [class.focused]=\"isElementFocused(addButtonEl)\"\n (mousedown)=\"addButtonClicked()\"\n #addButtonEl\n >\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"add\" iconType=\"skyux\"></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_autocomplete_add' | skyLibResources }}\n </button>\n </div>\n</ng-template>\n\n<ng-template let-item=\"item\" #defaultSearchResultTemplate>\n {{ item[descriptorProperty] }}\n</ng-template>\n", styles: [".sky-autocomplete-results-container{position:fixed;background-color:#fff}.sky-autocomplete-results-waiting{height:70px}.sky-autocomplete-results{display:flex;flex-direction:column;padding:4px;overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}.sky-autocomplete-result{color:#212327;margin-bottom:4px;padding:3px 20px;cursor:pointer}.sky-autocomplete-result:last-child{margin-bottom:0}.sky-autocomplete-actions{border-top:1px solid #cdcfd2}.sky-autocomplete-actions .sky-autocomplete-action{border:none}.sky-autocomplete-actions .sky-autocomplete-actions-no-results{display:inline-block;padding:7px 13px}.sky-autocomplete-action-add{float:right}.sky-autocomplete-action-add sky-icon{padding-right:5px}.sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:#eeeeef}.sky-autocomplete-descendant-focus.sky-autocomplete-action{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}::ng-deep .sky-theme-modern .sky-autocomplete-results-container{border-radius:6px}::ng-deep .sky-theme-modern .sky-autocomplete-results{padding:10px 0}::ng-deep .sky-theme-modern .sky-autocomplete-result{margin-bottom:0;padding:10px 0 10px 15px}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:inherit}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus{border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}\n"], components: [{ type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources":
|
|
1093
|
+
SkyAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: { ariaLabelledBy: "ariaLabelledBy", data: "data", debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", enableShowMore: "enableShowMore", messageStream: "messageStream", wrapperClass: "wrapperClass", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit", showAddButton: "showAddButton", noResultsFoundText: "noResultsFoundText", searchAsyncDisabled: "searchAsyncDisabled" }, outputs: { addClick: "addClick", showMoreClick: "showMoreClick", selectionChange: "selectionChange", searchAsync: "searchAsync" }, providers: [SkyAutocompleteAdapterService], queries: [{ propertyName: "inputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }], viewQueries: [{ propertyName: "defaultSearchResultTemplate", first: true, predicate: ["defaultSearchResultTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "resultsTemplateRef", first: true, predicate: ["resultsTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "resultsRef", first: true, predicate: ["resultsRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n class=\"sky-autocomplete\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen && searchText\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-owns]=\"isOpen ? resultsListId : null\"\n [attr.id]=\"resultsWrapperId\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #resultsTemplateRef>\n <div\n class=\"sky-autocomplete-results-container\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n (keydown)=\"handleKeydown($event)\"\n #resultsRef\n >\n <div\n *ngIf=\"isSearchingAsync; else resultControlsTemplateRef\"\n class=\"sky-autocomplete-results-waiting\"\n >\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n </div>\n </div>\n</ng-template>\n\n<ng-template #resultControlsTemplateRef>\n <div\n *ngIf=\"searchText && (!showActionsArea || searchResults.length > 0)\"\n class=\"sky-autocomplete-results\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"resultsListId\"\n >\n <ng-container *ngFor=\"let result of searchResults; let i = index\">\n <div\n *ngIf=\"!searchResultsLimit || i < searchResultsLimit\"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.id]=\"result.elementId\"\n [skyHighlight]=\"highlightText\"\n (mousedown)=\"onResultMouseDown(result.elementId, $event)\"\n (mousemove)=\"onResultMouseMove(i)\"\n #searchResultEl\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchResultTemplate;\n context: { item: result.data }\n \"\n >\n </ng-container>\n </div>\n </ng-container>\n <div\n *ngIf=\"searchResults.length === 0\"\n class=\"sky-deemphasized sky-padding-squish-default\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n </div>\n <div *ngIf=\"showActionsArea\" class=\"sky-autocomplete-actions\">\n <button\n *ngIf=\"enableShowMore && (!searchText || searchResults.length > 0)\"\n class=\"sky-autocomplete-action sky-autocomplete-action-more sky-btn sky-btn-link\"\n type=\"button\"\n (mousedown)=\"moreButtonClicked()\"\n >\n <ng-container\n *ngIf=\"\n !(\n searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled\n ) &&\n searchResults.length === 0 &&\n !searchText\n \"\n >\n {{ 'skyux_autocomplete_show_all' | skyLibResources }}\n </ng-container>\n <ng-container\n *ngIf=\"\n (searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled) &&\n !searchText\n \"\n >\n {{\n 'skyux_autocomplete_show_all_count'\n | skyLibResources: (data.length | skyNumeric: { truncate: false })\n }}\n </ng-container>\n <ng-container *ngIf=\"searchText\">\n {{\n 'skyux_autocomplete_show_matches_count'\n | skyLibResources\n : (searchResultsCount === undefined\n ? data.length\n : (searchResultsCount | skyNumeric: { truncate: false }))\n }}\n </ng-container>\n </button>\n <div\n *ngIf=\"searchText && searchResults.length === 0\"\n class=\"sky-font-deemphasized sky-autocomplete-actions-no-results\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n <button\n *ngIf=\"showAddButton\"\n class=\"sky-autocomplete-action sky-autocomplete-action-add sky-btn sky-btn-link\"\n tabindex=\"0\"\n type=\"button\"\n [class.focused]=\"isElementFocused(addButtonEl)\"\n (mousedown)=\"addButtonClicked()\"\n #addButtonEl\n >\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"add\" iconType=\"skyux\"></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_autocomplete_add' | skyLibResources }}\n </button>\n </div>\n</ng-template>\n\n<ng-template let-item=\"item\" #defaultSearchResultTemplate>\n {{ item[descriptorProperty] }}\n</ng-template>\n", styles: [".sky-autocomplete-results-container{position:fixed;background-color:#fff}.sky-autocomplete-results-waiting{height:70px}.sky-autocomplete-results{display:flex;flex-direction:column;padding:4px;overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}.sky-autocomplete-result{color:#212327;margin-bottom:4px;padding:3px 20px;cursor:pointer}.sky-autocomplete-result:last-child{margin-bottom:0}.sky-autocomplete-actions{border-top:1px solid #cdcfd2}.sky-autocomplete-actions .sky-autocomplete-action{border:none}.sky-autocomplete-actions .sky-autocomplete-actions-no-results{display:inline-block;padding:7px 13px}.sky-autocomplete-action-add{float:right}.sky-autocomplete-action-add sky-icon{padding-right:5px}.sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:#eeeeef}.sky-autocomplete-descendant-focus.sky-autocomplete-action{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}::ng-deep .sky-theme-modern .sky-autocomplete-results-container{border-radius:6px}::ng-deep .sky-theme-modern .sky-autocomplete-results{padding:10px 0}::ng-deep .sky-theme-modern .sky-autocomplete-result{margin-bottom:0;padding:10px 0 10px 15px}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:inherit}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus{border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}\n"], components: [{ type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe, "skyAutocompleteSearchAsyncDisabled": SkyAutcompleteSearchAsyncDisabledPipe, "skyNumeric": i1.SkyNumericPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1083
1094
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAutocompleteComponent, decorators: [{
|
|
1084
1095
|
type: Component,
|
|
1085
1096
|
args: [{ selector: 'sky-autocomplete', providers: [SkyAutocompleteAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n class=\"sky-autocomplete\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen && searchText\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-owns]=\"isOpen ? resultsListId : null\"\n [attr.id]=\"resultsWrapperId\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #resultsTemplateRef>\n <div\n class=\"sky-autocomplete-results-container\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n (keydown)=\"handleKeydown($event)\"\n #resultsRef\n >\n <div\n *ngIf=\"isSearchingAsync; else resultControlsTemplateRef\"\n class=\"sky-autocomplete-results-waiting\"\n >\n <sky-wait [isWaiting]=\"true\"></sky-wait>\n </div>\n </div>\n</ng-template>\n\n<ng-template #resultControlsTemplateRef>\n <div\n *ngIf=\"searchText && (!showActionsArea || searchResults.length > 0)\"\n class=\"sky-autocomplete-results\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.id]=\"resultsListId\"\n >\n <ng-container *ngFor=\"let result of searchResults; let i = index\">\n <div\n *ngIf=\"!searchResultsLimit || i < searchResultsLimit\"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.id]=\"result.elementId\"\n [skyHighlight]=\"highlightText\"\n (mousedown)=\"onResultMouseDown(result.elementId, $event)\"\n (mousemove)=\"onResultMouseMove(i)\"\n #searchResultEl\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchResultTemplate;\n context: { item: result.data }\n \"\n >\n </ng-container>\n </div>\n </ng-container>\n <div\n *ngIf=\"searchResults.length === 0\"\n class=\"sky-deemphasized sky-padding-squish-default\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n </div>\n <div *ngIf=\"showActionsArea\" class=\"sky-autocomplete-actions\">\n <button\n *ngIf=\"enableShowMore && (!searchText || searchResults.length > 0)\"\n class=\"sky-autocomplete-action sky-autocomplete-action-more sky-btn sky-btn-link\"\n type=\"button\"\n (mousedown)=\"moreButtonClicked()\"\n >\n <ng-container\n *ngIf=\"\n !(\n searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled\n ) &&\n searchResults.length === 0 &&\n !searchText\n \"\n >\n {{ 'skyux_autocomplete_show_all' | skyLibResources }}\n </ng-container>\n <ng-container\n *ngIf=\"\n (searchAsync\n | skyAutocompleteSearchAsyncDisabled: searchAsyncDisabled) &&\n !searchText\n \"\n >\n {{\n 'skyux_autocomplete_show_all_count'\n | skyLibResources: (data.length | skyNumeric: { truncate: false })\n }}\n </ng-container>\n <ng-container *ngIf=\"searchText\">\n {{\n 'skyux_autocomplete_show_matches_count'\n | skyLibResources\n : (searchResultsCount === undefined\n ? data.length\n : (searchResultsCount | skyNumeric: { truncate: false }))\n }}\n </ng-container>\n </button>\n <div\n *ngIf=\"searchText && searchResults.length === 0\"\n class=\"sky-font-deemphasized sky-autocomplete-actions-no-results\"\n >\n {{\n noResultsFoundText ||\n ('skyux_autocomplete_no_results' | skyLibResources)\n }}\n </div>\n <button\n *ngIf=\"showAddButton\"\n class=\"sky-autocomplete-action sky-autocomplete-action-add sky-btn sky-btn-link\"\n tabindex=\"0\"\n type=\"button\"\n [class.focused]=\"isElementFocused(addButtonEl)\"\n (mousedown)=\"addButtonClicked()\"\n #addButtonEl\n >\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"add\" iconType=\"skyux\"></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_autocomplete_add' | skyLibResources }}\n </button>\n </div>\n</ng-template>\n\n<ng-template let-item=\"item\" #defaultSearchResultTemplate>\n {{ item[descriptorProperty] }}\n</ng-template>\n", styles: [".sky-autocomplete-results-container{position:fixed;background-color:#fff}.sky-autocomplete-results-waiting{height:70px}.sky-autocomplete-results{display:flex;flex-direction:column;padding:4px;overflow-y:auto;overflow-x:hidden;min-height:35px;max-height:calc(50vh - 50px)}.sky-autocomplete-result{color:#212327;margin-bottom:4px;padding:3px 20px;cursor:pointer}.sky-autocomplete-result:last-child{margin-bottom:0}.sky-autocomplete-actions{border-top:1px solid #cdcfd2}.sky-autocomplete-actions .sky-autocomplete-action{border:none}.sky-autocomplete-actions .sky-autocomplete-actions-no-results{display:inline-block;padding:7px 13px}.sky-autocomplete-action-add{float:right}.sky-autocomplete-action-add sky-icon{padding-right:5px}.sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:#eeeeef}.sky-autocomplete-descendant-focus.sky-autocomplete-action{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}::ng-deep .sky-theme-modern .sky-autocomplete-results-container{border-radius:6px}::ng-deep .sky-theme-modern .sky-autocomplete-results{padding:10px 0}::ng-deep .sky-theme-modern .sky-autocomplete-result{margin-bottom:0;padding:10px 0 10px 15px}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus:not(.sky-autocomplete-action){background-color:inherit}::ng-deep .sky-theme-modern .sky-autocomplete-descendant-focus{border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}\n"] }]
|
|
@@ -1129,7 +1140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1129
1140
|
type: ViewChild,
|
|
1130
1141
|
args: ['defaultSearchResultTemplate', {
|
|
1131
1142
|
read: TemplateRef,
|
|
1132
|
-
static:
|
|
1143
|
+
static: true,
|
|
1133
1144
|
}]
|
|
1134
1145
|
}], inputDirective: [{
|
|
1135
1146
|
type: ContentChild,
|
|
@@ -1200,6 +1211,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1200
1211
|
}]
|
|
1201
1212
|
}] });
|
|
1202
1213
|
|
|
1214
|
+
var _SkyCountryFieldComponent_instances, _SkyCountryFieldComponent_changeDetector, _SkyCountryFieldComponent_defaultCountryData, _SkyCountryFieldComponent_elRef, _SkyCountryFieldComponent_idle, _SkyCountryFieldComponent_injector, _SkyCountryFieldComponent_internalFormChange, _SkyCountryFieldComponent_isInitialChange, _SkyCountryFieldComponent_ngControl, _SkyCountryFieldComponent_ngUnsubscribe, _SkyCountryFieldComponent_themeSvc, _SkyCountryFieldComponent_windowRef, _SkyCountryFieldComponent__defaultCountry, _SkyCountryFieldComponent__disabled, _SkyCountryFieldComponent__includePhoneInfo, _SkyCountryFieldComponent__selectedCountry, _SkyCountryFieldComponent__supportedCountryISOs, _SkyCountryFieldComponent_countriesAreEqual, _SkyCountryFieldComponent_countriesEqual, _SkyCountryFieldComponent_removeEventListeners, _SkyCountryFieldComponent_setupCountries, _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault, _SkyCountryFieldComponent_updateInputBox;
|
|
1215
|
+
const DEFAULT_COUNTRY_CODE = 'us';
|
|
1203
1216
|
const SKY_COUNTRY_FIELD_VALIDATOR = {
|
|
1204
1217
|
provide: NG_VALIDATORS,
|
|
1205
1218
|
useExisting: forwardRef(() => SkyCountryFieldComponent),
|
|
@@ -1208,31 +1221,48 @@ const SKY_COUNTRY_FIELD_VALIDATOR = {
|
|
|
1208
1221
|
let uniqueId = 0;
|
|
1209
1222
|
class SkyCountryFieldComponent {
|
|
1210
1223
|
constructor(changeDetector, elRef, windowRef, injector, inputBoxHostSvc, themeSvc) {
|
|
1211
|
-
this.changeDetector = changeDetector;
|
|
1212
|
-
this.elRef = elRef;
|
|
1213
|
-
this.windowRef = windowRef;
|
|
1214
|
-
this.injector = injector;
|
|
1215
1224
|
this.inputBoxHostSvc = inputBoxHostSvc;
|
|
1216
|
-
this
|
|
1225
|
+
_SkyCountryFieldComponent_instances.add(this);
|
|
1226
|
+
/**
|
|
1227
|
+
* Indicates whether to hide the flag in the input element.
|
|
1228
|
+
*/
|
|
1229
|
+
this.hideSelectedCountryFlag = false;
|
|
1217
1230
|
/**
|
|
1218
1231
|
* Fires when the selected country changes.
|
|
1219
1232
|
*/
|
|
1220
1233
|
this.selectedCountryChange = new EventEmitter();
|
|
1234
|
+
this.countries = [];
|
|
1221
1235
|
this.isInputFocused = false;
|
|
1222
1236
|
this.searchTextMinimumCharacters = 2;
|
|
1223
1237
|
this.currentTheme = 'default';
|
|
1224
|
-
this
|
|
1225
|
-
this
|
|
1226
|
-
this
|
|
1227
|
-
this
|
|
1228
|
-
this
|
|
1229
|
-
this
|
|
1238
|
+
_SkyCountryFieldComponent_changeDetector.set(this, void 0);
|
|
1239
|
+
_SkyCountryFieldComponent_defaultCountryData.set(this, void 0);
|
|
1240
|
+
_SkyCountryFieldComponent_elRef.set(this, void 0);
|
|
1241
|
+
_SkyCountryFieldComponent_idle.set(this, new Subject());
|
|
1242
|
+
_SkyCountryFieldComponent_injector.set(this, void 0);
|
|
1243
|
+
_SkyCountryFieldComponent_internalFormChange.set(this, false);
|
|
1244
|
+
_SkyCountryFieldComponent_isInitialChange.set(this, true);
|
|
1245
|
+
_SkyCountryFieldComponent_ngControl.set(this, null);
|
|
1246
|
+
_SkyCountryFieldComponent_ngUnsubscribe.set(this, new Subject());
|
|
1247
|
+
_SkyCountryFieldComponent_themeSvc.set(this, void 0);
|
|
1248
|
+
_SkyCountryFieldComponent_windowRef.set(this, void 0);
|
|
1249
|
+
_SkyCountryFieldComponent__defaultCountry.set(this, void 0);
|
|
1250
|
+
_SkyCountryFieldComponent__disabled.set(this, false);
|
|
1251
|
+
_SkyCountryFieldComponent__includePhoneInfo.set(this, false);
|
|
1252
|
+
_SkyCountryFieldComponent__selectedCountry.set(this, void 0);
|
|
1253
|
+
_SkyCountryFieldComponent__supportedCountryISOs.set(this, void 0);
|
|
1230
1254
|
// Angular automatically constructs these methods.
|
|
1231
1255
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1232
1256
|
this.onChange = (value) => { };
|
|
1233
1257
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1234
1258
|
this.onTouched = () => { };
|
|
1235
|
-
this
|
|
1259
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_changeDetector, changeDetector, "f");
|
|
1260
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_elRef, elRef, "f");
|
|
1261
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_windowRef, windowRef, "f");
|
|
1262
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_injector, injector, "f");
|
|
1263
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_themeSvc, themeSvc, "f");
|
|
1264
|
+
this.inputId = `sky-country-field-input-${uniqueId++}`;
|
|
1265
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_setupCountries).call(this);
|
|
1236
1266
|
this.countrySearchFormControl = new FormControl();
|
|
1237
1267
|
}
|
|
1238
1268
|
/**
|
|
@@ -1242,40 +1272,43 @@ class SkyCountryFieldComponent {
|
|
|
1242
1272
|
* @default "us"
|
|
1243
1273
|
*/
|
|
1244
1274
|
set defaultCountry(value) {
|
|
1245
|
-
if (value
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1275
|
+
if (!value) {
|
|
1276
|
+
value = DEFAULT_COUNTRY_CODE;
|
|
1277
|
+
}
|
|
1278
|
+
if (value !== __classPrivateFieldGet(this, _SkyCountryFieldComponent__defaultCountry, "f")) {
|
|
1279
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent__defaultCountry, value.toLowerCase(), "f");
|
|
1280
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_defaultCountryData, this.countries.find((country) => country.iso2 === __classPrivateFieldGet(this, _SkyCountryFieldComponent__defaultCountry, "f")), "f");
|
|
1281
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault).call(this, this.selectedCountry);
|
|
1249
1282
|
}
|
|
1250
1283
|
}
|
|
1251
1284
|
get defaultCountry() {
|
|
1252
|
-
return this
|
|
1285
|
+
return __classPrivateFieldGet(this, _SkyCountryFieldComponent__defaultCountry, "f");
|
|
1253
1286
|
}
|
|
1254
1287
|
/**
|
|
1255
1288
|
* Indicates whether to disable the country field.
|
|
1256
1289
|
* @default false
|
|
1257
1290
|
*/
|
|
1258
1291
|
set disabled(isDisabled) {
|
|
1259
|
-
this.
|
|
1292
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_removeEventListeners).call(this);
|
|
1260
1293
|
if (!isDisabled) {
|
|
1261
1294
|
this.addEventListeners();
|
|
1262
1295
|
}
|
|
1263
|
-
this
|
|
1264
|
-
this.
|
|
1296
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent__disabled, isDisabled, "f");
|
|
1297
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_changeDetector, "f").markForCheck();
|
|
1265
1298
|
}
|
|
1266
1299
|
get disabled() {
|
|
1267
|
-
return this
|
|
1300
|
+
return __classPrivateFieldGet(this, _SkyCountryFieldComponent__disabled, "f");
|
|
1268
1301
|
}
|
|
1269
1302
|
/**
|
|
1270
1303
|
* Indicates whether to include phone information in the selected country and country dropdown.
|
|
1271
1304
|
* @default false
|
|
1272
1305
|
*/
|
|
1273
|
-
set includePhoneInfo(
|
|
1274
|
-
this
|
|
1275
|
-
this.
|
|
1306
|
+
set includePhoneInfo(value) {
|
|
1307
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent__includePhoneInfo, value, "f");
|
|
1308
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_setupCountries).call(this);
|
|
1276
1309
|
}
|
|
1277
1310
|
get includePhoneInfo() {
|
|
1278
|
-
return this
|
|
1311
|
+
return __classPrivateFieldGet(this, _SkyCountryFieldComponent__includePhoneInfo, "f") || false;
|
|
1279
1312
|
}
|
|
1280
1313
|
/**
|
|
1281
1314
|
* Specifies the [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)
|
|
@@ -1286,35 +1319,36 @@ class SkyCountryFieldComponent {
|
|
|
1286
1319
|
if (Array.isArray(value)) {
|
|
1287
1320
|
value = value.map((v) => v.toLowerCase());
|
|
1288
1321
|
}
|
|
1289
|
-
this
|
|
1290
|
-
this.
|
|
1322
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent__supportedCountryISOs, value, "f");
|
|
1323
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_setupCountries).call(this);
|
|
1291
1324
|
}
|
|
1292
1325
|
get supportedCountryISOs() {
|
|
1293
|
-
return this
|
|
1326
|
+
return __classPrivateFieldGet(this, _SkyCountryFieldComponent__supportedCountryISOs, "f") || [];
|
|
1294
1327
|
}
|
|
1295
1328
|
set selectedCountry(newCountry) {
|
|
1296
|
-
if (!this.
|
|
1297
|
-
|
|
1298
|
-
|
|
1329
|
+
if (!__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_countriesAreEqual).call(this, this.selectedCountry, newCountry)) {
|
|
1330
|
+
const newCountryIso = newCountry && newCountry.iso2;
|
|
1331
|
+
if (newCountryIso) {
|
|
1332
|
+
const isoCountry = this.countries.find((country) => country.iso2 === newCountryIso);
|
|
1299
1333
|
if (isoCountry) {
|
|
1300
1334
|
newCountry = isoCountry;
|
|
1301
1335
|
}
|
|
1302
1336
|
}
|
|
1303
|
-
this
|
|
1304
|
-
this.
|
|
1305
|
-
this
|
|
1337
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent__selectedCountry, newCountry, "f");
|
|
1338
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault).call(this, newCountry);
|
|
1339
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_internalFormChange, true, "f");
|
|
1306
1340
|
this.countrySearchFormControl.setValue(this.selectedCountry);
|
|
1307
|
-
if (!this
|
|
1341
|
+
if (!__classPrivateFieldGet(this, _SkyCountryFieldComponent_isInitialChange, "f")) {
|
|
1308
1342
|
this.onChange(newCountry);
|
|
1309
1343
|
this.onTouched();
|
|
1310
1344
|
this.selectedCountryChange.emit(newCountry);
|
|
1311
1345
|
}
|
|
1312
1346
|
// Do not mark the field as "dirty"
|
|
1313
1347
|
// if the field has been initialized with a value.
|
|
1314
|
-
if (this
|
|
1315
|
-
this.
|
|
1348
|
+
if (__classPrivateFieldGet(this, _SkyCountryFieldComponent_isInitialChange, "f") && __classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f") && __classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f").control) {
|
|
1349
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f").control.markAsPristine();
|
|
1316
1350
|
}
|
|
1317
|
-
this
|
|
1351
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_isInitialChange, false, "f");
|
|
1318
1352
|
/**
|
|
1319
1353
|
* The second portion of this if statement is complex. The control type check ensures that
|
|
1320
1354
|
* we only watch for the initial time through this function on reactive forms. However,
|
|
@@ -1322,39 +1356,38 @@ class SkyCountryFieldComponent {
|
|
|
1322
1356
|
* so we have to check for when the non-null pass through happens.
|
|
1323
1357
|
*/
|
|
1324
1358
|
}
|
|
1325
|
-
else if (this
|
|
1326
|
-
(!(this
|
|
1327
|
-
this
|
|
1359
|
+
else if (__classPrivateFieldGet(this, _SkyCountryFieldComponent_isInitialChange, "f") &&
|
|
1360
|
+
(!(__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f") instanceof NgModel) || newCountry !== null)) {
|
|
1361
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_isInitialChange, false, "f");
|
|
1328
1362
|
}
|
|
1329
1363
|
}
|
|
1330
1364
|
get selectedCountry() {
|
|
1331
|
-
return this
|
|
1365
|
+
return __classPrivateFieldGet(this, _SkyCountryFieldComponent__selectedCountry, "f");
|
|
1332
1366
|
}
|
|
1333
1367
|
/**
|
|
1334
1368
|
* Angular lifecycle hook for when the component is initialized
|
|
1335
1369
|
* @internal
|
|
1336
1370
|
*/
|
|
1337
1371
|
ngOnInit() {
|
|
1338
|
-
this.
|
|
1339
|
-
this
|
|
1340
|
-
this
|
|
1341
|
-
|
|
1342
|
-
this.ngControl.valueAccessor = this;
|
|
1372
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_updateInputBox).call(this);
|
|
1373
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_ngControl, __classPrivateFieldGet(this, _SkyCountryFieldComponent_injector, "f").get(NgControl, null), "f");
|
|
1374
|
+
if (__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f")) {
|
|
1375
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngControl, "f").valueAccessor = this;
|
|
1343
1376
|
}
|
|
1344
1377
|
else {
|
|
1345
1378
|
/**
|
|
1346
1379
|
* The initial change boolean is to determine if the form is setting the value. When no form
|
|
1347
1380
|
* is present we don't want to ignore the first change.
|
|
1348
1381
|
*/
|
|
1349
|
-
this
|
|
1382
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_isInitialChange, false, "f");
|
|
1350
1383
|
}
|
|
1351
1384
|
if (!this.defaultCountry) {
|
|
1352
|
-
this.defaultCountry =
|
|
1385
|
+
this.defaultCountry = DEFAULT_COUNTRY_CODE;
|
|
1353
1386
|
}
|
|
1354
1387
|
this.countrySearchFormControl.valueChanges
|
|
1355
|
-
.pipe(takeUntil(this
|
|
1388
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngUnsubscribe, "f")))
|
|
1356
1389
|
.subscribe((newValue) => {
|
|
1357
|
-
if (newValue && !this
|
|
1390
|
+
if (newValue && !__classPrivateFieldGet(this, _SkyCountryFieldComponent_internalFormChange, "f")) {
|
|
1358
1391
|
this.selectedCountry = newValue;
|
|
1359
1392
|
}
|
|
1360
1393
|
});
|
|
@@ -1364,11 +1397,11 @@ class SkyCountryFieldComponent {
|
|
|
1364
1397
|
}
|
|
1365
1398
|
ngAfterViewInit() {
|
|
1366
1399
|
/* istanbul ignore else */
|
|
1367
|
-
if (this
|
|
1368
|
-
this.
|
|
1400
|
+
if (__classPrivateFieldGet(this, _SkyCountryFieldComponent_themeSvc, "f")) {
|
|
1401
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_themeSvc, "f").settingsChange.subscribe((change) => {
|
|
1369
1402
|
this.currentTheme = change.currentSettings.theme.name;
|
|
1370
|
-
this.
|
|
1371
|
-
this.
|
|
1403
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_updateInputBox).call(this);
|
|
1404
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_changeDetector, "f").markForCheck();
|
|
1372
1405
|
});
|
|
1373
1406
|
}
|
|
1374
1407
|
}
|
|
@@ -1378,9 +1411,9 @@ class SkyCountryFieldComponent {
|
|
|
1378
1411
|
*/
|
|
1379
1412
|
ngOnDestroy() {
|
|
1380
1413
|
this.selectedCountryChange.complete();
|
|
1381
|
-
this.
|
|
1382
|
-
this.
|
|
1383
|
-
this.
|
|
1414
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_removeEventListeners).call(this);
|
|
1415
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngUnsubscribe, "f").next();
|
|
1416
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_ngUnsubscribe, "f").complete();
|
|
1384
1417
|
}
|
|
1385
1418
|
/**
|
|
1386
1419
|
* Sets the component's touched value when the autocomplete is blurred
|
|
@@ -1422,123 +1455,118 @@ class SkyCountryFieldComponent {
|
|
|
1422
1455
|
return { unsupportedCountry: true };
|
|
1423
1456
|
}
|
|
1424
1457
|
}
|
|
1425
|
-
return;
|
|
1458
|
+
return null;
|
|
1426
1459
|
}
|
|
1427
1460
|
writeValue(value) {
|
|
1428
1461
|
this.selectedCountry = value;
|
|
1429
|
-
this.
|
|
1462
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_changeDetector, "f").markForCheck();
|
|
1430
1463
|
}
|
|
1431
1464
|
addEventListeners() {
|
|
1432
|
-
this.
|
|
1433
|
-
this
|
|
1434
|
-
const documentObj = this.
|
|
1465
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_removeEventListeners).call(this);
|
|
1466
|
+
__classPrivateFieldSet(this, _SkyCountryFieldComponent_idle, new Subject(), "f");
|
|
1467
|
+
const documentObj = __classPrivateFieldGet(this, _SkyCountryFieldComponent_windowRef, "f").nativeWindow.document;
|
|
1435
1468
|
fromEvent(documentObj, 'mousedown')
|
|
1436
|
-
.pipe(takeUntil(this
|
|
1469
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyCountryFieldComponent_idle, "f")))
|
|
1437
1470
|
.subscribe((event) => {
|
|
1438
|
-
this.isInputFocused = this.
|
|
1439
|
-
this.
|
|
1471
|
+
this.isInputFocused = __classPrivateFieldGet(this, _SkyCountryFieldComponent_elRef, "f").nativeElement.contains(event.target);
|
|
1472
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_changeDetector, "f").markForCheck();
|
|
1440
1473
|
});
|
|
1441
1474
|
fromEvent(documentObj, 'focusin')
|
|
1442
|
-
.pipe(takeUntil(this
|
|
1475
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyCountryFieldComponent_idle, "f")))
|
|
1443
1476
|
.subscribe((event) => {
|
|
1444
|
-
this.isInputFocused = this.
|
|
1445
|
-
this.
|
|
1477
|
+
this.isInputFocused = __classPrivateFieldGet(this, _SkyCountryFieldComponent_elRef, "f").nativeElement.contains(event.target);
|
|
1478
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_changeDetector, "f").markForCheck();
|
|
1446
1479
|
});
|
|
1447
1480
|
}
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1481
|
+
}
|
|
1482
|
+
_SkyCountryFieldComponent_changeDetector = new WeakMap(), _SkyCountryFieldComponent_defaultCountryData = new WeakMap(), _SkyCountryFieldComponent_elRef = new WeakMap(), _SkyCountryFieldComponent_idle = new WeakMap(), _SkyCountryFieldComponent_injector = new WeakMap(), _SkyCountryFieldComponent_internalFormChange = new WeakMap(), _SkyCountryFieldComponent_isInitialChange = new WeakMap(), _SkyCountryFieldComponent_ngControl = new WeakMap(), _SkyCountryFieldComponent_ngUnsubscribe = new WeakMap(), _SkyCountryFieldComponent_themeSvc = new WeakMap(), _SkyCountryFieldComponent_windowRef = new WeakMap(), _SkyCountryFieldComponent__defaultCountry = new WeakMap(), _SkyCountryFieldComponent__disabled = new WeakMap(), _SkyCountryFieldComponent__includePhoneInfo = new WeakMap(), _SkyCountryFieldComponent__selectedCountry = new WeakMap(), _SkyCountryFieldComponent__supportedCountryISOs = new WeakMap(), _SkyCountryFieldComponent_instances = new WeakSet(), _SkyCountryFieldComponent_countriesAreEqual = function _SkyCountryFieldComponent_countriesAreEqual(country1, country2) {
|
|
1483
|
+
if (country1 && country2) {
|
|
1484
|
+
return country1.iso2 === country2.iso2;
|
|
1485
|
+
}
|
|
1486
|
+
// NOTE: We are doing this in this way because template forms will send through `null`
|
|
1487
|
+
// and then `undefined` on empty initialization. These are functionally equivalent but will
|
|
1488
|
+
// not pass a standard triple equals check.
|
|
1489
|
+
return !country1 && !country2;
|
|
1490
|
+
}, _SkyCountryFieldComponent_countriesEqual = function _SkyCountryFieldComponent_countriesEqual(a, b) {
|
|
1491
|
+
return a.iso2 === b.iso2 && a.name === b.name;
|
|
1492
|
+
}, _SkyCountryFieldComponent_removeEventListeners = function _SkyCountryFieldComponent_removeEventListeners() {
|
|
1493
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_idle, "f").next();
|
|
1494
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_idle, "f").complete();
|
|
1495
|
+
}, _SkyCountryFieldComponent_setupCountries = function _SkyCountryFieldComponent_setupCountries() {
|
|
1496
|
+
/**
|
|
1497
|
+
* The json functions here ensures that we get a copy of the array and not the global original.
|
|
1498
|
+
* This ensures that multiple instances of the component don't overwrite the original data.
|
|
1499
|
+
*
|
|
1500
|
+
* We must type the window object as any here as the intl-tel-input library adds its object
|
|
1501
|
+
* to the main window object.
|
|
1502
|
+
*/
|
|
1503
|
+
this.countries = JSON.parse(
|
|
1504
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1505
|
+
JSON.stringify(window.intlTelInputGlobals.getCountryData()));
|
|
1506
|
+
// Ignoring coverage here as this will be removed in the next release.
|
|
1507
|
+
// istanbul ignore next
|
|
1508
|
+
if (!this.includePhoneInfo && !this.hideSelectedCountryFlag) {
|
|
1509
|
+
if (__classPrivateFieldGet(this, _SkyCountryFieldComponent_elRef, "f").nativeElement.parentElement?.classList?.contains('sky-phone-field-country-search')) {
|
|
1510
|
+
this.includePhoneInfo = true;
|
|
1511
|
+
this.hideSelectedCountryFlag = true;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
/* istanbul ignore else */
|
|
1515
|
+
if (!this.includePhoneInfo) {
|
|
1465
1516
|
/**
|
|
1466
|
-
* The
|
|
1467
|
-
*
|
|
1468
|
-
*
|
|
1469
|
-
* We must type the window object as any here as the intl-tel-input library adds its object
|
|
1470
|
-
* to the main window object.
|
|
1517
|
+
* The library we get the country data from includes extra phone properties.
|
|
1518
|
+
* We want to remove these unless we are in a phone field
|
|
1471
1519
|
*/
|
|
1472
|
-
this.countries
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
if (!this.includePhoneInfo && !this.hideSelectedCountryFlag) {
|
|
1478
|
-
if (this.elRef.nativeElement.parentElement?.classList?.contains('sky-phone-field-country-search')) {
|
|
1479
|
-
this.includePhoneInfo = true;
|
|
1480
|
-
this.hideSelectedCountryFlag = true;
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
/* istanbul ignore else */
|
|
1484
|
-
if (!this.includePhoneInfo) {
|
|
1485
|
-
/**
|
|
1486
|
-
* The library we get the country data from includes extra phone properties.
|
|
1487
|
-
* We want to remove these unless we are in a phone field
|
|
1488
|
-
*/
|
|
1489
|
-
this.countries.forEach((country) => {
|
|
1490
|
-
delete country.dialCode;
|
|
1491
|
-
delete country.areaCodes;
|
|
1492
|
-
delete country.priority;
|
|
1493
|
-
});
|
|
1494
|
-
}
|
|
1495
|
-
this.sortCountriesWithSelectedAndDefault(this.selectedCountry);
|
|
1496
|
-
if (this.supportedCountryISOs && this.supportedCountryISOs.length > 0) {
|
|
1497
|
-
this.countries = this.countries.filter((country) => {
|
|
1498
|
-
return this.supportedCountryISOs.indexOf(country.iso2) >= 0;
|
|
1499
|
-
});
|
|
1500
|
-
}
|
|
1520
|
+
this.countries.forEach((country) => {
|
|
1521
|
+
delete country.dialCode;
|
|
1522
|
+
delete country.areaCodes;
|
|
1523
|
+
delete country.priority;
|
|
1524
|
+
});
|
|
1501
1525
|
}
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
if (((this.defaultCountryData &&
|
|
1507
|
-
this.countriesEqual(a, this.defaultCountryData)) ||
|
|
1508
|
-
a.name < b.name) &&
|
|
1509
|
-
(!this.defaultCountryData ||
|
|
1510
|
-
!this.countriesEqual(this.defaultCountryData, b))) {
|
|
1511
|
-
return -1;
|
|
1512
|
-
}
|
|
1513
|
-
else {
|
|
1514
|
-
return 1;
|
|
1515
|
-
}
|
|
1526
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault).call(this, this.selectedCountry);
|
|
1527
|
+
if (this.supportedCountryISOs && this.supportedCountryISOs.length > 0) {
|
|
1528
|
+
this.countries = this.countries.filter((country) => {
|
|
1529
|
+
return this.supportedCountryISOs.indexOf(country.iso2) >= 0;
|
|
1516
1530
|
});
|
|
1517
|
-
if (selectedCountry) {
|
|
1518
|
-
// Note: We are looking up this data here to ensure we are using the offical data from the
|
|
1519
|
-
// library and not the data provided by the user on initialization of the component
|
|
1520
|
-
selectedCountryData = this.countries.find((country) => country.iso2 === selectedCountry.iso2.toLocaleLowerCase());
|
|
1521
|
-
selectedCountryIndex = this.countries.indexOf(selectedCountryData);
|
|
1522
|
-
if (selectedCountryIndex >= 0) {
|
|
1523
|
-
this.countries.splice(selectedCountryIndex, 1);
|
|
1524
|
-
sortedNewCountries.splice(0, 0, selectedCountryData);
|
|
1525
|
-
}
|
|
1526
|
-
}
|
|
1527
|
-
this.countries = sortedNewCountries;
|
|
1528
1531
|
}
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1532
|
+
}, _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault = function _SkyCountryFieldComponent_sortCountriesWithSelectedAndDefault(selectedCountry) {
|
|
1533
|
+
let selectedCountryIndex;
|
|
1534
|
+
let selectedCountryData;
|
|
1535
|
+
const sortedNewCountries = this.countries.sort((a, b) => {
|
|
1536
|
+
if (((__classPrivateFieldGet(this, _SkyCountryFieldComponent_defaultCountryData, "f") &&
|
|
1537
|
+
__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_countriesEqual).call(this, a, __classPrivateFieldGet(this, _SkyCountryFieldComponent_defaultCountryData, "f"))) ||
|
|
1538
|
+
a.name < b.name) &&
|
|
1539
|
+
(!__classPrivateFieldGet(this, _SkyCountryFieldComponent_defaultCountryData, "f") ||
|
|
1540
|
+
!__classPrivateFieldGet(this, _SkyCountryFieldComponent_instances, "m", _SkyCountryFieldComponent_countriesEqual).call(this, __classPrivateFieldGet(this, _SkyCountryFieldComponent_defaultCountryData, "f"), b))) {
|
|
1541
|
+
return -1;
|
|
1537
1542
|
}
|
|
1543
|
+
else {
|
|
1544
|
+
return 1;
|
|
1545
|
+
}
|
|
1546
|
+
});
|
|
1547
|
+
if (selectedCountry) {
|
|
1548
|
+
// Note: We are looking up this data here to ensure we are using the offical data from the
|
|
1549
|
+
// library and not the data provided by the user on initialization of the component
|
|
1550
|
+
selectedCountryData = this.countries.find((country) => country.iso2 === selectedCountry.iso2.toLocaleLowerCase());
|
|
1551
|
+
selectedCountryIndex = this.countries.indexOf(selectedCountryData);
|
|
1552
|
+
if (selectedCountryIndex >= 0) {
|
|
1553
|
+
this.countries.splice(selectedCountryIndex, 1);
|
|
1554
|
+
sortedNewCountries.splice(0, 0, selectedCountryData);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
this.countries = sortedNewCountries;
|
|
1558
|
+
}, _SkyCountryFieldComponent_updateInputBox = function _SkyCountryFieldComponent_updateInputBox() {
|
|
1559
|
+
if (this.inputBoxHostSvc) {
|
|
1560
|
+
this.inputBoxHostSvc.populate({
|
|
1561
|
+
inputTemplate: this.inputTemplateRef,
|
|
1562
|
+
iconsInsetTemplate: this.currentTheme === 'modern'
|
|
1563
|
+
? this.searchIconTemplateRef
|
|
1564
|
+
: undefined,
|
|
1565
|
+
});
|
|
1538
1566
|
}
|
|
1539
|
-
}
|
|
1567
|
+
};
|
|
1540
1568
|
SkyCountryFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyCountryFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAppWindowRef }, { token: i0.Injector }, { token: i6.SkyInputBoxHostService, optional: true }, { token: i7.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1541
|
-
SkyCountryFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyCountryFieldComponent, selector: "sky-country-field", inputs: { autocompleteAttribute: "autocompleteAttribute", defaultCountry: "defaultCountry", disabled: "disabled", hideSelectedCountryFlag: "hideSelectedCountryFlag", includePhoneInfo: "includePhoneInfo", supportedCountryISOs: "supportedCountryISOs" }, outputs: { selectedCountryChange: "selectedCountryChange" }, providers: [SKY_COUNTRY_FIELD_VALIDATOR], viewQueries: [{ propertyName: "countrySearchAutocompleteDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <span\n class=\"sky-country-field-container\"\n [ngClass]=\"{\n 'sky-country-field-disabled': disabled\n }\"\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"inputId\"\n [data]=\"countries\"\n [propertiesToSearch]=\"['name', 'iso2']\"\n [searchResultTemplate]=\"countrySearchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n (selectionChange)=\"onCountrySelected($event)\"\n >\n <div\n class=\"sky-country-field-input\"\n [ngClass]=\"{\n 'sky-country-field-input-with-flag':\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n }\"\n >\n <div\n *ngIf=\"\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n \"\n class=\"sky-country-field-flag\"\n >\n <div\n class=\"iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry.iso2.toLowerCase()\"\n ></div>\n </div>\n <textarea\n class=\"sky-form-control\"\n name=\"selectedCountry\"\n rows=\"1\"\n skyAutocomplete\n [attr.aria-label]=\"\n 'skyux_country_field_search_placeholder' | skyLibResources\n \"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n currentTheme === 'default'\n ? ('skyux_country_field_search_placeholder' | skyLibResources)\n : ''\n \"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </sky-autocomplete>\n </span>\n</ng-template>\n\n<ng-template let-item=\"item\" #countrySearchResultTemplate>\n <div\n class=\"sky-country-field-search-result-flag\"\n [ngClass]=\"'iti__flag iti__' + item.iso2.toLowerCase()\"\n ></div>\n {{ item.name }}\n <span *ngIf=\"includePhoneInfo\" class=\"sky-deemphasized\">\n {{ item.dialCode }}\n </span>\n</ng-template>\n\n<!-- This template should only be used in modern theme input boxes. -->\n<ng-template #searchIconTemplateRef>\n <div class=\"sky-input-group-icon sky-input-box-icon-inset\">\n <sky-icon iconType=\"skyux\" icon=\"search\"></sky-icon>\n </div>\n</ng-template>\n", styles: [".iti{position:relative;display:inline-block}.iti *{box-sizing:border-box;-moz-box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=text],.iti input[type=tel]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px #0003;background-color:#fff;border:1px solid #CCC;white-space:nowrap;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__country-list--dropup{bottom:100%;margin-bottom:-1px}@media (max-width: 500px){.iti__country-list{white-space:normal}}.iti__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #CCC}.iti__country{padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name,.iti__dial-code{vertical-align:middle}.iti__flag-box,.iti__country-name{margin-right:6px}.iti--allow-dropdown input,.iti--allow-dropdown input[type=text],.iti--allow-dropdown input[type=tel],.iti--separate-dial-code input,.iti--separate-dial-code input[type=text],.iti--separate-dial-code input[type=tel]{padding-right:6px;padding-left:52px;margin-left:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:#0000000d}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:#0000000d}.iti--separate-dial-code .iti__selected-dial-code{margin-left:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .iti__country-list{max-height:100%;width:100%}.iti-mobile .iti__country{padding:10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-size:5652px 15px}}.iti__flag.iti__ac{height:10px;background-position:0px 0px}.iti__flag.iti__ad{height:14px;background-position:-22px 0px}.iti__flag.iti__ae{height:10px;background-position:-44px 0px}.iti__flag.iti__af{height:14px;background-position:-66px 0px}.iti__flag.iti__ag{height:14px;background-position:-88px 0px}.iti__flag.iti__ai{height:10px;background-position:-110px 0px}.iti__flag.iti__al{height:15px;background-position:-132px 0px}.iti__flag.iti__am{height:10px;background-position:-154px 0px}.iti__flag.iti__ao{height:14px;background-position:-176px 0px}.iti__flag.iti__aq{height:14px;background-position:-198px 0px}.iti__flag.iti__ar{height:13px;background-position:-220px 0px}.iti__flag.iti__as{height:10px;background-position:-242px 0px}.iti__flag.iti__at{height:14px;background-position:-264px 0px}.iti__flag.iti__au{height:10px;background-position:-286px 0px}.iti__flag.iti__aw{height:14px;background-position:-308px 0px}.iti__flag.iti__ax{height:13px;background-position:-330px 0px}.iti__flag.iti__az{height:10px;background-position:-352px 0px}.iti__flag.iti__ba{height:10px;background-position:-374px 0px}.iti__flag.iti__bb{height:14px;background-position:-396px 0px}.iti__flag.iti__bd{height:12px;background-position:-418px 0px}.iti__flag.iti__be{height:15px;background-position:-440px 0px}.iti__flag.iti__bf{height:14px;background-position:-460px 0px}.iti__flag.iti__bg{height:12px;background-position:-482px 0px}.iti__flag.iti__bh{height:12px;background-position:-504px 0px}.iti__flag.iti__bi{height:12px;background-position:-526px 0px}.iti__flag.iti__bj{height:14px;background-position:-548px 0px}.iti__flag.iti__bl{height:14px;background-position:-570px 0px}.iti__flag.iti__bm{height:10px;background-position:-592px 0px}.iti__flag.iti__bn{height:10px;background-position:-614px 0px}.iti__flag.iti__bo{height:14px;background-position:-636px 0px}.iti__flag.iti__bq{height:14px;background-position:-658px 0px}.iti__flag.iti__br{height:14px;background-position:-680px 0px}.iti__flag.iti__bs{height:10px;background-position:-702px 0px}.iti__flag.iti__bt{height:14px;background-position:-724px 0px}.iti__flag.iti__bv{height:15px;background-position:-746px 0px}.iti__flag.iti__bw{height:14px;background-position:-768px 0px}.iti__flag.iti__by{height:10px;background-position:-790px 0px}.iti__flag.iti__bz{height:14px;background-position:-812px 0px}.iti__flag.iti__ca{height:10px;background-position:-834px 0px}.iti__flag.iti__cc{height:10px;background-position:-856px 0px}.iti__flag.iti__cd{height:15px;background-position:-878px 0px}.iti__flag.iti__cf{height:14px;background-position:-900px 0px}.iti__flag.iti__cg{height:14px;background-position:-922px 0px}.iti__flag.iti__ch{height:15px;background-position:-944px 0px}.iti__flag.iti__ci{height:14px;background-position:-961px 0px}.iti__flag.iti__ck{height:10px;background-position:-983px 0px}.iti__flag.iti__cl{height:14px;background-position:-1005px 0px}.iti__flag.iti__cm{height:14px;background-position:-1027px 0px}.iti__flag.iti__cn{height:14px;background-position:-1049px 0px}.iti__flag.iti__co{height:14px;background-position:-1071px 0px}.iti__flag.iti__cp{height:14px;background-position:-1093px 0px}.iti__flag.iti__cr{height:12px;background-position:-1115px 0px}.iti__flag.iti__cu{height:10px;background-position:-1137px 0px}.iti__flag.iti__cv{height:12px;background-position:-1159px 0px}.iti__flag.iti__cw{height:14px;background-position:-1181px 0px}.iti__flag.iti__cx{height:10px;background-position:-1203px 0px}.iti__flag.iti__cy{height:14px;background-position:-1225px 0px}.iti__flag.iti__cz{height:14px;background-position:-1247px 0px}.iti__flag.iti__de{height:12px;background-position:-1269px 0px}.iti__flag.iti__dg{height:10px;background-position:-1291px 0px}.iti__flag.iti__dj{height:14px;background-position:-1313px 0px}.iti__flag.iti__dk{height:15px;background-position:-1335px 0px}.iti__flag.iti__dm{height:10px;background-position:-1357px 0px}.iti__flag.iti__do{height:14px;background-position:-1379px 0px}.iti__flag.iti__dz{height:14px;background-position:-1401px 0px}.iti__flag.iti__ea{height:14px;background-position:-1423px 0px}.iti__flag.iti__ec{height:14px;background-position:-1445px 0px}.iti__flag.iti__ee{height:13px;background-position:-1467px 0px}.iti__flag.iti__eg{height:14px;background-position:-1489px 0px}.iti__flag.iti__eh{height:10px;background-position:-1511px 0px}.iti__flag.iti__er{height:10px;background-position:-1533px 0px}.iti__flag.iti__es{height:14px;background-position:-1555px 0px}.iti__flag.iti__et{height:10px;background-position:-1577px 0px}.iti__flag.iti__eu{height:14px;background-position:-1599px 0px}.iti__flag.iti__fi{height:12px;background-position:-1621px 0px}.iti__flag.iti__fj{height:10px;background-position:-1643px 0px}.iti__flag.iti__fk{height:10px;background-position:-1665px 0px}.iti__flag.iti__fm{height:11px;background-position:-1687px 0px}.iti__flag.iti__fo{height:15px;background-position:-1709px 0px}.iti__flag.iti__fr{height:14px;background-position:-1731px 0px}.iti__flag.iti__ga{height:15px;background-position:-1753px 0px}.iti__flag.iti__gb{height:10px;background-position:-1775px 0px}.iti__flag.iti__gd{height:12px;background-position:-1797px 0px}.iti__flag.iti__ge{height:14px;background-position:-1819px 0px}.iti__flag.iti__gf{height:14px;background-position:-1841px 0px}.iti__flag.iti__gg{height:14px;background-position:-1863px 0px}.iti__flag.iti__gh{height:14px;background-position:-1885px 0px}.iti__flag.iti__gi{height:10px;background-position:-1907px 0px}.iti__flag.iti__gl{height:14px;background-position:-1929px 0px}.iti__flag.iti__gm{height:14px;background-position:-1951px 0px}.iti__flag.iti__gn{height:14px;background-position:-1973px 0px}.iti__flag.iti__gp{height:14px;background-position:-1995px 0px}.iti__flag.iti__gq{height:14px;background-position:-2017px 0px}.iti__flag.iti__gr{height:14px;background-position:-2039px 0px}.iti__flag.iti__gs{height:10px;background-position:-2061px 0px}.iti__flag.iti__gt{height:13px;background-position:-2083px 0px}.iti__flag.iti__gu{height:11px;background-position:-2105px 0px}.iti__flag.iti__gw{height:10px;background-position:-2127px 0px}.iti__flag.iti__gy{height:12px;background-position:-2149px 0px}.iti__flag.iti__hk{height:14px;background-position:-2171px 0px}.iti__flag.iti__hm{height:10px;background-position:-2193px 0px}.iti__flag.iti__hn{height:10px;background-position:-2215px 0px}.iti__flag.iti__hr{height:10px;background-position:-2237px 0px}.iti__flag.iti__ht{height:12px;background-position:-2259px 0px}.iti__flag.iti__hu{height:10px;background-position:-2281px 0px}.iti__flag.iti__ic{height:14px;background-position:-2303px 0px}.iti__flag.iti__id{height:14px;background-position:-2325px 0px}.iti__flag.iti__ie{height:10px;background-position:-2347px 0px}.iti__flag.iti__il{height:15px;background-position:-2369px 0px}.iti__flag.iti__im{height:10px;background-position:-2391px 0px}.iti__flag.iti__in{height:14px;background-position:-2413px 0px}.iti__flag.iti__io{height:10px;background-position:-2435px 0px}.iti__flag.iti__iq{height:14px;background-position:-2457px 0px}.iti__flag.iti__ir{height:12px;background-position:-2479px 0px}.iti__flag.iti__is{height:15px;background-position:-2501px 0px}.iti__flag.iti__it{height:14px;background-position:-2523px 0px}.iti__flag.iti__je{height:12px;background-position:-2545px 0px}.iti__flag.iti__jm{height:10px;background-position:-2567px 0px}.iti__flag.iti__jo{height:10px;background-position:-2589px 0px}.iti__flag.iti__jp{height:14px;background-position:-2611px 0px}.iti__flag.iti__ke{height:14px;background-position:-2633px 0px}.iti__flag.iti__kg{height:12px;background-position:-2655px 0px}.iti__flag.iti__kh{height:13px;background-position:-2677px 0px}.iti__flag.iti__ki{height:10px;background-position:-2699px 0px}.iti__flag.iti__km{height:12px;background-position:-2721px 0px}.iti__flag.iti__kn{height:14px;background-position:-2743px 0px}.iti__flag.iti__kp{height:10px;background-position:-2765px 0px}.iti__flag.iti__kr{height:14px;background-position:-2787px 0px}.iti__flag.iti__kw{height:10px;background-position:-2809px 0px}.iti__flag.iti__ky{height:10px;background-position:-2831px 0px}.iti__flag.iti__kz{height:10px;background-position:-2853px 0px}.iti__flag.iti__la{height:14px;background-position:-2875px 0px}.iti__flag.iti__lb{height:14px;background-position:-2897px 0px}.iti__flag.iti__lc{height:10px;background-position:-2919px 0px}.iti__flag.iti__li{height:12px;background-position:-2941px 0px}.iti__flag.iti__lk{height:10px;background-position:-2963px 0px}.iti__flag.iti__lr{height:11px;background-position:-2985px 0px}.iti__flag.iti__ls{height:14px;background-position:-3007px 0px}.iti__flag.iti__lt{height:12px;background-position:-3029px 0px}.iti__flag.iti__lu{height:12px;background-position:-3051px 0px}.iti__flag.iti__lv{height:10px;background-position:-3073px 0px}.iti__flag.iti__ly{height:10px;background-position:-3095px 0px}.iti__flag.iti__ma{height:14px;background-position:-3117px 0px}.iti__flag.iti__mc{height:15px;background-position:-3139px 0px}.iti__flag.iti__md{height:10px;background-position:-3160px 0px}.iti__flag.iti__me{height:10px;background-position:-3182px 0px}.iti__flag.iti__mf{height:14px;background-position:-3204px 0px}.iti__flag.iti__mg{height:14px;background-position:-3226px 0px}.iti__flag.iti__mh{height:11px;background-position:-3248px 0px}.iti__flag.iti__mk{height:10px;background-position:-3270px 0px}.iti__flag.iti__ml{height:14px;background-position:-3292px 0px}.iti__flag.iti__mm{height:14px;background-position:-3314px 0px}.iti__flag.iti__mn{height:10px;background-position:-3336px 0px}.iti__flag.iti__mo{height:14px;background-position:-3358px 0px}.iti__flag.iti__mp{height:10px;background-position:-3380px 0px}.iti__flag.iti__mq{height:14px;background-position:-3402px 0px}.iti__flag.iti__mr{height:14px;background-position:-3424px 0px}.iti__flag.iti__ms{height:10px;background-position:-3446px 0px}.iti__flag.iti__mt{height:14px;background-position:-3468px 0px}.iti__flag.iti__mu{height:14px;background-position:-3490px 0px}.iti__flag.iti__mv{height:14px;background-position:-3512px 0px}.iti__flag.iti__mw{height:14px;background-position:-3534px 0px}.iti__flag.iti__mx{height:12px;background-position:-3556px 0px}.iti__flag.iti__my{height:10px;background-position:-3578px 0px}.iti__flag.iti__mz{height:14px;background-position:-3600px 0px}.iti__flag.iti__na{height:14px;background-position:-3622px 0px}.iti__flag.iti__nc{height:10px;background-position:-3644px 0px}.iti__flag.iti__ne{height:15px;background-position:-3666px 0px}.iti__flag.iti__nf{height:10px;background-position:-3686px 0px}.iti__flag.iti__ng{height:10px;background-position:-3708px 0px}.iti__flag.iti__ni{height:12px;background-position:-3730px 0px}.iti__flag.iti__nl{height:14px;background-position:-3752px 0px}.iti__flag.iti__no{height:15px;background-position:-3774px 0px}.iti__flag.iti__np{height:15px;background-position:-3796px 0px}.iti__flag.iti__nr{height:10px;background-position:-3811px 0px}.iti__flag.iti__nu{height:10px;background-position:-3833px 0px}.iti__flag.iti__nz{height:10px;background-position:-3855px 0px}.iti__flag.iti__om{height:10px;background-position:-3877px 0px}.iti__flag.iti__pa{height:14px;background-position:-3899px 0px}.iti__flag.iti__pe{height:14px;background-position:-3921px 0px}.iti__flag.iti__pf{height:14px;background-position:-3943px 0px}.iti__flag.iti__pg{height:15px;background-position:-3965px 0px}.iti__flag.iti__ph{height:10px;background-position:-3987px 0px}.iti__flag.iti__pk{height:14px;background-position:-4009px 0px}.iti__flag.iti__pl{height:13px;background-position:-4031px 0px}.iti__flag.iti__pm{height:14px;background-position:-4053px 0px}.iti__flag.iti__pn{height:10px;background-position:-4075px 0px}.iti__flag.iti__pr{height:14px;background-position:-4097px 0px}.iti__flag.iti__ps{height:10px;background-position:-4119px 0px}.iti__flag.iti__pt{height:14px;background-position:-4141px 0px}.iti__flag.iti__pw{height:13px;background-position:-4163px 0px}.iti__flag.iti__py{height:11px;background-position:-4185px 0px}.iti__flag.iti__qa{height:8px;background-position:-4207px 0px}.iti__flag.iti__re{height:14px;background-position:-4229px 0px}.iti__flag.iti__ro{height:14px;background-position:-4251px 0px}.iti__flag.iti__rs{height:14px;background-position:-4273px 0px}.iti__flag.iti__ru{height:14px;background-position:-4295px 0px}.iti__flag.iti__rw{height:14px;background-position:-4317px 0px}.iti__flag.iti__sa{height:14px;background-position:-4339px 0px}.iti__flag.iti__sb{height:10px;background-position:-4361px 0px}.iti__flag.iti__sc{height:10px;background-position:-4383px 0px}.iti__flag.iti__sd{height:10px;background-position:-4405px 0px}.iti__flag.iti__se{height:13px;background-position:-4427px 0px}.iti__flag.iti__sg{height:14px;background-position:-4449px 0px}.iti__flag.iti__sh{height:10px;background-position:-4471px 0px}.iti__flag.iti__si{height:10px;background-position:-4493px 0px}.iti__flag.iti__sj{height:15px;background-position:-4515px 0px}.iti__flag.iti__sk{height:14px;background-position:-4537px 0px}.iti__flag.iti__sl{height:14px;background-position:-4559px 0px}.iti__flag.iti__sm{height:15px;background-position:-4581px 0px}.iti__flag.iti__sn{height:14px;background-position:-4603px 0px}.iti__flag.iti__so{height:14px;background-position:-4625px 0px}.iti__flag.iti__sr{height:14px;background-position:-4647px 0px}.iti__flag.iti__ss{height:10px;background-position:-4669px 0px}.iti__flag.iti__st{height:10px;background-position:-4691px 0px}.iti__flag.iti__sv{height:12px;background-position:-4713px 0px}.iti__flag.iti__sx{height:14px;background-position:-4735px 0px}.iti__flag.iti__sy{height:14px;background-position:-4757px 0px}.iti__flag.iti__sz{height:14px;background-position:-4779px 0px}.iti__flag.iti__ta{height:10px;background-position:-4801px 0px}.iti__flag.iti__tc{height:10px;background-position:-4823px 0px}.iti__flag.iti__td{height:14px;background-position:-4845px 0px}.iti__flag.iti__tf{height:14px;background-position:-4867px 0px}.iti__flag.iti__tg{height:13px;background-position:-4889px 0px}.iti__flag.iti__th{height:14px;background-position:-4911px 0px}.iti__flag.iti__tj{height:10px;background-position:-4933px 0px}.iti__flag.iti__tk{height:10px;background-position:-4955px 0px}.iti__flag.iti__tl{height:10px;background-position:-4977px 0px}.iti__flag.iti__tm{height:14px;background-position:-4999px 0px}.iti__flag.iti__tn{height:14px;background-position:-5021px 0px}.iti__flag.iti__to{height:10px;background-position:-5043px 0px}.iti__flag.iti__tr{height:14px;background-position:-5065px 0px}.iti__flag.iti__tt{height:12px;background-position:-5087px 0px}.iti__flag.iti__tv{height:10px;background-position:-5109px 0px}.iti__flag.iti__tw{height:14px;background-position:-5131px 0px}.iti__flag.iti__tz{height:14px;background-position:-5153px 0px}.iti__flag.iti__ua{height:14px;background-position:-5175px 0px}.iti__flag.iti__ug{height:14px;background-position:-5197px 0px}.iti__flag.iti__um{height:11px;background-position:-5219px 0px}.iti__flag.iti__un{height:14px;background-position:-5241px 0px}.iti__flag.iti__us{height:11px;background-position:-5263px 0px}.iti__flag.iti__uy{height:14px;background-position:-5285px 0px}.iti__flag.iti__uz{height:10px;background-position:-5307px 0px}.iti__flag.iti__va{height:15px;background-position:-5329px 0px}.iti__flag.iti__vc{height:14px;background-position:-5346px 0px}.iti__flag.iti__ve{height:14px;background-position:-5368px 0px}.iti__flag.iti__vg{height:10px;background-position:-5390px 0px}.iti__flag.iti__vi{height:14px;background-position:-5412px 0px}.iti__flag.iti__vn{height:14px;background-position:-5434px 0px}.iti__flag.iti__vu{height:12px;background-position:-5456px 0px}.iti__flag.iti__wf{height:14px;background-position:-5478px 0px}.iti__flag.iti__ws{height:10px;background-position:-5500px 0px}.iti__flag.iti__xk{height:15px;background-position:-5522px 0px}.iti__flag.iti__ye{height:14px;background-position:-5544px 0px}.iti__flag.iti__yt{height:14px;background-position:-5566px 0px}.iti__flag.iti__za{height:14px;background-position:-5588px 0px}.iti__flag.iti__zm{height:14px;background-position:-5610px 0px}.iti__flag.iti__zw{height:10px;background-position:-5632px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-image:url(../img/flags@2x.png)}}.iti__flag.iti__np{background-color:transparent}.sky-country-field-country-btn+::ng-deep .sky-form-control{border-left:none}.sky-country-field-container{width:100%}.sky-country-field-search-result-flag{display:inline-block;margin-right:5px}.sky-country-field-flag{display:none}.sky-country-field-disabled .sky-country-field-input{cursor:default;background-color:#cdcfd2}.sky-country-field-disabled .sky-country-field-flag{opacity:.65}.sky-country-field-input{cursor:text;display:flex;position:relative}.sky-country-field-input .sky-country-field-flag{align-items:center;margin-bottom:auto;margin-top:auto;position:absolute;left:13px;height:35px;bottom:0}.sky-country-field-input textarea{overflow:hidden;resize:none;white-space:nowrap}.sky-country-field-input-with-flag .sky-country-field-flag{display:flex}.sky-country-field-input-with-flag .sky-form-control{padding-left:40px}.sky-country-field-country-selected,.sky-country-field-country-default{border-bottom:1px solid #e2e3e4}:host(.ng-invalid.ng-touched) .sky-country-field-input textarea{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}::ng-deep .sky-theme-modern .sky-country-field-disabled .sky-country-field-flag{filter:grayscale(100%)}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input{background-color:transparent;border-radius:6px}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input textarea.sky-form-control{overflow:hidden;resize:none;white-space:nowrap}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-country-field-flag{height:40px;left:15px;opacity:1}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-form-control{padding-left:45px}.iti__flag{max-width:25px;max-height:13px;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags.webp)!important}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag .iti__flag{background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"], components: [{ type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1569
|
+
SkyCountryFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyCountryFieldComponent, selector: "sky-country-field", inputs: { autocompleteAttribute: "autocompleteAttribute", defaultCountry: "defaultCountry", disabled: "disabled", hideSelectedCountryFlag: "hideSelectedCountryFlag", includePhoneInfo: "includePhoneInfo", supportedCountryISOs: "supportedCountryISOs" }, outputs: { selectedCountryChange: "selectedCountryChange" }, providers: [SKY_COUNTRY_FIELD_VALIDATOR], viewQueries: [{ propertyName: "countrySearchAutocompleteDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <span\n class=\"sky-country-field-container\"\n [ngClass]=\"{\n 'sky-country-field-disabled': disabled\n }\"\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"inputId\"\n [data]=\"countries\"\n [propertiesToSearch]=\"['name', 'iso2']\"\n [searchResultTemplate]=\"countrySearchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n (selectionChange)=\"onCountrySelected($event)\"\n >\n <div\n class=\"sky-country-field-input\"\n [ngClass]=\"{\n 'sky-country-field-input-with-flag':\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n }\"\n >\n <div\n *ngIf=\"\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n \"\n class=\"sky-country-field-flag\"\n >\n <div\n class=\"iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry.iso2.toLowerCase()\"\n ></div>\n </div>\n <textarea\n class=\"sky-form-control\"\n name=\"selectedCountry\"\n rows=\"1\"\n skyAutocomplete\n [attr.aria-label]=\"\n 'skyux_country_field_search_placeholder' | skyLibResources\n \"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n currentTheme === 'default'\n ? ('skyux_country_field_search_placeholder' | skyLibResources)\n : ''\n \"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </sky-autocomplete>\n </span>\n</ng-template>\n\n<ng-template let-item=\"item\" #countrySearchResultTemplate>\n <div\n class=\"sky-country-field-search-result-flag\"\n [ngClass]=\"'iti__flag iti__' + item.iso2.toLowerCase()\"\n ></div>\n {{ item.name }}\n <span *ngIf=\"includePhoneInfo\" class=\"sky-deemphasized\">\n {{ item.dialCode }}\n </span>\n</ng-template>\n\n<!-- This template should only be used in modern theme input boxes. -->\n<ng-template #searchIconTemplateRef>\n <div class=\"sky-input-group-icon sky-input-box-icon-inset\">\n <sky-icon iconType=\"skyux\" icon=\"search\"></sky-icon>\n </div>\n</ng-template>\n", styles: [".iti{position:relative;display:inline-block}.iti *{box-sizing:border-box;-moz-box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=text],.iti input[type=tel]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px #0003;background-color:#fff;border:1px solid #CCC;white-space:nowrap;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__country-list--dropup{bottom:100%;margin-bottom:-1px}@media (max-width: 500px){.iti__country-list{white-space:normal}}.iti__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #CCC}.iti__country{padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name,.iti__dial-code{vertical-align:middle}.iti__flag-box,.iti__country-name{margin-right:6px}.iti--allow-dropdown input,.iti--allow-dropdown input[type=text],.iti--allow-dropdown input[type=tel],.iti--separate-dial-code input,.iti--separate-dial-code input[type=text],.iti--separate-dial-code input[type=tel]{padding-right:6px;padding-left:52px;margin-left:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:#0000000d}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:#0000000d}.iti--separate-dial-code .iti__selected-dial-code{margin-left:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .iti__country-list{max-height:100%;width:100%}.iti-mobile .iti__country{padding:10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-size:5652px 15px}}.iti__flag.iti__ac{height:10px;background-position:0px 0px}.iti__flag.iti__ad{height:14px;background-position:-22px 0px}.iti__flag.iti__ae{height:10px;background-position:-44px 0px}.iti__flag.iti__af{height:14px;background-position:-66px 0px}.iti__flag.iti__ag{height:14px;background-position:-88px 0px}.iti__flag.iti__ai{height:10px;background-position:-110px 0px}.iti__flag.iti__al{height:15px;background-position:-132px 0px}.iti__flag.iti__am{height:10px;background-position:-154px 0px}.iti__flag.iti__ao{height:14px;background-position:-176px 0px}.iti__flag.iti__aq{height:14px;background-position:-198px 0px}.iti__flag.iti__ar{height:13px;background-position:-220px 0px}.iti__flag.iti__as{height:10px;background-position:-242px 0px}.iti__flag.iti__at{height:14px;background-position:-264px 0px}.iti__flag.iti__au{height:10px;background-position:-286px 0px}.iti__flag.iti__aw{height:14px;background-position:-308px 0px}.iti__flag.iti__ax{height:13px;background-position:-330px 0px}.iti__flag.iti__az{height:10px;background-position:-352px 0px}.iti__flag.iti__ba{height:10px;background-position:-374px 0px}.iti__flag.iti__bb{height:14px;background-position:-396px 0px}.iti__flag.iti__bd{height:12px;background-position:-418px 0px}.iti__flag.iti__be{height:15px;background-position:-440px 0px}.iti__flag.iti__bf{height:14px;background-position:-460px 0px}.iti__flag.iti__bg{height:12px;background-position:-482px 0px}.iti__flag.iti__bh{height:12px;background-position:-504px 0px}.iti__flag.iti__bi{height:12px;background-position:-526px 0px}.iti__flag.iti__bj{height:14px;background-position:-548px 0px}.iti__flag.iti__bl{height:14px;background-position:-570px 0px}.iti__flag.iti__bm{height:10px;background-position:-592px 0px}.iti__flag.iti__bn{height:10px;background-position:-614px 0px}.iti__flag.iti__bo{height:14px;background-position:-636px 0px}.iti__flag.iti__bq{height:14px;background-position:-658px 0px}.iti__flag.iti__br{height:14px;background-position:-680px 0px}.iti__flag.iti__bs{height:10px;background-position:-702px 0px}.iti__flag.iti__bt{height:14px;background-position:-724px 0px}.iti__flag.iti__bv{height:15px;background-position:-746px 0px}.iti__flag.iti__bw{height:14px;background-position:-768px 0px}.iti__flag.iti__by{height:10px;background-position:-790px 0px}.iti__flag.iti__bz{height:14px;background-position:-812px 0px}.iti__flag.iti__ca{height:10px;background-position:-834px 0px}.iti__flag.iti__cc{height:10px;background-position:-856px 0px}.iti__flag.iti__cd{height:15px;background-position:-878px 0px}.iti__flag.iti__cf{height:14px;background-position:-900px 0px}.iti__flag.iti__cg{height:14px;background-position:-922px 0px}.iti__flag.iti__ch{height:15px;background-position:-944px 0px}.iti__flag.iti__ci{height:14px;background-position:-961px 0px}.iti__flag.iti__ck{height:10px;background-position:-983px 0px}.iti__flag.iti__cl{height:14px;background-position:-1005px 0px}.iti__flag.iti__cm{height:14px;background-position:-1027px 0px}.iti__flag.iti__cn{height:14px;background-position:-1049px 0px}.iti__flag.iti__co{height:14px;background-position:-1071px 0px}.iti__flag.iti__cp{height:14px;background-position:-1093px 0px}.iti__flag.iti__cr{height:12px;background-position:-1115px 0px}.iti__flag.iti__cu{height:10px;background-position:-1137px 0px}.iti__flag.iti__cv{height:12px;background-position:-1159px 0px}.iti__flag.iti__cw{height:14px;background-position:-1181px 0px}.iti__flag.iti__cx{height:10px;background-position:-1203px 0px}.iti__flag.iti__cy{height:14px;background-position:-1225px 0px}.iti__flag.iti__cz{height:14px;background-position:-1247px 0px}.iti__flag.iti__de{height:12px;background-position:-1269px 0px}.iti__flag.iti__dg{height:10px;background-position:-1291px 0px}.iti__flag.iti__dj{height:14px;background-position:-1313px 0px}.iti__flag.iti__dk{height:15px;background-position:-1335px 0px}.iti__flag.iti__dm{height:10px;background-position:-1357px 0px}.iti__flag.iti__do{height:14px;background-position:-1379px 0px}.iti__flag.iti__dz{height:14px;background-position:-1401px 0px}.iti__flag.iti__ea{height:14px;background-position:-1423px 0px}.iti__flag.iti__ec{height:14px;background-position:-1445px 0px}.iti__flag.iti__ee{height:13px;background-position:-1467px 0px}.iti__flag.iti__eg{height:14px;background-position:-1489px 0px}.iti__flag.iti__eh{height:10px;background-position:-1511px 0px}.iti__flag.iti__er{height:10px;background-position:-1533px 0px}.iti__flag.iti__es{height:14px;background-position:-1555px 0px}.iti__flag.iti__et{height:10px;background-position:-1577px 0px}.iti__flag.iti__eu{height:14px;background-position:-1599px 0px}.iti__flag.iti__fi{height:12px;background-position:-1621px 0px}.iti__flag.iti__fj{height:10px;background-position:-1643px 0px}.iti__flag.iti__fk{height:10px;background-position:-1665px 0px}.iti__flag.iti__fm{height:11px;background-position:-1687px 0px}.iti__flag.iti__fo{height:15px;background-position:-1709px 0px}.iti__flag.iti__fr{height:14px;background-position:-1731px 0px}.iti__flag.iti__ga{height:15px;background-position:-1753px 0px}.iti__flag.iti__gb{height:10px;background-position:-1775px 0px}.iti__flag.iti__gd{height:12px;background-position:-1797px 0px}.iti__flag.iti__ge{height:14px;background-position:-1819px 0px}.iti__flag.iti__gf{height:14px;background-position:-1841px 0px}.iti__flag.iti__gg{height:14px;background-position:-1863px 0px}.iti__flag.iti__gh{height:14px;background-position:-1885px 0px}.iti__flag.iti__gi{height:10px;background-position:-1907px 0px}.iti__flag.iti__gl{height:14px;background-position:-1929px 0px}.iti__flag.iti__gm{height:14px;background-position:-1951px 0px}.iti__flag.iti__gn{height:14px;background-position:-1973px 0px}.iti__flag.iti__gp{height:14px;background-position:-1995px 0px}.iti__flag.iti__gq{height:14px;background-position:-2017px 0px}.iti__flag.iti__gr{height:14px;background-position:-2039px 0px}.iti__flag.iti__gs{height:10px;background-position:-2061px 0px}.iti__flag.iti__gt{height:13px;background-position:-2083px 0px}.iti__flag.iti__gu{height:11px;background-position:-2105px 0px}.iti__flag.iti__gw{height:10px;background-position:-2127px 0px}.iti__flag.iti__gy{height:12px;background-position:-2149px 0px}.iti__flag.iti__hk{height:14px;background-position:-2171px 0px}.iti__flag.iti__hm{height:10px;background-position:-2193px 0px}.iti__flag.iti__hn{height:10px;background-position:-2215px 0px}.iti__flag.iti__hr{height:10px;background-position:-2237px 0px}.iti__flag.iti__ht{height:12px;background-position:-2259px 0px}.iti__flag.iti__hu{height:10px;background-position:-2281px 0px}.iti__flag.iti__ic{height:14px;background-position:-2303px 0px}.iti__flag.iti__id{height:14px;background-position:-2325px 0px}.iti__flag.iti__ie{height:10px;background-position:-2347px 0px}.iti__flag.iti__il{height:15px;background-position:-2369px 0px}.iti__flag.iti__im{height:10px;background-position:-2391px 0px}.iti__flag.iti__in{height:14px;background-position:-2413px 0px}.iti__flag.iti__io{height:10px;background-position:-2435px 0px}.iti__flag.iti__iq{height:14px;background-position:-2457px 0px}.iti__flag.iti__ir{height:12px;background-position:-2479px 0px}.iti__flag.iti__is{height:15px;background-position:-2501px 0px}.iti__flag.iti__it{height:14px;background-position:-2523px 0px}.iti__flag.iti__je{height:12px;background-position:-2545px 0px}.iti__flag.iti__jm{height:10px;background-position:-2567px 0px}.iti__flag.iti__jo{height:10px;background-position:-2589px 0px}.iti__flag.iti__jp{height:14px;background-position:-2611px 0px}.iti__flag.iti__ke{height:14px;background-position:-2633px 0px}.iti__flag.iti__kg{height:12px;background-position:-2655px 0px}.iti__flag.iti__kh{height:13px;background-position:-2677px 0px}.iti__flag.iti__ki{height:10px;background-position:-2699px 0px}.iti__flag.iti__km{height:12px;background-position:-2721px 0px}.iti__flag.iti__kn{height:14px;background-position:-2743px 0px}.iti__flag.iti__kp{height:10px;background-position:-2765px 0px}.iti__flag.iti__kr{height:14px;background-position:-2787px 0px}.iti__flag.iti__kw{height:10px;background-position:-2809px 0px}.iti__flag.iti__ky{height:10px;background-position:-2831px 0px}.iti__flag.iti__kz{height:10px;background-position:-2853px 0px}.iti__flag.iti__la{height:14px;background-position:-2875px 0px}.iti__flag.iti__lb{height:14px;background-position:-2897px 0px}.iti__flag.iti__lc{height:10px;background-position:-2919px 0px}.iti__flag.iti__li{height:12px;background-position:-2941px 0px}.iti__flag.iti__lk{height:10px;background-position:-2963px 0px}.iti__flag.iti__lr{height:11px;background-position:-2985px 0px}.iti__flag.iti__ls{height:14px;background-position:-3007px 0px}.iti__flag.iti__lt{height:12px;background-position:-3029px 0px}.iti__flag.iti__lu{height:12px;background-position:-3051px 0px}.iti__flag.iti__lv{height:10px;background-position:-3073px 0px}.iti__flag.iti__ly{height:10px;background-position:-3095px 0px}.iti__flag.iti__ma{height:14px;background-position:-3117px 0px}.iti__flag.iti__mc{height:15px;background-position:-3139px 0px}.iti__flag.iti__md{height:10px;background-position:-3160px 0px}.iti__flag.iti__me{height:10px;background-position:-3182px 0px}.iti__flag.iti__mf{height:14px;background-position:-3204px 0px}.iti__flag.iti__mg{height:14px;background-position:-3226px 0px}.iti__flag.iti__mh{height:11px;background-position:-3248px 0px}.iti__flag.iti__mk{height:10px;background-position:-3270px 0px}.iti__flag.iti__ml{height:14px;background-position:-3292px 0px}.iti__flag.iti__mm{height:14px;background-position:-3314px 0px}.iti__flag.iti__mn{height:10px;background-position:-3336px 0px}.iti__flag.iti__mo{height:14px;background-position:-3358px 0px}.iti__flag.iti__mp{height:10px;background-position:-3380px 0px}.iti__flag.iti__mq{height:14px;background-position:-3402px 0px}.iti__flag.iti__mr{height:14px;background-position:-3424px 0px}.iti__flag.iti__ms{height:10px;background-position:-3446px 0px}.iti__flag.iti__mt{height:14px;background-position:-3468px 0px}.iti__flag.iti__mu{height:14px;background-position:-3490px 0px}.iti__flag.iti__mv{height:14px;background-position:-3512px 0px}.iti__flag.iti__mw{height:14px;background-position:-3534px 0px}.iti__flag.iti__mx{height:12px;background-position:-3556px 0px}.iti__flag.iti__my{height:10px;background-position:-3578px 0px}.iti__flag.iti__mz{height:14px;background-position:-3600px 0px}.iti__flag.iti__na{height:14px;background-position:-3622px 0px}.iti__flag.iti__nc{height:10px;background-position:-3644px 0px}.iti__flag.iti__ne{height:15px;background-position:-3666px 0px}.iti__flag.iti__nf{height:10px;background-position:-3686px 0px}.iti__flag.iti__ng{height:10px;background-position:-3708px 0px}.iti__flag.iti__ni{height:12px;background-position:-3730px 0px}.iti__flag.iti__nl{height:14px;background-position:-3752px 0px}.iti__flag.iti__no{height:15px;background-position:-3774px 0px}.iti__flag.iti__np{height:15px;background-position:-3796px 0px}.iti__flag.iti__nr{height:10px;background-position:-3811px 0px}.iti__flag.iti__nu{height:10px;background-position:-3833px 0px}.iti__flag.iti__nz{height:10px;background-position:-3855px 0px}.iti__flag.iti__om{height:10px;background-position:-3877px 0px}.iti__flag.iti__pa{height:14px;background-position:-3899px 0px}.iti__flag.iti__pe{height:14px;background-position:-3921px 0px}.iti__flag.iti__pf{height:14px;background-position:-3943px 0px}.iti__flag.iti__pg{height:15px;background-position:-3965px 0px}.iti__flag.iti__ph{height:10px;background-position:-3987px 0px}.iti__flag.iti__pk{height:14px;background-position:-4009px 0px}.iti__flag.iti__pl{height:13px;background-position:-4031px 0px}.iti__flag.iti__pm{height:14px;background-position:-4053px 0px}.iti__flag.iti__pn{height:10px;background-position:-4075px 0px}.iti__flag.iti__pr{height:14px;background-position:-4097px 0px}.iti__flag.iti__ps{height:10px;background-position:-4119px 0px}.iti__flag.iti__pt{height:14px;background-position:-4141px 0px}.iti__flag.iti__pw{height:13px;background-position:-4163px 0px}.iti__flag.iti__py{height:11px;background-position:-4185px 0px}.iti__flag.iti__qa{height:8px;background-position:-4207px 0px}.iti__flag.iti__re{height:14px;background-position:-4229px 0px}.iti__flag.iti__ro{height:14px;background-position:-4251px 0px}.iti__flag.iti__rs{height:14px;background-position:-4273px 0px}.iti__flag.iti__ru{height:14px;background-position:-4295px 0px}.iti__flag.iti__rw{height:14px;background-position:-4317px 0px}.iti__flag.iti__sa{height:14px;background-position:-4339px 0px}.iti__flag.iti__sb{height:10px;background-position:-4361px 0px}.iti__flag.iti__sc{height:10px;background-position:-4383px 0px}.iti__flag.iti__sd{height:10px;background-position:-4405px 0px}.iti__flag.iti__se{height:13px;background-position:-4427px 0px}.iti__flag.iti__sg{height:14px;background-position:-4449px 0px}.iti__flag.iti__sh{height:10px;background-position:-4471px 0px}.iti__flag.iti__si{height:10px;background-position:-4493px 0px}.iti__flag.iti__sj{height:15px;background-position:-4515px 0px}.iti__flag.iti__sk{height:14px;background-position:-4537px 0px}.iti__flag.iti__sl{height:14px;background-position:-4559px 0px}.iti__flag.iti__sm{height:15px;background-position:-4581px 0px}.iti__flag.iti__sn{height:14px;background-position:-4603px 0px}.iti__flag.iti__so{height:14px;background-position:-4625px 0px}.iti__flag.iti__sr{height:14px;background-position:-4647px 0px}.iti__flag.iti__ss{height:10px;background-position:-4669px 0px}.iti__flag.iti__st{height:10px;background-position:-4691px 0px}.iti__flag.iti__sv{height:12px;background-position:-4713px 0px}.iti__flag.iti__sx{height:14px;background-position:-4735px 0px}.iti__flag.iti__sy{height:14px;background-position:-4757px 0px}.iti__flag.iti__sz{height:14px;background-position:-4779px 0px}.iti__flag.iti__ta{height:10px;background-position:-4801px 0px}.iti__flag.iti__tc{height:10px;background-position:-4823px 0px}.iti__flag.iti__td{height:14px;background-position:-4845px 0px}.iti__flag.iti__tf{height:14px;background-position:-4867px 0px}.iti__flag.iti__tg{height:13px;background-position:-4889px 0px}.iti__flag.iti__th{height:14px;background-position:-4911px 0px}.iti__flag.iti__tj{height:10px;background-position:-4933px 0px}.iti__flag.iti__tk{height:10px;background-position:-4955px 0px}.iti__flag.iti__tl{height:10px;background-position:-4977px 0px}.iti__flag.iti__tm{height:14px;background-position:-4999px 0px}.iti__flag.iti__tn{height:14px;background-position:-5021px 0px}.iti__flag.iti__to{height:10px;background-position:-5043px 0px}.iti__flag.iti__tr{height:14px;background-position:-5065px 0px}.iti__flag.iti__tt{height:12px;background-position:-5087px 0px}.iti__flag.iti__tv{height:10px;background-position:-5109px 0px}.iti__flag.iti__tw{height:14px;background-position:-5131px 0px}.iti__flag.iti__tz{height:14px;background-position:-5153px 0px}.iti__flag.iti__ua{height:14px;background-position:-5175px 0px}.iti__flag.iti__ug{height:14px;background-position:-5197px 0px}.iti__flag.iti__um{height:11px;background-position:-5219px 0px}.iti__flag.iti__un{height:14px;background-position:-5241px 0px}.iti__flag.iti__us{height:11px;background-position:-5263px 0px}.iti__flag.iti__uy{height:14px;background-position:-5285px 0px}.iti__flag.iti__uz{height:10px;background-position:-5307px 0px}.iti__flag.iti__va{height:15px;background-position:-5329px 0px}.iti__flag.iti__vc{height:14px;background-position:-5346px 0px}.iti__flag.iti__ve{height:14px;background-position:-5368px 0px}.iti__flag.iti__vg{height:10px;background-position:-5390px 0px}.iti__flag.iti__vi{height:14px;background-position:-5412px 0px}.iti__flag.iti__vn{height:14px;background-position:-5434px 0px}.iti__flag.iti__vu{height:12px;background-position:-5456px 0px}.iti__flag.iti__wf{height:14px;background-position:-5478px 0px}.iti__flag.iti__ws{height:10px;background-position:-5500px 0px}.iti__flag.iti__xk{height:15px;background-position:-5522px 0px}.iti__flag.iti__ye{height:14px;background-position:-5544px 0px}.iti__flag.iti__yt{height:14px;background-position:-5566px 0px}.iti__flag.iti__za{height:14px;background-position:-5588px 0px}.iti__flag.iti__zm{height:14px;background-position:-5610px 0px}.iti__flag.iti__zw{height:10px;background-position:-5632px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-image:url(../img/flags@2x.png)}}.iti__flag.iti__np{background-color:transparent}.sky-country-field-country-btn+::ng-deep .sky-form-control{border-left:none}.sky-country-field-container{width:100%}.sky-country-field-search-result-flag{display:inline-block;margin-right:5px}.sky-country-field-flag{display:none}.sky-country-field-disabled .sky-country-field-input{cursor:default;background-color:#cdcfd2}.sky-country-field-disabled .sky-country-field-flag{opacity:.65}.sky-country-field-input{cursor:text;display:flex;position:relative}.sky-country-field-input .sky-country-field-flag{align-items:center;margin-bottom:auto;margin-top:auto;position:absolute;left:13px;height:35px;bottom:0}.sky-country-field-input textarea{overflow:hidden;resize:none;white-space:nowrap}.sky-country-field-input-with-flag .sky-country-field-flag{display:flex}.sky-country-field-input-with-flag .sky-form-control{padding-left:40px}.sky-country-field-country-selected,.sky-country-field-country-default{border-bottom:1px solid #e2e3e4}:host(.ng-invalid.ng-touched) .sky-country-field-input textarea{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}::ng-deep .sky-theme-modern .sky-country-field-disabled .sky-country-field-flag{filter:grayscale(100%)}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input{background-color:transparent;border-radius:6px}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input textarea.sky-form-control{overflow:hidden;resize:none;white-space:nowrap}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-country-field-flag{height:40px;left:15px;opacity:1}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-form-control{padding-left:45px}.iti__flag{max-width:25px;max-height:13px;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags.webp)!important}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag .iti__flag{background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"], components: [{ type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1542
1570
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyCountryFieldComponent, decorators: [{
|
|
1543
1571
|
type: Component,
|
|
1544
1572
|
args: [{ selector: 'sky-country-field', providers: [SKY_COUNTRY_FIELD_VALIDATOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <span\n class=\"sky-country-field-container\"\n [ngClass]=\"{\n 'sky-country-field-disabled': disabled\n }\"\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"inputId\"\n [data]=\"countries\"\n [propertiesToSearch]=\"['name', 'iso2']\"\n [searchResultTemplate]=\"countrySearchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n (selectionChange)=\"onCountrySelected($event)\"\n >\n <div\n class=\"sky-country-field-input\"\n [ngClass]=\"{\n 'sky-country-field-input-with-flag':\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n }\"\n >\n <div\n *ngIf=\"\n selectedCountry && selectedCountry.iso2 && !hideSelectedCountryFlag\n \"\n class=\"sky-country-field-flag\"\n >\n <div\n class=\"iti__flag\"\n [ngClass]=\"'iti__' + selectedCountry.iso2.toLowerCase()\"\n ></div>\n </div>\n <textarea\n class=\"sky-form-control\"\n name=\"selectedCountry\"\n rows=\"1\"\n skyAutocomplete\n [attr.aria-label]=\"\n 'skyux_country_field_search_placeholder' | skyLibResources\n \"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n currentTheme === 'default'\n ? ('skyux_country_field_search_placeholder' | skyLibResources)\n : ''\n \"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </sky-autocomplete>\n </span>\n</ng-template>\n\n<ng-template let-item=\"item\" #countrySearchResultTemplate>\n <div\n class=\"sky-country-field-search-result-flag\"\n [ngClass]=\"'iti__flag iti__' + item.iso2.toLowerCase()\"\n ></div>\n {{ item.name }}\n <span *ngIf=\"includePhoneInfo\" class=\"sky-deemphasized\">\n {{ item.dialCode }}\n </span>\n</ng-template>\n\n<!-- This template should only be used in modern theme input boxes. -->\n<ng-template #searchIconTemplateRef>\n <div class=\"sky-input-group-icon sky-input-box-icon-inset\">\n <sky-icon iconType=\"skyux\" icon=\"search\"></sky-icon>\n </div>\n</ng-template>\n", styles: [".iti{position:relative;display:inline-block}.iti *{box-sizing:border-box;-moz-box-sizing:border-box}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti input,.iti input[type=text],.iti input[type=tel]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.iti__flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.iti__selected-flag{z-index:1;position:relative;display:flex;align-items:center;height:100%;padding:0 6px 0 8px}.iti__arrow{margin-left:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px #0003;background-color:#fff;border:1px solid #CCC;white-space:nowrap;max-height:200px;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti__country-list--dropup{bottom:100%;margin-bottom:-1px}@media (max-width: 500px){.iti__country-list{white-space:normal}}.iti__flag-box{display:inline-block;width:20px}.iti__divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #CCC}.iti__country{padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name,.iti__dial-code{vertical-align:middle}.iti__flag-box,.iti__country-name{margin-right:6px}.iti--allow-dropdown input,.iti--allow-dropdown input[type=text],.iti--allow-dropdown input[type=tel],.iti--separate-dial-code input,.iti--separate-dial-code input[type=text],.iti--separate-dial-code input[type=tel]{padding-right:6px;padding-left:52px;margin-left:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}.iti--allow-dropdown .iti__flag-container:hover{cursor:pointer}.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:#0000000d}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover{cursor:default}.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag{background-color:transparent}.iti--separate-dial-code .iti__selected-flag{background-color:#0000000d}.iti--separate-dial-code .iti__selected-dial-code{margin-left:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .iti__country-list{max-height:100%;width:100%}.iti-mobile .iti__country{padding:10px;line-height:1.5em}.iti__flag{width:20px}.iti__flag.iti__be{width:18px}.iti__flag.iti__ch{width:15px}.iti__flag.iti__mc{width:19px}.iti__flag.iti__ne{width:18px}.iti__flag.iti__np{width:13px}.iti__flag.iti__va{width:15px}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-size:5652px 15px}}.iti__flag.iti__ac{height:10px;background-position:0px 0px}.iti__flag.iti__ad{height:14px;background-position:-22px 0px}.iti__flag.iti__ae{height:10px;background-position:-44px 0px}.iti__flag.iti__af{height:14px;background-position:-66px 0px}.iti__flag.iti__ag{height:14px;background-position:-88px 0px}.iti__flag.iti__ai{height:10px;background-position:-110px 0px}.iti__flag.iti__al{height:15px;background-position:-132px 0px}.iti__flag.iti__am{height:10px;background-position:-154px 0px}.iti__flag.iti__ao{height:14px;background-position:-176px 0px}.iti__flag.iti__aq{height:14px;background-position:-198px 0px}.iti__flag.iti__ar{height:13px;background-position:-220px 0px}.iti__flag.iti__as{height:10px;background-position:-242px 0px}.iti__flag.iti__at{height:14px;background-position:-264px 0px}.iti__flag.iti__au{height:10px;background-position:-286px 0px}.iti__flag.iti__aw{height:14px;background-position:-308px 0px}.iti__flag.iti__ax{height:13px;background-position:-330px 0px}.iti__flag.iti__az{height:10px;background-position:-352px 0px}.iti__flag.iti__ba{height:10px;background-position:-374px 0px}.iti__flag.iti__bb{height:14px;background-position:-396px 0px}.iti__flag.iti__bd{height:12px;background-position:-418px 0px}.iti__flag.iti__be{height:15px;background-position:-440px 0px}.iti__flag.iti__bf{height:14px;background-position:-460px 0px}.iti__flag.iti__bg{height:12px;background-position:-482px 0px}.iti__flag.iti__bh{height:12px;background-position:-504px 0px}.iti__flag.iti__bi{height:12px;background-position:-526px 0px}.iti__flag.iti__bj{height:14px;background-position:-548px 0px}.iti__flag.iti__bl{height:14px;background-position:-570px 0px}.iti__flag.iti__bm{height:10px;background-position:-592px 0px}.iti__flag.iti__bn{height:10px;background-position:-614px 0px}.iti__flag.iti__bo{height:14px;background-position:-636px 0px}.iti__flag.iti__bq{height:14px;background-position:-658px 0px}.iti__flag.iti__br{height:14px;background-position:-680px 0px}.iti__flag.iti__bs{height:10px;background-position:-702px 0px}.iti__flag.iti__bt{height:14px;background-position:-724px 0px}.iti__flag.iti__bv{height:15px;background-position:-746px 0px}.iti__flag.iti__bw{height:14px;background-position:-768px 0px}.iti__flag.iti__by{height:10px;background-position:-790px 0px}.iti__flag.iti__bz{height:14px;background-position:-812px 0px}.iti__flag.iti__ca{height:10px;background-position:-834px 0px}.iti__flag.iti__cc{height:10px;background-position:-856px 0px}.iti__flag.iti__cd{height:15px;background-position:-878px 0px}.iti__flag.iti__cf{height:14px;background-position:-900px 0px}.iti__flag.iti__cg{height:14px;background-position:-922px 0px}.iti__flag.iti__ch{height:15px;background-position:-944px 0px}.iti__flag.iti__ci{height:14px;background-position:-961px 0px}.iti__flag.iti__ck{height:10px;background-position:-983px 0px}.iti__flag.iti__cl{height:14px;background-position:-1005px 0px}.iti__flag.iti__cm{height:14px;background-position:-1027px 0px}.iti__flag.iti__cn{height:14px;background-position:-1049px 0px}.iti__flag.iti__co{height:14px;background-position:-1071px 0px}.iti__flag.iti__cp{height:14px;background-position:-1093px 0px}.iti__flag.iti__cr{height:12px;background-position:-1115px 0px}.iti__flag.iti__cu{height:10px;background-position:-1137px 0px}.iti__flag.iti__cv{height:12px;background-position:-1159px 0px}.iti__flag.iti__cw{height:14px;background-position:-1181px 0px}.iti__flag.iti__cx{height:10px;background-position:-1203px 0px}.iti__flag.iti__cy{height:14px;background-position:-1225px 0px}.iti__flag.iti__cz{height:14px;background-position:-1247px 0px}.iti__flag.iti__de{height:12px;background-position:-1269px 0px}.iti__flag.iti__dg{height:10px;background-position:-1291px 0px}.iti__flag.iti__dj{height:14px;background-position:-1313px 0px}.iti__flag.iti__dk{height:15px;background-position:-1335px 0px}.iti__flag.iti__dm{height:10px;background-position:-1357px 0px}.iti__flag.iti__do{height:14px;background-position:-1379px 0px}.iti__flag.iti__dz{height:14px;background-position:-1401px 0px}.iti__flag.iti__ea{height:14px;background-position:-1423px 0px}.iti__flag.iti__ec{height:14px;background-position:-1445px 0px}.iti__flag.iti__ee{height:13px;background-position:-1467px 0px}.iti__flag.iti__eg{height:14px;background-position:-1489px 0px}.iti__flag.iti__eh{height:10px;background-position:-1511px 0px}.iti__flag.iti__er{height:10px;background-position:-1533px 0px}.iti__flag.iti__es{height:14px;background-position:-1555px 0px}.iti__flag.iti__et{height:10px;background-position:-1577px 0px}.iti__flag.iti__eu{height:14px;background-position:-1599px 0px}.iti__flag.iti__fi{height:12px;background-position:-1621px 0px}.iti__flag.iti__fj{height:10px;background-position:-1643px 0px}.iti__flag.iti__fk{height:10px;background-position:-1665px 0px}.iti__flag.iti__fm{height:11px;background-position:-1687px 0px}.iti__flag.iti__fo{height:15px;background-position:-1709px 0px}.iti__flag.iti__fr{height:14px;background-position:-1731px 0px}.iti__flag.iti__ga{height:15px;background-position:-1753px 0px}.iti__flag.iti__gb{height:10px;background-position:-1775px 0px}.iti__flag.iti__gd{height:12px;background-position:-1797px 0px}.iti__flag.iti__ge{height:14px;background-position:-1819px 0px}.iti__flag.iti__gf{height:14px;background-position:-1841px 0px}.iti__flag.iti__gg{height:14px;background-position:-1863px 0px}.iti__flag.iti__gh{height:14px;background-position:-1885px 0px}.iti__flag.iti__gi{height:10px;background-position:-1907px 0px}.iti__flag.iti__gl{height:14px;background-position:-1929px 0px}.iti__flag.iti__gm{height:14px;background-position:-1951px 0px}.iti__flag.iti__gn{height:14px;background-position:-1973px 0px}.iti__flag.iti__gp{height:14px;background-position:-1995px 0px}.iti__flag.iti__gq{height:14px;background-position:-2017px 0px}.iti__flag.iti__gr{height:14px;background-position:-2039px 0px}.iti__flag.iti__gs{height:10px;background-position:-2061px 0px}.iti__flag.iti__gt{height:13px;background-position:-2083px 0px}.iti__flag.iti__gu{height:11px;background-position:-2105px 0px}.iti__flag.iti__gw{height:10px;background-position:-2127px 0px}.iti__flag.iti__gy{height:12px;background-position:-2149px 0px}.iti__flag.iti__hk{height:14px;background-position:-2171px 0px}.iti__flag.iti__hm{height:10px;background-position:-2193px 0px}.iti__flag.iti__hn{height:10px;background-position:-2215px 0px}.iti__flag.iti__hr{height:10px;background-position:-2237px 0px}.iti__flag.iti__ht{height:12px;background-position:-2259px 0px}.iti__flag.iti__hu{height:10px;background-position:-2281px 0px}.iti__flag.iti__ic{height:14px;background-position:-2303px 0px}.iti__flag.iti__id{height:14px;background-position:-2325px 0px}.iti__flag.iti__ie{height:10px;background-position:-2347px 0px}.iti__flag.iti__il{height:15px;background-position:-2369px 0px}.iti__flag.iti__im{height:10px;background-position:-2391px 0px}.iti__flag.iti__in{height:14px;background-position:-2413px 0px}.iti__flag.iti__io{height:10px;background-position:-2435px 0px}.iti__flag.iti__iq{height:14px;background-position:-2457px 0px}.iti__flag.iti__ir{height:12px;background-position:-2479px 0px}.iti__flag.iti__is{height:15px;background-position:-2501px 0px}.iti__flag.iti__it{height:14px;background-position:-2523px 0px}.iti__flag.iti__je{height:12px;background-position:-2545px 0px}.iti__flag.iti__jm{height:10px;background-position:-2567px 0px}.iti__flag.iti__jo{height:10px;background-position:-2589px 0px}.iti__flag.iti__jp{height:14px;background-position:-2611px 0px}.iti__flag.iti__ke{height:14px;background-position:-2633px 0px}.iti__flag.iti__kg{height:12px;background-position:-2655px 0px}.iti__flag.iti__kh{height:13px;background-position:-2677px 0px}.iti__flag.iti__ki{height:10px;background-position:-2699px 0px}.iti__flag.iti__km{height:12px;background-position:-2721px 0px}.iti__flag.iti__kn{height:14px;background-position:-2743px 0px}.iti__flag.iti__kp{height:10px;background-position:-2765px 0px}.iti__flag.iti__kr{height:14px;background-position:-2787px 0px}.iti__flag.iti__kw{height:10px;background-position:-2809px 0px}.iti__flag.iti__ky{height:10px;background-position:-2831px 0px}.iti__flag.iti__kz{height:10px;background-position:-2853px 0px}.iti__flag.iti__la{height:14px;background-position:-2875px 0px}.iti__flag.iti__lb{height:14px;background-position:-2897px 0px}.iti__flag.iti__lc{height:10px;background-position:-2919px 0px}.iti__flag.iti__li{height:12px;background-position:-2941px 0px}.iti__flag.iti__lk{height:10px;background-position:-2963px 0px}.iti__flag.iti__lr{height:11px;background-position:-2985px 0px}.iti__flag.iti__ls{height:14px;background-position:-3007px 0px}.iti__flag.iti__lt{height:12px;background-position:-3029px 0px}.iti__flag.iti__lu{height:12px;background-position:-3051px 0px}.iti__flag.iti__lv{height:10px;background-position:-3073px 0px}.iti__flag.iti__ly{height:10px;background-position:-3095px 0px}.iti__flag.iti__ma{height:14px;background-position:-3117px 0px}.iti__flag.iti__mc{height:15px;background-position:-3139px 0px}.iti__flag.iti__md{height:10px;background-position:-3160px 0px}.iti__flag.iti__me{height:10px;background-position:-3182px 0px}.iti__flag.iti__mf{height:14px;background-position:-3204px 0px}.iti__flag.iti__mg{height:14px;background-position:-3226px 0px}.iti__flag.iti__mh{height:11px;background-position:-3248px 0px}.iti__flag.iti__mk{height:10px;background-position:-3270px 0px}.iti__flag.iti__ml{height:14px;background-position:-3292px 0px}.iti__flag.iti__mm{height:14px;background-position:-3314px 0px}.iti__flag.iti__mn{height:10px;background-position:-3336px 0px}.iti__flag.iti__mo{height:14px;background-position:-3358px 0px}.iti__flag.iti__mp{height:10px;background-position:-3380px 0px}.iti__flag.iti__mq{height:14px;background-position:-3402px 0px}.iti__flag.iti__mr{height:14px;background-position:-3424px 0px}.iti__flag.iti__ms{height:10px;background-position:-3446px 0px}.iti__flag.iti__mt{height:14px;background-position:-3468px 0px}.iti__flag.iti__mu{height:14px;background-position:-3490px 0px}.iti__flag.iti__mv{height:14px;background-position:-3512px 0px}.iti__flag.iti__mw{height:14px;background-position:-3534px 0px}.iti__flag.iti__mx{height:12px;background-position:-3556px 0px}.iti__flag.iti__my{height:10px;background-position:-3578px 0px}.iti__flag.iti__mz{height:14px;background-position:-3600px 0px}.iti__flag.iti__na{height:14px;background-position:-3622px 0px}.iti__flag.iti__nc{height:10px;background-position:-3644px 0px}.iti__flag.iti__ne{height:15px;background-position:-3666px 0px}.iti__flag.iti__nf{height:10px;background-position:-3686px 0px}.iti__flag.iti__ng{height:10px;background-position:-3708px 0px}.iti__flag.iti__ni{height:12px;background-position:-3730px 0px}.iti__flag.iti__nl{height:14px;background-position:-3752px 0px}.iti__flag.iti__no{height:15px;background-position:-3774px 0px}.iti__flag.iti__np{height:15px;background-position:-3796px 0px}.iti__flag.iti__nr{height:10px;background-position:-3811px 0px}.iti__flag.iti__nu{height:10px;background-position:-3833px 0px}.iti__flag.iti__nz{height:10px;background-position:-3855px 0px}.iti__flag.iti__om{height:10px;background-position:-3877px 0px}.iti__flag.iti__pa{height:14px;background-position:-3899px 0px}.iti__flag.iti__pe{height:14px;background-position:-3921px 0px}.iti__flag.iti__pf{height:14px;background-position:-3943px 0px}.iti__flag.iti__pg{height:15px;background-position:-3965px 0px}.iti__flag.iti__ph{height:10px;background-position:-3987px 0px}.iti__flag.iti__pk{height:14px;background-position:-4009px 0px}.iti__flag.iti__pl{height:13px;background-position:-4031px 0px}.iti__flag.iti__pm{height:14px;background-position:-4053px 0px}.iti__flag.iti__pn{height:10px;background-position:-4075px 0px}.iti__flag.iti__pr{height:14px;background-position:-4097px 0px}.iti__flag.iti__ps{height:10px;background-position:-4119px 0px}.iti__flag.iti__pt{height:14px;background-position:-4141px 0px}.iti__flag.iti__pw{height:13px;background-position:-4163px 0px}.iti__flag.iti__py{height:11px;background-position:-4185px 0px}.iti__flag.iti__qa{height:8px;background-position:-4207px 0px}.iti__flag.iti__re{height:14px;background-position:-4229px 0px}.iti__flag.iti__ro{height:14px;background-position:-4251px 0px}.iti__flag.iti__rs{height:14px;background-position:-4273px 0px}.iti__flag.iti__ru{height:14px;background-position:-4295px 0px}.iti__flag.iti__rw{height:14px;background-position:-4317px 0px}.iti__flag.iti__sa{height:14px;background-position:-4339px 0px}.iti__flag.iti__sb{height:10px;background-position:-4361px 0px}.iti__flag.iti__sc{height:10px;background-position:-4383px 0px}.iti__flag.iti__sd{height:10px;background-position:-4405px 0px}.iti__flag.iti__se{height:13px;background-position:-4427px 0px}.iti__flag.iti__sg{height:14px;background-position:-4449px 0px}.iti__flag.iti__sh{height:10px;background-position:-4471px 0px}.iti__flag.iti__si{height:10px;background-position:-4493px 0px}.iti__flag.iti__sj{height:15px;background-position:-4515px 0px}.iti__flag.iti__sk{height:14px;background-position:-4537px 0px}.iti__flag.iti__sl{height:14px;background-position:-4559px 0px}.iti__flag.iti__sm{height:15px;background-position:-4581px 0px}.iti__flag.iti__sn{height:14px;background-position:-4603px 0px}.iti__flag.iti__so{height:14px;background-position:-4625px 0px}.iti__flag.iti__sr{height:14px;background-position:-4647px 0px}.iti__flag.iti__ss{height:10px;background-position:-4669px 0px}.iti__flag.iti__st{height:10px;background-position:-4691px 0px}.iti__flag.iti__sv{height:12px;background-position:-4713px 0px}.iti__flag.iti__sx{height:14px;background-position:-4735px 0px}.iti__flag.iti__sy{height:14px;background-position:-4757px 0px}.iti__flag.iti__sz{height:14px;background-position:-4779px 0px}.iti__flag.iti__ta{height:10px;background-position:-4801px 0px}.iti__flag.iti__tc{height:10px;background-position:-4823px 0px}.iti__flag.iti__td{height:14px;background-position:-4845px 0px}.iti__flag.iti__tf{height:14px;background-position:-4867px 0px}.iti__flag.iti__tg{height:13px;background-position:-4889px 0px}.iti__flag.iti__th{height:14px;background-position:-4911px 0px}.iti__flag.iti__tj{height:10px;background-position:-4933px 0px}.iti__flag.iti__tk{height:10px;background-position:-4955px 0px}.iti__flag.iti__tl{height:10px;background-position:-4977px 0px}.iti__flag.iti__tm{height:14px;background-position:-4999px 0px}.iti__flag.iti__tn{height:14px;background-position:-5021px 0px}.iti__flag.iti__to{height:10px;background-position:-5043px 0px}.iti__flag.iti__tr{height:14px;background-position:-5065px 0px}.iti__flag.iti__tt{height:12px;background-position:-5087px 0px}.iti__flag.iti__tv{height:10px;background-position:-5109px 0px}.iti__flag.iti__tw{height:14px;background-position:-5131px 0px}.iti__flag.iti__tz{height:14px;background-position:-5153px 0px}.iti__flag.iti__ua{height:14px;background-position:-5175px 0px}.iti__flag.iti__ug{height:14px;background-position:-5197px 0px}.iti__flag.iti__um{height:11px;background-position:-5219px 0px}.iti__flag.iti__un{height:14px;background-position:-5241px 0px}.iti__flag.iti__us{height:11px;background-position:-5263px 0px}.iti__flag.iti__uy{height:14px;background-position:-5285px 0px}.iti__flag.iti__uz{height:10px;background-position:-5307px 0px}.iti__flag.iti__va{height:15px;background-position:-5329px 0px}.iti__flag.iti__vc{height:14px;background-position:-5346px 0px}.iti__flag.iti__ve{height:14px;background-position:-5368px 0px}.iti__flag.iti__vg{height:10px;background-position:-5390px 0px}.iti__flag.iti__vi{height:14px;background-position:-5412px 0px}.iti__flag.iti__vn{height:14px;background-position:-5434px 0px}.iti__flag.iti__vu{height:12px;background-position:-5456px 0px}.iti__flag.iti__wf{height:14px;background-position:-5478px 0px}.iti__flag.iti__ws{height:10px;background-position:-5500px 0px}.iti__flag.iti__xk{height:15px;background-position:-5522px 0px}.iti__flag.iti__ye{height:14px;background-position:-5544px 0px}.iti__flag.iti__yt{height:14px;background-position:-5566px 0px}.iti__flag.iti__za{height:14px;background-position:-5588px 0px}.iti__flag.iti__zm{height:14px;background-position:-5610px 0px}.iti__flag.iti__zw{height:10px;background-position:-5632px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag{background-image:url(../img/flags@2x.png)}}.iti__flag.iti__np{background-color:transparent}.sky-country-field-country-btn+::ng-deep .sky-form-control{border-left:none}.sky-country-field-container{width:100%}.sky-country-field-search-result-flag{display:inline-block;margin-right:5px}.sky-country-field-flag{display:none}.sky-country-field-disabled .sky-country-field-input{cursor:default;background-color:#cdcfd2}.sky-country-field-disabled .sky-country-field-flag{opacity:.65}.sky-country-field-input{cursor:text;display:flex;position:relative}.sky-country-field-input .sky-country-field-flag{align-items:center;margin-bottom:auto;margin-top:auto;position:absolute;left:13px;height:35px;bottom:0}.sky-country-field-input textarea{overflow:hidden;resize:none;white-space:nowrap}.sky-country-field-input-with-flag .sky-country-field-flag{display:flex}.sky-country-field-input-with-flag .sky-form-control{padding-left:40px}.sky-country-field-country-selected,.sky-country-field-country-default{border-bottom:1px solid #e2e3e4}:host(.ng-invalid.ng-touched) .sky-country-field-input textarea{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}::ng-deep .sky-theme-modern .sky-country-field-disabled .sky-country-field-flag{filter:grayscale(100%)}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input{background-color:transparent;border-radius:6px}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input textarea.sky-form-control{overflow:hidden;resize:none;white-space:nowrap}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-country-field-flag{height:40px;left:15px;opacity:1}::ng-deep .sky-theme-modern .sky-input-box .sky-form-group .sky-country-field-input-with-flag .sky-form-control{padding-left:45px}.iti__flag{max-width:25px;max-height:13px;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags.webp)!important}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.iti__flag .iti__flag{background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.2/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"] }]
|
|
@@ -1616,49 +1644,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1616
1644
|
}]
|
|
1617
1645
|
}] });
|
|
1618
1646
|
|
|
1647
|
+
var _SkySearchAdapterService_instances, _SkySearchAdapterService_renderer, _SkySearchAdapterService_getInputContainerEl, _SkySearchAdapterService_getSearchOpenButtonEl, _SkySearchAdapterService_getSearchContainerEl, _SkySearchAdapterService_getInputEl;
|
|
1619
1648
|
/**
|
|
1620
1649
|
* @internal
|
|
1621
1650
|
*/
|
|
1622
1651
|
class SkySearchAdapterService {
|
|
1623
1652
|
constructor(renderer) {
|
|
1624
|
-
this
|
|
1653
|
+
_SkySearchAdapterService_instances.add(this);
|
|
1654
|
+
_SkySearchAdapterService_renderer.set(this, void 0);
|
|
1655
|
+
__classPrivateFieldSet(this, _SkySearchAdapterService_renderer, renderer, "f");
|
|
1625
1656
|
}
|
|
1626
1657
|
selectInput(searchEl) {
|
|
1627
|
-
this.
|
|
1658
|
+
__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputEl).call(this, searchEl).select();
|
|
1628
1659
|
}
|
|
1629
1660
|
focusInput(searchEl) {
|
|
1630
|
-
this.
|
|
1661
|
+
__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputEl).call(this, searchEl).focus();
|
|
1631
1662
|
}
|
|
1632
1663
|
startInputAnimation(searchEl) {
|
|
1633
|
-
const buttonWidth = this.
|
|
1634
|
-
const offsetWidth = this.
|
|
1664
|
+
const buttonWidth = __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getSearchOpenButtonEl).call(this, searchEl).clientWidth;
|
|
1665
|
+
const offsetWidth = __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getSearchContainerEl).call(this, searchEl).offsetLeft;
|
|
1635
1666
|
const minWidth = buttonWidth + offsetWidth;
|
|
1636
|
-
this.
|
|
1667
|
+
__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl).style.minWidth =
|
|
1637
1668
|
minWidth.toString() + 'px';
|
|
1638
|
-
this.
|
|
1669
|
+
__classPrivateFieldGet(this, _SkySearchAdapterService_renderer, "f").setStyle(__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl), 'min-width', minWidth.toString() + 'px');
|
|
1639
1670
|
}
|
|
1640
1671
|
endInputAnimation(searchEl) {
|
|
1641
|
-
this.
|
|
1642
|
-
}
|
|
1643
|
-
getInputContainerEl(searchEl) {
|
|
1644
|
-
return searchEl.nativeElement.querySelector('.sky-search-input-container');
|
|
1645
|
-
}
|
|
1646
|
-
getSearchOpenButtonEl(searchEl) {
|
|
1647
|
-
return searchEl.nativeElement.querySelector('.sky-search-btn-open');
|
|
1648
|
-
}
|
|
1649
|
-
getSearchContainerEl(searchEl) {
|
|
1650
|
-
return searchEl.nativeElement.querySelector('.sky-search-container');
|
|
1651
|
-
}
|
|
1652
|
-
getInputEl(searchEl) {
|
|
1653
|
-
return searchEl.nativeElement.querySelector('input');
|
|
1672
|
+
__classPrivateFieldGet(this, _SkySearchAdapterService_renderer, "f").setStyle(__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl), 'min-width', '');
|
|
1654
1673
|
}
|
|
1655
1674
|
}
|
|
1675
|
+
_SkySearchAdapterService_renderer = new WeakMap(), _SkySearchAdapterService_instances = new WeakSet(), _SkySearchAdapterService_getInputContainerEl = function _SkySearchAdapterService_getInputContainerEl(searchEl) {
|
|
1676
|
+
return searchEl.nativeElement.querySelector('.sky-search-input-container');
|
|
1677
|
+
}, _SkySearchAdapterService_getSearchOpenButtonEl = function _SkySearchAdapterService_getSearchOpenButtonEl(searchEl) {
|
|
1678
|
+
return searchEl.nativeElement.querySelector('.sky-search-btn-open');
|
|
1679
|
+
}, _SkySearchAdapterService_getSearchContainerEl = function _SkySearchAdapterService_getSearchContainerEl(searchEl) {
|
|
1680
|
+
return searchEl.nativeElement.querySelector('.sky-search-container');
|
|
1681
|
+
}, _SkySearchAdapterService_getInputEl = function _SkySearchAdapterService_getInputEl(searchEl) {
|
|
1682
|
+
return searchEl.nativeElement.querySelector('input');
|
|
1683
|
+
};
|
|
1656
1684
|
SkySearchAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1657
1685
|
SkySearchAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService });
|
|
1658
1686
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService, decorators: [{
|
|
1659
1687
|
type: Injectable
|
|
1660
1688
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
|
|
1661
1689
|
|
|
1690
|
+
var _SkySearchComponent_instances, _SkySearchComponent_changeRef, _SkySearchComponent_elRef, _SkySearchComponent_mediaQueryService, _SkySearchComponent_searchAdapter, _SkySearchComponent_searchUpdated, _SkySearchComponent_searchBindingChanged, _SkySearchComponent_expandModeBindingChanged, _SkySearchComponent_shouldOpenInput, _SkySearchComponent_mediaQueryCallback, _SkySearchComponent_searchShouldCollapse;
|
|
1662
1691
|
const INPUT_SHOWN_STATE = 'inputShown';
|
|
1663
1692
|
const INPUT_HIDDEN_STATE = 'inputHidden';
|
|
1664
1693
|
const EXPAND_MODE_RESPONSIVE = 'responsive';
|
|
@@ -1666,10 +1695,7 @@ const EXPAND_MODE_FIT = 'fit';
|
|
|
1666
1695
|
const EXPAND_MODE_NONE = 'none';
|
|
1667
1696
|
class SkySearchComponent {
|
|
1668
1697
|
constructor(mediaQueryService, elRef, searchAdapter, changeRef) {
|
|
1669
|
-
this
|
|
1670
|
-
this.elRef = elRef;
|
|
1671
|
-
this.searchAdapter = searchAdapter;
|
|
1672
|
-
this.changeRef = changeRef;
|
|
1698
|
+
_SkySearchComponent_instances.add(this);
|
|
1673
1699
|
/**
|
|
1674
1700
|
* Fires when the search text is applied.
|
|
1675
1701
|
*/
|
|
@@ -1692,31 +1718,37 @@ class SkySearchComponent {
|
|
|
1692
1718
|
this.expandMode = EXPAND_MODE_RESPONSIVE;
|
|
1693
1719
|
/**
|
|
1694
1720
|
* Specifies how many milliseconds to wait before searching after users enter text in the search input.
|
|
1695
|
-
* @default 0
|
|
1696
1721
|
*/
|
|
1697
1722
|
this.debounceTime = 0;
|
|
1698
1723
|
/**
|
|
1699
1724
|
* Indicates whether to disable the filter button.
|
|
1700
|
-
* @default false
|
|
1701
1725
|
*/
|
|
1702
1726
|
this.disabled = false;
|
|
1703
|
-
this.
|
|
1704
|
-
this.
|
|
1727
|
+
this.clearButtonShown = false;
|
|
1728
|
+
this.dismissButtonShown = false;
|
|
1705
1729
|
this.inputAnimate = INPUT_SHOWN_STATE;
|
|
1706
|
-
this.
|
|
1730
|
+
this.isCollapsible = true;
|
|
1731
|
+
this.isFullWidth = false;
|
|
1707
1732
|
this.mobileSearchShown = false;
|
|
1708
|
-
this.
|
|
1709
|
-
this
|
|
1710
|
-
this
|
|
1733
|
+
this.searchButtonShown = false;
|
|
1734
|
+
_SkySearchComponent_changeRef.set(this, void 0);
|
|
1735
|
+
_SkySearchComponent_elRef.set(this, void 0);
|
|
1736
|
+
_SkySearchComponent_mediaQueryService.set(this, void 0);
|
|
1737
|
+
_SkySearchComponent_searchAdapter.set(this, void 0);
|
|
1738
|
+
_SkySearchComponent_searchUpdated.set(this, new Subject());
|
|
1739
|
+
__classPrivateFieldSet(this, _SkySearchComponent_mediaQueryService, mediaQueryService, "f");
|
|
1740
|
+
__classPrivateFieldSet(this, _SkySearchComponent_elRef, elRef, "f");
|
|
1741
|
+
__classPrivateFieldSet(this, _SkySearchComponent_searchAdapter, searchAdapter, "f");
|
|
1742
|
+
__classPrivateFieldSet(this, _SkySearchComponent_changeRef, changeRef, "f");
|
|
1711
1743
|
}
|
|
1712
1744
|
ngOnInit() {
|
|
1713
|
-
if (this.
|
|
1714
|
-
this.breakpointSubscription = this.
|
|
1715
|
-
this.
|
|
1716
|
-
this.
|
|
1745
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
|
|
1746
|
+
this.breakpointSubscription = __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").subscribe((args) => {
|
|
1747
|
+
__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_mediaQueryCallback).call(this, args);
|
|
1748
|
+
__classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").detectChanges();
|
|
1717
1749
|
});
|
|
1718
1750
|
}
|
|
1719
|
-
this
|
|
1751
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f")
|
|
1720
1752
|
.asObservable()
|
|
1721
1753
|
.pipe(debounceTime(this.debounceTime), distinctUntilChanged())
|
|
1722
1754
|
.subscribe((value) => {
|
|
@@ -1724,7 +1756,7 @@ class SkySearchComponent {
|
|
|
1724
1756
|
});
|
|
1725
1757
|
}
|
|
1726
1758
|
ngOnChanges(changes) {
|
|
1727
|
-
if (this.
|
|
1759
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_expandModeBindingChanged).call(this, changes)) {
|
|
1728
1760
|
switch (this.expandMode) {
|
|
1729
1761
|
case EXPAND_MODE_NONE:
|
|
1730
1762
|
this.isCollapsible = false;
|
|
@@ -1740,18 +1772,18 @@ class SkySearchComponent {
|
|
|
1740
1772
|
break;
|
|
1741
1773
|
}
|
|
1742
1774
|
}
|
|
1743
|
-
if (this.
|
|
1744
|
-
this.clearButtonShown = this.searchText && this.searchText !== '';
|
|
1745
|
-
if (this.
|
|
1775
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchBindingChanged).call(this, changes)) {
|
|
1776
|
+
this.clearButtonShown = !!(this.searchText && this.searchText !== '');
|
|
1777
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_shouldOpenInput).call(this)) {
|
|
1746
1778
|
this.inputAnimate = INPUT_SHOWN_STATE;
|
|
1747
1779
|
}
|
|
1748
1780
|
}
|
|
1749
|
-
this.
|
|
1781
|
+
__classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").detectChanges();
|
|
1750
1782
|
}
|
|
1751
1783
|
clearSearchText() {
|
|
1752
1784
|
this.searchText = '';
|
|
1753
1785
|
this.clearButtonShown = false;
|
|
1754
|
-
this.
|
|
1786
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").focusInput(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
|
|
1755
1787
|
this.searchChange.emit(this.searchText);
|
|
1756
1788
|
this.searchApply.emit(this.searchText);
|
|
1757
1789
|
this.searchClear.emit();
|
|
@@ -1769,18 +1801,18 @@ class SkySearchComponent {
|
|
|
1769
1801
|
if (searchText !== this.searchText) {
|
|
1770
1802
|
this.searchText = searchText;
|
|
1771
1803
|
}
|
|
1772
|
-
this.clearButtonShown = searchText && searchText !== '';
|
|
1804
|
+
this.clearButtonShown = !!(searchText && searchText !== '');
|
|
1773
1805
|
if (searchText && searchText !== '') {
|
|
1774
|
-
this.
|
|
1806
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").selectInput(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
|
|
1775
1807
|
}
|
|
1776
1808
|
this.searchApply.emit(searchText);
|
|
1777
1809
|
}
|
|
1778
1810
|
searchTextChanged(searchText) {
|
|
1779
1811
|
this.searchText = searchText;
|
|
1780
|
-
this.
|
|
1812
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f").next(searchText);
|
|
1781
1813
|
}
|
|
1782
1814
|
toggleSearchInput(showInput) {
|
|
1783
|
-
if (this.
|
|
1815
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
|
|
1784
1816
|
if (showInput) {
|
|
1785
1817
|
this.inputAnimate = INPUT_SHOWN_STATE;
|
|
1786
1818
|
}
|
|
@@ -1790,24 +1822,24 @@ class SkySearchComponent {
|
|
|
1790
1822
|
}
|
|
1791
1823
|
}
|
|
1792
1824
|
inputAnimationStart(event) {
|
|
1793
|
-
if (this.
|
|
1794
|
-
this.
|
|
1825
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
|
|
1826
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").startInputAnimation(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
|
|
1795
1827
|
if (event.toState === INPUT_SHOWN_STATE &&
|
|
1796
|
-
this.
|
|
1828
|
+
__classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs) {
|
|
1797
1829
|
this.mobileSearchShown = true;
|
|
1798
1830
|
this.searchButtonShown = false;
|
|
1799
1831
|
}
|
|
1800
1832
|
}
|
|
1801
1833
|
}
|
|
1802
1834
|
inputAnimationEnd(event) {
|
|
1803
|
-
if (this.
|
|
1804
|
-
this.
|
|
1835
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
|
|
1836
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").endInputAnimation(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
|
|
1805
1837
|
this.searchButtonShown =
|
|
1806
1838
|
event.toState === INPUT_HIDDEN_STATE &&
|
|
1807
|
-
this.
|
|
1839
|
+
__classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs;
|
|
1808
1840
|
if ((event.toState === INPUT_HIDDEN_STATE &&
|
|
1809
|
-
this.
|
|
1810
|
-
this.
|
|
1841
|
+
__classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs) ||
|
|
1842
|
+
__classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current !== SkyMediaBreakpoints.xs) {
|
|
1811
1843
|
this.mobileSearchShown = false;
|
|
1812
1844
|
}
|
|
1813
1845
|
}
|
|
@@ -1816,42 +1848,38 @@ class SkySearchComponent {
|
|
|
1816
1848
|
if (this.breakpointSubscription) {
|
|
1817
1849
|
this.breakpointSubscription.unsubscribe();
|
|
1818
1850
|
}
|
|
1819
|
-
this.
|
|
1820
|
-
}
|
|
1821
|
-
searchBindingChanged(changes) {
|
|
1822
|
-
return (changes['searchText'] &&
|
|
1823
|
-
changes['searchText'].previousValue !== changes['searchText'].currentValue);
|
|
1824
|
-
}
|
|
1825
|
-
expandModeBindingChanged(changes) {
|
|
1826
|
-
return (changes['expandMode'] &&
|
|
1827
|
-
changes['expandMode'].previousValue !== changes['expandMode'].currentValue);
|
|
1828
|
-
}
|
|
1829
|
-
shouldOpenInput() {
|
|
1830
|
-
return (this.searchText !== '' &&
|
|
1831
|
-
this.mediaQueryService.current === SkyMediaBreakpoints.xs &&
|
|
1832
|
-
this.searchShouldCollapse());
|
|
1851
|
+
__classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f").complete();
|
|
1833
1852
|
}
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1853
|
+
}
|
|
1854
|
+
_SkySearchComponent_changeRef = new WeakMap(), _SkySearchComponent_elRef = new WeakMap(), _SkySearchComponent_mediaQueryService = new WeakMap(), _SkySearchComponent_searchAdapter = new WeakMap(), _SkySearchComponent_searchUpdated = new WeakMap(), _SkySearchComponent_instances = new WeakSet(), _SkySearchComponent_searchBindingChanged = function _SkySearchComponent_searchBindingChanged(changes) {
|
|
1855
|
+
return (changes['searchText'] &&
|
|
1856
|
+
changes['searchText'].previousValue !== changes['searchText'].currentValue);
|
|
1857
|
+
}, _SkySearchComponent_expandModeBindingChanged = function _SkySearchComponent_expandModeBindingChanged(changes) {
|
|
1858
|
+
return (changes['expandMode'] &&
|
|
1859
|
+
changes['expandMode'].previousValue !== changes['expandMode'].currentValue);
|
|
1860
|
+
}, _SkySearchComponent_shouldOpenInput = function _SkySearchComponent_shouldOpenInput() {
|
|
1861
|
+
return (this.searchText !== '' &&
|
|
1862
|
+
__classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs &&
|
|
1863
|
+
__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this));
|
|
1864
|
+
}, _SkySearchComponent_mediaQueryCallback = function _SkySearchComponent_mediaQueryCallback(args) {
|
|
1865
|
+
if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
|
|
1866
|
+
if (args === SkyMediaBreakpoints.xs) {
|
|
1867
|
+
this.inputAnimate = INPUT_HIDDEN_STATE;
|
|
1868
|
+
}
|
|
1869
|
+
else if (this.inputAnimate !== INPUT_SHOWN_STATE) {
|
|
1870
|
+
this.inputAnimate = INPUT_SHOWN_STATE;
|
|
1871
|
+
}
|
|
1872
|
+
else {
|
|
1873
|
+
this.mobileSearchShown = false;
|
|
1845
1874
|
}
|
|
1846
|
-
this.changeRef.markForCheck();
|
|
1847
|
-
}
|
|
1848
|
-
searchShouldCollapse() {
|
|
1849
|
-
return ((this.isCollapsible || this.isCollapsible === undefined) &&
|
|
1850
|
-
this.isFullWidth !== true);
|
|
1851
1875
|
}
|
|
1852
|
-
|
|
1876
|
+
__classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").markForCheck();
|
|
1877
|
+
}, _SkySearchComponent_searchShouldCollapse = function _SkySearchComponent_searchShouldCollapse() {
|
|
1878
|
+
return ((this.isCollapsible || this.isCollapsible === undefined) &&
|
|
1879
|
+
this.isFullWidth !== true);
|
|
1880
|
+
};
|
|
1853
1881
|
SkySearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1854
|
-
SkySearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkySearchComponent, selector: "sky-search", inputs: { searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box>\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;top:0;left:0;bottom:0;right:0;padding:5px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{flex-basis:auto;width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], components: [{ type: i6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, animations: [
|
|
1882
|
+
SkySearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkySearchComponent, selector: "sky-search", inputs: { searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box>\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;top:0;left:0;bottom:0;right:0;padding:5px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{flex-basis:auto;width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], components: [{ type: i6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe }, animations: [
|
|
1855
1883
|
trigger('inputState', [
|
|
1856
1884
|
state(INPUT_HIDDEN_STATE, style({
|
|
1857
1885
|
opacity: 0,
|
|
@@ -1954,6 +1982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1954
1982
|
class SkyLookupShowMoreNativePickerAsyncContext {
|
|
1955
1983
|
}
|
|
1956
1984
|
|
|
1985
|
+
var _SkyLookupShowMoreAsyncModalComponent_instances, _SkyLookupShowMoreAsyncModalComponent_changeDetector, _SkyLookupShowMoreAsyncModalComponent_continuationData, _SkyLookupShowMoreAsyncModalComponent_currentSearchSub, _SkyLookupShowMoreAsyncModalComponent_ngUnsubscribe, _SkyLookupShowMoreAsyncModalComponent_offset, _SkyLookupShowMoreAsyncModalComponent_loadSearchResults, _SkyLookupShowMoreAsyncModalComponent_createInitialSelectedItemsMap, _SkyLookupShowMoreAsyncModalComponent_performSearch, _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch;
|
|
1957
1986
|
/**
|
|
1958
1987
|
* @internal
|
|
1959
1988
|
* Internal component to implement the native picker.
|
|
@@ -1962,29 +1991,37 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
1962
1991
|
constructor(modalInstance, context, changeDetector) {
|
|
1963
1992
|
this.modalInstance = modalInstance;
|
|
1964
1993
|
this.context = context;
|
|
1965
|
-
this
|
|
1994
|
+
_SkyLookupShowMoreAsyncModalComponent_instances.add(this);
|
|
1966
1995
|
/**
|
|
1967
1996
|
* @internal
|
|
1968
1997
|
* Fires when users select the button to add new options to the list.
|
|
1969
1998
|
*/
|
|
1970
1999
|
this.addClick = new Subject();
|
|
1971
2000
|
this.displayedItems = [];
|
|
1972
|
-
this.onlyShowSelected = false;
|
|
1973
|
-
this.isSearching = false;
|
|
1974
2001
|
this.hasMoreItems = false;
|
|
1975
2002
|
this.isLoadingMore = false;
|
|
1976
|
-
this.
|
|
1977
|
-
this.
|
|
2003
|
+
this.isSearching = false;
|
|
2004
|
+
this.items = [];
|
|
2005
|
+
this.onlyShowSelected = false;
|
|
2006
|
+
this.repeaterItemTemplate = null;
|
|
2007
|
+
this.selectedIdMap = new Map();
|
|
2008
|
+
_SkyLookupShowMoreAsyncModalComponent_changeDetector.set(this, void 0);
|
|
2009
|
+
_SkyLookupShowMoreAsyncModalComponent_continuationData.set(this, void 0);
|
|
2010
|
+
_SkyLookupShowMoreAsyncModalComponent_currentSearchSub.set(this, void 0);
|
|
2011
|
+
_SkyLookupShowMoreAsyncModalComponent_ngUnsubscribe.set(this, new Subject());
|
|
2012
|
+
_SkyLookupShowMoreAsyncModalComponent_offset.set(this, 0);
|
|
2013
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_changeDetector, changeDetector, "f");
|
|
1978
2014
|
}
|
|
1979
2015
|
ngOnInit() {
|
|
2016
|
+
this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
|
|
1980
2017
|
this.searchText = this.context.initialSearch;
|
|
1981
|
-
this.
|
|
1982
|
-
this.
|
|
2018
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_createInitialSelectedItemsMap).call(this);
|
|
2019
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_loadSearchResults).call(this);
|
|
1983
2020
|
}
|
|
1984
2021
|
ngOnDestroy() {
|
|
1985
|
-
this.
|
|
1986
|
-
this.
|
|
1987
|
-
this.
|
|
2022
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch).call(this);
|
|
2023
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_ngUnsubscribe, "f").next();
|
|
2024
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_ngUnsubscribe, "f").complete();
|
|
1988
2025
|
}
|
|
1989
2026
|
addButtonClicked() {
|
|
1990
2027
|
this.addClick.next();
|
|
@@ -1997,7 +2034,7 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
1997
2034
|
this.selectedIdMap.delete(item[this.context.idProperty]);
|
|
1998
2035
|
}
|
|
1999
2036
|
this.updateDisplayedItems();
|
|
2000
|
-
this.
|
|
2037
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_changeDetector, "f").markForCheck();
|
|
2001
2038
|
}
|
|
2002
2039
|
itemClick(selectedItem) {
|
|
2003
2040
|
if (this.context.selectMode === 'single') {
|
|
@@ -2026,9 +2063,9 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
2026
2063
|
this.updateDisplayedItems();
|
|
2027
2064
|
}
|
|
2028
2065
|
searchApplied(searchText) {
|
|
2029
|
-
this
|
|
2066
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_offset, 0, "f");
|
|
2030
2067
|
this.searchText = searchText;
|
|
2031
|
-
this.
|
|
2068
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_loadSearchResults).call(this);
|
|
2032
2069
|
}
|
|
2033
2070
|
selectAll() {
|
|
2034
2071
|
this.selectedIdMap = new Map();
|
|
@@ -2038,12 +2075,12 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
2038
2075
|
this.updateDisplayedItems();
|
|
2039
2076
|
}
|
|
2040
2077
|
infiniteScrollEnd() {
|
|
2041
|
-
this.
|
|
2078
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch).call(this);
|
|
2042
2079
|
/* Sanity check - else case would only happen if this was called directly */
|
|
2043
2080
|
/* istanbul ignore else */
|
|
2044
2081
|
if (this.hasMoreItems) {
|
|
2045
2082
|
this.isLoadingMore = true;
|
|
2046
|
-
this.
|
|
2083
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_performSearch).call(this, (result) => {
|
|
2047
2084
|
this.items = this.items.concat(result.items);
|
|
2048
2085
|
this.updateDisplayedItems();
|
|
2049
2086
|
this.isLoadingMore = false;
|
|
@@ -2061,38 +2098,6 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
2061
2098
|
});
|
|
2062
2099
|
this.modalInstance.save(selectedItems);
|
|
2063
2100
|
}
|
|
2064
|
-
loadSearchResults() {
|
|
2065
|
-
this.cancelCurrentSearch();
|
|
2066
|
-
this.isSearching = true;
|
|
2067
|
-
this.performSearch((result) => {
|
|
2068
|
-
this.isSearching = false;
|
|
2069
|
-
this.items = result.items;
|
|
2070
|
-
});
|
|
2071
|
-
}
|
|
2072
|
-
createInitialSelectedItemsMap() {
|
|
2073
|
-
this.selectedIdMap = new Map(this.context.initialValue.map((item) => [
|
|
2074
|
-
item[this.context.idProperty],
|
|
2075
|
-
item,
|
|
2076
|
-
]));
|
|
2077
|
-
}
|
|
2078
|
-
performSearch(processResults) {
|
|
2079
|
-
this.currentSearchSub = this.context
|
|
2080
|
-
.searchAsync({
|
|
2081
|
-
displayType: 'modal',
|
|
2082
|
-
offset: this.offset,
|
|
2083
|
-
searchText: this.searchText || '',
|
|
2084
|
-
continuationData: this.continuationData,
|
|
2085
|
-
})
|
|
2086
|
-
.pipe(take(1))
|
|
2087
|
-
.subscribe((result) => {
|
|
2088
|
-
processResults(result);
|
|
2089
|
-
this.continuationData = result.continuationData;
|
|
2090
|
-
this.hasMoreItems = result.hasMore;
|
|
2091
|
-
this.offset = this.items.length;
|
|
2092
|
-
this.updateDisplayedItems();
|
|
2093
|
-
this.changeDetector.markForCheck();
|
|
2094
|
-
});
|
|
2095
|
-
}
|
|
2096
2101
|
updateDisplayedItems() {
|
|
2097
2102
|
if (this.onlyShowSelected) {
|
|
2098
2103
|
this.displayedItems = this.items.filter((item) => this.selectedIdMap.has(item[this.context.idProperty]));
|
|
@@ -2101,20 +2106,49 @@ class SkyLookupShowMoreAsyncModalComponent {
|
|
|
2101
2106
|
this.displayedItems = this.items;
|
|
2102
2107
|
}
|
|
2103
2108
|
}
|
|
2104
|
-
cancelCurrentSearch() {
|
|
2105
|
-
if (this.currentSearchSub) {
|
|
2106
|
-
this.currentSearchSub.unsubscribe();
|
|
2107
|
-
this.currentSearchSub = undefined;
|
|
2108
|
-
this.isLoadingMore = false;
|
|
2109
|
-
this.isSearching = false;
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
2109
|
}
|
|
2110
|
+
_SkyLookupShowMoreAsyncModalComponent_changeDetector = new WeakMap(), _SkyLookupShowMoreAsyncModalComponent_continuationData = new WeakMap(), _SkyLookupShowMoreAsyncModalComponent_currentSearchSub = new WeakMap(), _SkyLookupShowMoreAsyncModalComponent_ngUnsubscribe = new WeakMap(), _SkyLookupShowMoreAsyncModalComponent_offset = new WeakMap(), _SkyLookupShowMoreAsyncModalComponent_instances = new WeakSet(), _SkyLookupShowMoreAsyncModalComponent_loadSearchResults = function _SkyLookupShowMoreAsyncModalComponent_loadSearchResults() {
|
|
2111
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch).call(this);
|
|
2112
|
+
this.isSearching = true;
|
|
2113
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_instances, "m", _SkyLookupShowMoreAsyncModalComponent_performSearch).call(this, (result) => {
|
|
2114
|
+
this.isSearching = false;
|
|
2115
|
+
this.items = result.items;
|
|
2116
|
+
});
|
|
2117
|
+
}, _SkyLookupShowMoreAsyncModalComponent_createInitialSelectedItemsMap = function _SkyLookupShowMoreAsyncModalComponent_createInitialSelectedItemsMap() {
|
|
2118
|
+
this.selectedIdMap = new Map(this.context.initialValue.map((item) => [
|
|
2119
|
+
item[this.context.idProperty],
|
|
2120
|
+
item,
|
|
2121
|
+
]));
|
|
2122
|
+
}, _SkyLookupShowMoreAsyncModalComponent_performSearch = function _SkyLookupShowMoreAsyncModalComponent_performSearch(processResults) {
|
|
2123
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_currentSearchSub, this.context
|
|
2124
|
+
.searchAsync({
|
|
2125
|
+
displayType: 'modal',
|
|
2126
|
+
offset: __classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_offset, "f"),
|
|
2127
|
+
searchText: this.searchText || '',
|
|
2128
|
+
continuationData: __classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_continuationData, "f"),
|
|
2129
|
+
})
|
|
2130
|
+
.pipe(take(1))
|
|
2131
|
+
.subscribe((result) => {
|
|
2132
|
+
processResults(result);
|
|
2133
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_continuationData, result.continuationData, "f");
|
|
2134
|
+
this.hasMoreItems = result.hasMore || false;
|
|
2135
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_offset, this.items.length, "f");
|
|
2136
|
+
this.updateDisplayedItems();
|
|
2137
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_changeDetector, "f").markForCheck();
|
|
2138
|
+
}), "f");
|
|
2139
|
+
}, _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch = function _SkyLookupShowMoreAsyncModalComponent_cancelCurrentSearch() {
|
|
2140
|
+
if (__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_currentSearchSub, "f")) {
|
|
2141
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreAsyncModalComponent_currentSearchSub, "f").unsubscribe();
|
|
2142
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreAsyncModalComponent_currentSearchSub, undefined, "f");
|
|
2143
|
+
this.isLoadingMore = false;
|
|
2144
|
+
this.isSearching = false;
|
|
2145
|
+
}
|
|
2146
|
+
};
|
|
2113
2147
|
SkyLookupShowMoreAsyncModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupShowMoreAsyncModalComponent, deps: [{ token: i1$1.SkyModalInstance }, { token: SkyLookupShowMoreNativePickerAsyncContext }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2114
|
-
SkyLookupShowMoreAsyncModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupShowMoreAsyncModalComponent, selector: "sky-lookup-show-more-async-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty] | skyLookupItemSelected: selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n
|
|
2148
|
+
SkyLookupShowMoreAsyncModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupShowMoreAsyncModalComponent, selector: "sky-lookup-show-more-async-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty] | skyLookupItemSelected: selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], components: [{ type: i1$1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1$1.λ4, selector: "sky-modal-header" }, { type: i1$1.λ2, selector: "sky-modal-content" }, { type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { type: i4$2.λ37, selector: "sky-toolbar" }, { type: i4$2.λ38, selector: "sky-toolbar-section" }, { type: i4$2.λ39, selector: "sky-toolbar-item" }, { type: SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { type: i4$2.λ40, selector: "sky-toolbar-view-actions" }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6.λ4, selector: "sky-checkbox-label" }, { type: i7$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i7$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i7$1.λ8, selector: "sky-repeater-item-content" }, { type: i7$1.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { type: i1$1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe, "skyLookupItemSelected": SkyLookupItemSelectedPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2115
2149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupShowMoreAsyncModalComponent, decorators: [{
|
|
2116
2150
|
type: Component,
|
|
2117
|
-
args: [{ selector: 'sky-lookup-show-more-async-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty] | skyLookupItemSelected: selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n
|
|
2151
|
+
args: [{ selector: 'sky-lookup-show-more-async-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty] | skyLookupItemSelected: selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
|
|
2118
2152
|
}], ctorParameters: function () { return [{ type: i1$1.SkyModalInstance }, { type: SkyLookupShowMoreNativePickerAsyncContext }, { type: i0.ChangeDetectorRef }]; } });
|
|
2119
2153
|
|
|
2120
2154
|
/**
|
|
@@ -2124,6 +2158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2124
2158
|
class SkyLookupShowMoreNativePickerContext {
|
|
2125
2159
|
}
|
|
2126
2160
|
|
|
2161
|
+
var _SkyLookupShowMoreModalComponent_changeDetector, _SkyLookupShowMoreModalComponent_itemIndex, _SkyLookupShowMoreModalComponent_ngUnsubscribe;
|
|
2127
2162
|
/**
|
|
2128
2163
|
* @internal
|
|
2129
2164
|
* Internal component to implement the native picker.
|
|
@@ -2132,12 +2167,12 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2132
2167
|
constructor(modalInstance, context, changeDetector) {
|
|
2133
2168
|
this.modalInstance = modalInstance;
|
|
2134
2169
|
this.context = context;
|
|
2135
|
-
this.changeDetector = changeDetector;
|
|
2136
2170
|
/**
|
|
2137
2171
|
* @internal
|
|
2138
2172
|
* Fires when users select the button to add new options to the list.
|
|
2139
2173
|
*/
|
|
2140
2174
|
this.addClick = new Subject();
|
|
2175
|
+
this.items = [];
|
|
2141
2176
|
this.dataManagerConfig = {
|
|
2142
2177
|
sortOptions: [
|
|
2143
2178
|
{
|
|
@@ -2157,17 +2192,22 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2157
2192
|
this.displayedItems = [];
|
|
2158
2193
|
this.itemsHaveMore = false;
|
|
2159
2194
|
this.onlyShowSelected = false;
|
|
2195
|
+
this.repeaterItemTemplate = null;
|
|
2196
|
+
this.searchText = '';
|
|
2160
2197
|
this.selectedItems = [];
|
|
2161
|
-
this
|
|
2162
|
-
this
|
|
2198
|
+
_SkyLookupShowMoreModalComponent_changeDetector.set(this, void 0);
|
|
2199
|
+
_SkyLookupShowMoreModalComponent_itemIndex.set(this, 0);
|
|
2200
|
+
_SkyLookupShowMoreModalComponent_ngUnsubscribe.set(this, new Subject());
|
|
2201
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreModalComponent_changeDetector, changeDetector, "f");
|
|
2163
2202
|
}
|
|
2164
2203
|
ngAfterViewInit() {
|
|
2204
|
+
this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
|
|
2165
2205
|
this.searchText = this.context.initialSearch;
|
|
2166
2206
|
this.addItems();
|
|
2167
2207
|
}
|
|
2168
2208
|
ngOnDestroy() {
|
|
2169
|
-
this.
|
|
2170
|
-
this.
|
|
2209
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_ngUnsubscribe, "f").next();
|
|
2210
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_ngUnsubscribe, "f").complete();
|
|
2171
2211
|
}
|
|
2172
2212
|
addButtonClicked() {
|
|
2173
2213
|
this.addClick.next();
|
|
@@ -2175,14 +2215,12 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2175
2215
|
addItems() {
|
|
2176
2216
|
if (!this.items || this.items.length === 0) {
|
|
2177
2217
|
const selectedItems = this.selectedItems.slice();
|
|
2178
|
-
this.items = this.context.items
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
})
|
|
2185
|
-
: [];
|
|
2218
|
+
this.items = this.context.items.map((item) => {
|
|
2219
|
+
return {
|
|
2220
|
+
value: item,
|
|
2221
|
+
selected: false,
|
|
2222
|
+
};
|
|
2223
|
+
});
|
|
2186
2224
|
this.items.forEach((item) => {
|
|
2187
2225
|
const isInitialValue = this.context.initialValue === item.value;
|
|
2188
2226
|
const initialIsArray = Array.isArray(this.context.initialValue);
|
|
@@ -2197,18 +2235,18 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2197
2235
|
});
|
|
2198
2236
|
this.selectedItems = selectedItems;
|
|
2199
2237
|
this.updateDataState();
|
|
2200
|
-
this.
|
|
2238
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2201
2239
|
}
|
|
2202
|
-
this
|
|
2240
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreModalComponent_itemIndex, __classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_itemIndex, "f") + 10, "f");
|
|
2203
2241
|
this.searchItems(this.items).then((searchedItems) => {
|
|
2204
|
-
this.displayedItems = searchedItems.slice(0, this
|
|
2205
|
-
if (this
|
|
2242
|
+
this.displayedItems = searchedItems.slice(0, __classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_itemIndex, "f"));
|
|
2243
|
+
if (__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_itemIndex, "f") > searchedItems.length) {
|
|
2206
2244
|
this.itemsHaveMore = false;
|
|
2207
2245
|
}
|
|
2208
2246
|
else {
|
|
2209
2247
|
this.itemsHaveMore = true;
|
|
2210
2248
|
}
|
|
2211
|
-
this.
|
|
2249
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2212
2250
|
});
|
|
2213
2251
|
}
|
|
2214
2252
|
clearAll() {
|
|
@@ -2219,7 +2257,7 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2219
2257
|
});
|
|
2220
2258
|
this.selectedItems = [];
|
|
2221
2259
|
this.updateDataState();
|
|
2222
|
-
this.
|
|
2260
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2223
2261
|
}
|
|
2224
2262
|
itemClick(selectedItem) {
|
|
2225
2263
|
if (this.context.selectMode === 'single') {
|
|
@@ -2227,12 +2265,13 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2227
2265
|
}
|
|
2228
2266
|
}
|
|
2229
2267
|
onItemSelect(newSelectState, itemToSelect) {
|
|
2268
|
+
const items = this.items;
|
|
2230
2269
|
if (this.context.selectMode === 'single') {
|
|
2231
2270
|
/* Sanity check - single select mode should only alow for a `true` select state */
|
|
2232
2271
|
/* istanbul ignore else */
|
|
2233
2272
|
if (newSelectState) {
|
|
2234
2273
|
itemToSelect.selected = true;
|
|
2235
|
-
|
|
2274
|
+
items.forEach((item) => {
|
|
2236
2275
|
if (item.value !== itemToSelect.value) {
|
|
2237
2276
|
item.selected = false;
|
|
2238
2277
|
}
|
|
@@ -2242,20 +2281,20 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2242
2281
|
item.selected = false;
|
|
2243
2282
|
}
|
|
2244
2283
|
});
|
|
2245
|
-
const itemIndex =
|
|
2284
|
+
const itemIndex = items.findIndex((item) => item.value === itemToSelect.value);
|
|
2246
2285
|
this.selectedItems = [
|
|
2247
|
-
{ index: itemIndex, itemData:
|
|
2286
|
+
{ index: itemIndex, itemData: items[itemIndex].value },
|
|
2248
2287
|
];
|
|
2249
2288
|
}
|
|
2250
2289
|
}
|
|
2251
2290
|
else {
|
|
2252
2291
|
const selectedItems = this.selectedItems;
|
|
2253
|
-
const allItemsIndex =
|
|
2292
|
+
const allItemsIndex = items.findIndex((item) => item.value === itemToSelect.value);
|
|
2254
2293
|
const selectedItemsIndex = selectedItems.findIndex((selectedItem) => selectedItem.index === allItemsIndex);
|
|
2255
2294
|
if (newSelectState && selectedItemsIndex === -1) {
|
|
2256
2295
|
selectedItems.push({
|
|
2257
2296
|
index: allItemsIndex,
|
|
2258
|
-
itemData:
|
|
2297
|
+
itemData: items[allItemsIndex].value,
|
|
2259
2298
|
});
|
|
2260
2299
|
}
|
|
2261
2300
|
else if (!newSelectState && selectedItemsIndex !== -1) {
|
|
@@ -2264,12 +2303,12 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2264
2303
|
this.selectedItems = selectedItems;
|
|
2265
2304
|
}
|
|
2266
2305
|
this.updateDataState();
|
|
2267
|
-
this.
|
|
2306
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2268
2307
|
}
|
|
2269
2308
|
searchApplied(searchText) {
|
|
2270
2309
|
/* istanbul ignore else */
|
|
2271
2310
|
if (this.searchText !== searchText) {
|
|
2272
|
-
this
|
|
2311
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreModalComponent_itemIndex, 10, "f");
|
|
2273
2312
|
}
|
|
2274
2313
|
this.searchText = searchText;
|
|
2275
2314
|
this.updateDataState();
|
|
@@ -2296,49 +2335,50 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2296
2335
|
}
|
|
2297
2336
|
}
|
|
2298
2337
|
selectAll() {
|
|
2338
|
+
const items = this.items;
|
|
2299
2339
|
const selectedItems = this.selectedItems;
|
|
2300
2340
|
this.displayedItems.forEach((item) => {
|
|
2301
2341
|
if (!item.selected) {
|
|
2302
2342
|
item.selected = true;
|
|
2303
|
-
const index =
|
|
2304
|
-
/* Sanity check */
|
|
2343
|
+
const index = items.indexOf(item);
|
|
2305
2344
|
/* istanbul ignore else */
|
|
2306
2345
|
if (selectedItems.findIndex((selectedItem) => selectedItem.index === index) < 0) {
|
|
2307
2346
|
selectedItems.push({
|
|
2308
2347
|
index: index,
|
|
2309
|
-
itemData:
|
|
2348
|
+
itemData: items[index].value,
|
|
2310
2349
|
});
|
|
2311
2350
|
}
|
|
2312
2351
|
}
|
|
2313
2352
|
});
|
|
2314
2353
|
this.selectedItems = selectedItems;
|
|
2315
2354
|
this.updateDataState();
|
|
2316
|
-
this.
|
|
2355
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2317
2356
|
}
|
|
2318
2357
|
updateDataState() {
|
|
2358
|
+
const items = this.items;
|
|
2319
2359
|
const selectedItems = this.selectedItems;
|
|
2320
|
-
|
|
2360
|
+
items.forEach((item, index) => {
|
|
2321
2361
|
item.selected =
|
|
2322
2362
|
selectedItems.findIndex((selectedItem) => selectedItem.index === index) !== -1;
|
|
2323
2363
|
});
|
|
2324
|
-
this.searchItems(
|
|
2364
|
+
this.searchItems(items).then((searchedItems) => {
|
|
2325
2365
|
if (this.onlyShowSelected) {
|
|
2326
2366
|
searchedItems = searchedItems.filter((item) => item.selected);
|
|
2327
2367
|
}
|
|
2328
|
-
this.displayedItems = searchedItems.slice(0, this
|
|
2329
|
-
if (this
|
|
2368
|
+
this.displayedItems = searchedItems.slice(0, __classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_itemIndex, "f"));
|
|
2369
|
+
if (__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_itemIndex, "f") > searchedItems.length) {
|
|
2330
2370
|
this.itemsHaveMore = false;
|
|
2331
2371
|
}
|
|
2332
2372
|
else {
|
|
2333
2373
|
this.itemsHaveMore = true;
|
|
2334
2374
|
}
|
|
2335
|
-
this.
|
|
2375
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2336
2376
|
});
|
|
2337
2377
|
}
|
|
2338
2378
|
updateItemData(data) {
|
|
2339
2379
|
this.context.items = data;
|
|
2340
|
-
this.items =
|
|
2341
|
-
this
|
|
2380
|
+
this.items = [];
|
|
2381
|
+
__classPrivateFieldSet(this, _SkyLookupShowMoreModalComponent_itemIndex, 10, "f");
|
|
2342
2382
|
this.selectedItems.forEach((selectedItem) => {
|
|
2343
2383
|
this.context.items.forEach((item, index) => {
|
|
2344
2384
|
if (selectedItem.itemData === item) {
|
|
@@ -2347,14 +2387,15 @@ class SkyLookupShowMoreModalComponent {
|
|
|
2347
2387
|
});
|
|
2348
2388
|
});
|
|
2349
2389
|
this.addItems();
|
|
2350
|
-
this.
|
|
2390
|
+
__classPrivateFieldGet(this, _SkyLookupShowMoreModalComponent_changeDetector, "f").markForCheck();
|
|
2351
2391
|
}
|
|
2352
2392
|
}
|
|
2393
|
+
_SkyLookupShowMoreModalComponent_changeDetector = new WeakMap(), _SkyLookupShowMoreModalComponent_itemIndex = new WeakMap(), _SkyLookupShowMoreModalComponent_ngUnsubscribe = new WeakMap();
|
|
2353
2394
|
SkyLookupShowMoreModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [{ token: i1$1.SkyModalInstance }, { token: SkyLookupShowMoreNativePickerContext }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2354
|
-
SkyLookupShowMoreModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupShowMoreModalComponent, selector: "skyux-lookup-show-more-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n
|
|
2395
|
+
SkyLookupShowMoreModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupShowMoreModalComponent, selector: "skyux-lookup-show-more-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll [enabled]=\"itemsHaveMore\" (scrollEnd)=\"addItems()\">\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], components: [{ type: i1$1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1$1.λ4, selector: "sky-modal-header" }, { type: i1$1.λ2, selector: "sky-modal-content" }, { type: i4$2.λ37, selector: "sky-toolbar" }, { type: i4$2.λ38, selector: "sky-toolbar-section" }, { type: i4$2.λ39, selector: "sky-toolbar-item" }, { type: SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { type: i4$2.λ40, selector: "sky-toolbar-view-actions" }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6.λ4, selector: "sky-checkbox-label" }, { type: i7$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i7$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i7$1.λ8, selector: "sky-repeater-item-content" }, { type: i7$1.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { type: i1$1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2355
2396
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
|
|
2356
2397
|
type: Component,
|
|
2357
|
-
args: [{ selector: 'skyux-lookup-show-more-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n
|
|
2398
|
+
args: [{ selector: 'skyux-lookup-show-more-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll [enabled]=\"itemsHaveMore\" (scrollEnd)=\"addItems()\">\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
|
|
2358
2399
|
}], ctorParameters: function () { return [{ type: i1$1.SkyModalInstance }, { type: SkyLookupShowMoreNativePickerContext }, { type: i0.ChangeDetectorRef }]; } });
|
|
2359
2400
|
|
|
2360
2401
|
/**
|
|
@@ -2376,6 +2417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2376
2417
|
type: Injectable
|
|
2377
2418
|
}] });
|
|
2378
2419
|
|
|
2420
|
+
var _SkyLookupAutocompleteAdapter__descriptorProperty, _SkyLookupAutocompleteAdapter__propertiesToSearch, _SkyLookupAutocompleteAdapter__search;
|
|
2379
2421
|
/**
|
|
2380
2422
|
* @internal
|
|
2381
2423
|
*/
|
|
@@ -2386,6 +2428,9 @@ class SkyLookupAutocompleteAdapter {
|
|
|
2386
2428
|
* returned via an observable.
|
|
2387
2429
|
*/
|
|
2388
2430
|
this.searchAsync = new EventEmitter();
|
|
2431
|
+
_SkyLookupAutocompleteAdapter__descriptorProperty.set(this, void 0);
|
|
2432
|
+
_SkyLookupAutocompleteAdapter__propertiesToSearch.set(this, void 0);
|
|
2433
|
+
_SkyLookupAutocompleteAdapter__search.set(this, void 0);
|
|
2389
2434
|
}
|
|
2390
2435
|
/**
|
|
2391
2436
|
* Specifies an object property to display in the text input after users
|
|
@@ -2393,20 +2438,20 @@ class SkyLookupAutocompleteAdapter {
|
|
|
2393
2438
|
* @default "name"
|
|
2394
2439
|
*/
|
|
2395
2440
|
set descriptorProperty(value) {
|
|
2396
|
-
this
|
|
2441
|
+
__classPrivateFieldSet(this, _SkyLookupAutocompleteAdapter__descriptorProperty, value, "f");
|
|
2397
2442
|
}
|
|
2398
2443
|
get descriptorProperty() {
|
|
2399
|
-
return this
|
|
2444
|
+
return __classPrivateFieldGet(this, _SkyLookupAutocompleteAdapter__descriptorProperty, "f") || 'name';
|
|
2400
2445
|
}
|
|
2401
2446
|
/**
|
|
2402
2447
|
* Specifies an array of object properties to search.
|
|
2403
2448
|
* @default ["name"]
|
|
2404
2449
|
*/
|
|
2405
2450
|
set propertiesToSearch(value) {
|
|
2406
|
-
this
|
|
2451
|
+
__classPrivateFieldSet(this, _SkyLookupAutocompleteAdapter__propertiesToSearch, value, "f");
|
|
2407
2452
|
}
|
|
2408
2453
|
get propertiesToSearch() {
|
|
2409
|
-
return this
|
|
2454
|
+
return __classPrivateFieldGet(this, _SkyLookupAutocompleteAdapter__propertiesToSearch, "f") || ['name'];
|
|
2410
2455
|
}
|
|
2411
2456
|
/**
|
|
2412
2457
|
* Specifies a function to dynamically manage the data source when users
|
|
@@ -2417,16 +2462,17 @@ class SkyLookupAutocompleteAdapter {
|
|
|
2417
2462
|
* `search`.
|
|
2418
2463
|
*/
|
|
2419
2464
|
set search(value) {
|
|
2420
|
-
this
|
|
2465
|
+
__classPrivateFieldSet(this, _SkyLookupAutocompleteAdapter__search, value, "f");
|
|
2421
2466
|
}
|
|
2422
2467
|
get search() {
|
|
2423
|
-
return (this
|
|
2468
|
+
return (__classPrivateFieldGet(this, _SkyLookupAutocompleteAdapter__search, "f") ||
|
|
2424
2469
|
skyAutocompleteDefaultSearchFunction({
|
|
2425
2470
|
propertiesToSearch: this.propertiesToSearch,
|
|
2426
2471
|
searchFilters: this.searchFilters,
|
|
2427
2472
|
}));
|
|
2428
2473
|
}
|
|
2429
2474
|
}
|
|
2475
|
+
_SkyLookupAutocompleteAdapter__descriptorProperty = new WeakMap(), _SkyLookupAutocompleteAdapter__propertiesToSearch = new WeakMap(), _SkyLookupAutocompleteAdapter__search = new WeakMap();
|
|
2430
2476
|
SkyLookupAutocompleteAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2431
2477
|
SkyLookupAutocompleteAdapter.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, outputs: { searchAsync: "searchAsync" }, ngImport: i0 });
|
|
2432
2478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
|
|
@@ -2451,17 +2497,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2451
2497
|
type: Output
|
|
2452
2498
|
}] } });
|
|
2453
2499
|
|
|
2500
|
+
var _SkyLookupComponent_instances, _SkyLookupComponent_adapter, _SkyLookupComponent_elementRef, _SkyLookupComponent_changeDetector, _SkyLookupComponent_idle, _SkyLookupComponent_markForTokenFocusOnKeyUp, _SkyLookupComponent_modalService, _SkyLookupComponent_ngUnsubscribe, _SkyLookupComponent_openNativePicker, _SkyLookupComponent_resourcesService, _SkyLookupComponent_windowRef, _SkyLookupComponent__autocompleteInputDirective, _SkyLookupComponent__data, _SkyLookupComponent__selectMode, _SkyLookupComponent__tokens, _SkyLookupComponent__value, _SkyLookupComponent_createNativePickerInstance, _SkyLookupComponent_addToSelected, _SkyLookupComponent_addEventListeners, _SkyLookupComponent_removeEventListeners, _SkyLookupComponent_focusInputOnHostClick, _SkyLookupComponent_focusInput, _SkyLookupComponent_onAddButtonComplete, _SkyLookupComponent_parseTokens, _SkyLookupComponent_sendAutocompleteMessage, _SkyLookupComponent_sendTokensMessage, _SkyLookupComponent_updateForSelectMode;
|
|
2454
2501
|
class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
2455
|
-
constructor(changeDetector, elementRef, windowRef,
|
|
2502
|
+
constructor(changeDetector, elementRef, windowRef, adapter, modalService, resourcesService, ngControl, inputBoxHostSvc, themeSvc) {
|
|
2456
2503
|
super();
|
|
2457
|
-
this.changeDetector = changeDetector;
|
|
2458
|
-
this.elementRef = elementRef;
|
|
2459
|
-
this.windowRef = windowRef;
|
|
2460
|
-
this.adapter = adapter;
|
|
2461
|
-
this.modalService = modalService;
|
|
2462
|
-
this.resourcesService = resourcesService;
|
|
2463
2504
|
this.inputBoxHostSvc = inputBoxHostSvc;
|
|
2464
2505
|
this.themeSvc = themeSvc;
|
|
2506
|
+
_SkyLookupComponent_instances.add(this);
|
|
2465
2507
|
/**
|
|
2466
2508
|
* Indicates whether to disable the lookup field.
|
|
2467
2509
|
*/
|
|
@@ -2481,15 +2523,35 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2481
2523
|
this.autocompleteController = new Subject();
|
|
2482
2524
|
this.isInputFocused = false;
|
|
2483
2525
|
this.tokensController = new Subject();
|
|
2484
|
-
this
|
|
2485
|
-
this
|
|
2486
|
-
this
|
|
2526
|
+
_SkyLookupComponent_adapter.set(this, void 0);
|
|
2527
|
+
_SkyLookupComponent_elementRef.set(this, void 0);
|
|
2528
|
+
_SkyLookupComponent_changeDetector.set(this, void 0);
|
|
2529
|
+
_SkyLookupComponent_idle.set(this, new Subject());
|
|
2530
|
+
_SkyLookupComponent_markForTokenFocusOnKeyUp.set(this, false);
|
|
2531
|
+
_SkyLookupComponent_modalService.set(this, void 0);
|
|
2532
|
+
_SkyLookupComponent_ngUnsubscribe.set(this, new Subject());
|
|
2533
|
+
_SkyLookupComponent_openNativePicker.set(this, void 0);
|
|
2534
|
+
_SkyLookupComponent_resourcesService.set(this, void 0);
|
|
2535
|
+
_SkyLookupComponent_windowRef.set(this, void 0);
|
|
2536
|
+
_SkyLookupComponent__autocompleteInputDirective.set(this, void 0);
|
|
2537
|
+
_SkyLookupComponent__data.set(this, void 0);
|
|
2538
|
+
_SkyLookupComponent__selectMode.set(this, void 0);
|
|
2539
|
+
_SkyLookupComponent__tokens.set(this, void 0);
|
|
2540
|
+
_SkyLookupComponent__value.set(this, void 0);
|
|
2487
2541
|
// Angular automatically constructs these methods.
|
|
2488
2542
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
2489
2543
|
this.onChange = (value) => { };
|
|
2490
2544
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
2491
2545
|
this.onTouched = () => { };
|
|
2492
|
-
|
|
2546
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_changeDetector, changeDetector, "f");
|
|
2547
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_elementRef, elementRef, "f");
|
|
2548
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_windowRef, windowRef, "f");
|
|
2549
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_adapter, adapter, "f");
|
|
2550
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_modalService, modalService, "f");
|
|
2551
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_resourcesService, resourcesService, "f");
|
|
2552
|
+
if (ngControl) {
|
|
2553
|
+
ngControl.valueAccessor = this;
|
|
2554
|
+
}
|
|
2493
2555
|
}
|
|
2494
2556
|
/**
|
|
2495
2557
|
* Specifies a data source for the lookup component to search when users
|
|
@@ -2498,13 +2560,13 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2498
2560
|
* @default []
|
|
2499
2561
|
*/
|
|
2500
2562
|
set data(value) {
|
|
2501
|
-
this
|
|
2502
|
-
if (this
|
|
2503
|
-
this.
|
|
2563
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__data, value, "f");
|
|
2564
|
+
if (__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f") && this.searchAsync.observers.length === 0) {
|
|
2565
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f").componentInstance.updateItemData(value);
|
|
2504
2566
|
}
|
|
2505
2567
|
}
|
|
2506
2568
|
get data() {
|
|
2507
|
-
return this
|
|
2569
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent__data, "f") || [];
|
|
2508
2570
|
}
|
|
2509
2571
|
/**
|
|
2510
2572
|
* Specifies whether users can select one option or multiple options.
|
|
@@ -2512,61 +2574,61 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2512
2574
|
*/
|
|
2513
2575
|
set selectMode(value) {
|
|
2514
2576
|
const multipleToSingle = value === 'single' && this.selectMode === 'multiple';
|
|
2515
|
-
this
|
|
2516
|
-
this.
|
|
2577
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__selectMode, value, "f");
|
|
2578
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_updateForSelectMode).call(this);
|
|
2517
2579
|
if (multipleToSingle) {
|
|
2518
2580
|
if (this.value && this.value.length > 1) {
|
|
2519
2581
|
// The `setTimeout` is needed to avoid a `ExpressionChangedAfterItHasBeenCheckedError` error in template forms.
|
|
2520
2582
|
setTimeout(() => {
|
|
2521
2583
|
this.writeValue([this.value[0]]);
|
|
2522
|
-
this.
|
|
2584
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").detectChanges();
|
|
2523
2585
|
});
|
|
2524
2586
|
}
|
|
2525
2587
|
}
|
|
2526
2588
|
}
|
|
2527
2589
|
get selectMode() {
|
|
2528
|
-
return this
|
|
2590
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent__selectMode, "f") || 'multiple';
|
|
2529
2591
|
}
|
|
2530
2592
|
get tokens() {
|
|
2531
|
-
return this
|
|
2593
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent__tokens, "f");
|
|
2532
2594
|
}
|
|
2533
2595
|
set tokens(value) {
|
|
2534
2596
|
// Collapse the tokens into a single token if the user has selected many options.
|
|
2535
2597
|
if (this.enableShowMore && this.value.length > 5) {
|
|
2536
|
-
this
|
|
2598
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_resourcesService, "f")
|
|
2537
2599
|
.getString('skyux_lookup_tokens_summary', this.value.length.toString())
|
|
2538
2600
|
.pipe(take(1))
|
|
2539
2601
|
.subscribe((label) => {
|
|
2540
|
-
this
|
|
2602
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__tokens, [
|
|
2541
2603
|
{
|
|
2542
2604
|
value: { [this.descriptorProperty]: label },
|
|
2543
2605
|
},
|
|
2544
|
-
];
|
|
2545
|
-
this.
|
|
2606
|
+
], "f");
|
|
2607
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2546
2608
|
});
|
|
2547
2609
|
}
|
|
2548
2610
|
else {
|
|
2549
|
-
this
|
|
2550
|
-
this.
|
|
2611
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__tokens, value, "f");
|
|
2612
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2551
2613
|
}
|
|
2552
2614
|
}
|
|
2553
2615
|
get value() {
|
|
2554
|
-
return this
|
|
2616
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent__value, "f") ? __classPrivateFieldGet(this, _SkyLookupComponent__value, "f") : [];
|
|
2555
2617
|
}
|
|
2556
2618
|
set value(newValue) {
|
|
2557
|
-
this
|
|
2558
|
-
if (!this
|
|
2559
|
-
this.tokens = this.
|
|
2619
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__value, newValue, "f");
|
|
2620
|
+
if (!__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f")) {
|
|
2621
|
+
this.tokens = __classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_parseTokens).call(this, newValue);
|
|
2560
2622
|
}
|
|
2561
|
-
this.onChange(this
|
|
2623
|
+
this.onChange(__classPrivateFieldGet(this, _SkyLookupComponent__value, "f"));
|
|
2562
2624
|
this.onTouched();
|
|
2563
2625
|
}
|
|
2564
2626
|
set autocompleteInputDirective(value) {
|
|
2565
|
-
this
|
|
2566
|
-
this.
|
|
2627
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__autocompleteInputDirective, value, "f");
|
|
2628
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_updateForSelectMode).call(this);
|
|
2567
2629
|
}
|
|
2568
2630
|
get autocompleteInputDirective() {
|
|
2569
|
-
return this
|
|
2631
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent__autocompleteInputDirective, "f");
|
|
2570
2632
|
}
|
|
2571
2633
|
ngOnInit() {
|
|
2572
2634
|
if (this.inputBoxHostSvc) {
|
|
@@ -2585,32 +2647,32 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2585
2647
|
// This is required for the autocomplete directive to be set after elements
|
|
2586
2648
|
// are rearranged when switching themes.
|
|
2587
2649
|
this.themeSvc.settingsChange
|
|
2588
|
-
.pipe(takeUntil(this
|
|
2650
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyLookupComponent_ngUnsubscribe, "f")))
|
|
2589
2651
|
.subscribe(() => {
|
|
2590
|
-
this.
|
|
2652
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2591
2653
|
});
|
|
2592
2654
|
}
|
|
2593
2655
|
}
|
|
2594
2656
|
ngAfterViewInit() {
|
|
2595
2657
|
if (!this.disabled) {
|
|
2596
|
-
this.
|
|
2658
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_addEventListeners).call(this);
|
|
2597
2659
|
}
|
|
2598
2660
|
}
|
|
2599
2661
|
ngOnDestroy() {
|
|
2600
|
-
this.
|
|
2601
|
-
this.
|
|
2602
|
-
this.
|
|
2662
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_removeEventListeners).call(this);
|
|
2663
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_ngUnsubscribe, "f").next();
|
|
2664
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_ngUnsubscribe, "f").complete();
|
|
2603
2665
|
this.tokensController.complete();
|
|
2604
2666
|
}
|
|
2605
2667
|
addButtonClicked() {
|
|
2606
2668
|
this.addClick.emit({
|
|
2607
|
-
itemAdded: (args) => this.
|
|
2669
|
+
itemAdded: (args) => __classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_onAddButtonComplete).call(this, args),
|
|
2608
2670
|
});
|
|
2609
2671
|
}
|
|
2610
2672
|
onAutocompleteSelectionChange(change) {
|
|
2611
2673
|
/* istanbul ignore else */
|
|
2612
2674
|
if (change.selectedItem) {
|
|
2613
|
-
this.
|
|
2675
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_addToSelected).call(this, change.selectedItem);
|
|
2614
2676
|
}
|
|
2615
2677
|
else if (this.selectMode === 'single') {
|
|
2616
2678
|
this.writeValue([]);
|
|
@@ -2625,22 +2687,22 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2625
2687
|
}
|
|
2626
2688
|
if (this.tokens !== change) {
|
|
2627
2689
|
if (change.length === 0) {
|
|
2628
|
-
this.
|
|
2690
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_focusInput).call(this);
|
|
2629
2691
|
}
|
|
2630
2692
|
// NOTE: We do this here instead of just using the `value` setter because we need to use the
|
|
2631
2693
|
// set of tokens returned here for the purposes of setting focus (see `onTokensKeyUp`).
|
|
2632
|
-
this
|
|
2694
|
+
__classPrivateFieldSet(this, _SkyLookupComponent__value, change.map((token) => {
|
|
2633
2695
|
return token.value;
|
|
2634
|
-
});
|
|
2696
|
+
}), "f");
|
|
2635
2697
|
this.tokens = change;
|
|
2636
|
-
this.
|
|
2637
|
-
this.onChange(this
|
|
2698
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendAutocompleteMessage).call(this, SkyAutocompleteMessageType.RepositionDropdown);
|
|
2699
|
+
this.onChange(__classPrivateFieldGet(this, _SkyLookupComponent__value, "f"));
|
|
2638
2700
|
this.onTouched();
|
|
2639
2701
|
}
|
|
2640
2702
|
}
|
|
2641
2703
|
onTokensFocusIndexOverRange() {
|
|
2642
|
-
this.
|
|
2643
|
-
this.
|
|
2704
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_windowRef, "f").nativeWindow.setTimeout(() => {
|
|
2705
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_focusInput).call(this);
|
|
2644
2706
|
});
|
|
2645
2707
|
}
|
|
2646
2708
|
onTokensKeyUp(event) {
|
|
@@ -2648,15 +2710,15 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2648
2710
|
if (this.selectMode !== 'single') {
|
|
2649
2711
|
switch (event.key) {
|
|
2650
2712
|
case 'Backspace':
|
|
2651
|
-
this.
|
|
2652
|
-
this.
|
|
2713
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendTokensMessage).call(this, SkyTokensMessageType.RemoveActiveToken);
|
|
2714
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendTokensMessage).call(this, SkyTokensMessageType.FocusPreviousToken);
|
|
2653
2715
|
event.preventDefault();
|
|
2654
2716
|
break;
|
|
2655
2717
|
case 'Del':
|
|
2656
2718
|
case 'Delete':
|
|
2657
|
-
this.
|
|
2658
|
-
this.
|
|
2659
|
-
this.
|
|
2719
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendTokensMessage).call(this, SkyTokensMessageType.RemoveActiveToken);
|
|
2720
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_windowRef, "f").nativeWindow.setTimeout(() => {
|
|
2721
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendTokensMessage).call(this, SkyTokensMessageType.FocusActiveToken);
|
|
2660
2722
|
});
|
|
2661
2723
|
event.preventDefault();
|
|
2662
2724
|
break;
|
|
@@ -2665,7 +2727,7 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2665
2727
|
}
|
|
2666
2728
|
writeValue(value) {
|
|
2667
2729
|
this.value = value ? value : [];
|
|
2668
|
-
this.
|
|
2730
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_updateForSelectMode).call(this);
|
|
2669
2731
|
}
|
|
2670
2732
|
registerOnChange(fn) {
|
|
2671
2733
|
this.onChange = fn;
|
|
@@ -2675,22 +2737,23 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2675
2737
|
}
|
|
2676
2738
|
// Allows Angular to disable the input.
|
|
2677
2739
|
setDisabledState(disabled) {
|
|
2678
|
-
this.
|
|
2740
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_removeEventListeners).call(this);
|
|
2679
2741
|
if (!disabled) {
|
|
2680
|
-
this.
|
|
2742
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_addEventListeners).call(this);
|
|
2681
2743
|
}
|
|
2682
2744
|
this.disabled = disabled;
|
|
2683
|
-
this.
|
|
2745
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2684
2746
|
}
|
|
2685
2747
|
clearSearchText() {
|
|
2686
2748
|
this.autocompleteInputDirective.value = undefined;
|
|
2687
|
-
this.autocompleteInputDirective.inputTextValue =
|
|
2749
|
+
this.autocompleteInputDirective.inputTextValue = '';
|
|
2688
2750
|
}
|
|
2689
2751
|
// Handles when to focus on the tokens.
|
|
2690
2752
|
// Check for empty search text on keydown, before the escape key is fully pressed.
|
|
2691
2753
|
// (Otherwise, a single character being escaped would register as empty on keyup.)
|
|
2692
2754
|
// If empty on keydown, set a flag so that the appropriate action can be taken on keyup.
|
|
2693
|
-
inputKeydown(event
|
|
2755
|
+
inputKeydown(event) {
|
|
2756
|
+
const value = event.target.value;
|
|
2694
2757
|
/* Sanity check as this should only be called when in multiple select mode */
|
|
2695
2758
|
/* istanbul ignore else */
|
|
2696
2759
|
if (this.selectMode !== 'single') {
|
|
@@ -2702,10 +2765,10 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2702
2765
|
case 'Backspace':
|
|
2703
2766
|
case 'Left':
|
|
2704
2767
|
if (value) {
|
|
2705
|
-
this
|
|
2768
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_markForTokenFocusOnKeyUp, false, "f");
|
|
2706
2769
|
}
|
|
2707
2770
|
else {
|
|
2708
|
-
this
|
|
2771
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_markForTokenFocusOnKeyUp, true, "f");
|
|
2709
2772
|
}
|
|
2710
2773
|
break;
|
|
2711
2774
|
default:
|
|
@@ -2726,8 +2789,8 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2726
2789
|
case 'Backspace':
|
|
2727
2790
|
case 'Left':
|
|
2728
2791
|
/* istanbul ignore else */
|
|
2729
|
-
if (this
|
|
2730
|
-
this.
|
|
2792
|
+
if (__classPrivateFieldGet(this, _SkyLookupComponent_markForTokenFocusOnKeyUp, "f")) {
|
|
2793
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendTokensMessage).call(this, SkyTokensMessageType.FocusLastToken);
|
|
2731
2794
|
event.preventDefault();
|
|
2732
2795
|
}
|
|
2733
2796
|
break;
|
|
@@ -2741,7 +2804,7 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2741
2804
|
if (this.disabled) {
|
|
2742
2805
|
return;
|
|
2743
2806
|
}
|
|
2744
|
-
this.
|
|
2807
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_sendAutocompleteMessage).call(this, SkyAutocompleteMessageType.CloseDropdown);
|
|
2745
2808
|
let isValueInTextBox = false;
|
|
2746
2809
|
if (this.selectMode === 'single') {
|
|
2747
2810
|
isValueInTextBox =
|
|
@@ -2759,65 +2822,22 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2759
2822
|
this.openPicker(event.inputValue);
|
|
2760
2823
|
}
|
|
2761
2824
|
}
|
|
2762
|
-
createNativePickerInstance(initialSearch) {
|
|
2763
|
-
const initialValue = this.value;
|
|
2764
|
-
const modalConfig = this.showMoreConfig?.nativePickerConfig || {};
|
|
2765
|
-
if (!modalConfig.itemTemplate) {
|
|
2766
|
-
modalConfig.itemTemplate = this.searchResultTemplate;
|
|
2767
|
-
}
|
|
2768
|
-
let contextProviderType;
|
|
2769
|
-
let contextProviderValue;
|
|
2770
|
-
let modalComponentType;
|
|
2771
|
-
if (this.searchAsync.observers.length > 0) {
|
|
2772
|
-
contextProviderType = SkyLookupShowMoreNativePickerAsyncContext;
|
|
2773
|
-
modalComponentType = SkyLookupShowMoreAsyncModalComponent;
|
|
2774
|
-
contextProviderValue = new SkyLookupShowMoreNativePickerAsyncContext();
|
|
2775
|
-
contextProviderValue.idProperty = this.idProperty;
|
|
2776
|
-
contextProviderValue.searchAsync = (args) => {
|
|
2777
|
-
this.searchAsync.emit(args);
|
|
2778
|
-
return args.result;
|
|
2779
|
-
};
|
|
2780
|
-
}
|
|
2781
|
-
else {
|
|
2782
|
-
contextProviderType = SkyLookupShowMoreNativePickerContext;
|
|
2783
|
-
modalComponentType = SkyLookupShowMoreModalComponent;
|
|
2784
|
-
contextProviderValue = new SkyLookupShowMoreNativePickerContext();
|
|
2785
|
-
contextProviderValue.items = this.data;
|
|
2786
|
-
contextProviderValue.search = this.search;
|
|
2787
|
-
}
|
|
2788
|
-
contextProviderValue.descriptorProperty = this.descriptorProperty;
|
|
2789
|
-
contextProviderValue.initialSearch = initialSearch;
|
|
2790
|
-
contextProviderValue.initialValue = initialValue;
|
|
2791
|
-
contextProviderValue.selectMode = this.selectMode;
|
|
2792
|
-
contextProviderValue.showAddButton = this.showAddButton;
|
|
2793
|
-
contextProviderValue.userConfig = modalConfig;
|
|
2794
|
-
return this.modalService.open(modalComponentType, {
|
|
2795
|
-
providers: [
|
|
2796
|
-
{
|
|
2797
|
-
provide: contextProviderType,
|
|
2798
|
-
useValue: contextProviderValue,
|
|
2799
|
-
},
|
|
2800
|
-
],
|
|
2801
|
-
size: 'large',
|
|
2802
|
-
wrapperClass: this.wrapperClass,
|
|
2803
|
-
});
|
|
2804
|
-
}
|
|
2805
2825
|
openPicker(initialSearch) {
|
|
2806
2826
|
if (this.showMoreConfig?.customPicker) {
|
|
2807
2827
|
this.showMoreConfig.customPicker.open({
|
|
2808
2828
|
items: this.data,
|
|
2809
|
-
initialSearch
|
|
2829
|
+
initialSearch,
|
|
2810
2830
|
initialValue: this.value,
|
|
2811
2831
|
});
|
|
2812
2832
|
}
|
|
2813
2833
|
else {
|
|
2814
2834
|
const initialValue = this.value;
|
|
2815
|
-
this
|
|
2816
|
-
this.
|
|
2835
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_openNativePicker, __classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_createNativePickerInstance).call(this, initialSearch), "f");
|
|
2836
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f").componentInstance.addClick.subscribe(() => {
|
|
2817
2837
|
this.addButtonClicked();
|
|
2818
2838
|
});
|
|
2819
|
-
this.
|
|
2820
|
-
this
|
|
2839
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f").closed.subscribe((closeArgs) => {
|
|
2840
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_openNativePicker, undefined, "f");
|
|
2821
2841
|
if (closeArgs.reason === 'save') {
|
|
2822
2842
|
let selectedItems = [];
|
|
2823
2843
|
if (this.searchAsync.observers.length > 0) {
|
|
@@ -2837,131 +2857,165 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
|
|
|
2837
2857
|
else {
|
|
2838
2858
|
this.writeValue(initialValue);
|
|
2839
2859
|
}
|
|
2840
|
-
this.
|
|
2841
|
-
this.
|
|
2860
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_focusInput).call(this);
|
|
2861
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2842
2862
|
});
|
|
2843
2863
|
}
|
|
2844
2864
|
}
|
|
2845
2865
|
onSearchAsync(args) {
|
|
2846
2866
|
this.searchAsync.emit(args);
|
|
2847
2867
|
}
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
this.
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
}
|
|
2868
|
-
removeEventListeners() {
|
|
2869
|
-
this.idle.next();
|
|
2870
|
-
this.idle.complete();
|
|
2868
|
+
}
|
|
2869
|
+
_SkyLookupComponent_adapter = new WeakMap(), _SkyLookupComponent_elementRef = new WeakMap(), _SkyLookupComponent_changeDetector = new WeakMap(), _SkyLookupComponent_idle = new WeakMap(), _SkyLookupComponent_markForTokenFocusOnKeyUp = new WeakMap(), _SkyLookupComponent_modalService = new WeakMap(), _SkyLookupComponent_ngUnsubscribe = new WeakMap(), _SkyLookupComponent_openNativePicker = new WeakMap(), _SkyLookupComponent_resourcesService = new WeakMap(), _SkyLookupComponent_windowRef = new WeakMap(), _SkyLookupComponent__autocompleteInputDirective = new WeakMap(), _SkyLookupComponent__data = new WeakMap(), _SkyLookupComponent__selectMode = new WeakMap(), _SkyLookupComponent__tokens = new WeakMap(), _SkyLookupComponent__value = new WeakMap(), _SkyLookupComponent_instances = new WeakSet(), _SkyLookupComponent_createNativePickerInstance = function _SkyLookupComponent_createNativePickerInstance(initialSearch) {
|
|
2870
|
+
const initialValue = this.value;
|
|
2871
|
+
const modalConfig = this.showMoreConfig?.nativePickerConfig || {};
|
|
2872
|
+
if (!modalConfig.itemTemplate) {
|
|
2873
|
+
modalConfig.itemTemplate = this.searchResultTemplate;
|
|
2874
|
+
}
|
|
2875
|
+
let contextProviderType;
|
|
2876
|
+
let contextProviderValue;
|
|
2877
|
+
let modalComponentType;
|
|
2878
|
+
if (this.searchAsync.observers.length > 0) {
|
|
2879
|
+
contextProviderType = SkyLookupShowMoreNativePickerAsyncContext;
|
|
2880
|
+
modalComponentType = SkyLookupShowMoreAsyncModalComponent;
|
|
2881
|
+
contextProviderValue = new SkyLookupShowMoreNativePickerAsyncContext();
|
|
2882
|
+
contextProviderValue.idProperty = this.idProperty;
|
|
2883
|
+
contextProviderValue.searchAsync = (args) => {
|
|
2884
|
+
this.searchAsync.emit(args);
|
|
2885
|
+
return args.result;
|
|
2886
|
+
};
|
|
2871
2887
|
}
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2888
|
+
else {
|
|
2889
|
+
contextProviderType = SkyLookupShowMoreNativePickerContext;
|
|
2890
|
+
modalComponentType = SkyLookupShowMoreModalComponent;
|
|
2891
|
+
contextProviderValue = new SkyLookupShowMoreNativePickerContext();
|
|
2892
|
+
contextProviderValue.items = this.data;
|
|
2893
|
+
contextProviderValue.search = this.search;
|
|
2894
|
+
}
|
|
2895
|
+
contextProviderValue.descriptorProperty = this.descriptorProperty;
|
|
2896
|
+
contextProviderValue.initialSearch = initialSearch;
|
|
2897
|
+
contextProviderValue.initialValue = initialValue;
|
|
2898
|
+
contextProviderValue.selectMode = this.selectMode;
|
|
2899
|
+
contextProviderValue.showAddButton = this.showAddButton;
|
|
2900
|
+
contextProviderValue.userConfig = modalConfig;
|
|
2901
|
+
return __classPrivateFieldGet(this, _SkyLookupComponent_modalService, "f").open(modalComponentType, {
|
|
2902
|
+
providers: [
|
|
2903
|
+
{
|
|
2904
|
+
provide: contextProviderType,
|
|
2905
|
+
useValue: contextProviderValue,
|
|
2906
|
+
},
|
|
2907
|
+
],
|
|
2908
|
+
size: 'large',
|
|
2909
|
+
wrapperClass: this.wrapperClass,
|
|
2910
|
+
});
|
|
2911
|
+
}, _SkyLookupComponent_addToSelected = function _SkyLookupComponent_addToSelected(item) {
|
|
2912
|
+
let selectedItems;
|
|
2913
|
+
if (this.selectMode === 'single') {
|
|
2914
|
+
selectedItems = [item];
|
|
2915
|
+
}
|
|
2916
|
+
else {
|
|
2917
|
+
selectedItems = this.value;
|
|
2918
|
+
const idProperty = this.idProperty || '';
|
|
2919
|
+
// If items have a unique identifier, don't allow the same item to be added twice.
|
|
2920
|
+
if (!this.idProperty ||
|
|
2921
|
+
!this.value.some((existingItem) => existingItem[idProperty] === item[idProperty])) {
|
|
2922
|
+
selectedItems.push(item);
|
|
2923
|
+
}
|
|
2924
|
+
this.clearSearchText();
|
|
2925
|
+
}
|
|
2926
|
+
this.writeValue(selectedItems);
|
|
2927
|
+
}, _SkyLookupComponent_addEventListeners = function _SkyLookupComponent_addEventListeners() {
|
|
2928
|
+
__classPrivateFieldSet(this, _SkyLookupComponent_idle, new Subject(), "f");
|
|
2929
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_focusInputOnHostClick).call(this);
|
|
2930
|
+
}, _SkyLookupComponent_removeEventListeners = function _SkyLookupComponent_removeEventListeners() {
|
|
2931
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_idle, "f").next();
|
|
2932
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_idle, "f").complete();
|
|
2933
|
+
}, _SkyLookupComponent_focusInputOnHostClick = function _SkyLookupComponent_focusInputOnHostClick() {
|
|
2934
|
+
let hostElement = !this.inputBoxHostSvc
|
|
2935
|
+
? __classPrivateFieldGet(this, _SkyLookupComponent_elementRef, "f").nativeElement
|
|
2936
|
+
: this.lookupWrapperRef.nativeElement;
|
|
2937
|
+
const documentObj = __classPrivateFieldGet(this, _SkyLookupComponent_windowRef, "f").nativeWindow.document;
|
|
2938
|
+
// Handles focusing the input when the host is clicked.
|
|
2939
|
+
// The input should NOT be focused if other elements (tokens, etc.)
|
|
2940
|
+
// are currently focused or being tabbed through.
|
|
2941
|
+
fromEvent(documentObj, 'mousedown')
|
|
2942
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyLookupComponent_idle, "f")))
|
|
2943
|
+
.subscribe((event) => {
|
|
2944
|
+
hostElement = !this.inputBoxHostSvc
|
|
2945
|
+
? __classPrivateFieldGet(this, _SkyLookupComponent_elementRef, "f").nativeElement
|
|
2875
2946
|
: this.lookupWrapperRef.nativeElement;
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
}
|
|
2907
|
-
focusInput() {
|
|
2908
|
-
this.adapter.focusInput(this.lookupWrapperRef);
|
|
2909
|
-
}
|
|
2910
|
-
onAddButtonComplete(args) {
|
|
2911
|
-
if (args.data) {
|
|
2912
|
-
this.data = args.data;
|
|
2947
|
+
this.isInputFocused = hostElement.contains(event.target);
|
|
2948
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2949
|
+
});
|
|
2950
|
+
fromEvent(documentObj, 'focusin')
|
|
2951
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyLookupComponent_idle, "f")))
|
|
2952
|
+
.subscribe((event) => {
|
|
2953
|
+
hostElement = !this.inputBoxHostSvc
|
|
2954
|
+
? __classPrivateFieldGet(this, _SkyLookupComponent_elementRef, "f").nativeElement
|
|
2955
|
+
: this.lookupWrapperRef.nativeElement;
|
|
2956
|
+
this.isInputFocused = hostElement.contains(event.target);
|
|
2957
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_changeDetector, "f").markForCheck();
|
|
2958
|
+
});
|
|
2959
|
+
fromEvent(hostElement, 'mouseup')
|
|
2960
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyLookupComponent_idle, "f")))
|
|
2961
|
+
.subscribe(() => {
|
|
2962
|
+
const classList = documentObj.activeElement.classList;
|
|
2963
|
+
if (!classList || !classList.contains('sky-token')) {
|
|
2964
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_instances, "m", _SkyLookupComponent_focusInput).call(this);
|
|
2965
|
+
}
|
|
2966
|
+
});
|
|
2967
|
+
}, _SkyLookupComponent_focusInput = function _SkyLookupComponent_focusInput() {
|
|
2968
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_adapter, "f").focusInput(this.lookupWrapperRef);
|
|
2969
|
+
}, _SkyLookupComponent_onAddButtonComplete = function _SkyLookupComponent_onAddButtonComplete(args) {
|
|
2970
|
+
if (args.data) {
|
|
2971
|
+
this.data = args.data;
|
|
2972
|
+
}
|
|
2973
|
+
if (this.data.indexOf(args.item) >= 0) {
|
|
2974
|
+
if (__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f")) {
|
|
2975
|
+
__classPrivateFieldGet(this, _SkyLookupComponent_openNativePicker, "f")
|
|
2976
|
+
.componentInstance.onItemSelect(true, { value: args.item, selected: false });
|
|
2913
2977
|
}
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2978
|
+
else {
|
|
2979
|
+
let newValue = this.value;
|
|
2980
|
+
if (this.selectMode === 'multiple') {
|
|
2981
|
+
newValue = this.value.concat(args.item);
|
|
2918
2982
|
}
|
|
2919
2983
|
else {
|
|
2920
|
-
|
|
2921
|
-
if (this.selectMode === 'multiple') {
|
|
2922
|
-
newValue = this.value.concat(args.item);
|
|
2923
|
-
}
|
|
2924
|
-
else {
|
|
2925
|
-
newValue = [args.item];
|
|
2926
|
-
}
|
|
2927
|
-
this.writeValue(newValue);
|
|
2984
|
+
newValue = [args.item];
|
|
2928
2985
|
}
|
|
2986
|
+
this.writeValue(newValue);
|
|
2929
2987
|
}
|
|
2930
2988
|
}
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
}
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
}
|
|
2949
|
-
else {
|
|
2950
|
-
this.clearSearchText();
|
|
2951
|
-
}
|
|
2989
|
+
}, _SkyLookupComponent_parseTokens = function _SkyLookupComponent_parseTokens(data) {
|
|
2990
|
+
return data.map((item) => {
|
|
2991
|
+
return {
|
|
2992
|
+
value: item,
|
|
2993
|
+
};
|
|
2994
|
+
});
|
|
2995
|
+
}, _SkyLookupComponent_sendAutocompleteMessage = function _SkyLookupComponent_sendAutocompleteMessage(type) {
|
|
2996
|
+
this.autocompleteController.next({ type });
|
|
2997
|
+
}, _SkyLookupComponent_sendTokensMessage = function _SkyLookupComponent_sendTokensMessage(type) {
|
|
2998
|
+
this.tokensController.next({ type });
|
|
2999
|
+
}, _SkyLookupComponent_updateForSelectMode = function _SkyLookupComponent_updateForSelectMode() {
|
|
3000
|
+
if (this.autocompleteInputDirective) {
|
|
3001
|
+
if (this.selectMode === 'single') {
|
|
3002
|
+
this.autocompleteInputDirective.value = this.value && this.value[0];
|
|
3003
|
+
}
|
|
3004
|
+
else {
|
|
3005
|
+
this.clearSearchText();
|
|
2952
3006
|
}
|
|
2953
3007
|
}
|
|
2954
|
-
}
|
|
2955
|
-
SkyLookupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAppWindowRef }, { token:
|
|
2956
|
-
SkyLookupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupComponent, selector: "sky-lookup", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", autocompleteAttribute: "autocompleteAttribute", data: "data", disabled: "disabled", enableShowMore: "enableShowMore", placeholderText: "placeholderText", idProperty: "idProperty", showAddButton: "showAddButton", showMoreConfig: "showMoreConfig", selectMode: "selectMode", wrapperClass: "wrapperClass" }, outputs: { addClick: "addClick" }, providers: [SkyLookupAdapterService], viewQueries: [{ propertyName: "autocompleteInputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true, read: SkyAutocompleteInputDirective }, { propertyName: "showMoreButtonTemplateRef", first: true, predicate: ["showMoreButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lookupWrapperRef", first: true, predicate: ["lookupWrapper"], descendants: true, read: ElementRef }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"search\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokenSelected)=\"enableShowMore ? openPicker(undefined) : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event, $event.target.value)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"], components: [{ type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }, { type: i4.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3008
|
+
};
|
|
3009
|
+
SkyLookupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAppWindowRef }, { token: SkyLookupAdapterService }, { token: i1$1.SkyModalService }, { token: i4$1.SkyLibResourcesService }, { token: i8.NgControl, optional: true, self: true }, { token: i6.SkyInputBoxHostService, optional: true }, { token: i7.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3010
|
+
SkyLookupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyLookupComponent, selector: "sky-lookup", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", autocompleteAttribute: "autocompleteAttribute", data: "data", disabled: "disabled", enableShowMore: "enableShowMore", placeholderText: "placeholderText", idProperty: "idProperty", showAddButton: "showAddButton", showMoreConfig: "showMoreConfig", selectMode: "selectMode", wrapperClass: "wrapperClass" }, outputs: { addClick: "addClick" }, providers: [SkyLookupAdapterService], viewQueries: [{ propertyName: "autocompleteInputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true, read: SkyAutocompleteInputDirective }, { propertyName: "showMoreButtonTemplateRef", first: true, predicate: ["showMoreButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lookupWrapperRef", first: true, predicate: ["lookupWrapper"], descendants: true, read: ElementRef }, { propertyName: "searchIconTemplateRef", first: true, predicate: ["searchIconTemplateRef"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"search\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokenSelected)=\"enableShowMore ? openPicker('') : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"], components: [{ type: SkyAutocompleteComponent, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync"] }, { type: i4.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i4$1.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2957
3011
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLookupComponent, decorators: [{
|
|
2958
3012
|
type: Component,
|
|
2959
|
-
args: [{ selector: 'sky-lookup', providers: [SkyLookupAdapterService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"search\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokenSelected)=\"enableShowMore ? openPicker(
|
|
2960
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAppWindowRef }, { type: i8.NgControl, decorators: [{
|
|
3013
|
+
args: [{ selector: 'sky-lookup', providers: [SkyLookupAdapterService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!inputBoxHostSvc\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n</ng-container>\n\n<ng-template #inputTemplateRef>\n <div\n class=\"sky-lookup\"\n [ngClass]=\"{\n 'sky-lookup-focused': isInputFocused,\n 'sky-lookup-disabled': disabled,\n 'sky-lookup-single': selectMode === 'single'\n }\"\n #lookupWrapper\n >\n <sky-autocomplete\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"search\"\n [searchAsyncDisabled]=\"searchAsync.observers.length === 0\"\n [searchFilters]=\"searchFilters\"\n [searchResultsLimit]=\"searchResultsLimit\"\n [searchResultTemplate]=\"searchResultTemplate\"\n [searchTextMinimumCharacters]=\"searchTextMinimumCharacters\"\n [showAddButton]=\"showAddButton\"\n [wrapperClass]=\"wrapperClass\"\n (addClick)=\"addButtonClicked()\"\n (searchAsync)=\"onSearchAsync($event)\"\n (selectionChange)=\"onAutocompleteSelectionChange($event)\"\n (showMoreClick)=\"onShowMoreClick($event)\"\n >\n <div class=\"sky-lookup-search-flex-wrapper\">\n <div\n class=\"sky-lookup-search\"\n [ngClass]=\"{\n 'sky-field-status-active': isInputFocused && !disabled\n }\"\n >\n <sky-tokens\n *ngIf=\"selectMode === 'multiple'\"\n class=\"sky-lookup-tokens\"\n [disabled]=\"disabled\"\n [displayWith]=\"descriptorProperty\"\n [focusable]=\"false\"\n [messageStream]=\"tokensController\"\n [trackWith]=\"idProperty\"\n [tokens]=\"tokens\"\n (keyup)=\"onTokensKeyUp($event)\"\n (tokensChange)=\"onTokensChange($event)\"\n (tokenSelected)=\"enableShowMore ? openPicker('') : undefined\"\n (focusIndexOverRange)=\"onTokensFocusIndexOverRange()\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n </sky-tokens>\n <div\n *ngIf=\"selectMode === 'single'\"\n class=\"sky-lookup-single-control\"\n >\n <textarea\n class=\"sky-form-control sky-lookup-input\"\n rows=\"1\"\n skyAutocomplete\n wrap=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </sky-autocomplete>\n </div>\n</ng-template>\n\n<ng-template #showMoreButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n class=\"sky-btn sky-btn-default\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'sky-btn-disabled': disabled }\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_lookup_search_button_show_more' | skyLibResources\n \"\n (click)=\"onSearchButtonClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #searchIconTemplateRef>\n <div\n class=\"sky-input-group-icon sky-input-box-icon-inset\"\n [ngClass]=\"{ 'sky-lookup-disabled': disabled }\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconType=\"skyux\"\n icon=\"search\"\n [attr.aria-label]=\"'skyux_lookup_search_icon' | skyLibResources\"\n ></sky-icon>\n </div>\n</ng-template>\n", styles: [".sky-lookup .sky-lookup-input.sky-form-control{resize:none;border:0;box-sizing:content-box;height:1.428571429em;overflow:hidden;padding:0;background-color:transparent}.sky-lookup .sky-lookup-input.sky-form-control:focus{outline:none;box-shadow:none}.sky-lookup .sky-lookup-search-flex-wrapper{display:flex}.sky-lookup.sky-lookup-disabled .sky-lookup-search{background-color:#cdcfd2}.sky-lookup sky-tokens.sky-lookup-tokens:focus{outline:none}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-5px;margin-bottom:-5px}.sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-top:5px;padding-bottom:5px;padding-left:10px;flex-basis:100px}.sky-lookup .sky-lookup-single-control{display:inline-flex;padding-left:7px;width:100%}.sky-lookup-search{cursor:text;background-color:#fff;line-height:1.428571429em;padding:6px 12px 6px 3px;flex-grow:1}.sky-lookup-search:not(.sky-field-status-active){border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2}.sky-lookup-disabled .sky-lookup-search{cursor:default}.sky-lookup-focused .sky-tokens-content{flex-basis:100px}.sky-lookup-single sky-tokens.sky-lookup-tokens sky-token{display:none}sky-lookup.ng-invalid.ng-touched .sky-lookup-search{box-shadow:0 0 8px #ef404499;border:1px solid #ef4044;outline:none}sky-input-box .sky-lookup{width:100%}sky-input-box .sky-lookup .sky-lookup-search{border:none;padding-bottom:5px;width:100%}:host-context(.sky-theme-modern) sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}:host-context(.sky-theme-modern) sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}.sky-theme-modern sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:-6px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens{margin-top:0;margin-bottom:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens sky-token{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content{padding-bottom:0;padding-top:0}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens .sky-tokens .sky-tokens-content:first-child{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup.sky-lookup-single sky-tokens.sky-lookup-tokens .sky-tokens-content{padding-left:0}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search{background-color:transparent;padding:0 0 0 15px}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-search.sky-field-status-active{box-shadow:none}.sky-theme-modern sky-input-box .sky-lookup textarea.sky-lookup-input.sky-form-control{padding-left:0;resize:none}.sky-theme-modern sky-input-box .sky-lookup .sky-lookup-single-control{padding-left:0}\n"] }]
|
|
3014
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAppWindowRef }, { type: SkyLookupAdapterService }, { type: i1$1.SkyModalService }, { type: i4$1.SkyLibResourcesService }, { type: i8.NgControl, decorators: [{
|
|
2961
3015
|
type: Self
|
|
2962
3016
|
}, {
|
|
2963
3017
|
type: Optional
|
|
2964
|
-
}] }, { type:
|
|
3018
|
+
}] }, { type: i6.SkyInputBoxHostService, decorators: [{
|
|
2965
3019
|
type: Optional
|
|
2966
3020
|
}] }, { type: i7.SkyThemeService, decorators: [{
|
|
2967
3021
|
type: Optional
|