@skyux/lists 7.0.0-beta.6 → 7.0.0-beta.7

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.
@@ -681,6 +681,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
681
681
  args: [{ selector: 'sky-repeater-item-title', template: "<ng-content></ng-content>\n" }]
682
682
  }] });
683
683
 
684
+ var _SkyRepeaterService__expandMode;
685
+ let uniqueId = 0;
686
+ const DEFAULT_EXPAND_MODE = 'none';
684
687
  /**
685
688
  * @internal
686
689
  */
@@ -697,6 +700,15 @@ class SkyRepeaterService {
697
700
  title: undefined,
698
701
  });
699
702
  this.orderChange = new BehaviorSubject(undefined);
703
+ this.repeaterGroupId = ++uniqueId;
704
+ _SkyRepeaterService__expandMode.set(this, DEFAULT_EXPAND_MODE);
705
+ }
706
+ // TODO: Remove 'string' as a valid type in a breaking change.
707
+ get expandMode() {
708
+ return __classPrivateFieldGet(this, _SkyRepeaterService__expandMode, "f");
709
+ }
710
+ set expandMode(value) {
711
+ __classPrivateFieldSet(this, _SkyRepeaterService__expandMode, value ?? DEFAULT_EXPAND_MODE, "f");
700
712
  }
701
713
  ngOnDestroy() {
702
714
  this.activeItemChange.complete();
@@ -739,9 +751,6 @@ class SkyRepeaterService {
739
751
  onItemCollapseStateChange(item) {
740
752
  this.itemCollapseStateChange.emit(item);
741
753
  }
742
- getItemIndex(item) {
743
- return this.items.indexOf(item);
744
- }
745
754
  registerOrderChange() {
746
755
  this.orderChange.next();
747
756
  }
@@ -749,35 +758,39 @@ class SkyRepeaterService {
749
758
  this.items.splice(newIndex, 0, this.items.splice(oldIndex, 1)[0]);
750
759
  }
751
760
  }
761
+ _SkyRepeaterService__expandMode = new WeakMap();
752
762
  SkyRepeaterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
753
763
  SkyRepeaterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService });
754
764
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterService, decorators: [{
755
765
  type: Injectable
756
766
  }] });
757
767
 
768
+ var _SkyRepeaterAdapterService_instances, _SkyRepeaterAdapterService_repeaterItemGroupSelector_get, _SkyRepeaterAdapterService_host, _SkyRepeaterAdapterService_repeaterService, _SkyRepeaterAdapterService_moveItem, _SkyRepeaterAdapterService_getRepeaterItemArray;
758
769
  /**
759
770
  * @internal
760
771
  */
761
772
  class SkyRepeaterAdapterService {
762
773
  constructor(repeaterService) {
763
- this.repeaterService = repeaterService;
764
- }
765
- get repeaterItemGroupSelector() {
766
- return '.sky-repeater-item-group-' + this.repeaterService.repeaterGroupId;
774
+ _SkyRepeaterAdapterService_instances.add(this);
775
+ _SkyRepeaterAdapterService_host.set(this, void 0);
776
+ _SkyRepeaterAdapterService_repeaterService.set(this, void 0);
777
+ __classPrivateFieldSet(this, _SkyRepeaterAdapterService_repeaterService, repeaterService, "f");
767
778
  }
768
779
  focusElement(element) {
769
- if (element instanceof ElementRef) {
770
- element.nativeElement.focus();
771
- }
772
- else {
773
- element.focus();
780
+ if (element) {
781
+ if (element instanceof ElementRef) {
782
+ element.nativeElement.focus();
783
+ }
784
+ else {
785
+ element.focus();
786
+ }
774
787
  }
775
788
  }
776
789
  setRepeaterHost(hostRef) {
777
- this.host = hostRef;
790
+ __classPrivateFieldSet(this, _SkyRepeaterAdapterService_host, hostRef, "f");
778
791
  }
779
792
  getRepeaterItemIndex(element) {
780
- return this.getRepeaterItemArray().indexOf(element);
793
+ return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this).indexOf(element);
781
794
  }
782
795
  moveItemUp(element, top = false, steps = 1) {
783
796
  const index = this.getRepeaterItemIndex(element);
@@ -788,49 +801,47 @@ class SkyRepeaterAdapterService {
788
801
  if (top || newIndex < 0) {
789
802
  newIndex = 0;
790
803
  }
791
- return this.moveItem(element, index, newIndex);
804
+ return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
792
805
  }
793
806
  moveItemDown(element, steps = 1) {
794
- const itemArray = this.getRepeaterItemArray();
807
+ const itemArray = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_getRepeaterItemArray).call(this);
795
808
  const index = this.getRepeaterItemIndex(element);
796
809
  if (index === itemArray.length - steps) {
797
810
  return;
798
811
  }
799
812
  const newIndex = index + steps;
800
- return this.moveItem(element, index, newIndex);
813
+ return __classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "m", _SkyRepeaterAdapterService_moveItem).call(this, element, index, newIndex);
801
814
  }
802
- moveItem(element, oldIndex, newIndex) {
803
- const repeaterDiv = this.host.nativeElement.querySelector('.sky-repeater');
815
+ }
816
+ _SkyRepeaterAdapterService_host = new WeakMap(), _SkyRepeaterAdapterService_repeaterService = new WeakMap(), _SkyRepeaterAdapterService_instances = new WeakSet(), _SkyRepeaterAdapterService_repeaterItemGroupSelector_get = function _SkyRepeaterAdapterService_repeaterItemGroupSelector_get() {
817
+ return '.sky-repeater-item-group-' + __classPrivateFieldGet(this, _SkyRepeaterAdapterService_repeaterService, "f").repeaterGroupId;
818
+ }, _SkyRepeaterAdapterService_moveItem = function _SkyRepeaterAdapterService_moveItem(element, oldIndex, newIndex) {
819
+ /* istanbul ignore else */
820
+ if (__classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f")) {
821
+ const repeaterDiv = __classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f").nativeElement.querySelector('.sky-repeater');
804
822
  repeaterDiv.removeChild(element);
805
- const nextSibling = repeaterDiv.querySelectorAll(this.repeaterItemGroupSelector)[newIndex];
823
+ const nextSibling = repeaterDiv.querySelectorAll(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "a", _SkyRepeaterAdapterService_repeaterItemGroupSelector_get))[newIndex];
806
824
  repeaterDiv.insertBefore(element, nextSibling);
807
- this.repeaterService.reorderItem(oldIndex, newIndex);
808
- return newIndex;
825
+ __classPrivateFieldGet(this, _SkyRepeaterAdapterService_repeaterService, "f").reorderItem(oldIndex, newIndex);
809
826
  }
810
- /**
811
- * Returns an array of the immediate repeater item descendants. Excludes nested repeater items.
812
- */
813
- getRepeaterItemArray() {
814
- return Array.from(this.host.nativeElement.querySelectorAll(this.repeaterItemGroupSelector));
815
- }
816
- }
827
+ return newIndex;
828
+ }, _SkyRepeaterAdapterService_getRepeaterItemArray = function _SkyRepeaterAdapterService_getRepeaterItemArray() {
829
+ return Array.from(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_host, "f")?.nativeElement.querySelectorAll(__classPrivateFieldGet(this, _SkyRepeaterAdapterService_instances, "a", _SkyRepeaterAdapterService_repeaterItemGroupSelector_get)));
830
+ };
817
831
  SkyRepeaterAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, deps: [{ token: SkyRepeaterService }], target: i0.ɵɵFactoryTarget.Injectable });
818
832
  SkyRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService });
819
833
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterAdapterService, decorators: [{
820
834
  type: Injectable
821
835
  }], ctorParameters: function () { return [{ type: SkyRepeaterService }]; } });
822
836
 
837
+ var _SkyRepeaterItemComponent_instances, _SkyRepeaterItemComponent_adapterService, _SkyRepeaterItemComponent_changeDetector, _SkyRepeaterItemComponent_elementRef, _SkyRepeaterItemComponent_isExpanded, _SkyRepeaterItemComponent_keyboardReorderingEnabled, _SkyRepeaterItemComponent_ngUnsubscribe, _SkyRepeaterItemComponent_reorderCancelText, _SkyRepeaterItemComponent_reorderCurrentIndex, _SkyRepeaterItemComponent_reorderFinishText, _SkyRepeaterItemComponent_reorderInstructions, _SkyRepeaterItemComponent_reorderMovedText, _SkyRepeaterItemComponent_reorderStateDescription, _SkyRepeaterItemComponent_reorderSteps, _SkyRepeaterItemComponent_repeaterService, _SkyRepeaterItemComponent_resourceService, _SkyRepeaterItemComponent__isCollapsible, _SkyRepeaterItemComponent__isDisabled, _SkyRepeaterItemComponent__isSelected, _SkyRepeaterItemComponent_slideForExpanded, _SkyRepeaterItemComponent_keyboardReorderUp, _SkyRepeaterItemComponent_keyboardReorderDown, _SkyRepeaterItemComponent_keyboardToggleReorder, _SkyRepeaterItemComponent_revertReorderSteps, _SkyRepeaterItemComponent_updateExpandOnContentChange;
823
838
  let nextContentId = 0;
824
839
  /**
825
840
  * Creates an individual repeater item.
826
841
  */
827
842
  class SkyRepeaterItemComponent {
828
843
  constructor(repeaterService, changeDetector, adapterService, elementRef, resourceService) {
829
- this.repeaterService = repeaterService;
830
- this.changeDetector = changeDetector;
831
- this.adapterService = adapterService;
832
- this.elementRef = elementRef;
833
- this.resourceService = resourceService;
844
+ _SkyRepeaterItemComponent_instances.add(this);
834
845
  /**
835
846
  * Indicates whether users can change the order of the repeater item.
836
847
  * The repeater component's `reorderable` property must also be set to `true`.
@@ -862,31 +873,51 @@ class SkyRepeaterItemComponent {
862
873
  * Fires when users select or clear the checkbox for the repeater item.
863
874
  */
864
875
  this.isSelectedChange = new EventEmitter();
865
- this.contentId = `sky-repeater-item-content-${++nextContentId}`;
866
876
  this.hasItemContent = false;
867
877
  this.isActive = false;
868
- this.keyboardReorderingEnabled = false;
869
- this.ngUnsubscribe = new Subject();
870
- this._isCollapsible = true;
871
- this._isDisabled = false;
872
- this._isExpanded = true;
873
- this._isSelected = false;
874
- this.slideForExpanded(false);
878
+ this.reorderButtonLabel = '';
879
+ _SkyRepeaterItemComponent_adapterService.set(this, void 0);
880
+ _SkyRepeaterItemComponent_changeDetector.set(this, void 0);
881
+ _SkyRepeaterItemComponent_elementRef.set(this, void 0);
882
+ _SkyRepeaterItemComponent_isExpanded.set(this, true);
883
+ _SkyRepeaterItemComponent_keyboardReorderingEnabled.set(this, false);
884
+ _SkyRepeaterItemComponent_ngUnsubscribe.set(this, new Subject());
885
+ _SkyRepeaterItemComponent_reorderCancelText.set(this, '');
886
+ _SkyRepeaterItemComponent_reorderCurrentIndex.set(this, -1);
887
+ _SkyRepeaterItemComponent_reorderFinishText.set(this, '');
888
+ _SkyRepeaterItemComponent_reorderInstructions.set(this, '');
889
+ _SkyRepeaterItemComponent_reorderMovedText.set(this, '');
890
+ _SkyRepeaterItemComponent_reorderStateDescription.set(this, '');
891
+ _SkyRepeaterItemComponent_reorderSteps.set(this, 0);
892
+ _SkyRepeaterItemComponent_repeaterService.set(this, void 0);
893
+ _SkyRepeaterItemComponent_resourceService.set(this, void 0);
894
+ _SkyRepeaterItemComponent__isCollapsible.set(this, true);
895
+ _SkyRepeaterItemComponent__isDisabled.set(this, false);
896
+ _SkyRepeaterItemComponent__isSelected.set(this, void 0);
897
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_repeaterService, repeaterService, "f");
898
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_changeDetector, changeDetector, "f");
899
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_adapterService, adapterService, "f");
900
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_elementRef, elementRef, "f");
901
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_resourceService, resourceService, "f");
902
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
875
903
  forkJoin([
876
- this.resourceService.getString('skyux_repeater_item_reorder_cancel'),
877
- this.resourceService.getString('skyux_repeater_item_reorder_finish'),
878
- this.resourceService.getString('skyux_repeater_item_reorder_instructions'),
879
- this.resourceService.getString('skyux_repeater_item_reorder_operation'),
880
- this.resourceService.getString('skyux_repeater_item_reorder_moved'),
881
- ]).subscribe((translatedStrings) => {
882
- this.reorderCancelText = translatedStrings[0];
883
- this.reorderFinishText = translatedStrings[1];
884
- this.reorderStateDescription = translatedStrings[2];
885
- this.reorderInstructions = translatedStrings[3];
886
- this.reorderMovedText = translatedStrings[4];
887
- this.reorderButtonLabel = this.reorderInstructions;
904
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_cancel'),
905
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_finish'),
906
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_instructions'),
907
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_operation'),
908
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_moved'),
909
+ ])
910
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f")))
911
+ .subscribe(([reorderCancelText, reorderFinishText, reorderInstructionsText, reorderOperationText, reorderMovedText,]) => {
912
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCancelText, reorderCancelText, "f");
913
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderFinishText, reorderFinishText, "f");
914
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderStateDescription, reorderInstructionsText, "f");
915
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderInstructions, reorderOperationText, "f");
916
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderMovedText, reorderMovedText, "f");
917
+ this.reorderButtonLabel = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
888
918
  });
889
- this.itemRole$ = this.repeaterService.itemRole.asObservable();
919
+ this.contentId = `sky-repeater-item-content-${++nextContentId}`;
920
+ this.itemRole$ = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").itemRole.asObservable();
890
921
  }
891
922
  /**
892
923
  * Make the first, non-disabled item tab-focusable.
@@ -894,7 +925,7 @@ class SkyRepeaterItemComponent {
894
925
  * - One item per list/grid/listbox should be tab focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#grid).
895
926
  */
896
927
  get tabindex() {
897
- return this.repeaterService.items.filter((item) => !item.disabled)[0] ===
928
+ return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled)[0] ===
898
929
  this
899
930
  ? 0
900
931
  : -1;
@@ -903,35 +934,35 @@ class SkyRepeaterItemComponent {
903
934
  * Whether to exclude an item when cycling through.
904
935
  */
905
936
  set disabled(value) {
906
- if (this._isDisabled !== value) {
937
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f") !== value) {
907
938
  if (value) {
908
939
  this.isSelected = false;
909
- this._isDisabled = true;
940
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, true, "f");
910
941
  }
911
942
  else {
912
- this._isDisabled = false;
943
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent__isDisabled, false, "f");
913
944
  }
914
945
  if (this.isActive) {
915
- this.repeaterService.activateItemByIndex(undefined);
946
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItemByIndex(undefined);
916
947
  }
917
- if (this.elementRef.nativeElement.matches(':focus-within')) {
918
- this.elementRef.nativeElement.ownerDocument.activeElement.blur();
948
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
949
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.ownerDocument.activeElement.blur();
919
950
  }
920
- this.changeDetector.markForCheck();
951
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
921
952
  }
922
953
  }
923
954
  get disabled() {
924
- return this._isDisabled;
955
+ return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isDisabled, "f");
925
956
  }
926
957
  /**
927
958
  * Indicates whether the repeater item is expanded.
928
959
  * @default true
929
960
  */
930
961
  set isExpanded(value) {
931
- this.updateForExpanded(value, true);
962
+ this.updateForExpanded(value !== false);
932
963
  }
933
964
  get isExpanded() {
934
- return this._isExpanded;
965
+ return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f");
935
966
  }
936
967
  /**
937
968
  * Indicates whether the repeater item's checkbox is selected.
@@ -939,54 +970,54 @@ class SkyRepeaterItemComponent {
939
970
  * @default false
940
971
  */
941
972
  set isSelected(value) {
942
- if (!this.disabled && value !== this._isSelected) {
943
- this._isSelected = value;
944
- this.isSelectedChange.emit(this._isSelected);
973
+ if (!this.disabled && value !== __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f")) {
974
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent__isSelected, value, "f");
975
+ this.isSelectedChange.emit(__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f"));
945
976
  }
946
977
  }
947
978
  get isSelected() {
948
- return this._isSelected;
979
+ return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isSelected, "f");
949
980
  }
950
981
  set isCollapsible(value) {
951
982
  if (this.isCollapsible !== value) {
952
- this._isCollapsible = value;
983
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent__isCollapsible, value !== false, "f");
953
984
  /*istanbul ignore else */
954
- if (!value) {
955
- this.updateForExpanded(true, false);
985
+ if (!__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f")) {
986
+ this.updateForExpanded(true);
956
987
  }
957
988
  }
958
- this.changeDetector.markForCheck();
989
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
959
990
  }
960
991
  get isCollapsible() {
961
- return this._isCollapsible;
992
+ return __classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f");
962
993
  }
963
994
  get repeaterGroupClass() {
964
- return 'sky-repeater-item-group-' + this.repeaterService.repeaterGroupId;
995
+ return 'sky-repeater-item-group-' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").repeaterGroupId;
965
996
  }
966
997
  ngOnInit() {
967
- this.repeaterService.registerItem(this);
968
- this.repeaterService.activeItemChange
969
- .pipe(takeUntil(this.ngUnsubscribe))
998
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerItem(this);
999
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activeItemChange
1000
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f")))
970
1001
  .subscribe((item) => {
971
1002
  const newIsActiveValue = this === item;
972
1003
  if (newIsActiveValue !== this.isActive) {
973
1004
  this.isActive = newIsActiveValue;
974
- this.changeDetector.markForCheck();
1005
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
975
1006
  }
976
1007
  });
977
1008
  }
978
1009
  ngAfterViewInit() {
979
- this.hasItemContent = this.repeaterItemContentComponents.length > 0;
980
- this.updateExpandOnContentChange();
1010
+ this.hasItemContent = !!this.repeaterItemContentComponents?.length;
1011
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_updateExpandOnContentChange).call(this);
981
1012
  }
982
1013
  ngOnDestroy() {
983
1014
  this.collapse.complete();
984
1015
  this.expand.complete();
985
1016
  this.inlineFormClose.complete();
986
1017
  this.isSelectedChange.complete();
987
- this.ngUnsubscribe.next();
988
- this.ngUnsubscribe.complete();
989
- this.repeaterService.unregisterItem(this);
1018
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").next();
1019
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f").complete();
1020
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").unregisterItem(this);
990
1021
  }
991
1022
  onKeydown($event) {
992
1023
  if ([' ', 'Enter', 'Home', 'End', 'ArrowUp', 'ArrowDown'].includes($event.key)) {
@@ -1006,7 +1037,7 @@ class SkyRepeaterItemComponent {
1006
1037
  }
1007
1038
  /* istanbul ignore else */
1008
1039
  if (['Home', 'End'].includes($event.key)) {
1009
- const items = this.repeaterService.items.filter((item) => !item.disabled);
1040
+ const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.filter((item) => !item.disabled);
1010
1041
  if ($event.key === 'Home') {
1011
1042
  activateItem = items.shift();
1012
1043
  }
@@ -1016,7 +1047,7 @@ class SkyRepeaterItemComponent {
1016
1047
  }
1017
1048
  /* istanbul ignore else */
1018
1049
  if (['ArrowUp', 'ArrowDown'].includes($event.key)) {
1019
- const currentIndex = this.repeaterService.items.findIndex((item) => item === this);
1050
+ const currentIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items.findIndex((item) => item === this);
1020
1051
  let sliceFrom;
1021
1052
  let sliceTo;
1022
1053
  if ($event.key === 'ArrowUp') {
@@ -1027,7 +1058,7 @@ class SkyRepeaterItemComponent {
1027
1058
  sliceFrom = currentIndex + 1;
1028
1059
  sliceTo = undefined;
1029
1060
  }
1030
- const items = this.repeaterService.items
1061
+ const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
1031
1062
  .slice(sliceFrom, sliceTo)
1032
1063
  .filter((item) => !item.disabled);
1033
1064
  activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
@@ -1041,7 +1072,7 @@ class SkyRepeaterItemComponent {
1041
1072
  sliceFrom = currentIndex + 1;
1042
1073
  sliceTo = undefined;
1043
1074
  }
1044
- const items = this.repeaterService.items
1075
+ const items = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").items
1045
1076
  .slice(sliceFrom, sliceTo)
1046
1077
  .filter((item) => !item.disabled);
1047
1078
  activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();
@@ -1049,47 +1080,47 @@ class SkyRepeaterItemComponent {
1049
1080
  }
1050
1081
  /* istanbul ignore else */
1051
1082
  if (activateItem && !activateItem.isActive) {
1052
- this.repeaterService.activateItem(activateItem);
1053
- if (!activateItem.elementRef.nativeElement.matches(':focus-within')) {
1054
- activateItem.elementRef.nativeElement.focus();
1083
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(activateItem);
1084
+ if (!__classPrivateFieldGet(activateItem, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.matches(':focus-within')) {
1085
+ __classPrivateFieldGet(activateItem, _SkyRepeaterItemComponent_elementRef, "f").nativeElement.focus();
1055
1086
  }
1056
1087
  }
1057
1088
  }
1058
1089
  }
1059
1090
  headerClick() {
1060
1091
  if (this.isCollapsible) {
1061
- this.updateForExpanded(!this.isExpanded, true);
1092
+ this.updateForExpanded(!this.isExpanded);
1062
1093
  }
1063
1094
  }
1064
1095
  chevronDirectionChange(direction) {
1065
- this.updateForExpanded(direction === 'up', true);
1096
+ this.updateForExpanded(direction === 'up');
1066
1097
  }
1067
1098
  onRepeaterItemClick(event) {
1068
1099
  // Only activate item if clicking on the title, content, or parent item div.
1069
1100
  // This will avoid accidental activations when clicking inside interactive elements like
1070
1101
  // the expand/collapse chevron, dropdown, inline-delete, etc...
1071
- if (event.target === this.itemRef.nativeElement ||
1072
- this.itemContentRef.nativeElement.contains(event.target) ||
1073
- this.itemHeaderRef.nativeElement.contains(event.target)) {
1074
- this.repeaterService.activateItem(this);
1102
+ if (event.target === this.itemRef?.nativeElement ||
1103
+ this.itemContentRef?.nativeElement.contains(event.target) ||
1104
+ this.itemHeaderRef?.nativeElement.contains(event.target)) {
1105
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(this);
1075
1106
  }
1076
1107
  }
1077
- updateForExpanded(value, animate) {
1108
+ updateForExpanded(value) {
1078
1109
  if (this.isCollapsible === false && value === false) {
1079
1110
  console.warn(`Setting isExpanded to false when the repeater item is not collapsible
1080
1111
  will have no effect.`);
1081
1112
  }
1082
- else if (this._isExpanded !== value) {
1083
- this._isExpanded = value;
1084
- if (this._isExpanded) {
1113
+ else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f") !== value) {
1114
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_isExpanded, value, "f");
1115
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f")) {
1085
1116
  this.expand.emit();
1086
1117
  }
1087
1118
  else {
1088
1119
  this.collapse.emit();
1089
1120
  }
1090
- this.repeaterService.onItemCollapseStateChange(this);
1091
- this.slideForExpanded(animate);
1092
- this.changeDetector.markForCheck();
1121
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
1122
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
1123
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
1093
1124
  }
1094
1125
  }
1095
1126
  onCheckboxChange(value) {
@@ -1100,9 +1131,9 @@ class SkyRepeaterItemComponent {
1100
1131
  }
1101
1132
  moveToTop(event) {
1102
1133
  event.stopPropagation();
1103
- this.adapterService.moveItemUp(this.elementRef.nativeElement, true);
1104
- this.adapterService.focusElement(event.target);
1105
- this.repeaterService.registerOrderChange();
1134
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, true);
1135
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
1136
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
1106
1137
  }
1107
1138
  onReorderHandleKeyDown(event) {
1108
1139
  /*istanbul ignore else */
@@ -1110,43 +1141,43 @@ class SkyRepeaterItemComponent {
1110
1141
  switch (event.key.toLowerCase()) {
1111
1142
  case ' ':
1112
1143
  case 'enter':
1113
- this.keyboardToggleReorder();
1144
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardToggleReorder).call(this);
1114
1145
  event.preventDefault();
1115
1146
  event.stopPropagation();
1116
1147
  break;
1117
1148
  case 'escape':
1118
1149
  /* istanbul ignore else */
1119
- if (this.keyboardReorderingEnabled) {
1120
- this.keyboardReorderingEnabled = false;
1121
- this.revertReorderSteps();
1150
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
1151
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
1152
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
1122
1153
  this.reorderButtonLabel =
1123
- this.reorderCancelText + ' ' + this.reorderInstructions;
1124
- this.adapterService.focusElement(event.target);
1154
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCancelText, "f") + ' ' + __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
1155
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(event.target);
1125
1156
  event.preventDefault();
1126
1157
  event.stopPropagation();
1127
1158
  }
1128
1159
  break;
1129
1160
  case 'arrowup':
1130
- if (this.keyboardReorderingEnabled) {
1131
- this.keyboardReorderUp();
1161
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
1162
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderUp).call(this);
1132
1163
  event.preventDefault();
1133
1164
  event.stopPropagation();
1134
- this.repeaterService.registerOrderChange();
1165
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
1135
1166
  }
1136
1167
  break;
1137
1168
  case 'arrowdown':
1138
1169
  /* istanbul ignore else */
1139
- if (this.keyboardReorderingEnabled) {
1140
- this.keyboardReorderDown();
1170
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
1171
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_keyboardReorderDown).call(this);
1141
1172
  event.preventDefault();
1142
1173
  event.stopPropagation();
1143
- this.repeaterService.registerOrderChange();
1174
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
1144
1175
  }
1145
1176
  break;
1146
1177
  case 'arrowleft':
1147
1178
  case 'arrowright':
1148
1179
  /* istanbul ignore else */
1149
- if (this.keyboardReorderingEnabled) {
1180
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
1150
1181
  event.preventDefault();
1151
1182
  event.stopPropagation();
1152
1183
  }
@@ -1158,67 +1189,72 @@ class SkyRepeaterItemComponent {
1158
1189
  }
1159
1190
  }
1160
1191
  onReorderHandleBlur(event) {
1161
- this.keyboardReorderingEnabled = false;
1162
- this.revertReorderSteps();
1163
- this.reorderButtonLabel = this.reorderInstructions;
1192
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, false, "f");
1193
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_revertReorderSteps).call(this);
1194
+ this.reorderButtonLabel = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f");
1164
1195
  this.reorderState = undefined;
1165
1196
  }
1166
- slideForExpanded(animate) {
1167
- this.slideDirection = this.isExpanded ? 'down' : 'up';
1168
- }
1169
- keyboardReorderUp() {
1170
- this.reorderCurrentIndex = this.adapterService.moveItemUp(this.elementRef.nativeElement);
1171
- this.reorderSteps--;
1172
- this.adapterService.focusElement(this.grabHandle);
1173
- this.keyboardReorderingEnabled = true;
1174
- this.reorderButtonLabel = `${this.reorderMovedText} ${this.reorderCurrentIndex + 1}`;
1175
- }
1176
- keyboardReorderDown() {
1177
- this.reorderCurrentIndex = this.adapterService.moveItemDown(this.elementRef.nativeElement);
1178
- this.reorderSteps++;
1179
- this.adapterService.focusElement(this.grabHandle);
1180
- this.keyboardReorderingEnabled = true;
1181
- this.reorderButtonLabel = `${this.reorderMovedText} ${this.reorderCurrentIndex + 1}`;
1182
- }
1183
- keyboardToggleReorder() {
1184
- this.keyboardReorderingEnabled = !this.keyboardReorderingEnabled;
1185
- this.reorderSteps = 0;
1186
- if (this.keyboardReorderingEnabled) {
1187
- this.reorderState = this.reorderStateDescription;
1188
- }
1189
- else {
1190
- this.reorderState = `${this.reorderFinishText} ${this.reorderCurrentIndex + 1} ${this.reorderInstructions}`;
1191
- }
1197
+ }
1198
+ _SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemComponent_changeDetector = new WeakMap(), _SkyRepeaterItemComponent_elementRef = new WeakMap(), _SkyRepeaterItemComponent_isExpanded = new WeakMap(), _SkyRepeaterItemComponent_keyboardReorderingEnabled = new WeakMap(), _SkyRepeaterItemComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterItemComponent_reorderCancelText = new WeakMap(), _SkyRepeaterItemComponent_reorderCurrentIndex = new WeakMap(), _SkyRepeaterItemComponent_reorderFinishText = new WeakMap(), _SkyRepeaterItemComponent_reorderInstructions = new WeakMap(), _SkyRepeaterItemComponent_reorderMovedText = new WeakMap(), _SkyRepeaterItemComponent_reorderStateDescription = new WeakMap(), _SkyRepeaterItemComponent_reorderSteps = new WeakMap(), _SkyRepeaterItemComponent_repeaterService = new WeakMap(), _SkyRepeaterItemComponent_resourceService = new WeakMap(), _SkyRepeaterItemComponent__isCollapsible = new WeakMap(), _SkyRepeaterItemComponent__isDisabled = new WeakMap(), _SkyRepeaterItemComponent__isSelected = new WeakMap(), _SkyRepeaterItemComponent_instances = new WeakSet(), _SkyRepeaterItemComponent_slideForExpanded = function _SkyRepeaterItemComponent_slideForExpanded() {
1199
+ this.slideDirection = this.isExpanded ? 'down' : 'up';
1200
+ }, _SkyRepeaterItemComponent_keyboardReorderUp = function _SkyRepeaterItemComponent_keyboardReorderUp() {
1201
+ var _a;
1202
+ const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
1203
+ if (newIndex !== undefined) {
1204
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
1205
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a--, _a), "f");
1206
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
1207
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
1208
+ this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
1209
+ }
1210
+ }, _SkyRepeaterItemComponent_keyboardReorderDown = function _SkyRepeaterItemComponent_keyboardReorderDown() {
1211
+ var _a;
1212
+ const newIndex = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement);
1213
+ if (newIndex) {
1214
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, newIndex, "f");
1215
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, (_a = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"), _a++, _a), "f");
1216
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").focusElement(this.grabHandle);
1217
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, true, "f");
1218
+ this.reorderButtonLabel = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderMovedText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1}`;
1219
+ }
1220
+ }, _SkyRepeaterItemComponent_keyboardToggleReorder = function _SkyRepeaterItemComponent_keyboardToggleReorder() {
1221
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, !__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f"), "f");
1222
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderSteps, 0, "f");
1223
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_keyboardReorderingEnabled, "f")) {
1224
+ this.reorderState = __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderStateDescription, "f");
1192
1225
  }
1193
- revertReorderSteps() {
1194
- if (this.reorderSteps < 0) {
1195
- this.adapterService.moveItemDown(this.elementRef.nativeElement, Math.abs(this.reorderSteps));
1196
- }
1197
- else if (this.reorderSteps > 0) {
1198
- this.adapterService.moveItemUp(this.elementRef.nativeElement, false, this.reorderSteps);
1226
+ else {
1227
+ // TODO: Needs improvement to be localizable
1228
+ this.reorderState = `${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderFinishText, "f")} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, "f") + 1} ${__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderInstructions, "f")}`;
1229
+ __classPrivateFieldSet(this, _SkyRepeaterItemComponent_reorderCurrentIndex, -1, "f");
1230
+ }
1231
+ }, _SkyRepeaterItemComponent_revertReorderSteps = function _SkyRepeaterItemComponent_revertReorderSteps() {
1232
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") < 0) {
1233
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemDown(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, Math.abs(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f")));
1234
+ }
1235
+ else if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f") > 0) {
1236
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_adapterService, "f").moveItemUp(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_elementRef, "f").nativeElement, false, __classPrivateFieldGet(this, _SkyRepeaterItemComponent_reorderSteps, "f"));
1237
+ }
1238
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").registerOrderChange();
1239
+ }, _SkyRepeaterItemComponent_updateExpandOnContentChange = function _SkyRepeaterItemComponent_updateExpandOnContentChange() {
1240
+ this.repeaterItemContentComponents?.changes
1241
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterItemComponent_ngUnsubscribe, "f")))
1242
+ .subscribe(() => {
1243
+ this.hasItemContent = !!this.repeaterItemContentComponents?.length;
1244
+ /* istanbul ignore next */
1245
+ this.isCollapsible =
1246
+ this.hasItemContent && __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode !== 'none';
1247
+ /* istanbul ignore else */
1248
+ if (__classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").expandMode === 'single') {
1249
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
1199
1250
  }
1200
- this.repeaterService.registerOrderChange();
1201
- }
1202
- updateExpandOnContentChange() {
1203
- this.repeaterItemContentComponents.changes
1204
- .pipe(takeUntil(this.ngUnsubscribe))
1205
- .subscribe(() => {
1206
- this.hasItemContent = this.repeaterItemContentComponents.length > 0;
1207
- /* istanbul ignore next */
1208
- this.isCollapsible =
1209
- this.hasItemContent && this.repeaterService.expandMode !== 'none';
1210
- /* istanbul ignore else */
1211
- if (this.repeaterService.expandMode === 'single') {
1212
- this.repeaterService.onItemCollapseStateChange(this);
1213
- }
1214
- });
1215
- }
1216
- }
1251
+ });
1252
+ };
1217
1253
  SkyRepeaterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i4.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
1218
- SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "tabindex": "this.tabindex", "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? isSelected : undefined\"\n [attr.role]=\"showInlineForm ? 'form' : (itemRole$ | async).item\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n [attr.role]=\"(itemRole$ | async).title\"\n >\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async).content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1254
+ SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "tabindex": "this.tabindex", "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"showInlineForm ? 'form' : (itemRole$ | async)?.item\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n [attr.role]=\"(itemRole$ | async)?.title\"\n >\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1219
1255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
1220
1256
  type: Component,
1221
- args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? isSelected : undefined\"\n [attr.role]=\"showInlineForm ? 'form' : (itemRole$ | async).item\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n [attr.role]=\"(itemRole$ | async).title\"\n >\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async).content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]
1257
+ args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"showInlineForm ? 'form' : (itemRole$ | async)?.item\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div class=\"sky-repeater-item-left\">\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div\n class=\"sky-repeater-item-title sky-emphasized\"\n #titleRef\n [attr.role]=\"(itemRole$ | async)?.title\"\n >\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin-right:10px}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]
1222
1258
  }], ctorParameters: function () { return [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i4.SkyLibResourcesService }]; }, propDecorators: { tabindex: [{
1223
1259
  type: HostBinding
1224
1260
  }], disabled: [{
@@ -1275,18 +1311,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1275
1311
  args: ['keydown', ['$event']]
1276
1312
  }] } });
1277
1313
 
1278
- let uniqueId = 0;
1314
+ var _SkyRepeaterComponent_instances, _SkyRepeaterComponent_adapterService, _SkyRepeaterComponent_changeDetector, _SkyRepeaterComponent_dragulaService, _SkyRepeaterComponent_elementRef, _SkyRepeaterComponent_renderer, _SkyRepeaterComponent_repeaterService, _SkyRepeaterComponent_ngUnsubscribe, _SkyRepeaterComponent_updateForExpandMode, _SkyRepeaterComponent_initializeDragAndDrop, _SkyRepeaterComponent_destroyDragAndDrop, _SkyRepeaterComponent_emitTags, _SkyRepeaterComponent_everyItemHasTag, _SkyRepeaterComponent_updateRole;
1279
1315
  /**
1280
1316
  * Creates a container to display repeater items.
1281
1317
  */
1282
1318
  class SkyRepeaterComponent {
1283
1319
  constructor(changeDetector, repeaterService, adapterService, dragulaService, elementRef, renderer) {
1284
- this.changeDetector = changeDetector;
1285
- this.repeaterService = repeaterService;
1286
- this.adapterService = adapterService;
1287
- this.dragulaService = dragulaService;
1288
- this.elementRef = elementRef;
1289
- this.renderer = renderer;
1320
+ _SkyRepeaterComponent_instances.add(this);
1290
1321
  /**
1291
1322
  * Indicates whether users can change the order of items in the repeater list.
1292
1323
  * Each repeater item also has `reorderable` property to indicate whether
@@ -1302,15 +1333,25 @@ class SkyRepeaterComponent {
1302
1333
  * This event emits an ordered array of the `tag` properties that the consumer provides for each repeater item.
1303
1334
  */
1304
1335
  this.orderChange = new EventEmitter();
1305
- this.dragulaUnsubscribe = new Subject();
1306
- this.ngUnsubscribe = new Subject();
1307
- this._expandMode = 'none';
1308
- this.dragulaGroupName = `sky-repeater-dragula-${++uniqueId}`;
1309
- this.repeaterService.itemCollapseStateChange
1310
- .pipe(takeUntil(this.ngUnsubscribe))
1336
+ _SkyRepeaterComponent_adapterService.set(this, void 0);
1337
+ _SkyRepeaterComponent_changeDetector.set(this, void 0);
1338
+ _SkyRepeaterComponent_dragulaService.set(this, void 0);
1339
+ _SkyRepeaterComponent_elementRef.set(this, void 0);
1340
+ _SkyRepeaterComponent_renderer.set(this, void 0);
1341
+ _SkyRepeaterComponent_repeaterService.set(this, void 0);
1342
+ _SkyRepeaterComponent_ngUnsubscribe.set(this, new Subject());
1343
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_changeDetector, changeDetector, "f");
1344
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_repeaterService, repeaterService, "f");
1345
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_adapterService, adapterService, "f");
1346
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_dragulaService, dragulaService, "f");
1347
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_elementRef, elementRef, "f");
1348
+ __classPrivateFieldSet(this, _SkyRepeaterComponent_renderer, renderer, "f");
1349
+ this.dragulaGroupName = `sky-repeater-dragula-${__classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").repeaterGroupId}`;
1350
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemCollapseStateChange
1351
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
1311
1352
  .subscribe((item) => {
1312
1353
  if (this.expandMode === 'single' && item.isExpanded) {
1313
- this.items.forEach((otherItem) => {
1354
+ this.items?.forEach((otherItem) => {
1314
1355
  if (otherItem !== item &&
1315
1356
  otherItem.isExpanded &&
1316
1357
  otherItem.isCollapsible) {
@@ -1319,23 +1360,22 @@ class SkyRepeaterComponent {
1319
1360
  });
1320
1361
  }
1321
1362
  });
1322
- this.repeaterService.activeItemIndexChange
1323
- .pipe(takeUntil(this.ngUnsubscribe))
1363
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activeItemIndexChange
1364
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
1324
1365
  .subscribe((index) => {
1325
1366
  if (index !== this.activeIndex) {
1326
1367
  this.activeIndex = index;
1327
1368
  this.activeIndexChange.emit(index);
1328
1369
  }
1329
1370
  });
1330
- this.repeaterService.orderChange
1331
- .pipe(takeUntil(this.ngUnsubscribe))
1371
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").orderChange
1372
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
1332
1373
  .subscribe(() => {
1333
- this.emitTags();
1374
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
1334
1375
  });
1335
- this.repeaterService.repeaterGroupId = uniqueId;
1336
- this.updateForExpandMode();
1337
- this.adapterService.setRepeaterHost(this.elementRef);
1338
- this.initializeDragAndDrop();
1376
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
1377
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").setRepeaterHost(__classPrivateFieldGet(this, _SkyRepeaterComponent_elementRef, "f"));
1378
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_initializeDragAndDrop).call(this);
1339
1379
  }
1340
1380
  /**
1341
1381
  * Specifies a layout to determine which repeater items are expanded by default and whether
@@ -1356,210 +1396,202 @@ class SkyRepeaterComponent {
1356
1396
  * and users only occasionally need to view the body content.
1357
1397
  * @default "none"
1358
1398
  */
1399
+ // TODO: Remove 'string' as a valid type in a breaking change.
1359
1400
  set expandMode(value) {
1360
- this.repeaterService.expandMode = value;
1361
- this._expandMode = value;
1362
- this.updateForExpandMode();
1401
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode = value;
1402
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
1363
1403
  }
1364
1404
  get expandMode() {
1365
- return this._expandMode || 'none';
1405
+ return __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").expandMode;
1366
1406
  }
1367
1407
  ngAfterContentInit() {
1368
1408
  // If activeIndex has been set on init, call service to activate the appropriate item.
1369
1409
  setTimeout(() => {
1370
1410
  if (this.activeIndex || this.activeIndex === 0) {
1371
- this.repeaterService.activateItemByIndex(this.activeIndex);
1411
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
1372
1412
  }
1373
- if (this.reorderable && !this.everyItemHasTag()) {
1413
+ if (this.reorderable && !__classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_everyItemHasTag).call(this)) {
1374
1414
  console.warn('Please supply tag properties for each repeater item when reordering functionality is enabled.');
1375
1415
  }
1376
1416
  });
1377
1417
  // HACK: Not updating for expand mode in a timeout causes an error.
1378
1418
  // https://github.com/angular/angular/issues/6005
1379
- this.items.changes.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {
1419
+ this.items?.changes.pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f"))).subscribe(() => {
1380
1420
  setTimeout(() => {
1381
- if (this.items.last) {
1382
- this.updateForExpandMode(this.items.last);
1421
+ if (this.items?.last) {
1422
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this, this.items.last);
1383
1423
  this.items.last.reorderable = this.reorderable;
1384
1424
  }
1385
1425
  if (this.activeIndex !== undefined) {
1386
- this.repeaterService.activateItemByIndex(this.activeIndex);
1426
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
1387
1427
  }
1388
- this.updateRole();
1428
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1389
1429
  });
1390
1430
  });
1391
1431
  setTimeout(() => {
1392
- this.updateForExpandMode();
1393
- this.items.forEach((item) => {
1432
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateForExpandMode).call(this);
1433
+ this.items?.forEach((item) => {
1394
1434
  item.reorderable = this.reorderable;
1395
1435
  });
1396
- this.updateRole();
1436
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1397
1437
  }, 0);
1398
1438
  }
1399
1439
  ngOnChanges(changes) {
1400
1440
  if (changes['activeIndex']) {
1401
- this.repeaterService.enableActiveState = true;
1441
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").enableActiveState = true;
1402
1442
  if (changes['activeIndex'].currentValue !==
1403
1443
  changes['activeIndex'].previousValue) {
1404
- this.repeaterService.activateItemByIndex(this.activeIndex);
1444
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").activateItemByIndex(this.activeIndex);
1405
1445
  }
1406
1446
  }
1407
1447
  if (changes.reorderable) {
1408
1448
  if (this.items) {
1409
1449
  this.items.forEach((item) => (item.reorderable = this.reorderable));
1410
1450
  }
1411
- this.updateRole();
1412
- this.changeDetector.markForCheck();
1451
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1452
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
1413
1453
  }
1414
1454
  }
1415
1455
  ngOnDestroy() {
1416
- this.ngUnsubscribe.next();
1417
- this.ngUnsubscribe.complete();
1418
- this.destroyDragAndDrop();
1456
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").next();
1457
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f").complete();
1458
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_destroyDragAndDrop).call(this);
1419
1459
  }
1420
1460
  ngOnInit() {
1421
- this.updateRole();
1461
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1422
1462
  }
1423
1463
  onCdkObserveContent() {
1424
- this.updateRole();
1425
- }
1426
- updateForExpandMode(itemAdded) {
1427
- if (this.items) {
1428
- let foundExpanded = false;
1429
- const isCollapsible = this.expandMode !== 'none';
1430
- const isSingle = this.expandMode === 'single';
1431
- // Keep any newly-added expanded item expanded and collapse the rest.
1432
- if (itemAdded && itemAdded.isExpanded) {
1433
- foundExpanded = true;
1434
- }
1435
- this.items.forEach((item) => {
1436
- item.isCollapsible = isCollapsible && !!item.hasItemContent;
1437
- if (item !== itemAdded && isSingle && item.isExpanded) {
1438
- if (foundExpanded) {
1439
- item.updateForExpanded(false, false);
1440
- }
1441
- foundExpanded = true;
1442
- }
1443
- });
1444
- this.updateRole();
1445
- }
1464
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1446
1465
  }
1447
- initializeDragAndDrop() {
1448
- /* Sanity check that we haven't already set up dragging abilities */
1449
- /* istanbul ignore else */
1450
- if (!this.dragulaService.find(this.dragulaGroupName)) {
1451
- this.dragulaService.createGroup(this.dragulaGroupName, {
1452
- moves: (el, container, handle) => {
1453
- const target = el.querySelector('.sky-repeater-item-grab-handle');
1454
- return this.reorderable && target && target.contains(handle);
1455
- },
1456
- });
1466
+ }
1467
+ _SkyRepeaterComponent_adapterService = new WeakMap(), _SkyRepeaterComponent_changeDetector = new WeakMap(), _SkyRepeaterComponent_dragulaService = new WeakMap(), _SkyRepeaterComponent_elementRef = new WeakMap(), _SkyRepeaterComponent_renderer = new WeakMap(), _SkyRepeaterComponent_repeaterService = new WeakMap(), _SkyRepeaterComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterComponent_instances = new WeakSet(), _SkyRepeaterComponent_updateForExpandMode = function _SkyRepeaterComponent_updateForExpandMode(itemAdded) {
1468
+ if (this.items) {
1469
+ let foundExpanded = false;
1470
+ const isCollapsible = this.expandMode !== 'none';
1471
+ const isSingle = this.expandMode === 'single';
1472
+ // Keep any newly-added expanded item expanded and collapse the rest.
1473
+ if (itemAdded && itemAdded.isExpanded) {
1474
+ foundExpanded = true;
1457
1475
  }
1458
- let draggedItemIndex;
1459
- this.dragulaService
1460
- .drag(this.dragulaGroupName)
1461
- .pipe(takeUntil(this.dragulaUnsubscribe))
1462
- .subscribe((args) => {
1463
- /* istanbul ignore else */
1464
- if (args.name === this.dragulaGroupName) {
1465
- this.renderer.addClass(args.el, 'sky-repeater-item-dragging');
1466
- draggedItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
1467
- }
1468
- });
1469
- this.dragulaService
1470
- .dragend(this.dragulaGroupName)
1471
- .pipe(takeUntil(this.dragulaUnsubscribe))
1472
- .subscribe((args) => {
1473
- /* istanbul ignore else */
1474
- if (args.name === this.dragulaGroupName) {
1475
- this.renderer.removeClass(args.el, 'sky-repeater-item-dragging');
1476
- const newItemIndex = this.adapterService.getRepeaterItemIndex(args.el);
1477
- /* sanity check */
1478
- /* istanbul ignore else */
1479
- if (draggedItemIndex >= 0) {
1480
- this.repeaterService.reorderItem(draggedItemIndex, newItemIndex);
1481
- draggedItemIndex = undefined;
1476
+ this.items.forEach((item) => {
1477
+ item.isCollapsible = isCollapsible && !!item.hasItemContent;
1478
+ if (item !== itemAdded && isSingle && item.isExpanded) {
1479
+ if (foundExpanded) {
1480
+ item.updateForExpanded(false);
1482
1481
  }
1483
- this.emitTags();
1482
+ foundExpanded = true;
1484
1483
  }
1485
1484
  });
1485
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1486
+ }
1487
+ }, _SkyRepeaterComponent_initializeDragAndDrop = function _SkyRepeaterComponent_initializeDragAndDrop() {
1488
+ /* Sanity check that we haven't already set up dragging abilities */
1489
+ /* istanbul ignore else */
1490
+ if (!__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
1491
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").createGroup(this.dragulaGroupName, {
1492
+ moves: (el, container, handle) => {
1493
+ const target = el?.querySelector('.sky-repeater-item-grab-handle');
1494
+ return !!this.reorderable && !!target && target.contains(handle);
1495
+ },
1496
+ });
1486
1497
  }
1487
- destroyDragAndDrop() {
1488
- this.dragulaUnsubscribe.next();
1489
- this.dragulaUnsubscribe.complete();
1490
- this.dragulaUnsubscribe = undefined;
1491
- /* Sanity check that we have set up dragging abilities */
1498
+ let draggedItemIndex = -1;
1499
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
1500
+ .drag(this.dragulaGroupName)
1501
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
1502
+ .subscribe((args) => {
1492
1503
  /* istanbul ignore else */
1493
- if (this.dragulaService.find(this.dragulaGroupName)) {
1494
- this.dragulaService.destroy(this.dragulaGroupName);
1504
+ if (args.name === this.dragulaGroupName) {
1505
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").addClass(args.el, 'sky-repeater-item-dragging');
1506
+ draggedItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
1495
1507
  }
1496
- }
1497
- emitTags() {
1498
- const tags = this.repeaterService.items.map((item) => item.tag);
1499
- this.orderChange.emit(tags);
1500
- }
1501
- everyItemHasTag() {
1502
- /* sanity check */
1503
- /* istanbul ignore if */
1504
- if (!this.items || this.items.length === 0) {
1505
- return false;
1508
+ });
1509
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f")
1510
+ .dragend(this.dragulaGroupName)
1511
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyRepeaterComponent_ngUnsubscribe, "f")))
1512
+ .subscribe((args) => {
1513
+ /* istanbul ignore else */
1514
+ if (args.name === this.dragulaGroupName) {
1515
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_renderer, "f").removeClass(args.el, 'sky-repeater-item-dragging');
1516
+ const newItemIndex = __classPrivateFieldGet(this, _SkyRepeaterComponent_adapterService, "f").getRepeaterItemIndex(args.el);
1517
+ /* sanity check */
1518
+ /* istanbul ignore else */
1519
+ if (draggedItemIndex >= 0) {
1520
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").reorderItem(draggedItemIndex, newItemIndex);
1521
+ draggedItemIndex = -1;
1522
+ }
1523
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_emitTags).call(this);
1506
1524
  }
1507
- return this.items.toArray().every((item) => {
1508
- return item.tag !== undefined;
1525
+ });
1526
+ }, _SkyRepeaterComponent_destroyDragAndDrop = function _SkyRepeaterComponent_destroyDragAndDrop() {
1527
+ /* Sanity check that we have set up dragging abilities */
1528
+ /* istanbul ignore else */
1529
+ if (__classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").find(this.dragulaGroupName)) {
1530
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_dragulaService, "f").destroy(this.dragulaGroupName);
1531
+ }
1532
+ }, _SkyRepeaterComponent_emitTags = function _SkyRepeaterComponent_emitTags() {
1533
+ const tags = __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").items.map((item) => item.tag);
1534
+ this.orderChange.emit(tags);
1535
+ }, _SkyRepeaterComponent_everyItemHasTag = function _SkyRepeaterComponent_everyItemHasTag() {
1536
+ /* sanity check */
1537
+ /* istanbul ignore if */
1538
+ if (!this.items || this.items.length === 0) {
1539
+ return false;
1540
+ }
1541
+ return this.items.toArray().every((item) => {
1542
+ return item.tag !== undefined;
1543
+ });
1544
+ }, _SkyRepeaterComponent_updateRole = function _SkyRepeaterComponent_updateRole() {
1545
+ // Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/
1546
+ // 1. If there are one or more interactions in the repeater item projected content, use grid.
1547
+ // 2. If there are selectable repeater items and no other interactions, use listbox.
1548
+ // 3. If there are no interactions, use list.
1549
+ // Default to list role.
1550
+ let autoRole = 'list';
1551
+ const roleMap = {
1552
+ list: { item: 'listitem', title: undefined, content: undefined },
1553
+ listbox: { item: 'option', title: undefined, content: undefined },
1554
+ grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
1555
+ };
1556
+ // Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
1557
+ const interactionSelector = [
1558
+ 'a[href]',
1559
+ 'audio[controls]',
1560
+ 'button',
1561
+ 'details',
1562
+ 'embed',
1563
+ 'iframe',
1564
+ 'img[usemap]',
1565
+ 'input:not([type="hidden"])',
1566
+ 'label',
1567
+ 'select',
1568
+ 'textarea',
1569
+ 'video[controls]',
1570
+ '[contenteditable]',
1571
+ '.sky-repeater[role="grid"]',
1572
+ ]
1573
+ .map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
1574
+ .concat([`skyux-dropdown`])
1575
+ .join(', ');
1576
+ const hasInteraction = this.reorderable ||
1577
+ this.items?.some((item) => item.isCollapsible) ||
1578
+ !!__classPrivateFieldGet(this, _SkyRepeaterComponent_elementRef, "f").nativeElement.querySelector(interactionSelector);
1579
+ if (hasInteraction) {
1580
+ // If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid
1581
+ autoRole = 'grid';
1582
+ }
1583
+ else if (this.items?.some((item) => !!item.selectable)) {
1584
+ // If the only interaction is select https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox
1585
+ autoRole = 'listbox';
1586
+ }
1587
+ if (this.role !== autoRole) {
1588
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_repeaterService, "f").itemRole.next({
1589
+ ...roleMap[autoRole],
1509
1590
  });
1591
+ this.role = `${autoRole}`;
1592
+ __classPrivateFieldGet(this, _SkyRepeaterComponent_changeDetector, "f").markForCheck();
1510
1593
  }
1511
- updateRole() {
1512
- // Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/
1513
- // 1. If there are one or more interactions in the repeater item projected content, use grid.
1514
- // 2. If there are selectable repeater items and no other interactions, use listbox.
1515
- // 3. If there are no interactions, use list.
1516
- // Default to list role.
1517
- let autoRole = 'list';
1518
- const roleMap = {
1519
- list: { item: 'listitem', title: undefined, content: undefined },
1520
- listbox: { item: 'option', title: undefined, content: undefined },
1521
- grid: { item: 'row', title: 'rowheader', content: 'gridcell' },
1522
- };
1523
- // Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content
1524
- const interactionSelector = [
1525
- 'a[href]',
1526
- 'audio[controls]',
1527
- 'button',
1528
- 'details',
1529
- 'embed',
1530
- 'iframe',
1531
- 'img[usemap]',
1532
- 'input:not([type="hidden"])',
1533
- 'label',
1534
- 'select',
1535
- 'textarea',
1536
- 'video[controls]',
1537
- '[contenteditable]',
1538
- '.sky-repeater[role="grid"]',
1539
- ]
1540
- .map((selector) => `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`)
1541
- .concat([`skyux-dropdown`])
1542
- .join(', ');
1543
- const hasInteraction = this.reorderable ||
1544
- this.items?.some((item) => item.isCollapsible) ||
1545
- !!this.elementRef.nativeElement.querySelector(interactionSelector);
1546
- if (hasInteraction) {
1547
- // If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid
1548
- autoRole = 'grid';
1549
- }
1550
- else if (this.items?.some((item) => item.selectable)) {
1551
- // If the only interaction is select https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox
1552
- autoRole = 'listbox';
1553
- }
1554
- if (this.role !== autoRole) {
1555
- this.repeaterService.itemRole.next({
1556
- ...roleMap[autoRole],
1557
- });
1558
- this.role = `${autoRole}`;
1559
- this.changeDetector.markForCheck();
1560
- }
1561
- }
1562
- }
1594
+ };
1563
1595
  SkyRepeaterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyRepeaterService }, { token: SkyRepeaterAdapterService }, { token: i3$1.DragulaService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1564
1596
  SkyRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyRepeaterComponent, selector: "sky-repeater", inputs: { activeIndex: "activeIndex", ariaLabel: "ariaLabel", reorderable: "reorderable", expandMode: "expandMode" }, outputs: { activeIndexChange: "activeIndexChange", orderChange: "orderChange" }, providers: [SkyRepeaterService, SkyRepeaterAdapterService], queries: [{ propertyName: "items", predicate: SkyRepeaterItemComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-container #repeaterHost>\n <div\n class=\"sky-repeater\"\n [attr.role]=\"role\"\n [attr.aria-label]=\"ariaLabel || ('skyux_repeater_label' | skyLibResources)\"\n [dragula]=\"dragulaGroupName\"\n (cdkObserveContent)=\"onCdkObserveContent()\"\n >\n <ng-content></ng-content>\n </div>\n</ng-container>\n", styles: [".sky-repeater{padding:0}\n"], dependencies: [{ kind: "directive", type: i3$1.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }, { kind: "directive", type: i4$1.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1565
1597
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyRepeaterComponent, decorators: [{