@skyux/lookup 9.0.0-alpha.8 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/documentation.json +1753 -1682
  2. package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +2 -1
  3. package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +25 -20
  4. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +2 -5
  5. package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
  6. package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +46 -23
  7. package/esm2022/lib/modules/lookup/lookup.component.mjs +11 -16
  8. package/esm2022/lib/modules/lookup/lookup.module.mjs +6 -45
  9. package/esm2022/lib/modules/search/search.component.mjs +3 -3
  10. package/esm2022/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +3 -2
  11. package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +49 -24
  12. package/esm2022/lib/modules/selection-modal/selection-modal.module.mjs +7 -54
  13. package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +3 -3
  14. package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +4 -2
  15. package/esm2022/testing/country-field/country-field-fixture.mjs +3 -2
  16. package/fesm2022/skyux-lookup-testing.mjs +2 -1
  17. package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
  18. package/fesm2022/skyux-lookup.mjs +457 -490
  19. package/fesm2022/skyux-lookup.mjs.map +1 -1
  20. package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +1 -0
  21. package/lib/modules/autocomplete/autocomplete.component.d.ts +2 -2
  22. package/lib/modules/autocomplete/autocomplete.module.d.ts +1 -1
  23. package/lib/modules/country-field/country-field.component.d.ts +2 -0
  24. package/lib/modules/lookup/lookup-show-more-modal.component.d.ts +5 -6
  25. package/lib/modules/lookup/lookup.component.d.ts +2 -0
  26. package/lib/modules/lookup/lookup.module.d.ts +6 -15
  27. package/lib/modules/selection-modal/selection-modal-item-selected.pipe.d.ts +1 -1
  28. package/lib/modules/selection-modal/selection-modal.component.d.ts +5 -6
  29. package/lib/modules/selection-modal/selection-modal.module.d.ts +4 -13
  30. package/package.json +10 -10
  31. package/testing/country-field/country-field-fixture.d.ts +1 -0
@@ -1,30 +1,31 @@
1
- import * as i4 from '@angular/common';
1
+ import * as i1$1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { NgModule, forwardRef, Directive, Input, Pipe, Injectable, EventEmitter, TemplateRef, ElementRef, Component, ChangeDetectionStrategy, Optional, Inject, Output, ContentChild, ViewChild, InjectionToken, inject, ViewEncapsulation, ChangeDetectorRef, Self } from '@angular/core';
5
- import * as i4$1 from '@angular/forms';
4
+ import { NgModule, forwardRef, Directive, Input, Pipe, Injectable, EventEmitter, inject, EnvironmentInjector, TemplateRef, ElementRef, Component, ChangeDetectionStrategy, Optional, Inject, Output, ContentChild, ViewChild, InjectionToken, ViewEncapsulation, ChangeDetectorRef, Self } from '@angular/core';
5
+ import * as i4 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, NgModel, UntypedFormControl, NgControl, ReactiveFormsModule } from '@angular/forms';
7
7
  import * as i1 from '@skyux/core';
8
- import { SkyAffixAutoFitContext, SKY_STACKING_CONTEXT, SkyAffixModule, SkyIdModule, SkyNumericModule, SkyOverlayModule, SkyMediaBreakpoints, SkyViewkeeperModule, SkyIdService, SkyLogService, SkyAppWindowRef } from '@skyux/core';
9
- import * as i6 from '@skyux/indicators';
8
+ import { SkyAffixAutoFitContext, SKY_STACKING_CONTEXT, SkyAffixModule, SkyIdModule, SkyNumericModule, SkyMediaBreakpoints, SkyIdService, SkyViewkeeperModule, SkyLogService, SkyAppWindowRef } from '@skyux/core';
9
+ import * as i5 from '@skyux/indicators';
10
10
  import { SkyTextHighlightModule, SkyIconModule, SkyWaitModule, SkyTokensMessageType, SkyTokensModule } from '@skyux/indicators';
11
- import * as i3 from '@skyux/theme';
11
+ import * as i2$1 from '@skyux/theme';
12
12
  import { SkyThemeModule } from '@skyux/theme';
13
13
  import * as i8 from '@skyux/i18n';
14
- import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyLibResourcesService } from '@skyux/i18n';
14
+ import { SkyLibResourcesService, getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
15
15
  import { Subject, fromEvent, of, BehaviorSubject, from } from 'rxjs';
16
16
  import { takeUntil, debounceTime, switchMap, delay, take, map, distinctUntilChanged } from 'rxjs/operators';
17
- import * as i5 from '@skyux/forms';
17
+ import * as i2 from '@skyux/forms';
18
18
  import { SkyInputBoxModule, SkyCheckboxModule } from '@skyux/forms';
19
19
  import 'intl-tel-input';
20
- import * as i10 from '@skyux/layout';
20
+ import * as i6 from '@skyux/modals';
21
+ import { SkyModalInstance, SkyModalModule, SkyModalService } from '@skyux/modals';
22
+ import * as i8$1 from '@skyux/layout';
21
23
  import { SkyToolbarModule } from '@skyux/layout';
22
- import * as i7 from '@skyux/lists';
24
+ import * as i4$1 from '@skyux/lists';
23
25
  import { SkyInfiniteScrollModule, SkyRepeaterModule } from '@skyux/lists';
24
- import * as i1$1 from '@skyux/modals';
25
- import { SkyModalModule, SkyModalService, SkyModalInstance } from '@skyux/modals';
26
26
  import { trigger, state, style, transition, animate } from '@angular/animations';
27
27
 
28
+ /* istanbul ignore file */
28
29
  /**
29
30
  * NOTICE: DO NOT MODIFY THIS FILE!
30
31
  * The contents of this file were automatically generated by
@@ -60,6 +61,7 @@ const RESOURCES = {
60
61
  skyux_search_placeholder: { message: 'Find in this list' },
61
62
  },
62
63
  };
64
+ SkyLibResourcesService.addResources(RESOURCES);
63
65
  class SkyLookupResourcesProvider {
64
66
  getString(localeInfo, name) {
65
67
  return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
@@ -107,6 +109,7 @@ class SkyAutocompleteInputDirective {
107
109
  /**
108
110
  * The value for the `autocomplete` attribute on the form input.
109
111
  * @default "off"
112
+ * @deprecated SKY UX only supports browser autofill on components where the direct input matches the return value. This input may not behave as expected due to the dropdown selection interaction.
110
113
  */
111
114
  set autocompleteAttribute(value) {
112
115
  if (!value) {
@@ -505,7 +508,7 @@ class SkyAutocompleteComponent {
505
508
  */
506
509
  set enableShowMore(value) {
507
510
  this.#_enableShowMore = !!value;
508
- this.#updateIsDropdownVisible();
511
+ this.#updateIsResultsVisible();
509
512
  }
510
513
  get enableShowMore() {
511
514
  return this.#_enableShowMore;
@@ -596,7 +599,7 @@ class SkyAutocompleteComponent {
596
599
  */
597
600
  set showAddButton(value) {
598
601
  this.#_showAddButton = !!value;
599
- this.#updateIsDropdownVisible();
602
+ this.#updateIsResultsVisible();
600
603
  }
601
604
  get showAddButton() {
602
605
  return this.#_showAddButton;
@@ -682,6 +685,7 @@ class SkyAutocompleteComponent {
682
685
  #affixService;
683
686
  #changeDetector;
684
687
  #elementRef;
688
+ #environmentInjector;
685
689
  #hasFocus;
686
690
  #inputBoxHostSvc;
687
691
  #inputDirectiveUnsubscribe;
@@ -696,7 +700,7 @@ class SkyAutocompleteComponent {
696
700
  */
697
701
  #overlayFocusableElements;
698
702
  #currentSearchSub;
699
- #isDropdownVisible;
703
+ #isResultsVisible;
700
704
  #zIndex;
701
705
  #_data;
702
706
  #_debounceTime;
@@ -751,6 +755,7 @@ class SkyAutocompleteComponent {
751
755
  * Index that indicates which descendant of the overlay currently has focus.
752
756
  */
753
757
  this.#activeElementIndex = -1;
758
+ this.#environmentInjector = inject(EnvironmentInjector);
754
759
  this.#hasFocus = false;
755
760
  this.#inputDirectiveUnsubscribe = new Subject();
756
761
  this.#ngUnsubscribe = new Subject();
@@ -760,7 +765,7 @@ class SkyAutocompleteComponent {
760
765
  * elements provided in the consumer's own template.
761
766
  */
762
767
  this.#overlayFocusableElements = [];
763
- this.#isDropdownVisible = new BehaviorSubject(false);
768
+ this.#isResultsVisible = new BehaviorSubject(false);
764
769
  this.#_data = [];
765
770
  this.#_debounceTime = 0;
766
771
  this.#_descriptorProperty = 'name';
@@ -784,7 +789,7 @@ class SkyAutocompleteComponent {
784
789
  const id = ++uniqueId$1;
785
790
  this.resultsListId = `sky-autocomplete-list-${id}`;
786
791
  this.resultsWrapperId = `sky-autocomplete-wrapper-${id}`;
787
- this.isDropdownVisible = this.#isDropdownVisible.asObservable();
792
+ this.isResultsVisible = this.#isResultsVisible.asObservable();
788
793
  }
789
794
  ngAfterViewInit() {
790
795
  this.#addInputEventListeners();
@@ -793,7 +798,7 @@ class SkyAutocompleteComponent {
793
798
  this.#cancelCurrentSearch();
794
799
  this.#inputDirectiveUnsubscribe.next();
795
800
  this.#inputDirectiveUnsubscribe.complete();
796
- this.#isDropdownVisible.complete();
801
+ this.#isResultsVisible.complete();
797
802
  this.#ngUnsubscribe.next();
798
803
  this.#ngUnsubscribe.complete();
799
804
  this.#destroyAffixer();
@@ -828,7 +833,7 @@ class SkyAutocompleteComponent {
828
833
  }
829
834
  else {
830
835
  if (activeElement) {
831
- activeElement.dispatchEvent(new MouseEvent('mousedown'));
836
+ activeElement.dispatchEvent(new MouseEvent('click'));
832
837
  }
833
838
  }
834
839
  event.preventDefault();
@@ -889,7 +894,7 @@ class SkyAutocompleteComponent {
889
894
  }
890
895
  this.#closeDropdown();
891
896
  }
892
- onResultMouseDown(id, event) {
897
+ onResultClick(id, event) {
893
898
  this.#selectSearchResultById(id);
894
899
  if (!this.showActionsArea) {
895
900
  this.#closeDropdown();
@@ -936,7 +941,7 @@ class SkyAutocompleteComponent {
936
941
  const isLongEnough = searchText.length >= this.searchTextMinimumCharacters;
937
942
  const isDifferent = searchText !== this.searchText;
938
943
  this.searchText = searchText.trim();
939
- this.#updateIsDropdownVisible();
944
+ this.#updateIsResultsVisible();
940
945
  if (isLongEnough && isDifferent) {
941
946
  this.#cancelCurrentSearch();
942
947
  this.#currentSearchSub = this.#performSearch()
@@ -964,7 +969,7 @@ class SkyAutocompleteComponent {
964
969
  else {
965
970
  this.#activeElementIndex = -1;
966
971
  }
967
- this.#updateIsDropdownVisible();
972
+ this.#updateIsResultsVisible();
968
973
  this.#changeDetector.markForCheck();
969
974
  if (this.isOpen) {
970
975
  // Let the results populate in the DOM before recalculating placement.
@@ -1069,7 +1074,9 @@ class SkyAutocompleteComponent {
1069
1074
  const overlay = this.#overlayService.create({
1070
1075
  enableClose: false,
1071
1076
  enablePointerEvents: true,
1077
+ environmentInjector: this.#environmentInjector,
1072
1078
  wrapperClass: this.wrapperClass,
1079
+ position: 'absolute',
1073
1080
  });
1074
1081
  if (this.#zIndex) {
1075
1082
  this.#zIndex.pipe(takeUntil(overlay.closed)).subscribe((zIndex) => {
@@ -1079,7 +1086,7 @@ class SkyAutocompleteComponent {
1079
1086
  overlay.attachTemplate(this.resultsTemplateRef);
1080
1087
  this.#overlay = overlay;
1081
1088
  this.isOpen = true;
1082
- this.#updateIsDropdownVisible();
1089
+ this.#updateIsResultsVisible();
1083
1090
  this.#changeDetector.markForCheck();
1084
1091
  this.#updateAriaControls();
1085
1092
  this.#initOverlayFocusableElements();
@@ -1121,7 +1128,7 @@ class SkyAutocompleteComponent {
1121
1128
  this.searchResultsCount = undefined;
1122
1129
  this.#removeActiveDescendant();
1123
1130
  this.#initOverlayFocusableElements();
1124
- this.#updateIsDropdownVisible();
1131
+ this.#updateIsResultsVisible();
1125
1132
  this.#changeDetector.markForCheck();
1126
1133
  }
1127
1134
  #addInputEventListeners() {
@@ -1158,6 +1165,7 @@ class SkyAutocompleteComponent {
1158
1165
  isSticky: true,
1159
1166
  placement: 'below',
1160
1167
  horizontalAlignment: 'left',
1168
+ position: 'absolute',
1161
1169
  });
1162
1170
  this.#affixer = affixer;
1163
1171
  }
@@ -1228,20 +1236,20 @@ class SkyAutocompleteComponent {
1228
1236
  });
1229
1237
  }
1230
1238
  }
1231
- #updateIsDropdownVisible() {
1232
- const isDropdownVisible = !!this.searchText &&
1239
+ #updateIsResultsVisible() {
1240
+ const isResultsVisible = !!this.searchText &&
1233
1241
  (!this.showActionsArea || this.searchResults.length > 0);
1234
- if (isDropdownVisible !== this.#isDropdownVisible.getValue()) {
1235
- this.#isDropdownVisible.next(isDropdownVisible);
1242
+ if (isResultsVisible !== this.#isResultsVisible.getValue()) {
1243
+ this.#isResultsVisible.next(isResultsVisible);
1236
1244
  }
1237
1245
  }
1238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: SkyAutocompleteAdapterService }, { token: i1.SkyOverlayService }, { token: i5.SkyInputBoxHostService, optional: true }, { token: SKY_STACKING_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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", openChange: "openChange" }, providers: [SkyAutocompleteAdapterService], queries: [{ propertyName: "inputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }], viewQueries: [{ 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]=\"isDropdownVisible | async\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-controls]=\"(isDropdownVisible | async) ? 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=\"isDropdownVisible | async\"\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=\"\n (!searchResultsLimit || i < searchResultsLimit) &&\n !(enableShowMore && i >= 5)\n \"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.data-descriptor-value]=\"result.data[descriptorProperty]\"\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 || defaultSearchResultTemplate;\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"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i6.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i1.SkyNumericPipe, name: "skyNumeric" }, { kind: "pipe", type: SkyAutocompleteSearchAsyncDisabledPipe, name: "skyAutocompleteSearchAsyncDisabled" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyAffixService }, { token: SkyAutocompleteAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: SKY_STACKING_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1247
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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", openChange: "openChange" }, providers: [SkyAutocompleteAdapterService], queries: [{ propertyName: "inputDirective", first: true, predicate: SkyAutocompleteInputDirective, descendants: true }], viewQueries: [{ 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]=\"\n isOpen && (showActionsArea || (isResultsVisible | async))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-controls]=\"\n isOpen && (showActionsArea || (isResultsVisible | async))\n ? resultsListId\n : null\n \"\n [attr.id]=\"resultsWrapperId\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #resultsTemplateRef>\n <!-- We do not want the blur to fire here so that the dropdown does not close. This is why we are preventing the mousedown default. -->\n <div\n class=\"sky-autocomplete-results-container\"\n [attr.id]=\"resultsListId\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n (mousedown)=\"$event.preventDefault()\"\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=\"isResultsVisible | async\"\n class=\"sky-autocomplete-results\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n >\n <ng-container *ngFor=\"let result of searchResults; let i = index\">\n <div\n *ngIf=\"\n (!searchResultsLimit || i < searchResultsLimit) &&\n !(enableShowMore && i >= 5)\n \"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.data-descriptor-value]=\"result.data[descriptorProperty]\"\n [attr.id]=\"result.elementId\"\n [skyHighlight]=\"highlightText\"\n (click)=\"onResultClick(result.elementId, $event)\"\n (mousemove)=\"onResultMouseMove(i)\"\n #searchResultEl\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchResultTemplate || defaultSearchResultTemplate;\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 (click)=\"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 (click)=\"addButtonClicked()\"\n #addButtonEl\n >\n <sky-icon icon=\"add\"></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:absolute;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"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.λ11, selector: "[skyHighlight]", inputs: ["skyHighlight"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2$1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "component", type: i5.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i1.SkyNumericPipe, name: "skyNumeric" }, { kind: "pipe", type: SkyAutocompleteSearchAsyncDisabledPipe, name: "skyAutocompleteSearchAsyncDisabled" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1240
1248
  }
1241
1249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyAutocompleteComponent, decorators: [{
1242
1250
  type: Component,
1243
- 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]=\"isDropdownVisible | async\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-controls]=\"(isDropdownVisible | async) ? 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=\"isDropdownVisible | async\"\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=\"\n (!searchResultsLimit || i < searchResultsLimit) &&\n !(enableShowMore && i >= 5)\n \"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.data-descriptor-value]=\"result.data[descriptorProperty]\"\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 || defaultSearchResultTemplate;\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"] }]
1244
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: SkyAutocompleteAdapterService }, { type: i1.SkyOverlayService }, { type: i5.SkyInputBoxHostService, decorators: [{
1251
+ 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]=\"\n isOpen && (showActionsArea || (isResultsVisible | async))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-controls]=\"\n isOpen && (showActionsArea || (isResultsVisible | async))\n ? resultsListId\n : null\n \"\n [attr.id]=\"resultsWrapperId\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #resultsTemplateRef>\n <!-- We do not want the blur to fire here so that the dropdown does not close. This is why we are preventing the mousedown default. -->\n <div\n class=\"sky-autocomplete-results-container\"\n [attr.id]=\"resultsListId\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n (mousedown)=\"$event.preventDefault()\"\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=\"isResultsVisible | async\"\n class=\"sky-autocomplete-results\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n >\n <ng-container *ngFor=\"let result of searchResults; let i = index\">\n <div\n *ngIf=\"\n (!searchResultsLimit || i < searchResultsLimit) &&\n !(enableShowMore && i >= 5)\n \"\n class=\"sky-autocomplete-result\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-selected]=\"isElementFocused(searchResultEl)\"\n [attr.data-descriptor-value]=\"result.data[descriptorProperty]\"\n [attr.id]=\"result.elementId\"\n [skyHighlight]=\"highlightText\"\n (click)=\"onResultClick(result.elementId, $event)\"\n (mousemove)=\"onResultMouseMove(i)\"\n #searchResultEl\n >\n <ng-container\n *ngTemplateOutlet=\"\n searchResultTemplate || defaultSearchResultTemplate;\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 (click)=\"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 (click)=\"addButtonClicked()\"\n #addButtonEl\n >\n <sky-icon icon=\"add\"></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:absolute;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"] }]
1252
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.SkyAffixService }, { type: SkyAutocompleteAdapterService }, { type: i1.SkyOverlayService }, { type: i2.SkyInputBoxHostService, decorators: [{
1245
1253
  type: Optional
1246
1254
  }] }, { type: undefined, decorators: [{
1247
1255
  type: Optional
@@ -1317,7 +1325,6 @@ class SkyAutocompleteModule {
1317
1325
  SkyIdModule,
1318
1326
  SkyLookupResourcesModule,
1319
1327
  SkyNumericModule,
1320
- SkyOverlayModule,
1321
1328
  SkyThemeModule,
1322
1329
  SkyWaitModule], exports: [SkyAutocompleteComponent, SkyAutocompleteInputDirective] }); }
1323
1330
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyAutocompleteModule, imports: [CommonModule,
@@ -1328,7 +1335,6 @@ class SkyAutocompleteModule {
1328
1335
  SkyIdModule,
1329
1336
  SkyLookupResourcesModule,
1330
1337
  SkyNumericModule,
1331
- SkyOverlayModule,
1332
1338
  SkyThemeModule,
1333
1339
  SkyWaitModule] }); }
1334
1340
  }
@@ -1349,7 +1355,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
1349
1355
  SkyIdModule,
1350
1356
  SkyLookupResourcesModule,
1351
1357
  SkyNumericModule,
1352
- SkyOverlayModule,
1353
1358
  SkyThemeModule,
1354
1359
  SkyWaitModule,
1355
1360
  ],
@@ -1714,15 +1719,15 @@ class SkyCountryFieldComponent {
1714
1719
  });
1715
1720
  }
1716
1721
  }
1717
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyCountryFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i5.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1718
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n context?.showPlaceholderText || 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}.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}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;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{display:flex;align-items:center;padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name{margin-right:6px}[dir=rtl] .iti__flag-box,[dir=rtl] .iti__country-name{margin-right:0;margin-left: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}[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=text],[dir=rtl] .iti--separate-dial-code input[type=tel]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.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--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{inset: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:5762px 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:12px;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__cq{height:12px;background-position:-1115px 0px}.iti__flag.iti__cr{height:12px;background-position:-1137px 0px}.iti__flag.iti__cu{height:10px;background-position:-1159px 0px}.iti__flag.iti__cv{height:12px;background-position:-1181px 0px}.iti__flag.iti__cw{height:14px;background-position:-1203px 0px}.iti__flag.iti__cx{height:10px;background-position:-1225px 0px}.iti__flag.iti__cy{height:14px;background-position:-1247px 0px}.iti__flag.iti__cz{height:14px;background-position:-1269px 0px}.iti__flag.iti__de{height:12px;background-position:-1291px 0px}.iti__flag.iti__dg{height:10px;background-position:-1313px 0px}.iti__flag.iti__dj{height:14px;background-position:-1335px 0px}.iti__flag.iti__dk{height:15px;background-position:-1357px 0px}.iti__flag.iti__dm{height:10px;background-position:-1379px 0px}.iti__flag.iti__do{height:14px;background-position:-1401px 0px}.iti__flag.iti__dz{height:14px;background-position:-1423px 0px}.iti__flag.iti__ea{height:14px;background-position:-1445px 0px}.iti__flag.iti__ec{height:14px;background-position:-1467px 0px}.iti__flag.iti__ee{height:13px;background-position:-1489px 0px}.iti__flag.iti__eg{height:14px;background-position:-1511px 0px}.iti__flag.iti__eh{height:10px;background-position:-1533px 0px}.iti__flag.iti__er{height:10px;background-position:-1555px 0px}.iti__flag.iti__es{height:14px;background-position:-1577px 0px}.iti__flag.iti__et{height:10px;background-position:-1599px 0px}.iti__flag.iti__eu{height:14px;background-position:-1621px 0px}.iti__flag.iti__ez{height:14px;background-position:-1643px 0px}.iti__flag.iti__fi{height:12px;background-position:-1665px 0px}.iti__flag.iti__fj{height:10px;background-position:-1687px 0px}.iti__flag.iti__fk{height:10px;background-position:-1709px 0px}.iti__flag.iti__fm{height:11px;background-position:-1731px 0px}.iti__flag.iti__fo{height:15px;background-position:-1753px 0px}.iti__flag.iti__fr{height:14px;background-position:-1775px 0px}.iti__flag.iti__fx{height:14px;background-position:-1797px 0px}.iti__flag.iti__ga{height:15px;background-position:-1819px 0px}.iti__flag.iti__gb{height:10px;background-position:-1841px 0px}.iti__flag.iti__gd{height:12px;background-position:-1863px 0px}.iti__flag.iti__ge{height:14px;background-position:-1885px 0px}.iti__flag.iti__gf{height:14px;background-position:-1907px 0px}.iti__flag.iti__gg{height:14px;background-position:-1929px 0px}.iti__flag.iti__gh{height:14px;background-position:-1951px 0px}.iti__flag.iti__gi{height:10px;background-position:-1973px 0px}.iti__flag.iti__gl{height:14px;background-position:-1995px 0px}.iti__flag.iti__gm{height:14px;background-position:-2017px 0px}.iti__flag.iti__gn{height:14px;background-position:-2039px 0px}.iti__flag.iti__gp{height:14px;background-position:-2061px 0px}.iti__flag.iti__gq{height:14px;background-position:-2083px 0px}.iti__flag.iti__gr{height:14px;background-position:-2105px 0px}.iti__flag.iti__gs{height:10px;background-position:-2127px 0px}.iti__flag.iti__gt{height:13px;background-position:-2149px 0px}.iti__flag.iti__gu{height:11px;background-position:-2171px 0px}.iti__flag.iti__gw{height:10px;background-position:-2193px 0px}.iti__flag.iti__gy{height:12px;background-position:-2215px 0px}.iti__flag.iti__hk{height:14px;background-position:-2237px 0px}.iti__flag.iti__hm{height:10px;background-position:-2259px 0px}.iti__flag.iti__hn{height:10px;background-position:-2281px 0px}.iti__flag.iti__hr{height:10px;background-position:-2303px 0px}.iti__flag.iti__ht{height:12px;background-position:-2325px 0px}.iti__flag.iti__hu{height:10px;background-position:-2347px 0px}.iti__flag.iti__ic{height:14px;background-position:-2369px 0px}.iti__flag.iti__id{height:14px;background-position:-2391px 0px}.iti__flag.iti__ie{height:10px;background-position:-2413px 0px}.iti__flag.iti__il{height:15px;background-position:-2435px 0px}.iti__flag.iti__im{height:10px;background-position:-2457px 0px}.iti__flag.iti__in{height:14px;background-position:-2479px 0px}.iti__flag.iti__io{height:10px;background-position:-2501px 0px}.iti__flag.iti__iq{height:14px;background-position:-2523px 0px}.iti__flag.iti__ir{height:12px;background-position:-2545px 0px}.iti__flag.iti__is{height:15px;background-position:-2567px 0px}.iti__flag.iti__it{height:14px;background-position:-2589px 0px}.iti__flag.iti__je{height:12px;background-position:-2611px 0px}.iti__flag.iti__jm{height:10px;background-position:-2633px 0px}.iti__flag.iti__jo{height:10px;background-position:-2655px 0px}.iti__flag.iti__jp{height:14px;background-position:-2677px 0px}.iti__flag.iti__ke{height:14px;background-position:-2699px 0px}.iti__flag.iti__kg{height:12px;background-position:-2721px 0px}.iti__flag.iti__kh{height:13px;background-position:-2743px 0px}.iti__flag.iti__ki{height:10px;background-position:-2765px 0px}.iti__flag.iti__km{height:12px;background-position:-2787px 0px}.iti__flag.iti__kn{height:14px;background-position:-2809px 0px}.iti__flag.iti__kp{height:10px;background-position:-2831px 0px}.iti__flag.iti__kr{height:14px;background-position:-2853px 0px}.iti__flag.iti__kw{height:10px;background-position:-2875px 0px}.iti__flag.iti__ky{height:10px;background-position:-2897px 0px}.iti__flag.iti__kz{height:10px;background-position:-2919px 0px}.iti__flag.iti__la{height:14px;background-position:-2941px 0px}.iti__flag.iti__lb{height:14px;background-position:-2963px 0px}.iti__flag.iti__lc{height:10px;background-position:-2985px 0px}.iti__flag.iti__li{height:12px;background-position:-3007px 0px}.iti__flag.iti__lk{height:10px;background-position:-3029px 0px}.iti__flag.iti__lr{height:11px;background-position:-3051px 0px}.iti__flag.iti__ls{height:14px;background-position:-3073px 0px}.iti__flag.iti__lt{height:12px;background-position:-3095px 0px}.iti__flag.iti__lu{height:12px;background-position:-3117px 0px}.iti__flag.iti__lv{height:10px;background-position:-3139px 0px}.iti__flag.iti__ly{height:10px;background-position:-3161px 0px}.iti__flag.iti__ma{height:14px;background-position:-3183px 0px}.iti__flag.iti__mc{height:15px;background-position:-3205px 0px}.iti__flag.iti__md{height:10px;background-position:-3226px 0px}.iti__flag.iti__me{height:10px;background-position:-3248px 0px}.iti__flag.iti__mf{height:14px;background-position:-3270px 0px}.iti__flag.iti__mg{height:14px;background-position:-3292px 0px}.iti__flag.iti__mh{height:11px;background-position:-3314px 0px}.iti__flag.iti__mk{height:10px;background-position:-3336px 0px}.iti__flag.iti__ml{height:14px;background-position:-3358px 0px}.iti__flag.iti__mm{height:14px;background-position:-3380px 0px}.iti__flag.iti__mn{height:10px;background-position:-3402px 0px}.iti__flag.iti__mo{height:14px;background-position:-3424px 0px}.iti__flag.iti__mp{height:10px;background-position:-3446px 0px}.iti__flag.iti__mq{height:14px;background-position:-3468px 0px}.iti__flag.iti__mr{height:14px;background-position:-3490px 0px}.iti__flag.iti__ms{height:10px;background-position:-3512px 0px}.iti__flag.iti__mt{height:14px;background-position:-3534px 0px}.iti__flag.iti__mu{height:14px;background-position:-3556px 0px}.iti__flag.iti__mv{height:14px;background-position:-3578px 0px}.iti__flag.iti__mw{height:14px;background-position:-3600px 0px}.iti__flag.iti__mx{height:12px;background-position:-3622px 0px}.iti__flag.iti__my{height:10px;background-position:-3644px 0px}.iti__flag.iti__mz{height:14px;background-position:-3666px 0px}.iti__flag.iti__na{height:14px;background-position:-3688px 0px}.iti__flag.iti__nc{height:10px;background-position:-3710px 0px}.iti__flag.iti__ne{height:15px;background-position:-3732px 0px}.iti__flag.iti__nf{height:10px;background-position:-3752px 0px}.iti__flag.iti__ng{height:10px;background-position:-3774px 0px}.iti__flag.iti__ni{height:12px;background-position:-3796px 0px}.iti__flag.iti__nl{height:14px;background-position:-3818px 0px}.iti__flag.iti__no{height:15px;background-position:-3840px 0px}.iti__flag.iti__np{height:15px;background-position:-3862px 0px}.iti__flag.iti__nr{height:10px;background-position:-3877px 0px}.iti__flag.iti__nu{height:10px;background-position:-3899px 0px}.iti__flag.iti__nz{height:10px;background-position:-3921px 0px}.iti__flag.iti__om{height:10px;background-position:-3943px 0px}.iti__flag.iti__pa{height:14px;background-position:-3965px 0px}.iti__flag.iti__pe{height:14px;background-position:-3987px 0px}.iti__flag.iti__pf{height:14px;background-position:-4009px 0px}.iti__flag.iti__pg{height:15px;background-position:-4031px 0px}.iti__flag.iti__ph{height:10px;background-position:-4053px 0px}.iti__flag.iti__pk{height:14px;background-position:-4075px 0px}.iti__flag.iti__pl{height:13px;background-position:-4097px 0px}.iti__flag.iti__pm{height:14px;background-position:-4119px 0px}.iti__flag.iti__pn{height:10px;background-position:-4141px 0px}.iti__flag.iti__pr{height:14px;background-position:-4163px 0px}.iti__flag.iti__ps{height:10px;background-position:-4185px 0px}.iti__flag.iti__pt{height:14px;background-position:-4207px 0px}.iti__flag.iti__pw{height:13px;background-position:-4229px 0px}.iti__flag.iti__py{height:11px;background-position:-4251px 0px}.iti__flag.iti__qa{height:8px;background-position:-4273px 0px}.iti__flag.iti__re{height:14px;background-position:-4295px 0px}.iti__flag.iti__ro{height:14px;background-position:-4317px 0px}.iti__flag.iti__rs{height:14px;background-position:-4339px 0px}.iti__flag.iti__ru{height:14px;background-position:-4361px 0px}.iti__flag.iti__rw{height:14px;background-position:-4383px 0px}.iti__flag.iti__sa{height:14px;background-position:-4405px 0px}.iti__flag.iti__sb{height:10px;background-position:-4427px 0px}.iti__flag.iti__sc{height:10px;background-position:-4449px 0px}.iti__flag.iti__sd{height:10px;background-position:-4471px 0px}.iti__flag.iti__se{height:13px;background-position:-4493px 0px}.iti__flag.iti__sg{height:14px;background-position:-4515px 0px}.iti__flag.iti__sh{height:10px;background-position:-4537px 0px}.iti__flag.iti__si{height:10px;background-position:-4559px 0px}.iti__flag.iti__sj{height:15px;background-position:-4581px 0px}.iti__flag.iti__sk{height:14px;background-position:-4603px 0px}.iti__flag.iti__sl{height:14px;background-position:-4625px 0px}.iti__flag.iti__sm{height:15px;background-position:-4647px 0px}.iti__flag.iti__sn{height:14px;background-position:-4669px 0px}.iti__flag.iti__so{height:14px;background-position:-4691px 0px}.iti__flag.iti__sr{height:14px;background-position:-4713px 0px}.iti__flag.iti__ss{height:10px;background-position:-4735px 0px}.iti__flag.iti__st{height:10px;background-position:-4757px 0px}.iti__flag.iti__su{height:10px;background-position:-4779px 0px}.iti__flag.iti__sv{height:12px;background-position:-4801px 0px}.iti__flag.iti__sx{height:14px;background-position:-4823px 0px}.iti__flag.iti__sy{height:14px;background-position:-4845px 0px}.iti__flag.iti__sz{height:14px;background-position:-4867px 0px}.iti__flag.iti__ta{height:10px;background-position:-4889px 0px}.iti__flag.iti__tc{height:10px;background-position:-4911px 0px}.iti__flag.iti__td{height:14px;background-position:-4933px 0px}.iti__flag.iti__tf{height:14px;background-position:-4955px 0px}.iti__flag.iti__tg{height:13px;background-position:-4977px 0px}.iti__flag.iti__th{height:14px;background-position:-4999px 0px}.iti__flag.iti__tj{height:10px;background-position:-5021px 0px}.iti__flag.iti__tk{height:10px;background-position:-5043px 0px}.iti__flag.iti__tl{height:10px;background-position:-5065px 0px}.iti__flag.iti__tm{height:14px;background-position:-5087px 0px}.iti__flag.iti__tn{height:14px;background-position:-5109px 0px}.iti__flag.iti__to{height:10px;background-position:-5131px 0px}.iti__flag.iti__tr{height:14px;background-position:-5153px 0px}.iti__flag.iti__tt{height:12px;background-position:-5175px 0px}.iti__flag.iti__tv{height:10px;background-position:-5197px 0px}.iti__flag.iti__tw{height:14px;background-position:-5219px 0px}.iti__flag.iti__tz{height:14px;background-position:-5241px 0px}.iti__flag.iti__ua{height:14px;background-position:-5263px 0px}.iti__flag.iti__ug{height:14px;background-position:-5285px 0px}.iti__flag.iti__uk{height:10px;background-position:-5307px 0px}.iti__flag.iti__um{height:11px;background-position:-5329px 0px}.iti__flag.iti__un{height:14px;background-position:-5351px 0px}.iti__flag.iti__us{height:11px;background-position:-5373px 0px}.iti__flag.iti__uy{height:14px;background-position:-5395px 0px}.iti__flag.iti__uz{height:10px;background-position:-5417px 0px}.iti__flag.iti__va{height:15px;background-position:-5439px 0px}.iti__flag.iti__vc{height:14px;background-position:-5456px 0px}.iti__flag.iti__ve{height:14px;background-position:-5478px 0px}.iti__flag.iti__vg{height:10px;background-position:-5500px 0px}.iti__flag.iti__vi{height:14px;background-position:-5522px 0px}.iti__flag.iti__vn{height:14px;background-position:-5544px 0px}.iti__flag.iti__vu{height:12px;background-position:-5566px 0px}.iti__flag.iti__wf{height:14px;background-position:-5588px 0px}.iti__flag.iti__ws{height:10px;background-position:-5610px 0px}.iti__flag.iti__xk{height:15px;background-position:-5632px 0px}.iti__flag.iti__ye{height:14px;background-position:-5654px 0px}.iti__flag.iti__yt{height:14px;background-position:-5676px 0px}.iti__flag.iti__za{height:14px;background-position:-5698px 0px}.iti__flag.iti__zm{height:14px;background-position:-5720px 0px}.iti__flag.iti__zw{height:10px;background-position:-5742px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png?1);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?1)}}.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 var(--sky-highlight-color-danger);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.3/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.3/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", 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", "openChange"] }, { kind: "directive", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1722
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyCountryFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i2$1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1723
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n context?.showPlaceholderText || 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 icon=\"search\"></sky-icon>\n </div>\n</ng-template>\n", styles: [".iti{position:relative;display:inline-block}.iti *{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}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;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{display:flex;align-items:center;padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name{margin-right:6px}[dir=rtl] .iti__flag-box,[dir=rtl] .iti__country-name{margin-right:0;margin-left: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}[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=text],[dir=rtl] .iti--separate-dial-code input[type=tel]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.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--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{inset: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:5762px 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:12px;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__cq{height:12px;background-position:-1115px 0px}.iti__flag.iti__cr{height:12px;background-position:-1137px 0px}.iti__flag.iti__cu{height:10px;background-position:-1159px 0px}.iti__flag.iti__cv{height:12px;background-position:-1181px 0px}.iti__flag.iti__cw{height:14px;background-position:-1203px 0px}.iti__flag.iti__cx{height:10px;background-position:-1225px 0px}.iti__flag.iti__cy{height:14px;background-position:-1247px 0px}.iti__flag.iti__cz{height:14px;background-position:-1269px 0px}.iti__flag.iti__de{height:12px;background-position:-1291px 0px}.iti__flag.iti__dg{height:10px;background-position:-1313px 0px}.iti__flag.iti__dj{height:14px;background-position:-1335px 0px}.iti__flag.iti__dk{height:15px;background-position:-1357px 0px}.iti__flag.iti__dm{height:10px;background-position:-1379px 0px}.iti__flag.iti__do{height:14px;background-position:-1401px 0px}.iti__flag.iti__dz{height:14px;background-position:-1423px 0px}.iti__flag.iti__ea{height:14px;background-position:-1445px 0px}.iti__flag.iti__ec{height:14px;background-position:-1467px 0px}.iti__flag.iti__ee{height:13px;background-position:-1489px 0px}.iti__flag.iti__eg{height:14px;background-position:-1511px 0px}.iti__flag.iti__eh{height:10px;background-position:-1533px 0px}.iti__flag.iti__er{height:10px;background-position:-1555px 0px}.iti__flag.iti__es{height:14px;background-position:-1577px 0px}.iti__flag.iti__et{height:10px;background-position:-1599px 0px}.iti__flag.iti__eu{height:14px;background-position:-1621px 0px}.iti__flag.iti__ez{height:14px;background-position:-1643px 0px}.iti__flag.iti__fi{height:12px;background-position:-1665px 0px}.iti__flag.iti__fj{height:10px;background-position:-1687px 0px}.iti__flag.iti__fk{height:10px;background-position:-1709px 0px}.iti__flag.iti__fm{height:11px;background-position:-1731px 0px}.iti__flag.iti__fo{height:15px;background-position:-1753px 0px}.iti__flag.iti__fr{height:14px;background-position:-1775px 0px}.iti__flag.iti__fx{height:14px;background-position:-1797px 0px}.iti__flag.iti__ga{height:15px;background-position:-1819px 0px}.iti__flag.iti__gb{height:10px;background-position:-1841px 0px}.iti__flag.iti__gd{height:12px;background-position:-1863px 0px}.iti__flag.iti__ge{height:14px;background-position:-1885px 0px}.iti__flag.iti__gf{height:14px;background-position:-1907px 0px}.iti__flag.iti__gg{height:14px;background-position:-1929px 0px}.iti__flag.iti__gh{height:14px;background-position:-1951px 0px}.iti__flag.iti__gi{height:10px;background-position:-1973px 0px}.iti__flag.iti__gl{height:14px;background-position:-1995px 0px}.iti__flag.iti__gm{height:14px;background-position:-2017px 0px}.iti__flag.iti__gn{height:14px;background-position:-2039px 0px}.iti__flag.iti__gp{height:14px;background-position:-2061px 0px}.iti__flag.iti__gq{height:14px;background-position:-2083px 0px}.iti__flag.iti__gr{height:14px;background-position:-2105px 0px}.iti__flag.iti__gs{height:10px;background-position:-2127px 0px}.iti__flag.iti__gt{height:13px;background-position:-2149px 0px}.iti__flag.iti__gu{height:11px;background-position:-2171px 0px}.iti__flag.iti__gw{height:10px;background-position:-2193px 0px}.iti__flag.iti__gy{height:12px;background-position:-2215px 0px}.iti__flag.iti__hk{height:14px;background-position:-2237px 0px}.iti__flag.iti__hm{height:10px;background-position:-2259px 0px}.iti__flag.iti__hn{height:10px;background-position:-2281px 0px}.iti__flag.iti__hr{height:10px;background-position:-2303px 0px}.iti__flag.iti__ht{height:12px;background-position:-2325px 0px}.iti__flag.iti__hu{height:10px;background-position:-2347px 0px}.iti__flag.iti__ic{height:14px;background-position:-2369px 0px}.iti__flag.iti__id{height:14px;background-position:-2391px 0px}.iti__flag.iti__ie{height:10px;background-position:-2413px 0px}.iti__flag.iti__il{height:15px;background-position:-2435px 0px}.iti__flag.iti__im{height:10px;background-position:-2457px 0px}.iti__flag.iti__in{height:14px;background-position:-2479px 0px}.iti__flag.iti__io{height:10px;background-position:-2501px 0px}.iti__flag.iti__iq{height:14px;background-position:-2523px 0px}.iti__flag.iti__ir{height:12px;background-position:-2545px 0px}.iti__flag.iti__is{height:15px;background-position:-2567px 0px}.iti__flag.iti__it{height:14px;background-position:-2589px 0px}.iti__flag.iti__je{height:12px;background-position:-2611px 0px}.iti__flag.iti__jm{height:10px;background-position:-2633px 0px}.iti__flag.iti__jo{height:10px;background-position:-2655px 0px}.iti__flag.iti__jp{height:14px;background-position:-2677px 0px}.iti__flag.iti__ke{height:14px;background-position:-2699px 0px}.iti__flag.iti__kg{height:12px;background-position:-2721px 0px}.iti__flag.iti__kh{height:13px;background-position:-2743px 0px}.iti__flag.iti__ki{height:10px;background-position:-2765px 0px}.iti__flag.iti__km{height:12px;background-position:-2787px 0px}.iti__flag.iti__kn{height:14px;background-position:-2809px 0px}.iti__flag.iti__kp{height:10px;background-position:-2831px 0px}.iti__flag.iti__kr{height:14px;background-position:-2853px 0px}.iti__flag.iti__kw{height:10px;background-position:-2875px 0px}.iti__flag.iti__ky{height:10px;background-position:-2897px 0px}.iti__flag.iti__kz{height:10px;background-position:-2919px 0px}.iti__flag.iti__la{height:14px;background-position:-2941px 0px}.iti__flag.iti__lb{height:14px;background-position:-2963px 0px}.iti__flag.iti__lc{height:10px;background-position:-2985px 0px}.iti__flag.iti__li{height:12px;background-position:-3007px 0px}.iti__flag.iti__lk{height:10px;background-position:-3029px 0px}.iti__flag.iti__lr{height:11px;background-position:-3051px 0px}.iti__flag.iti__ls{height:14px;background-position:-3073px 0px}.iti__flag.iti__lt{height:12px;background-position:-3095px 0px}.iti__flag.iti__lu{height:12px;background-position:-3117px 0px}.iti__flag.iti__lv{height:10px;background-position:-3139px 0px}.iti__flag.iti__ly{height:10px;background-position:-3161px 0px}.iti__flag.iti__ma{height:14px;background-position:-3183px 0px}.iti__flag.iti__mc{height:15px;background-position:-3205px 0px}.iti__flag.iti__md{height:10px;background-position:-3226px 0px}.iti__flag.iti__me{height:10px;background-position:-3248px 0px}.iti__flag.iti__mf{height:14px;background-position:-3270px 0px}.iti__flag.iti__mg{height:14px;background-position:-3292px 0px}.iti__flag.iti__mh{height:11px;background-position:-3314px 0px}.iti__flag.iti__mk{height:10px;background-position:-3336px 0px}.iti__flag.iti__ml{height:14px;background-position:-3358px 0px}.iti__flag.iti__mm{height:14px;background-position:-3380px 0px}.iti__flag.iti__mn{height:10px;background-position:-3402px 0px}.iti__flag.iti__mo{height:14px;background-position:-3424px 0px}.iti__flag.iti__mp{height:10px;background-position:-3446px 0px}.iti__flag.iti__mq{height:14px;background-position:-3468px 0px}.iti__flag.iti__mr{height:14px;background-position:-3490px 0px}.iti__flag.iti__ms{height:10px;background-position:-3512px 0px}.iti__flag.iti__mt{height:14px;background-position:-3534px 0px}.iti__flag.iti__mu{height:14px;background-position:-3556px 0px}.iti__flag.iti__mv{height:14px;background-position:-3578px 0px}.iti__flag.iti__mw{height:14px;background-position:-3600px 0px}.iti__flag.iti__mx{height:12px;background-position:-3622px 0px}.iti__flag.iti__my{height:10px;background-position:-3644px 0px}.iti__flag.iti__mz{height:14px;background-position:-3666px 0px}.iti__flag.iti__na{height:14px;background-position:-3688px 0px}.iti__flag.iti__nc{height:10px;background-position:-3710px 0px}.iti__flag.iti__ne{height:15px;background-position:-3732px 0px}.iti__flag.iti__nf{height:10px;background-position:-3752px 0px}.iti__flag.iti__ng{height:10px;background-position:-3774px 0px}.iti__flag.iti__ni{height:12px;background-position:-3796px 0px}.iti__flag.iti__nl{height:14px;background-position:-3818px 0px}.iti__flag.iti__no{height:15px;background-position:-3840px 0px}.iti__flag.iti__np{height:15px;background-position:-3862px 0px}.iti__flag.iti__nr{height:10px;background-position:-3877px 0px}.iti__flag.iti__nu{height:10px;background-position:-3899px 0px}.iti__flag.iti__nz{height:10px;background-position:-3921px 0px}.iti__flag.iti__om{height:10px;background-position:-3943px 0px}.iti__flag.iti__pa{height:14px;background-position:-3965px 0px}.iti__flag.iti__pe{height:14px;background-position:-3987px 0px}.iti__flag.iti__pf{height:14px;background-position:-4009px 0px}.iti__flag.iti__pg{height:15px;background-position:-4031px 0px}.iti__flag.iti__ph{height:10px;background-position:-4053px 0px}.iti__flag.iti__pk{height:14px;background-position:-4075px 0px}.iti__flag.iti__pl{height:13px;background-position:-4097px 0px}.iti__flag.iti__pm{height:14px;background-position:-4119px 0px}.iti__flag.iti__pn{height:10px;background-position:-4141px 0px}.iti__flag.iti__pr{height:14px;background-position:-4163px 0px}.iti__flag.iti__ps{height:10px;background-position:-4185px 0px}.iti__flag.iti__pt{height:14px;background-position:-4207px 0px}.iti__flag.iti__pw{height:13px;background-position:-4229px 0px}.iti__flag.iti__py{height:11px;background-position:-4251px 0px}.iti__flag.iti__qa{height:8px;background-position:-4273px 0px}.iti__flag.iti__re{height:14px;background-position:-4295px 0px}.iti__flag.iti__ro{height:14px;background-position:-4317px 0px}.iti__flag.iti__rs{height:14px;background-position:-4339px 0px}.iti__flag.iti__ru{height:14px;background-position:-4361px 0px}.iti__flag.iti__rw{height:14px;background-position:-4383px 0px}.iti__flag.iti__sa{height:14px;background-position:-4405px 0px}.iti__flag.iti__sb{height:10px;background-position:-4427px 0px}.iti__flag.iti__sc{height:10px;background-position:-4449px 0px}.iti__flag.iti__sd{height:10px;background-position:-4471px 0px}.iti__flag.iti__se{height:13px;background-position:-4493px 0px}.iti__flag.iti__sg{height:14px;background-position:-4515px 0px}.iti__flag.iti__sh{height:10px;background-position:-4537px 0px}.iti__flag.iti__si{height:10px;background-position:-4559px 0px}.iti__flag.iti__sj{height:15px;background-position:-4581px 0px}.iti__flag.iti__sk{height:14px;background-position:-4603px 0px}.iti__flag.iti__sl{height:14px;background-position:-4625px 0px}.iti__flag.iti__sm{height:15px;background-position:-4647px 0px}.iti__flag.iti__sn{height:14px;background-position:-4669px 0px}.iti__flag.iti__so{height:14px;background-position:-4691px 0px}.iti__flag.iti__sr{height:14px;background-position:-4713px 0px}.iti__flag.iti__ss{height:10px;background-position:-4735px 0px}.iti__flag.iti__st{height:10px;background-position:-4757px 0px}.iti__flag.iti__su{height:10px;background-position:-4779px 0px}.iti__flag.iti__sv{height:12px;background-position:-4801px 0px}.iti__flag.iti__sx{height:14px;background-position:-4823px 0px}.iti__flag.iti__sy{height:14px;background-position:-4845px 0px}.iti__flag.iti__sz{height:14px;background-position:-4867px 0px}.iti__flag.iti__ta{height:10px;background-position:-4889px 0px}.iti__flag.iti__tc{height:10px;background-position:-4911px 0px}.iti__flag.iti__td{height:14px;background-position:-4933px 0px}.iti__flag.iti__tf{height:14px;background-position:-4955px 0px}.iti__flag.iti__tg{height:13px;background-position:-4977px 0px}.iti__flag.iti__th{height:14px;background-position:-4999px 0px}.iti__flag.iti__tj{height:10px;background-position:-5021px 0px}.iti__flag.iti__tk{height:10px;background-position:-5043px 0px}.iti__flag.iti__tl{height:10px;background-position:-5065px 0px}.iti__flag.iti__tm{height:14px;background-position:-5087px 0px}.iti__flag.iti__tn{height:14px;background-position:-5109px 0px}.iti__flag.iti__to{height:10px;background-position:-5131px 0px}.iti__flag.iti__tr{height:14px;background-position:-5153px 0px}.iti__flag.iti__tt{height:12px;background-position:-5175px 0px}.iti__flag.iti__tv{height:10px;background-position:-5197px 0px}.iti__flag.iti__tw{height:14px;background-position:-5219px 0px}.iti__flag.iti__tz{height:14px;background-position:-5241px 0px}.iti__flag.iti__ua{height:14px;background-position:-5263px 0px}.iti__flag.iti__ug{height:14px;background-position:-5285px 0px}.iti__flag.iti__uk{height:10px;background-position:-5307px 0px}.iti__flag.iti__um{height:11px;background-position:-5329px 0px}.iti__flag.iti__un{height:14px;background-position:-5351px 0px}.iti__flag.iti__us{height:11px;background-position:-5373px 0px}.iti__flag.iti__uy{height:14px;background-position:-5395px 0px}.iti__flag.iti__uz{height:10px;background-position:-5417px 0px}.iti__flag.iti__va{height:15px;background-position:-5439px 0px}.iti__flag.iti__vc{height:14px;background-position:-5456px 0px}.iti__flag.iti__ve{height:14px;background-position:-5478px 0px}.iti__flag.iti__vg{height:10px;background-position:-5500px 0px}.iti__flag.iti__vi{height:14px;background-position:-5522px 0px}.iti__flag.iti__vn{height:14px;background-position:-5544px 0px}.iti__flag.iti__vu{height:12px;background-position:-5566px 0px}.iti__flag.iti__wf{height:14px;background-position:-5588px 0px}.iti__flag.iti__ws{height:10px;background-position:-5610px 0px}.iti__flag.iti__xk{height:15px;background-position:-5632px 0px}.iti__flag.iti__ye{height:14px;background-position:-5654px 0px}.iti__flag.iti__yt{height:14px;background-position:-5676px 0px}.iti__flag.iti__za{height:14px;background-position:-5698px 0px}.iti__flag.iti__zm{height:14px;background-position:-5720px 0px}.iti__flag.iti__zw{height:10px;background-position:-5742px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png?1);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?1)}}.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 var(--sky-highlight-color-danger);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.3/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.3/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", 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", "openChange"] }, { kind: "directive", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1719
1724
  }
1720
1725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyCountryFieldComponent, decorators: [{
1721
1726
  type: Component,
1722
- 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.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n context?.showPlaceholderText || 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}.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}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;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{display:flex;align-items:center;padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name{margin-right:6px}[dir=rtl] .iti__flag-box,[dir=rtl] .iti__country-name{margin-right:0;margin-left: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}[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=text],[dir=rtl] .iti--separate-dial-code input[type=tel]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.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--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{inset: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:5762px 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:12px;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__cq{height:12px;background-position:-1115px 0px}.iti__flag.iti__cr{height:12px;background-position:-1137px 0px}.iti__flag.iti__cu{height:10px;background-position:-1159px 0px}.iti__flag.iti__cv{height:12px;background-position:-1181px 0px}.iti__flag.iti__cw{height:14px;background-position:-1203px 0px}.iti__flag.iti__cx{height:10px;background-position:-1225px 0px}.iti__flag.iti__cy{height:14px;background-position:-1247px 0px}.iti__flag.iti__cz{height:14px;background-position:-1269px 0px}.iti__flag.iti__de{height:12px;background-position:-1291px 0px}.iti__flag.iti__dg{height:10px;background-position:-1313px 0px}.iti__flag.iti__dj{height:14px;background-position:-1335px 0px}.iti__flag.iti__dk{height:15px;background-position:-1357px 0px}.iti__flag.iti__dm{height:10px;background-position:-1379px 0px}.iti__flag.iti__do{height:14px;background-position:-1401px 0px}.iti__flag.iti__dz{height:14px;background-position:-1423px 0px}.iti__flag.iti__ea{height:14px;background-position:-1445px 0px}.iti__flag.iti__ec{height:14px;background-position:-1467px 0px}.iti__flag.iti__ee{height:13px;background-position:-1489px 0px}.iti__flag.iti__eg{height:14px;background-position:-1511px 0px}.iti__flag.iti__eh{height:10px;background-position:-1533px 0px}.iti__flag.iti__er{height:10px;background-position:-1555px 0px}.iti__flag.iti__es{height:14px;background-position:-1577px 0px}.iti__flag.iti__et{height:10px;background-position:-1599px 0px}.iti__flag.iti__eu{height:14px;background-position:-1621px 0px}.iti__flag.iti__ez{height:14px;background-position:-1643px 0px}.iti__flag.iti__fi{height:12px;background-position:-1665px 0px}.iti__flag.iti__fj{height:10px;background-position:-1687px 0px}.iti__flag.iti__fk{height:10px;background-position:-1709px 0px}.iti__flag.iti__fm{height:11px;background-position:-1731px 0px}.iti__flag.iti__fo{height:15px;background-position:-1753px 0px}.iti__flag.iti__fr{height:14px;background-position:-1775px 0px}.iti__flag.iti__fx{height:14px;background-position:-1797px 0px}.iti__flag.iti__ga{height:15px;background-position:-1819px 0px}.iti__flag.iti__gb{height:10px;background-position:-1841px 0px}.iti__flag.iti__gd{height:12px;background-position:-1863px 0px}.iti__flag.iti__ge{height:14px;background-position:-1885px 0px}.iti__flag.iti__gf{height:14px;background-position:-1907px 0px}.iti__flag.iti__gg{height:14px;background-position:-1929px 0px}.iti__flag.iti__gh{height:14px;background-position:-1951px 0px}.iti__flag.iti__gi{height:10px;background-position:-1973px 0px}.iti__flag.iti__gl{height:14px;background-position:-1995px 0px}.iti__flag.iti__gm{height:14px;background-position:-2017px 0px}.iti__flag.iti__gn{height:14px;background-position:-2039px 0px}.iti__flag.iti__gp{height:14px;background-position:-2061px 0px}.iti__flag.iti__gq{height:14px;background-position:-2083px 0px}.iti__flag.iti__gr{height:14px;background-position:-2105px 0px}.iti__flag.iti__gs{height:10px;background-position:-2127px 0px}.iti__flag.iti__gt{height:13px;background-position:-2149px 0px}.iti__flag.iti__gu{height:11px;background-position:-2171px 0px}.iti__flag.iti__gw{height:10px;background-position:-2193px 0px}.iti__flag.iti__gy{height:12px;background-position:-2215px 0px}.iti__flag.iti__hk{height:14px;background-position:-2237px 0px}.iti__flag.iti__hm{height:10px;background-position:-2259px 0px}.iti__flag.iti__hn{height:10px;background-position:-2281px 0px}.iti__flag.iti__hr{height:10px;background-position:-2303px 0px}.iti__flag.iti__ht{height:12px;background-position:-2325px 0px}.iti__flag.iti__hu{height:10px;background-position:-2347px 0px}.iti__flag.iti__ic{height:14px;background-position:-2369px 0px}.iti__flag.iti__id{height:14px;background-position:-2391px 0px}.iti__flag.iti__ie{height:10px;background-position:-2413px 0px}.iti__flag.iti__il{height:15px;background-position:-2435px 0px}.iti__flag.iti__im{height:10px;background-position:-2457px 0px}.iti__flag.iti__in{height:14px;background-position:-2479px 0px}.iti__flag.iti__io{height:10px;background-position:-2501px 0px}.iti__flag.iti__iq{height:14px;background-position:-2523px 0px}.iti__flag.iti__ir{height:12px;background-position:-2545px 0px}.iti__flag.iti__is{height:15px;background-position:-2567px 0px}.iti__flag.iti__it{height:14px;background-position:-2589px 0px}.iti__flag.iti__je{height:12px;background-position:-2611px 0px}.iti__flag.iti__jm{height:10px;background-position:-2633px 0px}.iti__flag.iti__jo{height:10px;background-position:-2655px 0px}.iti__flag.iti__jp{height:14px;background-position:-2677px 0px}.iti__flag.iti__ke{height:14px;background-position:-2699px 0px}.iti__flag.iti__kg{height:12px;background-position:-2721px 0px}.iti__flag.iti__kh{height:13px;background-position:-2743px 0px}.iti__flag.iti__ki{height:10px;background-position:-2765px 0px}.iti__flag.iti__km{height:12px;background-position:-2787px 0px}.iti__flag.iti__kn{height:14px;background-position:-2809px 0px}.iti__flag.iti__kp{height:10px;background-position:-2831px 0px}.iti__flag.iti__kr{height:14px;background-position:-2853px 0px}.iti__flag.iti__kw{height:10px;background-position:-2875px 0px}.iti__flag.iti__ky{height:10px;background-position:-2897px 0px}.iti__flag.iti__kz{height:10px;background-position:-2919px 0px}.iti__flag.iti__la{height:14px;background-position:-2941px 0px}.iti__flag.iti__lb{height:14px;background-position:-2963px 0px}.iti__flag.iti__lc{height:10px;background-position:-2985px 0px}.iti__flag.iti__li{height:12px;background-position:-3007px 0px}.iti__flag.iti__lk{height:10px;background-position:-3029px 0px}.iti__flag.iti__lr{height:11px;background-position:-3051px 0px}.iti__flag.iti__ls{height:14px;background-position:-3073px 0px}.iti__flag.iti__lt{height:12px;background-position:-3095px 0px}.iti__flag.iti__lu{height:12px;background-position:-3117px 0px}.iti__flag.iti__lv{height:10px;background-position:-3139px 0px}.iti__flag.iti__ly{height:10px;background-position:-3161px 0px}.iti__flag.iti__ma{height:14px;background-position:-3183px 0px}.iti__flag.iti__mc{height:15px;background-position:-3205px 0px}.iti__flag.iti__md{height:10px;background-position:-3226px 0px}.iti__flag.iti__me{height:10px;background-position:-3248px 0px}.iti__flag.iti__mf{height:14px;background-position:-3270px 0px}.iti__flag.iti__mg{height:14px;background-position:-3292px 0px}.iti__flag.iti__mh{height:11px;background-position:-3314px 0px}.iti__flag.iti__mk{height:10px;background-position:-3336px 0px}.iti__flag.iti__ml{height:14px;background-position:-3358px 0px}.iti__flag.iti__mm{height:14px;background-position:-3380px 0px}.iti__flag.iti__mn{height:10px;background-position:-3402px 0px}.iti__flag.iti__mo{height:14px;background-position:-3424px 0px}.iti__flag.iti__mp{height:10px;background-position:-3446px 0px}.iti__flag.iti__mq{height:14px;background-position:-3468px 0px}.iti__flag.iti__mr{height:14px;background-position:-3490px 0px}.iti__flag.iti__ms{height:10px;background-position:-3512px 0px}.iti__flag.iti__mt{height:14px;background-position:-3534px 0px}.iti__flag.iti__mu{height:14px;background-position:-3556px 0px}.iti__flag.iti__mv{height:14px;background-position:-3578px 0px}.iti__flag.iti__mw{height:14px;background-position:-3600px 0px}.iti__flag.iti__mx{height:12px;background-position:-3622px 0px}.iti__flag.iti__my{height:10px;background-position:-3644px 0px}.iti__flag.iti__mz{height:14px;background-position:-3666px 0px}.iti__flag.iti__na{height:14px;background-position:-3688px 0px}.iti__flag.iti__nc{height:10px;background-position:-3710px 0px}.iti__flag.iti__ne{height:15px;background-position:-3732px 0px}.iti__flag.iti__nf{height:10px;background-position:-3752px 0px}.iti__flag.iti__ng{height:10px;background-position:-3774px 0px}.iti__flag.iti__ni{height:12px;background-position:-3796px 0px}.iti__flag.iti__nl{height:14px;background-position:-3818px 0px}.iti__flag.iti__no{height:15px;background-position:-3840px 0px}.iti__flag.iti__np{height:15px;background-position:-3862px 0px}.iti__flag.iti__nr{height:10px;background-position:-3877px 0px}.iti__flag.iti__nu{height:10px;background-position:-3899px 0px}.iti__flag.iti__nz{height:10px;background-position:-3921px 0px}.iti__flag.iti__om{height:10px;background-position:-3943px 0px}.iti__flag.iti__pa{height:14px;background-position:-3965px 0px}.iti__flag.iti__pe{height:14px;background-position:-3987px 0px}.iti__flag.iti__pf{height:14px;background-position:-4009px 0px}.iti__flag.iti__pg{height:15px;background-position:-4031px 0px}.iti__flag.iti__ph{height:10px;background-position:-4053px 0px}.iti__flag.iti__pk{height:14px;background-position:-4075px 0px}.iti__flag.iti__pl{height:13px;background-position:-4097px 0px}.iti__flag.iti__pm{height:14px;background-position:-4119px 0px}.iti__flag.iti__pn{height:10px;background-position:-4141px 0px}.iti__flag.iti__pr{height:14px;background-position:-4163px 0px}.iti__flag.iti__ps{height:10px;background-position:-4185px 0px}.iti__flag.iti__pt{height:14px;background-position:-4207px 0px}.iti__flag.iti__pw{height:13px;background-position:-4229px 0px}.iti__flag.iti__py{height:11px;background-position:-4251px 0px}.iti__flag.iti__qa{height:8px;background-position:-4273px 0px}.iti__flag.iti__re{height:14px;background-position:-4295px 0px}.iti__flag.iti__ro{height:14px;background-position:-4317px 0px}.iti__flag.iti__rs{height:14px;background-position:-4339px 0px}.iti__flag.iti__ru{height:14px;background-position:-4361px 0px}.iti__flag.iti__rw{height:14px;background-position:-4383px 0px}.iti__flag.iti__sa{height:14px;background-position:-4405px 0px}.iti__flag.iti__sb{height:10px;background-position:-4427px 0px}.iti__flag.iti__sc{height:10px;background-position:-4449px 0px}.iti__flag.iti__sd{height:10px;background-position:-4471px 0px}.iti__flag.iti__se{height:13px;background-position:-4493px 0px}.iti__flag.iti__sg{height:14px;background-position:-4515px 0px}.iti__flag.iti__sh{height:10px;background-position:-4537px 0px}.iti__flag.iti__si{height:10px;background-position:-4559px 0px}.iti__flag.iti__sj{height:15px;background-position:-4581px 0px}.iti__flag.iti__sk{height:14px;background-position:-4603px 0px}.iti__flag.iti__sl{height:14px;background-position:-4625px 0px}.iti__flag.iti__sm{height:15px;background-position:-4647px 0px}.iti__flag.iti__sn{height:14px;background-position:-4669px 0px}.iti__flag.iti__so{height:14px;background-position:-4691px 0px}.iti__flag.iti__sr{height:14px;background-position:-4713px 0px}.iti__flag.iti__ss{height:10px;background-position:-4735px 0px}.iti__flag.iti__st{height:10px;background-position:-4757px 0px}.iti__flag.iti__su{height:10px;background-position:-4779px 0px}.iti__flag.iti__sv{height:12px;background-position:-4801px 0px}.iti__flag.iti__sx{height:14px;background-position:-4823px 0px}.iti__flag.iti__sy{height:14px;background-position:-4845px 0px}.iti__flag.iti__sz{height:14px;background-position:-4867px 0px}.iti__flag.iti__ta{height:10px;background-position:-4889px 0px}.iti__flag.iti__tc{height:10px;background-position:-4911px 0px}.iti__flag.iti__td{height:14px;background-position:-4933px 0px}.iti__flag.iti__tf{height:14px;background-position:-4955px 0px}.iti__flag.iti__tg{height:13px;background-position:-4977px 0px}.iti__flag.iti__th{height:14px;background-position:-4999px 0px}.iti__flag.iti__tj{height:10px;background-position:-5021px 0px}.iti__flag.iti__tk{height:10px;background-position:-5043px 0px}.iti__flag.iti__tl{height:10px;background-position:-5065px 0px}.iti__flag.iti__tm{height:14px;background-position:-5087px 0px}.iti__flag.iti__tn{height:14px;background-position:-5109px 0px}.iti__flag.iti__to{height:10px;background-position:-5131px 0px}.iti__flag.iti__tr{height:14px;background-position:-5153px 0px}.iti__flag.iti__tt{height:12px;background-position:-5175px 0px}.iti__flag.iti__tv{height:10px;background-position:-5197px 0px}.iti__flag.iti__tw{height:14px;background-position:-5219px 0px}.iti__flag.iti__tz{height:14px;background-position:-5241px 0px}.iti__flag.iti__ua{height:14px;background-position:-5263px 0px}.iti__flag.iti__ug{height:14px;background-position:-5285px 0px}.iti__flag.iti__uk{height:10px;background-position:-5307px 0px}.iti__flag.iti__um{height:11px;background-position:-5329px 0px}.iti__flag.iti__un{height:14px;background-position:-5351px 0px}.iti__flag.iti__us{height:11px;background-position:-5373px 0px}.iti__flag.iti__uy{height:14px;background-position:-5395px 0px}.iti__flag.iti__uz{height:10px;background-position:-5417px 0px}.iti__flag.iti__va{height:15px;background-position:-5439px 0px}.iti__flag.iti__vc{height:14px;background-position:-5456px 0px}.iti__flag.iti__ve{height:14px;background-position:-5478px 0px}.iti__flag.iti__vg{height:10px;background-position:-5500px 0px}.iti__flag.iti__vi{height:14px;background-position:-5522px 0px}.iti__flag.iti__vn{height:14px;background-position:-5544px 0px}.iti__flag.iti__vu{height:12px;background-position:-5566px 0px}.iti__flag.iti__wf{height:14px;background-position:-5588px 0px}.iti__flag.iti__ws{height:10px;background-position:-5610px 0px}.iti__flag.iti__xk{height:15px;background-position:-5632px 0px}.iti__flag.iti__ye{height:14px;background-position:-5654px 0px}.iti__flag.iti__yt{height:14px;background-position:-5676px 0px}.iti__flag.iti__za{height:14px;background-position:-5698px 0px}.iti__flag.iti__zm{height:14px;background-position:-5720px 0px}.iti__flag.iti__zw{height:10px;background-position:-5742px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png?1);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?1)}}.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 var(--sky-highlight-color-danger);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.3/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.3/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"] }]
1723
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i5.SkyInputBoxHostService, decorators: [{
1727
+ 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.id]=\"inputId\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [formControl]=\"countrySearchFormControl\"\n [placeholder]=\"\n context?.showPlaceholderText || 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 icon=\"search\"></sky-icon>\n </div>\n</ng-template>\n", styles: [".iti{position:relative;display:inline-block}.iti *{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}[dir=rtl] .iti__arrow{margin-right:6px;margin-left:0}.iti__arrow--up{border-top:none;border-bottom:4px solid #555}.iti__country-list{position:absolute;z-index:2;list-style:none;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{display:flex;align-items:center;padding:5px 10px;outline:none}.iti__dial-code{color:#999}.iti__country.iti__highlight{background-color:#0000000d}.iti__flag-box,.iti__country-name{margin-right:6px}[dir=rtl] .iti__flag-box,[dir=rtl] .iti__country-name{margin-right:0;margin-left: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}[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=text],[dir=rtl] .iti--separate-dial-code input[type=tel]{padding-right:52px;padding-left:6px;margin-right:0}.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container{right:auto;left:0}[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container{right:0;left:auto}.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--show-flags .iti__selected-dial-code{margin-left:6px}[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{margin-left:0;margin-right:6px}.iti--container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.iti--container:hover{cursor:pointer}.iti-mobile .iti--container{inset: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:5762px 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:12px;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__cq{height:12px;background-position:-1115px 0px}.iti__flag.iti__cr{height:12px;background-position:-1137px 0px}.iti__flag.iti__cu{height:10px;background-position:-1159px 0px}.iti__flag.iti__cv{height:12px;background-position:-1181px 0px}.iti__flag.iti__cw{height:14px;background-position:-1203px 0px}.iti__flag.iti__cx{height:10px;background-position:-1225px 0px}.iti__flag.iti__cy{height:14px;background-position:-1247px 0px}.iti__flag.iti__cz{height:14px;background-position:-1269px 0px}.iti__flag.iti__de{height:12px;background-position:-1291px 0px}.iti__flag.iti__dg{height:10px;background-position:-1313px 0px}.iti__flag.iti__dj{height:14px;background-position:-1335px 0px}.iti__flag.iti__dk{height:15px;background-position:-1357px 0px}.iti__flag.iti__dm{height:10px;background-position:-1379px 0px}.iti__flag.iti__do{height:14px;background-position:-1401px 0px}.iti__flag.iti__dz{height:14px;background-position:-1423px 0px}.iti__flag.iti__ea{height:14px;background-position:-1445px 0px}.iti__flag.iti__ec{height:14px;background-position:-1467px 0px}.iti__flag.iti__ee{height:13px;background-position:-1489px 0px}.iti__flag.iti__eg{height:14px;background-position:-1511px 0px}.iti__flag.iti__eh{height:10px;background-position:-1533px 0px}.iti__flag.iti__er{height:10px;background-position:-1555px 0px}.iti__flag.iti__es{height:14px;background-position:-1577px 0px}.iti__flag.iti__et{height:10px;background-position:-1599px 0px}.iti__flag.iti__eu{height:14px;background-position:-1621px 0px}.iti__flag.iti__ez{height:14px;background-position:-1643px 0px}.iti__flag.iti__fi{height:12px;background-position:-1665px 0px}.iti__flag.iti__fj{height:10px;background-position:-1687px 0px}.iti__flag.iti__fk{height:10px;background-position:-1709px 0px}.iti__flag.iti__fm{height:11px;background-position:-1731px 0px}.iti__flag.iti__fo{height:15px;background-position:-1753px 0px}.iti__flag.iti__fr{height:14px;background-position:-1775px 0px}.iti__flag.iti__fx{height:14px;background-position:-1797px 0px}.iti__flag.iti__ga{height:15px;background-position:-1819px 0px}.iti__flag.iti__gb{height:10px;background-position:-1841px 0px}.iti__flag.iti__gd{height:12px;background-position:-1863px 0px}.iti__flag.iti__ge{height:14px;background-position:-1885px 0px}.iti__flag.iti__gf{height:14px;background-position:-1907px 0px}.iti__flag.iti__gg{height:14px;background-position:-1929px 0px}.iti__flag.iti__gh{height:14px;background-position:-1951px 0px}.iti__flag.iti__gi{height:10px;background-position:-1973px 0px}.iti__flag.iti__gl{height:14px;background-position:-1995px 0px}.iti__flag.iti__gm{height:14px;background-position:-2017px 0px}.iti__flag.iti__gn{height:14px;background-position:-2039px 0px}.iti__flag.iti__gp{height:14px;background-position:-2061px 0px}.iti__flag.iti__gq{height:14px;background-position:-2083px 0px}.iti__flag.iti__gr{height:14px;background-position:-2105px 0px}.iti__flag.iti__gs{height:10px;background-position:-2127px 0px}.iti__flag.iti__gt{height:13px;background-position:-2149px 0px}.iti__flag.iti__gu{height:11px;background-position:-2171px 0px}.iti__flag.iti__gw{height:10px;background-position:-2193px 0px}.iti__flag.iti__gy{height:12px;background-position:-2215px 0px}.iti__flag.iti__hk{height:14px;background-position:-2237px 0px}.iti__flag.iti__hm{height:10px;background-position:-2259px 0px}.iti__flag.iti__hn{height:10px;background-position:-2281px 0px}.iti__flag.iti__hr{height:10px;background-position:-2303px 0px}.iti__flag.iti__ht{height:12px;background-position:-2325px 0px}.iti__flag.iti__hu{height:10px;background-position:-2347px 0px}.iti__flag.iti__ic{height:14px;background-position:-2369px 0px}.iti__flag.iti__id{height:14px;background-position:-2391px 0px}.iti__flag.iti__ie{height:10px;background-position:-2413px 0px}.iti__flag.iti__il{height:15px;background-position:-2435px 0px}.iti__flag.iti__im{height:10px;background-position:-2457px 0px}.iti__flag.iti__in{height:14px;background-position:-2479px 0px}.iti__flag.iti__io{height:10px;background-position:-2501px 0px}.iti__flag.iti__iq{height:14px;background-position:-2523px 0px}.iti__flag.iti__ir{height:12px;background-position:-2545px 0px}.iti__flag.iti__is{height:15px;background-position:-2567px 0px}.iti__flag.iti__it{height:14px;background-position:-2589px 0px}.iti__flag.iti__je{height:12px;background-position:-2611px 0px}.iti__flag.iti__jm{height:10px;background-position:-2633px 0px}.iti__flag.iti__jo{height:10px;background-position:-2655px 0px}.iti__flag.iti__jp{height:14px;background-position:-2677px 0px}.iti__flag.iti__ke{height:14px;background-position:-2699px 0px}.iti__flag.iti__kg{height:12px;background-position:-2721px 0px}.iti__flag.iti__kh{height:13px;background-position:-2743px 0px}.iti__flag.iti__ki{height:10px;background-position:-2765px 0px}.iti__flag.iti__km{height:12px;background-position:-2787px 0px}.iti__flag.iti__kn{height:14px;background-position:-2809px 0px}.iti__flag.iti__kp{height:10px;background-position:-2831px 0px}.iti__flag.iti__kr{height:14px;background-position:-2853px 0px}.iti__flag.iti__kw{height:10px;background-position:-2875px 0px}.iti__flag.iti__ky{height:10px;background-position:-2897px 0px}.iti__flag.iti__kz{height:10px;background-position:-2919px 0px}.iti__flag.iti__la{height:14px;background-position:-2941px 0px}.iti__flag.iti__lb{height:14px;background-position:-2963px 0px}.iti__flag.iti__lc{height:10px;background-position:-2985px 0px}.iti__flag.iti__li{height:12px;background-position:-3007px 0px}.iti__flag.iti__lk{height:10px;background-position:-3029px 0px}.iti__flag.iti__lr{height:11px;background-position:-3051px 0px}.iti__flag.iti__ls{height:14px;background-position:-3073px 0px}.iti__flag.iti__lt{height:12px;background-position:-3095px 0px}.iti__flag.iti__lu{height:12px;background-position:-3117px 0px}.iti__flag.iti__lv{height:10px;background-position:-3139px 0px}.iti__flag.iti__ly{height:10px;background-position:-3161px 0px}.iti__flag.iti__ma{height:14px;background-position:-3183px 0px}.iti__flag.iti__mc{height:15px;background-position:-3205px 0px}.iti__flag.iti__md{height:10px;background-position:-3226px 0px}.iti__flag.iti__me{height:10px;background-position:-3248px 0px}.iti__flag.iti__mf{height:14px;background-position:-3270px 0px}.iti__flag.iti__mg{height:14px;background-position:-3292px 0px}.iti__flag.iti__mh{height:11px;background-position:-3314px 0px}.iti__flag.iti__mk{height:10px;background-position:-3336px 0px}.iti__flag.iti__ml{height:14px;background-position:-3358px 0px}.iti__flag.iti__mm{height:14px;background-position:-3380px 0px}.iti__flag.iti__mn{height:10px;background-position:-3402px 0px}.iti__flag.iti__mo{height:14px;background-position:-3424px 0px}.iti__flag.iti__mp{height:10px;background-position:-3446px 0px}.iti__flag.iti__mq{height:14px;background-position:-3468px 0px}.iti__flag.iti__mr{height:14px;background-position:-3490px 0px}.iti__flag.iti__ms{height:10px;background-position:-3512px 0px}.iti__flag.iti__mt{height:14px;background-position:-3534px 0px}.iti__flag.iti__mu{height:14px;background-position:-3556px 0px}.iti__flag.iti__mv{height:14px;background-position:-3578px 0px}.iti__flag.iti__mw{height:14px;background-position:-3600px 0px}.iti__flag.iti__mx{height:12px;background-position:-3622px 0px}.iti__flag.iti__my{height:10px;background-position:-3644px 0px}.iti__flag.iti__mz{height:14px;background-position:-3666px 0px}.iti__flag.iti__na{height:14px;background-position:-3688px 0px}.iti__flag.iti__nc{height:10px;background-position:-3710px 0px}.iti__flag.iti__ne{height:15px;background-position:-3732px 0px}.iti__flag.iti__nf{height:10px;background-position:-3752px 0px}.iti__flag.iti__ng{height:10px;background-position:-3774px 0px}.iti__flag.iti__ni{height:12px;background-position:-3796px 0px}.iti__flag.iti__nl{height:14px;background-position:-3818px 0px}.iti__flag.iti__no{height:15px;background-position:-3840px 0px}.iti__flag.iti__np{height:15px;background-position:-3862px 0px}.iti__flag.iti__nr{height:10px;background-position:-3877px 0px}.iti__flag.iti__nu{height:10px;background-position:-3899px 0px}.iti__flag.iti__nz{height:10px;background-position:-3921px 0px}.iti__flag.iti__om{height:10px;background-position:-3943px 0px}.iti__flag.iti__pa{height:14px;background-position:-3965px 0px}.iti__flag.iti__pe{height:14px;background-position:-3987px 0px}.iti__flag.iti__pf{height:14px;background-position:-4009px 0px}.iti__flag.iti__pg{height:15px;background-position:-4031px 0px}.iti__flag.iti__ph{height:10px;background-position:-4053px 0px}.iti__flag.iti__pk{height:14px;background-position:-4075px 0px}.iti__flag.iti__pl{height:13px;background-position:-4097px 0px}.iti__flag.iti__pm{height:14px;background-position:-4119px 0px}.iti__flag.iti__pn{height:10px;background-position:-4141px 0px}.iti__flag.iti__pr{height:14px;background-position:-4163px 0px}.iti__flag.iti__ps{height:10px;background-position:-4185px 0px}.iti__flag.iti__pt{height:14px;background-position:-4207px 0px}.iti__flag.iti__pw{height:13px;background-position:-4229px 0px}.iti__flag.iti__py{height:11px;background-position:-4251px 0px}.iti__flag.iti__qa{height:8px;background-position:-4273px 0px}.iti__flag.iti__re{height:14px;background-position:-4295px 0px}.iti__flag.iti__ro{height:14px;background-position:-4317px 0px}.iti__flag.iti__rs{height:14px;background-position:-4339px 0px}.iti__flag.iti__ru{height:14px;background-position:-4361px 0px}.iti__flag.iti__rw{height:14px;background-position:-4383px 0px}.iti__flag.iti__sa{height:14px;background-position:-4405px 0px}.iti__flag.iti__sb{height:10px;background-position:-4427px 0px}.iti__flag.iti__sc{height:10px;background-position:-4449px 0px}.iti__flag.iti__sd{height:10px;background-position:-4471px 0px}.iti__flag.iti__se{height:13px;background-position:-4493px 0px}.iti__flag.iti__sg{height:14px;background-position:-4515px 0px}.iti__flag.iti__sh{height:10px;background-position:-4537px 0px}.iti__flag.iti__si{height:10px;background-position:-4559px 0px}.iti__flag.iti__sj{height:15px;background-position:-4581px 0px}.iti__flag.iti__sk{height:14px;background-position:-4603px 0px}.iti__flag.iti__sl{height:14px;background-position:-4625px 0px}.iti__flag.iti__sm{height:15px;background-position:-4647px 0px}.iti__flag.iti__sn{height:14px;background-position:-4669px 0px}.iti__flag.iti__so{height:14px;background-position:-4691px 0px}.iti__flag.iti__sr{height:14px;background-position:-4713px 0px}.iti__flag.iti__ss{height:10px;background-position:-4735px 0px}.iti__flag.iti__st{height:10px;background-position:-4757px 0px}.iti__flag.iti__su{height:10px;background-position:-4779px 0px}.iti__flag.iti__sv{height:12px;background-position:-4801px 0px}.iti__flag.iti__sx{height:14px;background-position:-4823px 0px}.iti__flag.iti__sy{height:14px;background-position:-4845px 0px}.iti__flag.iti__sz{height:14px;background-position:-4867px 0px}.iti__flag.iti__ta{height:10px;background-position:-4889px 0px}.iti__flag.iti__tc{height:10px;background-position:-4911px 0px}.iti__flag.iti__td{height:14px;background-position:-4933px 0px}.iti__flag.iti__tf{height:14px;background-position:-4955px 0px}.iti__flag.iti__tg{height:13px;background-position:-4977px 0px}.iti__flag.iti__th{height:14px;background-position:-4999px 0px}.iti__flag.iti__tj{height:10px;background-position:-5021px 0px}.iti__flag.iti__tk{height:10px;background-position:-5043px 0px}.iti__flag.iti__tl{height:10px;background-position:-5065px 0px}.iti__flag.iti__tm{height:14px;background-position:-5087px 0px}.iti__flag.iti__tn{height:14px;background-position:-5109px 0px}.iti__flag.iti__to{height:10px;background-position:-5131px 0px}.iti__flag.iti__tr{height:14px;background-position:-5153px 0px}.iti__flag.iti__tt{height:12px;background-position:-5175px 0px}.iti__flag.iti__tv{height:10px;background-position:-5197px 0px}.iti__flag.iti__tw{height:14px;background-position:-5219px 0px}.iti__flag.iti__tz{height:14px;background-position:-5241px 0px}.iti__flag.iti__ua{height:14px;background-position:-5263px 0px}.iti__flag.iti__ug{height:14px;background-position:-5285px 0px}.iti__flag.iti__uk{height:10px;background-position:-5307px 0px}.iti__flag.iti__um{height:11px;background-position:-5329px 0px}.iti__flag.iti__un{height:14px;background-position:-5351px 0px}.iti__flag.iti__us{height:11px;background-position:-5373px 0px}.iti__flag.iti__uy{height:14px;background-position:-5395px 0px}.iti__flag.iti__uz{height:10px;background-position:-5417px 0px}.iti__flag.iti__va{height:15px;background-position:-5439px 0px}.iti__flag.iti__vc{height:14px;background-position:-5456px 0px}.iti__flag.iti__ve{height:14px;background-position:-5478px 0px}.iti__flag.iti__vg{height:10px;background-position:-5500px 0px}.iti__flag.iti__vi{height:14px;background-position:-5522px 0px}.iti__flag.iti__vn{height:14px;background-position:-5544px 0px}.iti__flag.iti__vu{height:12px;background-position:-5566px 0px}.iti__flag.iti__wf{height:14px;background-position:-5588px 0px}.iti__flag.iti__ws{height:10px;background-position:-5610px 0px}.iti__flag.iti__xk{height:15px;background-position:-5632px 0px}.iti__flag.iti__ye{height:14px;background-position:-5654px 0px}.iti__flag.iti__yt{height:14px;background-position:-5676px 0px}.iti__flag.iti__za{height:14px;background-position:-5698px 0px}.iti__flag.iti__zm{height:14px;background-position:-5720px 0px}.iti__flag.iti__zw{height:10px;background-position:-5742px 0px}.iti__flag{height:15px;box-shadow:0 0 1px #888;background-image:url(../img/flags.png?1);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?1)}}.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 var(--sky-highlight-color-danger);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.3/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.3/assets/images/intl-tel-input/flags@2x.webp)!important}}\n"] }]
1728
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i2.SkyInputBoxHostService, decorators: [{
1724
1729
  type: Optional
1725
- }] }, { type: i3.SkyThemeService, decorators: [{
1730
+ }] }, { type: i2$1.SkyThemeService, decorators: [{
1726
1731
  type: Optional
1727
1732
  }] }]; }, propDecorators: { autocompleteAttribute: [{
1728
1733
  type: Input
@@ -2056,7 +2061,7 @@ class SkySearchComponent {
2056
2061
  });
2057
2062
  }
2058
2063
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2059
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", 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 [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : (ariaLabel ?? 'skyux_search_label' | skyLibResources)\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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-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;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.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{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-background-color-input-box-group: transparent}.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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
2064
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", 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 [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : (ariaLabel ?? 'skyux_search_label' | skyLibResources)\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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 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 *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\"> </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\"></sky-icon>\n</ng-template>\n", styles: ["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;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.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{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-background-color-input-box-group: transparent}.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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2$1.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
2060
2065
  trigger('inputState', [
2061
2066
  state(INPUT_HIDDEN_STATE, style({
2062
2067
  opacity: 0,
@@ -2084,7 +2089,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
2084
2089
  })),
2085
2090
  transition('* <=> *', animate('150ms')),
2086
2091
  ]),
2087
- ], providers: [SkySearchAdapterService], 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 [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : (ariaLabel ?? 'skyux_search_label' | skyLibResources)\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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-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;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.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{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-background-color-input-box-group: transparent}.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"] }]
2092
+ ], providers: [SkySearchAdapterService], 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 [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : (ariaLabel ?? 'skyux_search_label' | skyLibResources)\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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 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 *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\"> </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\"></sky-icon>\n</ng-template>\n", styles: ["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;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.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{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-background-color-input-box-group: transparent}.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"] }]
2088
2093
  }], ctorParameters: function () { return [{ type: i1.SkyMediaQueryService }, { type: i0.ElementRef }, { type: SkySearchAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaLabel: [{
2089
2094
  type: Input
2090
2095
  }], ariaLabelledBy: [{
@@ -2149,11 +2154,12 @@ class SkySelectionModalItemSelectedPipe {
2149
2154
  return selectedIdMap.has(id);
2150
2155
  }
2151
2156
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2152
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }); }
2157
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, isStandalone: true, name: "skySelectionModalItemSelected" }); }
2153
2158
  }
2154
2159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalItemSelectedPipe, decorators: [{
2155
2160
  type: Pipe,
2156
2161
  args: [{
2162
+ standalone: true,
2157
2163
  name: 'skySelectionModalItemSelected',
2158
2164
  }]
2159
2165
  }] });
@@ -2179,14 +2185,13 @@ class SkySelectionModalContext {
2179
2185
  * @internal
2180
2186
  */
2181
2187
  class SkySelectionModalComponent {
2182
- #changeDetector;
2183
2188
  #continuationData;
2184
2189
  #currentSearchSub;
2185
2190
  #ngUnsubscribe;
2186
2191
  #offset;
2187
- constructor(modalInstance, context, changeDetector, idSvc) {
2188
- this.modalInstance = modalInstance;
2189
- this.context = context;
2192
+ #changeDetector;
2193
+ #idSvc;
2194
+ constructor() {
2190
2195
  /**
2191
2196
  * @internal
2192
2197
  * Fires when users select the button to add new options to the list.
@@ -2204,8 +2209,11 @@ class SkySelectionModalComponent {
2204
2209
  this.selectedIdMap = new Map();
2205
2210
  this.#ngUnsubscribe = new Subject();
2206
2211
  this.#offset = 0;
2207
- this.#changeDetector = changeDetector;
2208
- this.id = idSvc.generateId();
2212
+ this.context = inject(SkySelectionModalContext);
2213
+ this.modalInstance = inject(SkyModalInstance);
2214
+ this.#changeDetector = inject(ChangeDetectorRef);
2215
+ this.#idSvc = inject(SkyIdService);
2216
+ this.id = this.#idSvc.generateId();
2209
2217
  }
2210
2218
  ngOnInit() {
2211
2219
  this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
@@ -2352,46 +2360,12 @@ class SkySelectionModalComponent {
2352
2360
  this.isSearching = false;
2353
2361
  }
2354
2362
  }
2355
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, deps: [{ token: i1$1.SkyModalInstance }, { token: SkySelectionModalContext }, { token: i0.ChangeDetectorRef }, { token: i1.SkyIdService }], target: i0.ɵɵFactoryTarget.Component }); }
2356
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySelectionModalComponent, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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-multiselect-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]\n | skySelectionModalItemSelected : 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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "component", type: i1$1.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1$1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1$1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1$1.λ4, selector: "sky-modal-header" }, { kind: "component", type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i7.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i7.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i10.λ37, selector: "sky-toolbar" }, { kind: "component", type: i10.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i10.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i10.λ40, selector: "sky-toolbar-view-actions" }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "component", type: i6.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2364
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySelectionModalComponent, isStandalone: true, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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 icon=\"add\"></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-multiselect-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]\n | skySelectionModalItemSelected : 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4$1.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4$1.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "pipe", type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8$1.λ37, selector: "sky-toolbar" }, { kind: "component", type: i8$1.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8$1.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8$1.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i5.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2357
2365
  }
2358
2366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
2359
2367
  type: Component,
2360
- args: [{ selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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-multiselect-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]\n | skySelectionModalItemSelected : 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"] }]
2361
- }], ctorParameters: function () { return [{ type: i1$1.SkyModalInstance }, { type: SkySelectionModalContext }, { type: i0.ChangeDetectorRef }, { type: i1.SkyIdService }]; } });
2362
-
2363
- class SkySelectionModalModule {
2364
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2365
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe], imports: [CommonModule,
2366
- SkyCheckboxModule,
2367
- SkyIconModule,
2368
- SkyInfiniteScrollModule,
2369
- SkyLookupResourcesModule,
2370
- SkyModalModule,
2371
- SkyRepeaterModule,
2372
- SkySearchModule,
2373
- SkyThemeModule,
2374
- SkyToolbarModule,
2375
- SkyViewkeeperModule,
2376
- SkyWaitModule] }); }
2377
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, imports: [CommonModule,
2378
- SkyCheckboxModule,
2379
- SkyIconModule,
2380
- SkyInfiniteScrollModule,
2381
- SkyLookupResourcesModule,
2382
- SkyModalModule,
2383
- SkyRepeaterModule,
2384
- SkySearchModule,
2385
- SkyThemeModule,
2386
- SkyToolbarModule,
2387
- SkyViewkeeperModule,
2388
- SkyWaitModule] }); }
2389
- }
2390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, decorators: [{
2391
- type: NgModule,
2392
- args: [{
2393
- declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe],
2394
- imports: [
2368
+ args: [{ standalone: true, selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2395
2369
  CommonModule,
2396
2370
  SkyCheckboxModule,
2397
2371
  SkyIconModule,
@@ -2400,286 +2374,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
2400
2374
  SkyModalModule,
2401
2375
  SkyRepeaterModule,
2402
2376
  SkySearchModule,
2377
+ SkySelectionModalItemSelectedPipe,
2403
2378
  SkyThemeModule,
2404
2379
  SkyToolbarModule,
2405
- SkyViewkeeperModule,
2406
2380
  SkyWaitModule,
2407
- ],
2408
- }]
2409
- }] });
2410
-
2411
- /**
2412
- * @internal
2413
- * Context for the show more native picker. These values are provided by the lookup component.
2414
- */
2415
- class SkyLookupShowMoreNativePickerContext {
2416
- constructor(descriptorProperty, initialSearch, initialValue, items, search, selectMode, showAddButton, userConfig) {
2417
- this.descriptorProperty = descriptorProperty;
2418
- this.initialSearch = initialSearch;
2419
- this.initialValue = initialValue;
2420
- this.items = items;
2421
- this.search = search;
2422
- this.selectMode = selectMode;
2423
- this.showAddButton = showAddButton;
2424
- this.userConfig = userConfig;
2425
- }
2426
- }
2427
-
2428
- /**
2429
- * @internal
2430
- * Internal component to implement the native picker.
2431
- */
2432
- class SkyLookupShowMoreModalComponent {
2433
- #changeDetector;
2434
- #itemIndex;
2435
- #ngUnsubscribe;
2436
- constructor(modalInstance, context, changeDetector, idSvc) {
2437
- this.modalInstance = modalInstance;
2438
- this.context = context;
2439
- /**
2440
- * @internal
2441
- * Fires when users select the button to add new options to the list.
2442
- */
2443
- this.addClick = new Subject();
2444
- this.items = [];
2445
- this.itemsLoading = false;
2446
- this.dataManagerConfig = {
2447
- sortOptions: [
2448
- {
2449
- id: 'az',
2450
- label: 'Alphabetical (A - Z)',
2451
- descending: false,
2452
- propertyName: 'name',
2453
- },
2454
- {
2455
- id: 'za',
2456
- label: 'Alphabetical (Z - A)',
2457
- descending: true,
2458
- propertyName: 'name',
2459
- },
2460
- ],
2461
- };
2462
- this.displayedItems = [];
2463
- this.itemsHaveMore = false;
2464
- this.onlyShowSelected = false;
2465
- this.repeaterItemTemplate = null;
2466
- this.searchText = '';
2467
- this.selectedItems = [];
2468
- this.#itemIndex = 0;
2469
- this.#ngUnsubscribe = new Subject();
2470
- this.#changeDetector = changeDetector;
2471
- this.id = idSvc.generateId();
2472
- }
2473
- ngAfterViewInit() {
2474
- this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
2475
- this.searchText = this.context.initialSearch;
2476
- this.addItems();
2477
- }
2478
- ngOnDestroy() {
2479
- this.#ngUnsubscribe.next();
2480
- this.#ngUnsubscribe.complete();
2481
- }
2482
- addButtonClicked() {
2483
- this.addClick.next();
2484
- }
2485
- addItems() {
2486
- this.itemsLoading = true;
2487
- if (!this.items || this.items.length === 0) {
2488
- const selectedItems = this.selectedItems.slice();
2489
- this.items = this.context.items.map((item) => {
2490
- return {
2491
- value: item,
2492
- selected: false,
2493
- };
2494
- });
2495
- this.items.forEach((item) => {
2496
- const isInitialValue = this.context.initialValue === item.value;
2497
- const initialIsArray = Array.isArray(this.context.initialValue);
2498
- const initialValueContainsItem = this.context.initialValue.findIndex((initialItem) => initialItem === item.value) >= 0;
2499
- if (isInitialValue || (initialIsArray && initialValueContainsItem)) {
2500
- item.selected = true;
2501
- const itemIndex = this.items.indexOf(item);
2502
- if (selectedItems.findIndex((selectedItem) => selectedItem.index === itemIndex) < 0) {
2503
- selectedItems.push({ index: itemIndex, itemData: item.value });
2504
- }
2505
- }
2506
- });
2507
- this.selectedItems = selectedItems;
2508
- this.updateDataState();
2509
- this.#changeDetector.markForCheck();
2510
- }
2511
- // if onlyShowSelected is checked, then only iterate through the initial selection
2512
- const items = this.onlyShowSelected
2513
- ? this.items.filter((item) => item.selected)
2514
- : this.items;
2515
- this.#itemIndex = this.#itemIndex + 10;
2516
- this.searchItems(items).then((searchedItems) => {
2517
- this.displayedItems = searchedItems.slice(0, this.#itemIndex);
2518
- if (this.#itemIndex > searchedItems.length) {
2519
- this.itemsHaveMore = false;
2520
- }
2521
- else {
2522
- this.itemsHaveMore = true;
2523
- }
2524
- this.itemsLoading = false;
2525
- this.#changeDetector.markForCheck();
2526
- });
2527
- }
2528
- clearAll() {
2529
- this.displayedItems.forEach((item) => {
2530
- if (item.selected) {
2531
- item.selected = false;
2532
- }
2533
- });
2534
- this.selectedItems = [];
2535
- this.updateDataState();
2536
- this.#changeDetector.markForCheck();
2537
- }
2538
- itemClick(selectedItem) {
2539
- if (this.context.selectMode === 'single') {
2540
- this.onItemSelect(!selectedItem.selected, selectedItem);
2541
- }
2542
- }
2543
- onItemSelect(newSelectState, itemToSelect) {
2544
- const items = this.items;
2545
- if (this.context.selectMode === 'single') {
2546
- /* Sanity check - single select mode should only alow for a `true` select state */
2547
- /* istanbul ignore else */
2548
- if (newSelectState) {
2549
- itemToSelect.selected = true;
2550
- items.forEach((item) => {
2551
- if (item.value !== itemToSelect.value) {
2552
- item.selected = false;
2553
- }
2554
- });
2555
- this.displayedItems.forEach((item) => {
2556
- if (item.value !== itemToSelect.value) {
2557
- item.selected = false;
2558
- }
2559
- });
2560
- const itemIndex = items.findIndex((item) => item.value === itemToSelect.value);
2561
- this.selectedItems = [
2562
- { index: itemIndex, itemData: items[itemIndex].value },
2563
- ];
2564
- }
2565
- }
2566
- else {
2567
- const selectedItems = this.selectedItems;
2568
- const allItemsIndex = items.findIndex((item) => item.value === itemToSelect.value);
2569
- const selectedItemsIndex = selectedItems.findIndex((selectedItem) => selectedItem.index === allItemsIndex);
2570
- if (newSelectState && selectedItemsIndex === -1) {
2571
- selectedItems.push({
2572
- index: allItemsIndex,
2573
- itemData: items[allItemsIndex].value,
2574
- });
2575
- }
2576
- else if (!newSelectState && selectedItemsIndex !== -1) {
2577
- selectedItems.splice(selectedItemsIndex, 1);
2578
- }
2579
- this.selectedItems = selectedItems;
2580
- }
2581
- this.updateDataState();
2582
- this.#changeDetector.markForCheck();
2583
- }
2584
- searchApplied(searchText) {
2585
- /* istanbul ignore else */
2586
- if (this.searchText !== searchText) {
2587
- this.#itemIndex = 10;
2588
- this.modalInstance.scrollContentToTop();
2589
- }
2590
- this.searchText = searchText;
2591
- this.itemsLoading = true;
2592
- this.#changeDetector.detectChanges();
2593
- // We need to ensure that the scroll event makes it all the way through the infinite scroll workflow before updating the data state.
2594
- // Without this, the infinite scroll can add items improperly because it can see the above scroll after the items finish searching.
2595
- setTimeout(() => {
2596
- this.updateDataState();
2597
- }, 100);
2598
- }
2599
- searchItems(items) {
2600
- const searchText = this.searchText;
2601
- if (searchText) {
2602
- const resultValues = this.context.search(searchText, items.map((item) => {
2603
- return item.value;
2604
- }), { context: 'modal' });
2605
- if (resultValues instanceof Array) {
2606
- const result = items.filter((item) => resultValues.indexOf(item.value) >= 0);
2607
- return Promise.resolve(result);
2608
- }
2609
- else {
2610
- return resultValues.then((values) => {
2611
- const result = items.filter((item) => values.indexOf(item.value) >= 0);
2612
- return Promise.resolve(result);
2613
- });
2614
- }
2615
- }
2616
- else {
2617
- return Promise.resolve(items);
2618
- }
2619
- }
2620
- selectAll() {
2621
- const items = this.items;
2622
- const selectedItems = this.selectedItems;
2623
- this.displayedItems.forEach((item) => {
2624
- if (!item.selected) {
2625
- item.selected = true;
2626
- const index = items.indexOf(item);
2627
- /* istanbul ignore else */
2628
- if (selectedItems.findIndex((selectedItem) => selectedItem.index === index) < 0) {
2629
- selectedItems.push({
2630
- index: index,
2631
- itemData: items[index].value,
2632
- });
2633
- }
2634
- }
2635
- });
2636
- this.selectedItems = selectedItems;
2637
- this.updateDataState();
2638
- this.#changeDetector.markForCheck();
2639
- }
2640
- updateDataState() {
2641
- const items = this.items;
2642
- const selectedItems = this.selectedItems;
2643
- items?.forEach((item, index) => {
2644
- item.selected =
2645
- selectedItems.findIndex((selectedItem) => selectedItem.index === index) !== -1;
2646
- });
2647
- this.searchItems(items).then((searchedItems) => {
2648
- if (this.onlyShowSelected) {
2649
- searchedItems = searchedItems.filter((item) => item.selected);
2650
- }
2651
- this.displayedItems = searchedItems.slice(0, this.#itemIndex);
2652
- if (this.#itemIndex > searchedItems.length) {
2653
- this.itemsHaveMore = false;
2654
- }
2655
- else {
2656
- this.itemsHaveMore = true;
2657
- }
2658
- this.itemsLoading = false;
2659
- this.#changeDetector.markForCheck();
2660
- });
2661
- }
2662
- updateItemData(data) {
2663
- this.context.items = data;
2664
- this.items = [];
2665
- this.#itemIndex = 10;
2666
- this.selectedItems.forEach((selectedItem) => {
2667
- this.context.items.forEach((item, index) => {
2668
- if (selectedItem.itemData === item) {
2669
- selectedItem.index = index;
2670
- }
2671
- });
2672
- });
2673
- this.addItems();
2674
- this.#changeDetector.markForCheck();
2675
- }
2676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [{ token: i1$1.SkyModalInstance }, { token: SkyLookupShowMoreNativePickerContext }, { token: i0.ChangeDetectorRef }, { token: i1.SkyIdService }], target: i0.ɵɵFactoryTarget.Component }); }
2677
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyLookupShowMoreModalComponent, selector: "skyux-lookup-show-more-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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-multiselect-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\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\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 (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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "component", type: i1$1.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1$1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1$1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1$1.λ4, selector: "sky-modal-header" }, { kind: "component", type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i7.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i7.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i10.λ37, selector: "sky-toolbar" }, { kind: "component", type: i10.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i10.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i10.λ40, selector: "sky-toolbar-view-actions" }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2678
- }
2679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
2680
- type: Component,
2681
- args: [{ selector: 'skyux-lookup-show-more-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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-multiselect-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\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\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 (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"] }]
2682
- }], ctorParameters: function () { return [{ type: i1$1.SkyModalInstance }, { type: SkyLookupShowMoreNativePickerContext }, { type: i0.ChangeDetectorRef }, { type: i1.SkyIdService }]; } });
2381
+ SkyViewkeeperModule,
2382
+ ], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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 icon=\"add\"></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-multiselect-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]\n | skySelectionModalItemSelected : 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"] }]
2383
+ }], ctorParameters: function () { return []; } });
2683
2384
 
2684
2385
  /**
2685
2386
  * Represents an instance of a selection modal.
@@ -2797,15 +2498,15 @@ class SkySelectionModalService {
2797
2498
  });
2798
2499
  return instance;
2799
2500
  }
2800
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i1$1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2801
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, providedIn: 'any' }); }
2501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i6.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2502
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, providedIn: 'root' }); }
2802
2503
  }
2803
2504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, decorators: [{
2804
2505
  type: Injectable,
2805
2506
  args: [{
2806
- providedIn: 'any',
2507
+ providedIn: 'root',
2807
2508
  }]
2808
- }], ctorParameters: function () { return [{ type: i1$1.SkyModalService }]; } });
2509
+ }], ctorParameters: function () { return [{ type: i6.SkyModalService }]; } });
2809
2510
 
2810
2511
  /**
2811
2512
  * @internal
@@ -2854,88 +2555,375 @@ class SkyLookupAutocompleteAdapter {
2854
2555
  get descriptorProperty() {
2855
2556
  return this.#_descriptorProperty;
2856
2557
  }
2857
- /**
2858
- * The array of object properties to search.
2859
- * @default ["name"]
2860
- */
2861
- set propertiesToSearch(value) {
2862
- this.#_propertiesToSearch = value ?? ['name'];
2863
- this.#updateDefaultSearchOptions();
2558
+ /**
2559
+ * The array of object properties to search.
2560
+ * @default ["name"]
2561
+ */
2562
+ set propertiesToSearch(value) {
2563
+ this.#_propertiesToSearch = value ?? ['name'];
2564
+ this.#updateDefaultSearchOptions();
2565
+ }
2566
+ get propertiesToSearch() {
2567
+ return this.#_propertiesToSearch;
2568
+ }
2569
+ /**
2570
+ * The function to dynamically manage the data source when users
2571
+ * change the text in the lookup field. The search function must return
2572
+ * an array or a promise of an array. The `search` property is particularly
2573
+ * useful when the data source does not live in the source code. If the
2574
+ * search requires calling a remote data source, use `searchAsync` instead of
2575
+ * `search`.
2576
+ */
2577
+ set search(value) {
2578
+ this.#_search = value;
2579
+ this.searchOrDefault =
2580
+ value ||
2581
+ skyAutocompleteDefaultSearchFunction({
2582
+ propertiesToSearch: this.propertiesToSearch,
2583
+ searchFilters: this.searchFilters,
2584
+ });
2585
+ }
2586
+ get search() {
2587
+ return this.#_search;
2588
+ }
2589
+ /**
2590
+ * The array of functions to call against each search result in order
2591
+ * to filter the search results when using the default search function. When
2592
+ * using a custom search function via the `search` property filters must be
2593
+ * applied manually inside that function. The function must return `true` or
2594
+ * `false` for each result to indicate whether to display it in the dropdown list.
2595
+ */
2596
+ set searchFilters(value) {
2597
+ this.#_searchFilters = value;
2598
+ this.#updateDefaultSearchOptions();
2599
+ }
2600
+ get searchFilters() {
2601
+ return this.#_searchFilters;
2602
+ }
2603
+ #_descriptorProperty;
2604
+ #_propertiesToSearch;
2605
+ #_search;
2606
+ #_searchFilters;
2607
+ #updateDefaultSearchOptions() {
2608
+ // Reset default search if it is what is being used.
2609
+ if (this.search !== this.searchOrDefault) {
2610
+ this.searchOrDefault = skyAutocompleteDefaultSearchFunction({
2611
+ propertiesToSearch: this.propertiesToSearch,
2612
+ searchFilters: this.searchFilters,
2613
+ });
2614
+ }
2615
+ }
2616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2617
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, outputs: { searchAsync: "searchAsync" }, ngImport: i0 }); }
2618
+ }
2619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
2620
+ type: Directive
2621
+ }], propDecorators: { debounceTime: [{
2622
+ type: Input
2623
+ }], descriptorProperty: [{
2624
+ type: Input
2625
+ }], propertiesToSearch: [{
2626
+ type: Input
2627
+ }], search: [{
2628
+ type: Input
2629
+ }], searchResultTemplate: [{
2630
+ type: Input
2631
+ }], searchTextMinimumCharacters: [{
2632
+ type: Input
2633
+ }], searchFilters: [{
2634
+ type: Input
2635
+ }], searchResultsLimit: [{
2636
+ type: Input
2637
+ }], searchAsync: [{
2638
+ type: Output
2639
+ }] } });
2640
+
2641
+ /**
2642
+ * @internal
2643
+ * Context for the show more native picker. These values are provided by the lookup component.
2644
+ */
2645
+ class SkyLookupShowMoreNativePickerContext {
2646
+ constructor(descriptorProperty, initialSearch, initialValue, items, search, selectMode, showAddButton, userConfig) {
2647
+ this.descriptorProperty = descriptorProperty;
2648
+ this.initialSearch = initialSearch;
2649
+ this.initialValue = initialValue;
2650
+ this.items = items;
2651
+ this.search = search;
2652
+ this.selectMode = selectMode;
2653
+ this.showAddButton = showAddButton;
2654
+ this.userConfig = userConfig;
2655
+ }
2656
+ }
2657
+
2658
+ /**
2659
+ * @internal
2660
+ * Internal component to implement the native picker.
2661
+ */
2662
+ class SkyLookupShowMoreModalComponent {
2663
+ #itemIndex;
2664
+ #ngUnsubscribe;
2665
+ #changeDetector;
2666
+ #idSvc;
2667
+ constructor() {
2668
+ /**
2669
+ * @internal
2670
+ * Fires when users select the button to add new options to the list.
2671
+ */
2672
+ this.addClick = new Subject();
2673
+ this.items = [];
2674
+ this.itemsLoading = false;
2675
+ this.dataManagerConfig = {
2676
+ sortOptions: [
2677
+ {
2678
+ id: 'az',
2679
+ label: 'Alphabetical (A - Z)',
2680
+ descending: false,
2681
+ propertyName: 'name',
2682
+ },
2683
+ {
2684
+ id: 'za',
2685
+ label: 'Alphabetical (Z - A)',
2686
+ descending: true,
2687
+ propertyName: 'name',
2688
+ },
2689
+ ],
2690
+ };
2691
+ this.displayedItems = [];
2692
+ this.itemsHaveMore = false;
2693
+ this.onlyShowSelected = false;
2694
+ this.repeaterItemTemplate = null;
2695
+ this.searchText = '';
2696
+ this.selectedItems = [];
2697
+ this.#itemIndex = 0;
2698
+ this.#ngUnsubscribe = new Subject();
2699
+ this.modalInstance = inject(SkyModalInstance);
2700
+ this.context = inject(SkyLookupShowMoreNativePickerContext);
2701
+ this.#changeDetector = inject(ChangeDetectorRef);
2702
+ this.#idSvc = inject(SkyIdService);
2703
+ this.id = this.#idSvc.generateId();
2704
+ }
2705
+ ngAfterViewInit() {
2706
+ this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
2707
+ this.searchText = this.context.initialSearch;
2708
+ this.addItems();
2709
+ }
2710
+ ngOnDestroy() {
2711
+ this.#ngUnsubscribe.next();
2712
+ this.#ngUnsubscribe.complete();
2713
+ }
2714
+ addButtonClicked() {
2715
+ this.addClick.next();
2716
+ }
2717
+ addItems() {
2718
+ this.itemsLoading = true;
2719
+ if (!this.items || this.items.length === 0) {
2720
+ const selectedItems = this.selectedItems.slice();
2721
+ this.items = this.context.items.map((item) => {
2722
+ return {
2723
+ value: item,
2724
+ selected: false,
2725
+ };
2726
+ });
2727
+ this.items.forEach((item) => {
2728
+ const isInitialValue = this.context.initialValue === item.value;
2729
+ const initialIsArray = Array.isArray(this.context.initialValue);
2730
+ const initialValueContainsItem = this.context.initialValue.findIndex((initialItem) => initialItem === item.value) >= 0;
2731
+ if (isInitialValue || (initialIsArray && initialValueContainsItem)) {
2732
+ item.selected = true;
2733
+ const itemIndex = this.items.indexOf(item);
2734
+ if (selectedItems.findIndex((selectedItem) => selectedItem.index === itemIndex) < 0) {
2735
+ selectedItems.push({ index: itemIndex, itemData: item.value });
2736
+ }
2737
+ }
2738
+ });
2739
+ this.selectedItems = selectedItems;
2740
+ this.updateDataState();
2741
+ this.#changeDetector.markForCheck();
2742
+ }
2743
+ // if onlyShowSelected is checked, then only iterate through the initial selection
2744
+ const items = this.onlyShowSelected
2745
+ ? this.items.filter((item) => item.selected)
2746
+ : this.items;
2747
+ this.#itemIndex = this.#itemIndex + 10;
2748
+ this.searchItems(items).then((searchedItems) => {
2749
+ this.displayedItems = searchedItems.slice(0, this.#itemIndex);
2750
+ if (this.#itemIndex > searchedItems.length) {
2751
+ this.itemsHaveMore = false;
2752
+ }
2753
+ else {
2754
+ this.itemsHaveMore = true;
2755
+ }
2756
+ this.itemsLoading = false;
2757
+ this.#changeDetector.markForCheck();
2758
+ });
2759
+ }
2760
+ clearAll() {
2761
+ this.displayedItems.forEach((item) => {
2762
+ if (item.selected) {
2763
+ item.selected = false;
2764
+ }
2765
+ });
2766
+ this.selectedItems = [];
2767
+ this.updateDataState();
2768
+ this.#changeDetector.markForCheck();
2864
2769
  }
2865
- get propertiesToSearch() {
2866
- return this.#_propertiesToSearch;
2770
+ itemClick(selectedItem) {
2771
+ if (this.context.selectMode === 'single') {
2772
+ this.onItemSelect(!selectedItem.selected, selectedItem);
2773
+ }
2867
2774
  }
2868
- /**
2869
- * The function to dynamically manage the data source when users
2870
- * change the text in the lookup field. The search function must return
2871
- * an array or a promise of an array. The `search` property is particularly
2872
- * useful when the data source does not live in the source code. If the
2873
- * search requires calling a remote data source, use `searchAsync` instead of
2874
- * `search`.
2875
- */
2876
- set search(value) {
2877
- this.#_search = value;
2878
- this.searchOrDefault =
2879
- value ||
2880
- skyAutocompleteDefaultSearchFunction({
2881
- propertiesToSearch: this.propertiesToSearch,
2882
- searchFilters: this.searchFilters,
2775
+ onItemSelect(newSelectState, itemToSelect) {
2776
+ const items = this.items;
2777
+ if (this.context.selectMode === 'single') {
2778
+ /* Sanity check - single select mode should only alow for a `true` select state */
2779
+ /* istanbul ignore else */
2780
+ if (newSelectState) {
2781
+ itemToSelect.selected = true;
2782
+ items.forEach((item) => {
2783
+ if (item.value !== itemToSelect.value) {
2784
+ item.selected = false;
2785
+ }
2786
+ });
2787
+ this.displayedItems.forEach((item) => {
2788
+ if (item.value !== itemToSelect.value) {
2789
+ item.selected = false;
2790
+ }
2791
+ });
2792
+ const itemIndex = items.findIndex((item) => item.value === itemToSelect.value);
2793
+ this.selectedItems = [
2794
+ { index: itemIndex, itemData: items[itemIndex].value },
2795
+ ];
2796
+ }
2797
+ }
2798
+ else {
2799
+ const selectedItems = this.selectedItems;
2800
+ const allItemsIndex = items.findIndex((item) => item.value === itemToSelect.value);
2801
+ const selectedItemsIndex = selectedItems.findIndex((selectedItem) => selectedItem.index === allItemsIndex);
2802
+ if (newSelectState && selectedItemsIndex === -1) {
2803
+ selectedItems.push({
2804
+ index: allItemsIndex,
2805
+ itemData: items[allItemsIndex].value,
2883
2806
  });
2807
+ }
2808
+ else if (!newSelectState && selectedItemsIndex !== -1) {
2809
+ selectedItems.splice(selectedItemsIndex, 1);
2810
+ }
2811
+ this.selectedItems = selectedItems;
2812
+ }
2813
+ this.updateDataState();
2814
+ this.#changeDetector.markForCheck();
2884
2815
  }
2885
- get search() {
2886
- return this.#_search;
2816
+ searchApplied(searchText) {
2817
+ /* istanbul ignore else */
2818
+ if (this.searchText !== searchText) {
2819
+ this.#itemIndex = 10;
2820
+ this.modalInstance.scrollContentToTop();
2821
+ }
2822
+ this.searchText = searchText;
2823
+ this.itemsLoading = true;
2824
+ this.#changeDetector.detectChanges();
2825
+ // We need to ensure that the scroll event makes it all the way through the infinite scroll workflow before updating the data state.
2826
+ // Without this, the infinite scroll can add items improperly because it can see the above scroll after the items finish searching.
2827
+ setTimeout(() => {
2828
+ this.updateDataState();
2829
+ }, 100);
2887
2830
  }
2888
- /**
2889
- * The array of functions to call against each search result in order
2890
- * to filter the search results when using the default search function. When
2891
- * using a custom search function via the `search` property filters must be
2892
- * applied manually inside that function. The function must return `true` or
2893
- * `false` for each result to indicate whether to display it in the dropdown list.
2894
- */
2895
- set searchFilters(value) {
2896
- this.#_searchFilters = value;
2897
- this.#updateDefaultSearchOptions();
2831
+ searchItems(items) {
2832
+ const searchText = this.searchText;
2833
+ if (searchText) {
2834
+ const resultValues = this.context.search(searchText, items.map((item) => {
2835
+ return item.value;
2836
+ }), { context: 'modal' });
2837
+ if (resultValues instanceof Array) {
2838
+ const result = items.filter((item) => resultValues.indexOf(item.value) >= 0);
2839
+ return Promise.resolve(result);
2840
+ }
2841
+ else {
2842
+ return resultValues.then((values) => {
2843
+ const result = items.filter((item) => values.indexOf(item.value) >= 0);
2844
+ return Promise.resolve(result);
2845
+ });
2846
+ }
2847
+ }
2848
+ else {
2849
+ return Promise.resolve(items);
2850
+ }
2898
2851
  }
2899
- get searchFilters() {
2900
- return this.#_searchFilters;
2852
+ selectAll() {
2853
+ const items = this.items;
2854
+ const selectedItems = this.selectedItems;
2855
+ this.displayedItems.forEach((item) => {
2856
+ if (!item.selected) {
2857
+ item.selected = true;
2858
+ const index = items.indexOf(item);
2859
+ /* istanbul ignore else */
2860
+ if (selectedItems.findIndex((selectedItem) => selectedItem.index === index) < 0) {
2861
+ selectedItems.push({
2862
+ index: index,
2863
+ itemData: items[index].value,
2864
+ });
2865
+ }
2866
+ }
2867
+ });
2868
+ this.selectedItems = selectedItems;
2869
+ this.updateDataState();
2870
+ this.#changeDetector.markForCheck();
2901
2871
  }
2902
- #_descriptorProperty;
2903
- #_propertiesToSearch;
2904
- #_search;
2905
- #_searchFilters;
2906
- #updateDefaultSearchOptions() {
2907
- // Reset default search if it is what is being used.
2908
- if (this.search !== this.searchOrDefault) {
2909
- this.searchOrDefault = skyAutocompleteDefaultSearchFunction({
2910
- propertiesToSearch: this.propertiesToSearch,
2911
- searchFilters: this.searchFilters,
2872
+ updateDataState() {
2873
+ const items = this.items;
2874
+ const selectedItems = this.selectedItems;
2875
+ items?.forEach((item, index) => {
2876
+ item.selected =
2877
+ selectedItems.findIndex((selectedItem) => selectedItem.index === index) !== -1;
2878
+ });
2879
+ this.searchItems(items).then((searchedItems) => {
2880
+ if (this.onlyShowSelected) {
2881
+ searchedItems = searchedItems.filter((item) => item.selected);
2882
+ }
2883
+ this.displayedItems = searchedItems.slice(0, this.#itemIndex);
2884
+ if (this.#itemIndex > searchedItems.length) {
2885
+ this.itemsHaveMore = false;
2886
+ }
2887
+ else {
2888
+ this.itemsHaveMore = true;
2889
+ }
2890
+ this.itemsLoading = false;
2891
+ this.#changeDetector.markForCheck();
2892
+ });
2893
+ }
2894
+ updateItemData(data) {
2895
+ this.context.items = data;
2896
+ this.items = [];
2897
+ this.#itemIndex = 10;
2898
+ this.selectedItems.forEach((selectedItem) => {
2899
+ this.context.items.forEach((item, index) => {
2900
+ if (selectedItem.itemData === item) {
2901
+ selectedItem.index = index;
2902
+ }
2912
2903
  });
2913
- }
2904
+ });
2905
+ this.addItems();
2906
+ this.#changeDetector.markForCheck();
2914
2907
  }
2915
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2916
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, outputs: { searchAsync: "searchAsync" }, ngImport: i0 }); }
2908
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2909
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyLookupShowMoreModalComponent, isStandalone: true, selector: "sky-lookup-show-more-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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 icon=\"add\"></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-multiselect-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\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\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 (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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4$1.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4$1.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4$1.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4$1.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8$1.λ37, selector: "sky-toolbar" }, { kind: "component", type: i8$1.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8$1.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8$1.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2917
2910
  }
2918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
2919
- type: Directive
2920
- }], propDecorators: { debounceTime: [{
2921
- type: Input
2922
- }], descriptorProperty: [{
2923
- type: Input
2924
- }], propertiesToSearch: [{
2925
- type: Input
2926
- }], search: [{
2927
- type: Input
2928
- }], searchResultTemplate: [{
2929
- type: Input
2930
- }], searchTextMinimumCharacters: [{
2931
- type: Input
2932
- }], searchFilters: [{
2933
- type: Input
2934
- }], searchResultsLimit: [{
2935
- type: Input
2936
- }], searchAsync: [{
2937
- type: Output
2938
- }] } });
2911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
2912
+ type: Component,
2913
+ args: [{ standalone: true, selector: 'sky-lookup-show-more-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2914
+ CommonModule,
2915
+ SkyCheckboxModule,
2916
+ SkyIconModule,
2917
+ SkyInfiniteScrollModule,
2918
+ SkyLookupResourcesModule,
2919
+ SkyModalModule,
2920
+ SkyRepeaterModule,
2921
+ SkySearchModule,
2922
+ SkyThemeModule,
2923
+ SkyToolbarModule,
2924
+ SkyViewkeeperModule,
2925
+ ], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\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 [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\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 icon=\"add\"></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-multiselect-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\n [enabled]=\"itemsHaveMore\"\n [loading]=\"itemsLoading\"\n (scrollEnd)=\"addItems()\"\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 (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"] }]
2926
+ }], ctorParameters: function () { return []; } });
2939
2927
 
2940
2928
  class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
2941
2929
  /**
@@ -3049,6 +3037,8 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
3049
3037
  #idle;
3050
3038
  #markForTokenFocusOnKeyUp;
3051
3039
  #ngUnsubscribe;
3040
+ #openNativePicker;
3041
+ #openSelectionModal;
3052
3042
  #_autocompleteInputDirective;
3053
3043
  #_data;
3054
3044
  #_disabled;
@@ -3063,8 +3053,6 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
3063
3053
  #idService;
3064
3054
  #logSvc;
3065
3055
  #modalService;
3066
- #openNativePicker;
3067
- #openSelectionModal;
3068
3056
  #resourcesService;
3069
3057
  #selectionModalSvc;
3070
3058
  #windowRef;
@@ -3095,10 +3083,6 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
3095
3083
  this.#idService = inject(SkyIdService);
3096
3084
  this.#logSvc = inject(SkyLogService);
3097
3085
  this.#modalService = inject(SkyModalService);
3098
- this.#openNativePicker = inject(SkyModalInstance, {
3099
- optional: true,
3100
- }) || undefined;
3101
- this.#openSelectionModal = inject(SkySelectionModalInstance, { optional: true }) || undefined;
3102
3086
  this.#resourcesService = inject(SkyLibResourcesService);
3103
3087
  this.#selectionModalSvc = inject(SkySelectionModalService);
3104
3088
  this.#windowRef = inject(SkyAppWindowRef);
@@ -3475,22 +3459,22 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
3475
3459
  // Handles focusing the input when the host is clicked.
3476
3460
  // The input should NOT be focused if other elements (tokens, etc.)
3477
3461
  // are currently focused or being tabbed through.
3478
- fromEvent(documentObj, 'mousedown')
3462
+ fromEvent(documentObj, 'click')
3479
3463
  .pipe(takeUntil(this.#idle))
3480
- .subscribe((event) => {
3464
+ .subscribe(() => {
3481
3465
  hostElement = !this.inputBoxHostSvc
3482
3466
  ? this.#elementRef.nativeElement
3483
3467
  : this.lookupWrapperRef?.nativeElement;
3484
- this.isInputFocused = hostElement.contains(event.target);
3468
+ this.isInputFocused = hostElement.contains(document.activeElement);
3485
3469
  this.#changeDetector.markForCheck();
3486
3470
  });
3487
3471
  fromEvent(documentObj, 'focusin')
3488
3472
  .pipe(takeUntil(this.#idle))
3489
- .subscribe((event) => {
3473
+ .subscribe(() => {
3490
3474
  hostElement = !this.inputBoxHostSvc
3491
3475
  ? this.#elementRef.nativeElement
3492
3476
  : this.lookupWrapperRef?.nativeElement;
3493
- this.isInputFocused = hostElement.contains(event.target);
3477
+ this.isInputFocused = hostElement.contains(document.activeElement);
3494
3478
  this.#changeDetector.markForCheck();
3495
3479
  });
3496
3480
  if (hostElement) {
@@ -3576,19 +3560,19 @@ class SkyLookupComponent extends SkyLookupAutocompleteAdapter {
3576
3560
  #pickerModalOpen() {
3577
3561
  return !!(this.#openNativePicker || this.#openSelectionModal);
3578
3562
  }
3579
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i4$1.NgControl, optional: true, self: true }, { token: i5.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3580
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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", openChange: "openChange" }, 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 || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\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 (openChange)=\"onAutocompleteOpenChange($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 (tokensRendered)=\"onTokensRendered()\"\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\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 *skyThemeIf=\"'default'\" icon=\"search\"></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" iconType=\"skyux\" icon=\"search\"></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 var(--sky-highlight-color-danger);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{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}: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{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.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"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", 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", "openChange"] }, { kind: "directive", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i6.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange", "tokensRendered"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3563
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupComponent, deps: [{ token: i4.NgControl, optional: true, self: true }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i2$1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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", openChange: "openChange" }, 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 || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\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 (openChange)=\"onAutocompleteOpenChange($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 (tokensRendered)=\"onTokensRendered()\"\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\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 icon=\"search\"></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 icon=\"search\"></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 var(--sky-highlight-color-danger);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{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}: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{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", 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", "openChange"] }, { kind: "directive", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i5.λ13, selector: "sky-tokens", inputs: ["disabled", "dismissible", "displayWith", "trackWith", "focusable", "tokens", "messageStream"], outputs: ["focusIndexOverRange", "focusIndexUnderRange", "tokenSelected", "tokensChange", "tokensRendered"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3581
3565
  }
3582
3566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupComponent, decorators: [{
3583
3567
  type: Component,
3584
- 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 || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\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 (openChange)=\"onAutocompleteOpenChange($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 (tokensRendered)=\"onTokensRendered()\"\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\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 *skyThemeIf=\"'default'\" icon=\"search\"></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" iconType=\"skyux\" icon=\"search\"></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 var(--sky-highlight-color-danger);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{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}: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{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.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"] }]
3585
- }], ctorParameters: function () { return [{ type: i4$1.NgControl, decorators: [{
3568
+ 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 || controlId\"\n [attr.data-sky-lookup-show-more-picker-id]=\"showMorePickerId\"\n [data]=\"data\"\n [debounceTime]=\"debounceTime\"\n [descriptorProperty]=\"descriptorProperty\"\n [enableShowMore]=\"enableShowMore\"\n [messageStream]=\"autocompleteController\"\n [propertiesToSearch]=\"propertiesToSearch\"\n [search]=\"searchOrDefault\"\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 (openChange)=\"onAutocompleteOpenChange($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 (tokensRendered)=\"onTokensRendered()\"\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n (keydown)=\"inputKeydown($event)\"\n (keyup)=\"inputKeyup($event)\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\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.id]=\"controlId\"\n [attr.placeholder]=\"placeholderText\"\n [autocompleteAttribute]=\"autocompleteAttribute\"\n [disabled]=\"disabled\"\n (blur)=\"onAutocompleteBlur()\"\n ></textarea>\n <ng-container *ngIf=\"!inputBoxHostSvc && !enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplateRef\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"!inputBoxHostSvc && enableShowMore\">\n <ng-container\n *ngTemplateOutlet=\"showMoreButtonTemplateRef\"\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 icon=\"search\"></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 icon=\"search\"></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 var(--sky-highlight-color-danger);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{margin-top:-26px;padding-top:26px}:host-context(.sky-theme-modern) sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}: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{margin-top:-26px;padding-top:26px}.sky-theme-modern sky-input-box .sky-lookup sky-tokens.sky-lookup-tokens sky-token{z-index:1}.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"] }]
3569
+ }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
3586
3570
  type: Self
3587
3571
  }, {
3588
3572
  type: Optional
3589
- }] }, { type: i5.SkyInputBoxHostService, decorators: [{
3573
+ }] }, { type: i2.SkyInputBoxHostService, decorators: [{
3590
3574
  type: Optional
3591
- }] }, { type: i3.SkyThemeService, decorators: [{
3575
+ }] }, { type: i2$1.SkyThemeService, decorators: [{
3592
3576
  type: Optional
3593
3577
  }] }]; }, propDecorators: { ariaLabel: [{
3594
3578
  type: Input
@@ -3651,60 +3635,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
3651
3635
 
3652
3636
  class SkyLookupModule {
3653
3637
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3654
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent, SkyLookupShowMoreModalComponent], imports: [CommonModule,
3655
- FormsModule,
3638
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent], imports: [CommonModule,
3656
3639
  SkyAutocompleteModule,
3657
- SkyCheckboxModule,
3658
3640
  SkyIconModule,
3659
- SkyInfiniteScrollModule,
3660
3641
  SkyLookupResourcesModule,
3661
- SkyModalModule,
3662
- SkyRepeaterModule,
3663
- SkySearchModule,
3664
- SkySelectionModalModule,
3665
3642
  SkyThemeModule,
3666
- SkyTokensModule,
3667
- SkyToolbarModule,
3668
- SkyViewkeeperModule,
3669
- SkyWaitModule], exports: [SkyLookupComponent] }); }
3643
+ SkyTokensModule], exports: [SkyLookupComponent] }); }
3670
3644
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
3671
- FormsModule,
3672
3645
  SkyAutocompleteModule,
3673
- SkyCheckboxModule,
3674
3646
  SkyIconModule,
3675
- SkyInfiniteScrollModule,
3676
3647
  SkyLookupResourcesModule,
3677
- SkyModalModule,
3678
- SkyRepeaterModule,
3679
- SkySearchModule,
3680
- SkySelectionModalModule,
3681
3648
  SkyThemeModule,
3682
- SkyTokensModule,
3683
- SkyToolbarModule,
3684
- SkyViewkeeperModule,
3685
- SkyWaitModule] }); }
3649
+ SkyTokensModule] }); }
3686
3650
  }
3687
3651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyLookupModule, decorators: [{
3688
3652
  type: NgModule,
3689
3653
  args: [{
3690
- declarations: [SkyLookupComponent, SkyLookupShowMoreModalComponent],
3654
+ declarations: [SkyLookupComponent],
3691
3655
  imports: [
3692
3656
  CommonModule,
3693
- FormsModule,
3694
3657
  SkyAutocompleteModule,
3695
- SkyCheckboxModule,
3696
3658
  SkyIconModule,
3697
- SkyInfiniteScrollModule,
3698
3659
  SkyLookupResourcesModule,
3699
- SkyModalModule,
3700
- SkyRepeaterModule,
3701
- SkySearchModule,
3702
- SkySelectionModalModule,
3703
3660
  SkyThemeModule,
3704
3661
  SkyTokensModule,
3705
- SkyToolbarModule,
3706
- SkyViewkeeperModule,
3707
- SkyWaitModule,
3708
3662
  ],
3709
3663
  exports: [SkyLookupComponent],
3710
3664
  }]
@@ -3733,6 +3687,19 @@ var SkyLookupSelectMode;
3733
3687
  class SkyLookupShowMoreCustomPickerContext {
3734
3688
  }
3735
3689
 
3690
+ /**
3691
+ * @deprecated The `SkySelectionModalModule` is no longer needed and can be removed from your application.
3692
+ */
3693
+ class SkySelectionModalModule {
3694
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3695
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule }); }
3696
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule }); }
3697
+ }
3698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, decorators: [{
3699
+ type: NgModule,
3700
+ args: [{}]
3701
+ }] });
3702
+
3736
3703
  /**
3737
3704
  * Generated bundle index. Do not edit.
3738
3705
  */