@skyux/layout 7.0.0-beta.1 → 7.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/documentation.json +1355 -781
  2. package/esm2020/index.mjs +1 -2
  3. package/esm2020/lib/modules/action-button/action-button-container.component.mjs +2 -2
  4. package/esm2020/lib/modules/card/card.component.mjs +38 -11
  5. package/esm2020/lib/modules/definition-list/definition-list-label.component.mjs +1 -1
  6. package/esm2020/lib/modules/definition-list/definition-list-value.component.mjs +3 -3
  7. package/esm2020/lib/modules/definition-list/definition-list.component.mjs +1 -1
  8. package/esm2020/lib/modules/definition-list/definition-list.service.mjs +1 -1
  9. package/esm2020/lib/modules/description-list/description-list-adapter-service.mjs +26 -22
  10. package/esm2020/lib/modules/description-list/description-list-content.component.mjs +2 -2
  11. package/esm2020/lib/modules/description-list/description-list-description.component.mjs +16 -11
  12. package/esm2020/lib/modules/description-list/description-list-term.component.mjs +1 -1
  13. package/esm2020/lib/modules/description-list/description-list.component.mjs +25 -16
  14. package/esm2020/lib/modules/fluid-grid/column.component.mjs +19 -1
  15. package/esm2020/lib/modules/fluid-grid/fluid-grid.component.mjs +15 -35
  16. package/esm2020/lib/modules/fluid-grid/row.component.mjs +1 -1
  17. package/esm2020/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +1 -1
  18. package/esm2020/lib/modules/format/format.component.mjs +34 -26
  19. package/esm2020/lib/modules/inline-delete/inline-delete-adapter.service.mjs +91 -83
  20. package/esm2020/lib/modules/inline-delete/inline-delete.component.mjs +15 -9
  21. package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +14 -8
  22. package/esm2020/lib/modules/page/page.component.mjs +8 -4
  23. package/esm2020/lib/modules/page-summary/page-summary-adapter.service.mjs +1 -1
  24. package/esm2020/lib/modules/page-summary/page-summary.component.mjs +40 -16
  25. package/esm2020/lib/modules/text-expand/text-expand-adapter.service.mjs +8 -10
  26. package/esm2020/lib/modules/text-expand/text-expand-modal-context-token.mjs +6 -0
  27. package/esm2020/lib/modules/text-expand/text-expand-modal-context.mjs +2 -6
  28. package/esm2020/lib/modules/text-expand/text-expand-modal.component.mjs +12 -10
  29. package/esm2020/lib/modules/text-expand/text-expand.component.mjs +188 -127
  30. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +10 -12
  31. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +139 -95
  32. package/esm2020/lib/modules/toolbar/toolbar.component.mjs +2 -2
  33. package/esm2020/testing/action-button-fixture.mjs +12 -6
  34. package/esm2020/testing/card-fixture.mjs +19 -16
  35. package/esm2020/testing/page-summary-fixture.mjs +9 -5
  36. package/fesm2015/skyux-layout-testing.mjs +35 -24
  37. package/fesm2015/skyux-layout-testing.mjs.map +1 -1
  38. package/fesm2015/skyux-layout.mjs +675 -506
  39. package/fesm2015/skyux-layout.mjs.map +1 -1
  40. package/fesm2020/skyux-layout-testing.mjs +35 -24
  41. package/fesm2020/skyux-layout-testing.mjs.map +1 -1
  42. package/fesm2020/skyux-layout.mjs +669 -506
  43. package/fesm2020/skyux-layout.mjs.map +1 -1
  44. package/index.d.ts +0 -1
  45. package/lib/modules/card/card.component.d.ts +7 -6
  46. package/lib/modules/definition-list/definition-list-label.component.d.ts +1 -1
  47. package/lib/modules/definition-list/definition-list-value.component.d.ts +1 -1
  48. package/lib/modules/definition-list/definition-list.component.d.ts +2 -2
  49. package/lib/modules/definition-list/definition-list.service.d.ts +2 -2
  50. package/lib/modules/description-list/description-list-adapter-service.d.ts +1 -2
  51. package/lib/modules/description-list/description-list-content.component.d.ts +2 -2
  52. package/lib/modules/description-list/description-list-description.component.d.ts +5 -7
  53. package/lib/modules/description-list/description-list-term.component.d.ts +1 -1
  54. package/lib/modules/description-list/description-list.component.d.ts +6 -7
  55. package/lib/modules/fluid-grid/column.component.d.ts +7 -5
  56. package/lib/modules/fluid-grid/fluid-grid.component.d.ts +3 -9
  57. package/lib/modules/fluid-grid/row.component.d.ts +1 -1
  58. package/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.d.ts +1 -1
  59. package/lib/modules/format/format.component.d.ts +5 -7
  60. package/lib/modules/inline-delete/inline-delete-adapter.service.d.ts +1 -11
  61. package/lib/modules/inline-delete/inline-delete.component.d.ts +3 -5
  62. package/lib/modules/page/page-theme-adapter.service.d.ts +1 -1
  63. package/lib/modules/page/page.component.d.ts +1 -1
  64. package/lib/modules/page-summary/page-summary.component.d.ts +8 -9
  65. package/lib/modules/text-expand/text-expand-adapter.service.d.ts +3 -4
  66. package/lib/modules/text-expand/text-expand-modal-context-token.d.ts +6 -0
  67. package/lib/modules/text-expand/text-expand-modal-context.d.ts +1 -1
  68. package/lib/modules/text-expand/text-expand.component.d.ts +18 -25
  69. package/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.d.ts +4 -5
  70. package/lib/modules/text-expand-repeater/text-expand-repeater.component.d.ts +13 -21
  71. package/package.json +9 -9
  72. package/testing/action-button-fixture.d.ts +4 -4
  73. package/testing/card-fixture.d.ts +3 -5
  74. package/testing/page-summary-fixture.d.ts +4 -4
  75. package/esm2020/lib/modules/fluid-grid/fluid-grid-gutter-size.mjs +0 -20
  76. package/lib/modules/fluid-grid/fluid-grid-gutter-size.d.ts +0 -18
@@ -3,7 +3,7 @@ import { ObserversModule } from '@angular/cdk/observers';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, EventEmitter, Component, ViewEncapsulation, SkipSelf, HostBinding, Input, Output, ElementRef, Optional, ContentChildren, ViewChild, HostListener, NgModule, ChangeDetectionStrategy, Directive, TemplateRef } from '@angular/core';
6
+ import { Injectable, EventEmitter, Component, ViewEncapsulation, SkipSelf, HostBinding, Input, Output, ElementRef, Optional, ContentChildren, ViewChild, HostListener, NgModule, ChangeDetectionStrategy, Directive, TemplateRef, InjectionToken, Inject } from '@angular/core';
7
7
  import * as i2 from '@angular/router';
8
8
  import { RouterModule } from '@angular/router';
9
9
  import * as i2$1 from '@skyux/indicators';
@@ -23,8 +23,8 @@ import * as i3$1 from '@angular/forms';
23
23
  import { FormsModule } from '@angular/forms';
24
24
  import * as i4 from '@skyux/forms';
25
25
  import { SkyCheckboxModule } from '@skyux/forms';
26
- import { trigger, transition, style, query, group, animate } from '@angular/animations';
27
- import * as i2$2 from '@skyux/modals';
26
+ import { trigger, transition, style, query, group, animate, state } from '@angular/animations';
27
+ import * as i1$4 from '@skyux/modals';
28
28
  import { SkyModalModule } from '@skyux/modals';
29
29
 
30
30
  var _SkyActionButtonAdapterService_instances, _SkyActionButtonAdapterService_renderer, _SkyActionButtonAdapterService_getResponsiveClassName;
@@ -749,111 +749,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
749
749
  }]
750
750
  }] });
751
751
 
752
+ var _SkyInlineDeleteAdapterService_instances, _SkyInlineDeleteAdapterService_element, _SkyInlineDeleteAdapterService_focusableElements, _SkyInlineDeleteAdapterService_parentEl, _SkyInlineDeleteAdapterService_parentElUnlistenFn, _SkyInlineDeleteAdapterService_renderer, _SkyInlineDeleteAdapterService_coreAdapterService, _SkyInlineDeleteAdapterService_focusNextElement, _SkyInlineDeleteAdapterService_getFocusableElements, _SkyInlineDeleteAdapterService_isElementHiddenOrCovered, _SkyInlineDeleteAdapterService_isElementHidden, _SkyInlineDeleteAdapterService_isShift;
752
753
  /**
753
754
  * @internal
754
755
  */
755
756
  class SkyInlineDeleteAdapterService {
756
757
  constructor(coreAdapterService, rendererFactory) {
757
- this.coreAdapterService = coreAdapterService;
758
- this.renderer = rendererFactory.createRenderer(undefined, undefined);
758
+ _SkyInlineDeleteAdapterService_instances.add(this);
759
+ _SkyInlineDeleteAdapterService_element.set(this, void 0);
760
+ _SkyInlineDeleteAdapterService_focusableElements.set(this, void 0);
761
+ _SkyInlineDeleteAdapterService_parentEl.set(this, void 0);
762
+ _SkyInlineDeleteAdapterService_parentElUnlistenFn.set(this, void 0);
763
+ _SkyInlineDeleteAdapterService_renderer.set(this, void 0);
764
+ _SkyInlineDeleteAdapterService_coreAdapterService.set(this, void 0);
765
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_coreAdapterService, coreAdapterService, "f");
766
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
759
767
  }
760
768
  clearListeners() {
761
769
  /* istanbul ignore else */
762
- if (this.parentElUnlistenFn) {
763
- this.parentElUnlistenFn();
770
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f")) {
771
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f").call(this);
764
772
  }
765
773
  }
766
774
  setEl(element) {
767
- this.element = element;
768
- this.parentEl = element.parentElement;
775
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_element, element, "f");
776
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_parentEl, element.parentElement, "f");
769
777
  /* istanbul ignore else */
770
- if (this.parentEl) {
771
- this.parentElUnlistenFn = this.renderer.listen(this.parentEl, 'focusin', (event) => {
772
- const target = event.target;
773
- if (!this.element.contains(target) && this.parentEl !== target) {
774
- event.preventDefault();
775
- event.stopPropagation();
776
- event.stopImmediatePropagation();
777
- target.blur();
778
- this.focusNextElement(target, this.isShift(event), this.parentEl);
778
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f")) {
779
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_renderer, "f").listen(__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f"), 'focusin', (event) => {
780
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f")) {
781
+ const target = event.target;
782
+ if (!__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f").contains(target) && __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f") !== target) {
783
+ event.preventDefault();
784
+ event.stopPropagation();
785
+ event.stopImmediatePropagation();
786
+ target.blur();
787
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_focusNextElement).call(this, target, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isShift).call(this, event));
788
+ }
779
789
  }
780
- });
790
+ }), "f");
781
791
  }
782
792
  }
783
- focusNextElement(targetElement, shiftKey, busyEl) {
784
- const focussable = this.getFocussableElements();
785
- // If shift tab, go in the other direction
786
- const modifier = shiftKey ? -1 : 1;
787
- // Find the next navigable element that isn't waiting
788
- const startingIndex = focussable.indexOf(targetElement);
789
- let curIndex = startingIndex + modifier;
790
- while (focussable[curIndex] &&
791
- this.isElementHiddenOrCovered(focussable[curIndex])) {
793
+ }
794
+ _SkyInlineDeleteAdapterService_element = new WeakMap(), _SkyInlineDeleteAdapterService_focusableElements = new WeakMap(), _SkyInlineDeleteAdapterService_parentEl = new WeakMap(), _SkyInlineDeleteAdapterService_parentElUnlistenFn = new WeakMap(), _SkyInlineDeleteAdapterService_renderer = new WeakMap(), _SkyInlineDeleteAdapterService_coreAdapterService = new WeakMap(), _SkyInlineDeleteAdapterService_instances = new WeakSet(), _SkyInlineDeleteAdapterService_focusNextElement = function _SkyInlineDeleteAdapterService_focusNextElement(targetElement, shiftKey) {
795
+ const focusable = __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_getFocusableElements).call(this);
796
+ // If shift tab, go in the other direction
797
+ const modifier = shiftKey ? -1 : 1;
798
+ // Find the next navigable element that isn't waiting
799
+ const startingIndex = focusable.indexOf(targetElement);
800
+ let curIndex = startingIndex + modifier;
801
+ while (focusable[curIndex] &&
802
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
803
+ curIndex += modifier;
804
+ }
805
+ if (focusable[curIndex] &&
806
+ !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
807
+ focusable[curIndex].focus();
808
+ }
809
+ else {
810
+ // Try wrapping the navigation
811
+ /* istanbul ignore next */
812
+ curIndex = modifier > 0 ? 0 : focusable.length - 1;
813
+ /* istanbul ignore next */
814
+ while (curIndex !== startingIndex &&
815
+ focusable[curIndex] &&
816
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
792
817
  curIndex += modifier;
793
818
  }
794
- if (focussable[curIndex] &&
795
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
796
- focussable[curIndex].focus();
819
+ /* istanbul ignore else */
820
+ /* sanity check */
821
+ if (focusable[curIndex] &&
822
+ !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
823
+ focusable[curIndex].focus();
797
824
  }
798
825
  else {
799
- // Try wrapping the navigation
800
- /* istanbul ignore next */
801
- curIndex = modifier > 0 ? 0 : focussable.length - 1;
802
- /* istanbul ignore next */
803
- while (curIndex !== startingIndex &&
804
- focussable[curIndex] &&
805
- this.isElementHiddenOrCovered(focussable[curIndex])) {
806
- curIndex += modifier;
807
- }
808
- /* istanbul ignore else */
809
- /* sanity check */
810
- if (focussable[curIndex] &&
811
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
812
- focussable[curIndex].focus();
813
- }
814
- else {
815
- // No valid target, wipe focus
816
- // This should never happen in practice due to the multiple inline delete buttons
817
- if (document.activeElement && document.activeElement.blur) {
818
- document.activeElement.blur();
819
- }
820
- document.body.focus();
826
+ // No valid target, wipe focus
827
+ // This should never happen in practice due to the multiple inline delete buttons
828
+ if (document.activeElement && document.activeElement.blur) {
829
+ document.activeElement.blur();
821
830
  }
822
- }
823
- // clear focussableElements list so that if things change between tabbing we know about it
824
- this.focussableElements = undefined;
825
- }
826
- getFocussableElements() {
827
- // Keep this cached so we can reduce querys
828
- if (this.focussableElements) {
829
- return this.focussableElements;
830
- }
831
- this.focussableElements = this.coreAdapterService.getFocusableChildren(document.body);
832
- return this.focussableElements;
833
- }
834
- isElementHiddenOrCovered(element) {
835
- // Check if the element is hidden by css, not within the inline delete, or a wait is covering it
836
- return (this.isElementHidden(element) ||
837
- (this.parentEl.contains(element) &&
838
- (!this.element.contains(element) ||
839
- this.parentEl.querySelector('.sky-wait-mask') !== null)));
840
- }
841
- isElementHidden(element) {
842
- const style = window.getComputedStyle(element);
843
- return style.display === 'none' || style.visibility === 'hidden';
844
- }
845
- isShift(event) {
846
- // Determine if shift+tab was used based on element order
847
- const elements = this.getFocussableElements().filter((elem) => !this.isElementHidden(elem));
848
- const previousInd = elements.indexOf(event.relatedTarget);
849
- const currentInd = elements.indexOf(event.target);
850
- /* istanbul ignore next */
851
- return (previousInd === currentInd + 1 ||
852
- (previousInd === 0 && currentInd === elements.length - 1) ||
853
- previousInd > currentInd ||
854
- !event.relatedTarget);
855
- }
856
- }
831
+ document.body.focus();
832
+ }
833
+ }
834
+ // clear focusableElements list so that if things change between tabbing we know about it
835
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_focusableElements, undefined, "f");
836
+ }, _SkyInlineDeleteAdapterService_getFocusableElements = function _SkyInlineDeleteAdapterService_getFocusableElements() {
837
+ // Keep this cached so we can reduce querys
838
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f")) {
839
+ return __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f");
840
+ }
841
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_focusableElements, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_coreAdapterService, "f").getFocusableChildren(document.body), "f");
842
+ return __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f");
843
+ }, _SkyInlineDeleteAdapterService_isElementHiddenOrCovered = function _SkyInlineDeleteAdapterService_isElementHiddenOrCovered(element) {
844
+ var _a;
845
+ // Check if the element is hidden by css, not within the inline delete, or a wait is covering it
846
+ return (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHidden).call(this, element) ||
847
+ (!!__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f") &&
848
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f").contains(element) &&
849
+ (!((_a = __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f")) === null || _a === void 0 ? void 0 : _a.contains(element)) ||
850
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f").querySelector('.sky-wait-mask') !== null)));
851
+ }, _SkyInlineDeleteAdapterService_isElementHidden = function _SkyInlineDeleteAdapterService_isElementHidden(element) {
852
+ const style = window.getComputedStyle(element);
853
+ return style.display === 'none' || style.visibility === 'hidden';
854
+ }, _SkyInlineDeleteAdapterService_isShift = function _SkyInlineDeleteAdapterService_isShift(event) {
855
+ // Determine if shift+tab was used based on element order
856
+ const elements = __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_getFocusableElements).call(this).filter((elem) => !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHidden).call(this, elem));
857
+ const previousInd = elements.indexOf(event.relatedTarget);
858
+ const currentInd = elements.indexOf(event.target);
859
+ /* istanbul ignore next */
860
+ return (previousInd === currentInd + 1 ||
861
+ (previousInd === 0 && currentInd === elements.length - 1) ||
862
+ previousInd > currentInd ||
863
+ !event.relatedTarget);
864
+ };
857
865
  SkyInlineDeleteAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService, deps: [{ token: i1$2.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
858
866
  SkyInlineDeleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService });
859
867
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService, decorators: [{
@@ -876,15 +884,13 @@ var SkyInlineDeleteType;
876
884
  SkyInlineDeleteType["Card"] = "card";
877
885
  })(SkyInlineDeleteType || (SkyInlineDeleteType = {}));
878
886
 
887
+ var _SkyInlineDeleteComponent_adapterService, _SkyInlineDeleteComponent_changeDetector, _SkyInlineDeleteComponent_elRef;
879
888
  /**
880
889
  * Auto-incrementing integer used to generate unique ids for inline delete components.
881
890
  */
882
891
  let nextId$2 = 0;
883
892
  class SkyInlineDeleteComponent {
884
893
  constructor(adapterService, changeDetector, elRef) {
885
- this.adapterService = adapterService;
886
- this.changeDetector = changeDetector;
887
- this.elRef = elRef;
888
894
  /**
889
895
  * Indicates whether the deletion is pending.
890
896
  * @default false
@@ -901,6 +907,12 @@ class SkyInlineDeleteComponent {
901
907
  this.animationState = 'shown';
902
908
  this.assistiveTextId = `sky-inline-delete-assistive-text-${++nextId$2}`;
903
909
  this.type = SkyInlineDeleteType.Standard;
910
+ _SkyInlineDeleteComponent_adapterService.set(this, void 0);
911
+ _SkyInlineDeleteComponent_changeDetector.set(this, void 0);
912
+ _SkyInlineDeleteComponent_elRef.set(this, void 0);
913
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_adapterService, adapterService, "f");
914
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_changeDetector, changeDetector, "f");
915
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_elRef, elRef, "f");
904
916
  }
905
917
  /**
906
918
  * Initialization lifecycle hook
@@ -914,7 +926,7 @@ class SkyInlineDeleteComponent {
914
926
  * @internal
915
927
  */
916
928
  ngOnDestroy() {
917
- this.adapterService.clearListeners();
929
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_adapterService, "f").clearListeners();
918
930
  this.cancelTriggered.complete();
919
931
  this.deleteTriggered.complete();
920
932
  }
@@ -937,7 +949,7 @@ class SkyInlineDeleteComponent {
937
949
  */
938
950
  setType(type) {
939
951
  this.type = type;
940
- this.changeDetector.detectChanges();
952
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_changeDetector, "f").detectChanges();
941
953
  }
942
954
  /**
943
955
  * Handles actions that should be taken after the inline delete animates
@@ -945,18 +957,20 @@ class SkyInlineDeleteComponent {
945
957
  * @internal
946
958
  */
947
959
  onAnimationDone(event) {
960
+ var _a;
948
961
  if (event.toState === 'hidden') {
949
962
  this.cancelTriggered.emit();
950
963
  }
951
964
  else {
952
- this.deleteButton.nativeElement.focus();
965
+ (_a = this.deleteButton) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
953
966
  /* istanbul ignore else */
954
- if (this.elRef) {
955
- this.adapterService.setEl(this.elRef.nativeElement);
967
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteComponent_elRef, "f")) {
968
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_adapterService, "f").setEl(__classPrivateFieldGet(this, _SkyInlineDeleteComponent_elRef, "f").nativeElement);
956
969
  }
957
970
  }
958
971
  }
959
972
  }
973
+ _SkyInlineDeleteComponent_adapterService = new WeakMap(), _SkyInlineDeleteComponent_changeDetector = new WeakMap(), _SkyInlineDeleteComponent_elRef = new WeakMap();
960
974
  SkyInlineDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteComponent, deps: [{ token: SkyInlineDeleteAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
961
975
  SkyInlineDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyInlineDeleteComponent, selector: "sky-inline-delete", inputs: { pending: "pending" }, outputs: { cancelTriggered: "cancelTriggered", deleteTriggered: "deleteTriggered" }, providers: [SkyCoreAdapterService, SkyInlineDeleteAdapterService], viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["delete"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-inline-delete sky-inline-delete-{{ type }}\"\n role=\"alertdialog\"\n [@inlineDeleteAnimation]=\"animationState\"\n (@inlineDeleteAnimation.done)=\"onAnimationDone($event)\"\n [attr.aria-describedby]=\"assistiveTextId\"\n [attr.aria-label]=\"'skyux_inline_delete_confirm_deletion' | skyLibResources\"\n>\n <span class=\"sky-inline-delete-assistive-text\" [id]=\"assistiveTextId\">\n {{ 'skyux_inline_delete_assistive_text' | skyLibResources }}\n </span>\n <sky-wait class=\"sky-inline-delete-wait\" [isWaiting]=\"pending\"></sky-wait>\n <div class=\"sky-inline-delete-content\">\n <div class=\"sky-inline-delete-content-animation-container\">\n <button\n class=\"sky-btn sky-btn-danger sky-inline-delete-button\"\n type=\"button\"\n (click)=\"onDeleteClick()\"\n #delete\n >\n {{ 'skyux_inline_delete_delete' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_inline_delete_cancel' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".sky-inline-delete{position:absolute!important;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;border:2px solid #ef4044}.sky-inline-delete-assistive-text{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}.sky-inline-delete-button{margin-right:10px}.sky-inline-delete-card .sky-inline-delete-content{position:absolute;bottom:10px;text-align:center;width:100%}.sky-inline-delete-standard .sky-inline-delete-content{position:absolute;top:50%;transform:translateY(-50%);left:20px}.sky-inline-delete-wait{height:100%}\n"], dependencies: [{ kind: "component", type: i2$1.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
962
976
  trigger('inlineDeleteAnimation', [
@@ -1092,33 +1106,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1092
1106
  args: [{ selector: 'sky-card-title', template: "<ng-content></ng-content>\n" }]
1093
1107
  }] });
1094
1108
 
1109
+ var _SkyCardComponent_subscription, _SkyCardComponent__size;
1095
1110
  /**
1096
1111
  * Creates a a small container to highlight important information.
1097
1112
  * @deprecated `SkyCardComponent` is deprecated. For other SKY UX components that group and list content, see the content containers guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/content-containers.
1098
1113
  */
1099
1114
  class SkyCardComponent {
1100
1115
  constructor(logger) {
1116
+ /**
1117
+ * Indicates whether to display a checkbox to the right of the card title.
1118
+ * Users can select multiple checkboxes and perform actions on the selected cards.
1119
+ * @default false
1120
+ */
1121
+ this.selectable = false;
1122
+ /**
1123
+ * Indicates whether the card is selected. This only applies to card where
1124
+ * `selectable` is set to `true`.
1125
+ * @default false
1126
+ */
1127
+ this.selected = false;
1101
1128
  /**
1102
1129
  * Fires when users select or deselect the card.
1103
1130
  */
1104
1131
  this.selectedChange = new EventEmitter();
1105
1132
  this.showTitle = true;
1133
+ _SkyCardComponent_subscription.set(this, void 0);
1134
+ _SkyCardComponent__size.set(this, 'large');
1106
1135
  logger.deprecated('SkyCardComponent', {
1107
1136
  deprecationMajorVersion: 6,
1108
1137
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',
1109
1138
  replacementRecommendation: 'For other SKY UX components that group and list content, see the content containers guidelines.',
1110
1139
  });
1111
1140
  }
1141
+ /**
1142
+ * Specifies the size of the card. The valid options are `"large"` and `"small"`.
1143
+ * @default "large"
1144
+ */
1145
+ set size(value) {
1146
+ __classPrivateFieldSet(this, _SkyCardComponent__size, value !== null && value !== void 0 ? value : 'large', "f");
1147
+ }
1148
+ get size() {
1149
+ return __classPrivateFieldGet(this, _SkyCardComponent__size, "f");
1150
+ }
1112
1151
  ngAfterContentInit() {
1113
- this.showTitle = this.titleComponent.length > 0;
1114
- this.subscription = this.titleComponent.changes.subscribe(() => {
1115
- this.showTitle = this.titleComponent.length > 0;
1116
- });
1117
- this.inlineDeleteComponent.forEach((item) => {
1152
+ var _a, _b, _c;
1153
+ this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;
1154
+ __classPrivateFieldSet(this, _SkyCardComponent_subscription, (_a = this.titleComponent) === null || _a === void 0 ? void 0 : _a.changes.subscribe(() => {
1155
+ this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;
1156
+ }), "f");
1157
+ (_b = this.inlineDeleteComponent) === null || _b === void 0 ? void 0 : _b.forEach((item) => {
1118
1158
  item.setType(SkyInlineDeleteType.Card);
1119
1159
  });
1120
- this.inlineDeleteComponent.changes.subscribe(() => {
1121
- this.inlineDeleteComponent.forEach((item) => {
1160
+ (_c = this.inlineDeleteComponent) === null || _c === void 0 ? void 0 : _c.changes.subscribe(() => {
1161
+ var _a;
1162
+ (_a = this.inlineDeleteComponent) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
1122
1163
  item.setType(SkyInlineDeleteType.Card);
1123
1164
  });
1124
1165
  });
@@ -1138,11 +1179,12 @@ class SkyCardComponent {
1138
1179
  ngOnDestroy() {
1139
1180
  /* istanbul ignore else */
1140
1181
  /* sanity check */
1141
- if (this.subscription) {
1142
- this.subscription.unsubscribe();
1182
+ if (__classPrivateFieldGet(this, _SkyCardComponent_subscription, "f")) {
1183
+ __classPrivateFieldGet(this, _SkyCardComponent_subscription, "f").unsubscribe();
1143
1184
  }
1144
1185
  }
1145
1186
  }
1187
+ _SkyCardComponent_subscription = new WeakMap(), _SkyCardComponent__size = new WeakMap();
1146
1188
  SkyCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyCardComponent, deps: [{ token: i1$2.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
1147
1189
  SkyCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyCardComponent, selector: "sky-card", inputs: { size: "size", selectable: "selectable", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, queries: [{ propertyName: "inlineDeleteComponent", predicate: SkyInlineDeleteComponent }, { propertyName: "titleComponent", predicate: SkyCardTitleComponent }], ngImport: i0, template: "<section\n class=\"sky-card sky-shadow\"\n [ngClass]=\"\n {\n 'sky-card-small': size === 'small',\n 'sky-card-selectable': selectable,\n 'sky-card-selected': selectable &amp;&amp; selected\n }\"\n>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n <header>\n <div\n *ngIf=\"selectable || showTitle\"\n class=\"sky-card-header\"\n (click)=\"contentClick()\"\n >\n <div class=\"sky-card-heading-middle\">\n <h1 *ngIf=\"showTitle\" class=\"sky-card-title sky-section-heading\">\n <ng-content select=\"sky-card-title\"></ng-content>\n </h1>\n </div>\n <div *ngIf=\"selectable\" class=\"sky-card-check\">\n <sky-checkbox\n [label]=\"'skyux_card_checkbox_label' | skyLibResources\"\n [ngModel]=\"selected\"\n (click)=\"$event.stopPropagation()\"\n (ngModelChange)=\"onCheckboxChange($event)\"\n ></sky-checkbox>\n </div>\n </div>\n </header>\n <div\n class=\"sky-card-content sky-padding-even-default\"\n (click)=\"contentClick()\"\n >\n <ng-content select=\"sky-card-content\"></ng-content>\n </div>\n <div\n class=\"sky-card-actions\"\n [hidden]=\"actionsEl.children.length === 0\"\n #actionsEl\n >\n <ng-content select=\"sky-card-actions\"></ng-content>\n </div>\n</section>\n", styles: [".sky-card{background-color:#fff;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;display:inline-flex;flex-direction:column;height:350px;margin:0 10px 10px 0;transition:background-color .15s;vertical-align:top;width:350px;position:relative}.sky-card-small{height:250px;width:225px}.sky-card-selectable .sky-card-header,.sky-card-selectable .sky-card-content{cursor:pointer}.sky-card-selected{background-color:#f1eef6;transition:background-color .15s}.sky-card-header{align-items:center;display:flex;flex-shrink:0;margin:0;padding:10px 0 0}.sky-card-heading-left,.sky-card-heading-right{font-weight:400;max-width:34px}.sky-card-heading-left{padding-left:10px}.sky-card-heading-right{padding-right:10px}.sky-card-heading-middle{flex-grow:1;padding:0 10px;overflow:hidden}.sky-card-title{margin:0;line-height:1.428571429}.sky-card-check{flex-shrink:0;padding-right:10px}.sky-card-check .sky-check-wrapper{margin-bottom:2px}.sky-card-content{flex-grow:1;font-weight:400;margin:0;overflow:hidden}.sky-card-actions{bottom:0;flex-shrink:0;text-align:center}.sky-card-actions .sky-context-menu-btn{height:32px;width:32px}\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: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }] });
1148
1190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyCardComponent, decorators: [{
@@ -1277,10 +1319,10 @@ class SkyDefinitionListValueComponent {
1277
1319
  }
1278
1320
  }
1279
1321
  SkyDefinitionListValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, deps: [{ token: SkyDefinitionListService }], target: i0.ɵɵFactoryTarget.Component });
1280
- SkyDefinitionListValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDefinitionListValueComponent, selector: "sky-definition-list-value", ngImport: i0, template: "<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content></ng-content>\n </span>\n <span class=\"sky-deemphasized\" *ngIf=\"!valueEl.textContent.trim()\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n</div>\n", styles: [":host{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }] });
1322
+ SkyDefinitionListValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDefinitionListValueComponent, selector: "sky-definition-list-value", ngImport: i0, template: "<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content></ng-content>\n </span>\n <span class=\"sky-deemphasized\" *ngIf=\"!valueEl.textContent?.trim()\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n</div>\n", styles: [":host{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }] });
1281
1323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, decorators: [{
1282
1324
  type: Component,
1283
- args: [{ selector: 'sky-definition-list-value', template: "<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content></ng-content>\n </span>\n <span class=\"sky-deemphasized\" *ngIf=\"!valueEl.textContent.trim()\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n</div>\n", styles: [":host{flex:1}\n"] }]
1325
+ args: [{ selector: 'sky-definition-list-value', template: "<div class=\"sky-definition-list-value\">\n <span #valueEl>\n <ng-content></ng-content>\n </span>\n <span class=\"sky-deemphasized\" *ngIf=\"!valueEl.textContent?.trim()\">\n {{\n (service.defaultValue | async) ||\n ('skyux_definition_list_none_found' | skyLibResources)\n }}\n </span>\n</div>\n", styles: [":host{flex:1}\n"] }]
1284
1326
  }], ctorParameters: function () { return [{ type: SkyDefinitionListService }]; } });
1285
1327
 
1286
1328
  /**
@@ -1382,32 +1424,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1382
1424
  type: Injectable
1383
1425
  }] });
1384
1426
 
1427
+ var _SkyDescriptionListDescriptionComponent_changeDetector, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, _SkyDescriptionListDescriptionComponent_themeSvc;
1385
1428
  /**
1386
1429
  * Specifies the description in a term-description pair.
1387
1430
  */
1388
1431
  class SkyDescriptionListDescriptionComponent {
1389
- constructor(service, changeRef, themeSvc) {
1432
+ constructor(service, changeDetector, themeSvc) {
1390
1433
  this.service = service;
1391
- this.changeRef = changeRef;
1392
- this.themeSvc = themeSvc;
1393
- this.ngUnsubscribe = new Subject();
1434
+ _SkyDescriptionListDescriptionComponent_changeDetector.set(this, void 0);
1435
+ _SkyDescriptionListDescriptionComponent_ngUnsubscribe.set(this, new Subject());
1436
+ _SkyDescriptionListDescriptionComponent_themeSvc.set(this, void 0);
1437
+ __classPrivateFieldSet(this, _SkyDescriptionListDescriptionComponent_changeDetector, changeDetector, "f");
1438
+ __classPrivateFieldSet(this, _SkyDescriptionListDescriptionComponent_themeSvc, themeSvc, "f");
1394
1439
  }
1395
1440
  ngOnInit() {
1396
1441
  /* istanbul ignore else */
1397
- if (this.themeSvc) {
1398
- this.themeSvc.settingsChange
1399
- .pipe(takeUntil(this.ngUnsubscribe))
1442
+ if (__classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_themeSvc, "f")) {
1443
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_themeSvc, "f").settingsChange
1444
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f")))
1400
1445
  .subscribe((themeSettings) => {
1401
1446
  this.themeName = themeSettings.currentSettings.theme.name;
1402
- this.changeRef.markForCheck();
1447
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_changeDetector, "f").markForCheck();
1403
1448
  });
1404
1449
  }
1405
1450
  }
1406
1451
  ngOnDestroy() {
1407
- this.ngUnsubscribe.next();
1408
- this.ngUnsubscribe.complete();
1452
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").next();
1453
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").complete();
1409
1454
  }
1410
1455
  }
1456
+ _SkyDescriptionListDescriptionComponent_changeDetector = new WeakMap(), _SkyDescriptionListDescriptionComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListDescriptionComponent_themeSvc = new WeakMap();
1411
1457
  SkyDescriptionListDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListDescriptionComponent, deps: [{ token: SkyDescriptionListService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1412
1458
  SkyDescriptionListDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDescriptionListDescriptionComponent, selector: "sky-description-list-description", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["descriptionTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #descriptionTemplateRef>\n <span skyTrim class=\"sky-description-list-description\"\n ><ng-content></ng-content\n ></span>\n <span\n class=\"sky-description-list-default-value\"\n data-sky-id=\"sky-description-list-default-value\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{\n (service.defaultDescription | async) ||\n ('skyux_description_list_none_found' | skyLibResources)\n }}\n </span>\n</ng-template>\n", styles: [".sky-description-list-description:not(:empty)+.sky-description-list-default-value{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i1$2.λ4, selector: "[skyTrim]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1413
1459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListDescriptionComponent, decorators: [{
@@ -1463,12 +1509,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1463
1509
  args: [SkyDescriptionListDescriptionComponent]
1464
1510
  }] } });
1465
1511
 
1512
+ var _SkyDescriptionListAdapterService_instances, _SkyDescriptionListAdapterService_renderer, _SkyDescriptionListAdapterService_getResponsiveClassName;
1466
1513
  /**
1467
1514
  * @internal
1468
1515
  */
1469
1516
  class SkyDescriptionListAdapterService {
1470
1517
  constructor(rendererFactory) {
1471
- this.renderer = rendererFactory.createRenderer(undefined, undefined);
1518
+ _SkyDescriptionListAdapterService_instances.add(this);
1519
+ _SkyDescriptionListAdapterService_renderer.set(this, void 0);
1520
+ __classPrivateFieldSet(this, _SkyDescriptionListAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
1472
1521
  }
1473
1522
  getWidth(elementRef) {
1474
1523
  return elementRef.nativeElement.clientWidth;
@@ -1476,34 +1525,35 @@ class SkyDescriptionListAdapterService {
1476
1525
  setResponsiveClass(element) {
1477
1526
  const nativeEl = element.nativeElement;
1478
1527
  const width = this.getWidth(element);
1479
- const className = this.getResponsiveClassName(width);
1480
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
1481
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
1482
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
1483
- this.renderer.addClass(nativeEl, className);
1484
- }
1485
- getResponsiveClassName(width) {
1486
- const xsBreakpointMaxPixels = 479;
1487
- const smBreakpointMinPixels = 480;
1488
- const smBreakpointMaxPixels = 767;
1489
- if (width <= xsBreakpointMaxPixels) {
1490
- return 'sky-responsive-container-xs';
1491
- }
1492
- else if (width >= smBreakpointMinPixels &&
1493
- width <= smBreakpointMaxPixels) {
1494
- return 'sky-responsive-container-sm';
1495
- }
1496
- else {
1497
- return 'sky-responsive-container-md';
1498
- }
1528
+ const className = __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_instances, "m", _SkyDescriptionListAdapterService_getResponsiveClassName).call(this, width);
1529
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-xs');
1530
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-sm');
1531
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-md');
1532
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").addClass(nativeEl, className);
1499
1533
  }
1500
1534
  }
1535
+ _SkyDescriptionListAdapterService_renderer = new WeakMap(), _SkyDescriptionListAdapterService_instances = new WeakSet(), _SkyDescriptionListAdapterService_getResponsiveClassName = function _SkyDescriptionListAdapterService_getResponsiveClassName(width) {
1536
+ const xsBreakpointMaxPixels = 479;
1537
+ const smBreakpointMinPixels = 480;
1538
+ const smBreakpointMaxPixels = 767;
1539
+ if (width <= xsBreakpointMaxPixels) {
1540
+ return 'sky-responsive-container-xs';
1541
+ }
1542
+ else if (width >= smBreakpointMinPixels &&
1543
+ width <= smBreakpointMaxPixels) {
1544
+ return 'sky-responsive-container-sm';
1545
+ }
1546
+ else {
1547
+ return 'sky-responsive-container-md';
1548
+ }
1549
+ };
1501
1550
  SkyDescriptionListAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
1502
1551
  SkyDescriptionListAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService });
1503
1552
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService, decorators: [{
1504
1553
  type: Injectable
1505
1554
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
1506
1555
 
1556
+ var _SkyDescriptionListComponent_ngUnsubscribe, _SkyDescriptionListComponent__mode;
1507
1557
  /**
1508
1558
  * Creates a description list to display term-description pairs.
1509
1559
  */
@@ -1512,7 +1562,8 @@ class SkyDescriptionListComponent {
1512
1562
  this.adapterService = adapterService;
1513
1563
  this.changeDetector = changeDetector;
1514
1564
  this.descriptionListService = descriptionListService;
1515
- this.ngUnsubscribe = new Subject();
1565
+ _SkyDescriptionListComponent_ngUnsubscribe.set(this, new Subject());
1566
+ _SkyDescriptionListComponent__mode.set(this, 'vertical');
1516
1567
  }
1517
1568
  /**
1518
1569
  * Specifies a default description to display when no description is provided
@@ -1528,39 +1579,45 @@ class SkyDescriptionListComponent {
1528
1579
  * @default "vertical"
1529
1580
  */
1530
1581
  set mode(value) {
1531
- this._mode = value;
1582
+ __classPrivateFieldSet(this, _SkyDescriptionListComponent__mode, value || 'vertical', "f");
1532
1583
  }
1533
1584
  get mode() {
1534
- return this._mode || 'vertical';
1585
+ return __classPrivateFieldGet(this, _SkyDescriptionListComponent__mode, "f");
1535
1586
  }
1536
1587
  ngAfterContentInit() {
1537
1588
  // Wait for all content to render before detecting parent width.
1538
1589
  setTimeout(() => {
1539
1590
  this.updateResponsiveClass();
1540
1591
  });
1541
- this.contentComponents.changes
1542
- .pipe(takeUntil(this.ngUnsubscribe))
1543
- .subscribe(() => {
1544
- this.changeDetector.markForCheck();
1545
- });
1592
+ // istanbul ignore else
1593
+ if (this.contentComponents) {
1594
+ this.contentComponents.changes
1595
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f")))
1596
+ .subscribe(() => {
1597
+ this.changeDetector.markForCheck();
1598
+ });
1599
+ }
1546
1600
  }
1547
1601
  ngOnDestroy() {
1548
- this.ngUnsubscribe.next();
1549
- this.ngUnsubscribe.complete();
1602
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").next();
1603
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").complete();
1550
1604
  }
1551
1605
  onWindowResize() {
1552
1606
  this.updateResponsiveClass();
1553
1607
  }
1554
1608
  updateResponsiveClass() {
1555
- this.adapterService.setResponsiveClass(this.elementRef);
1556
- this.changeDetector.markForCheck();
1609
+ if (this.elementRef) {
1610
+ this.adapterService.setResponsiveClass(this.elementRef);
1611
+ this.changeDetector.markForCheck();
1612
+ }
1557
1613
  }
1558
1614
  }
1615
+ _SkyDescriptionListComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListComponent__mode = new WeakMap();
1559
1616
  SkyDescriptionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListComponent, deps: [{ token: SkyDescriptionListAdapterService }, { token: i0.ChangeDetectorRef }, { token: SkyDescriptionListService }], target: i0.ɵɵFactoryTarget.Component });
1560
- SkyDescriptionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDescriptionListComponent, selector: "sky-description-list", inputs: { defaultDescription: "defaultDescription", listItemWidth: "listItemWidth", mode: "mode" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [SkyDescriptionListAdapterService, SkyDescriptionListService], queries: [{ propertyName: "contentComponents", predicate: SkyDescriptionListContentComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["descriptionListElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<dl\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n #descriptionListElement\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n <div\n *ngFor=\"let contentComponent of contentComponents\"\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n <dt *ngFor=\"let termComponent of contentComponent?.termComponents\">\n <ng-container\n *ngTemplateOutlet=\"termComponent.templateRef\"\n ></ng-container>\n </dt>\n <dd\n *ngFor=\"\n let descriptionComponent of contentComponent?.descriptionComponents\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n ></ng-container>\n </dd>\n </div>\n</dl>\n", styles: [".sky-description-list{margin:0;padding:0}.sky-description-list dt{color:#686c73;font-size:14px;font-weight:400;margin:0 0 3px;padding:0}.sky-description-list dd{margin:0;padding:0}.sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 15px;width:auto}.sky-description-list.sky-description-list-horizontal-mode{display:flex;flex-wrap:wrap}.sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 15px;padding:0 60px 0 0;min-width:100px;width:auto}.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-xs .sky-description-list-content,.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-sm .sky-description-list-content{width:50%}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content{display:flex}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content:not(:last-child){margin:0 0 10px}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dt{color:#212327;font-size:16px;font-weight:600;margin:0 20px 0 0;width:25%;word-break:break-word}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dd{flex:1}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content{flex-direction:column}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dt{margin:0 0 3px;width:100%}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dd{margin:0 0 10px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1617
+ SkyDescriptionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDescriptionListComponent, selector: "sky-description-list", inputs: { defaultDescription: "defaultDescription", listItemWidth: "listItemWidth", mode: "mode" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [SkyDescriptionListAdapterService, SkyDescriptionListService], queries: [{ propertyName: "contentComponents", predicate: SkyDescriptionListContentComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["descriptionListElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<dl\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n #descriptionListElement\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n <div\n *ngFor=\"let contentComponent of contentComponents\"\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n <dt *ngFor=\"let termComponent of contentComponent?.termComponents\">\n <ng-container *ngIf=\"termComponent.templateRef\">\n <ng-container\n *ngTemplateOutlet=\"termComponent.templateRef\"\n ></ng-container>\n </ng-container>\n </dt>\n <dd\n *ngFor=\"\n let descriptionComponent of contentComponent?.descriptionComponents\n \"\n >\n <ng-container *ngIf=\"descriptionComponent.templateRef\">\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n ></ng-container>\n </ng-container>\n </dd>\n </div>\n</dl>\n", styles: [".sky-description-list{margin:0;padding:0}.sky-description-list dt{color:#686c73;font-size:14px;font-weight:400;margin:0 0 3px;padding:0}.sky-description-list dd{margin:0;padding:0}.sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 15px;width:auto}.sky-description-list.sky-description-list-horizontal-mode{display:flex;flex-wrap:wrap}.sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 15px;padding:0 60px 0 0;min-width:100px;width:auto}.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-xs .sky-description-list-content,.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-sm .sky-description-list-content{width:50%}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content{display:flex}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content:not(:last-child){margin:0 0 10px}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dt{color:#212327;font-size:16px;font-weight:600;margin:0 20px 0 0;width:25%;word-break:break-word}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dd{flex:1}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content{flex-direction:column}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dt{margin:0 0 3px;width:100%}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dd{margin:0 0 10px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1561
1618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListComponent, decorators: [{
1562
1619
  type: Component,
1563
- args: [{ selector: 'sky-description-list', providers: [SkyDescriptionListAdapterService, SkyDescriptionListService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dl\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n #descriptionListElement\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n <div\n *ngFor=\"let contentComponent of contentComponents\"\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n <dt *ngFor=\"let termComponent of contentComponent?.termComponents\">\n <ng-container\n *ngTemplateOutlet=\"termComponent.templateRef\"\n ></ng-container>\n </dt>\n <dd\n *ngFor=\"\n let descriptionComponent of contentComponent?.descriptionComponents\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n ></ng-container>\n </dd>\n </div>\n</dl>\n", styles: [".sky-description-list{margin:0;padding:0}.sky-description-list dt{color:#686c73;font-size:14px;font-weight:400;margin:0 0 3px;padding:0}.sky-description-list dd{margin:0;padding:0}.sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 15px;width:auto}.sky-description-list.sky-description-list-horizontal-mode{display:flex;flex-wrap:wrap}.sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 15px;padding:0 60px 0 0;min-width:100px;width:auto}.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-xs .sky-description-list-content,.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-sm .sky-description-list-content{width:50%}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content{display:flex}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content:not(:last-child){margin:0 0 10px}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dt{color:#212327;font-size:16px;font-weight:600;margin:0 20px 0 0;width:25%;word-break:break-word}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dd{flex:1}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content{flex-direction:column}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dt{margin:0 0 3px;width:100%}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dd{margin:0 0 10px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}\n"] }]
1620
+ args: [{ selector: 'sky-description-list', providers: [SkyDescriptionListAdapterService, SkyDescriptionListService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dl\n class=\"sky-description-list\"\n [ngClass]=\"{\n 'sky-description-list-long-description-mode': mode === 'longDescription',\n 'sky-description-list-vertical-mode': mode === 'vertical',\n 'sky-description-list-horizontal-mode': mode === 'horizontal'\n }\"\n #descriptionListElement\n>\n <!--\n Wrapping div is for horizontal flexing. Also injecting children's templateRef directly\n to avoid adding non-semantic HTML tags to DOM\n -->\n <div\n *ngFor=\"let contentComponent of contentComponents\"\n class=\"sky-description-list-content\"\n [style.width]=\"mode === 'horizontal' ? listItemWidth : ''\"\n >\n <dt *ngFor=\"let termComponent of contentComponent?.termComponents\">\n <ng-container *ngIf=\"termComponent.templateRef\">\n <ng-container\n *ngTemplateOutlet=\"termComponent.templateRef\"\n ></ng-container>\n </ng-container>\n </dt>\n <dd\n *ngFor=\"\n let descriptionComponent of contentComponent?.descriptionComponents\n \"\n >\n <ng-container *ngIf=\"descriptionComponent.templateRef\">\n <ng-container\n *ngTemplateOutlet=\"descriptionComponent.templateRef\"\n ></ng-container>\n </ng-container>\n </dd>\n </div>\n</dl>\n", styles: [".sky-description-list{margin:0;padding:0}.sky-description-list dt{color:#686c73;font-size:14px;font-weight:400;margin:0 0 3px;padding:0}.sky-description-list dd{margin:0;padding:0}.sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 15px;width:auto}.sky-description-list.sky-description-list-horizontal-mode{display:flex;flex-wrap:wrap}.sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 15px;padding:0 60px 0 0;min-width:100px;width:auto}.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-xs .sky-description-list-content,.sky-description-list.sky-description-list-horizontal-mode.sky-responsive-container-sm .sky-description-list-content{width:50%}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content{display:flex}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content:not(:last-child){margin:0 0 10px}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dt{color:#212327;font-size:16px;font-weight:600;margin:0 20px 0 0;width:25%;word-break:break-word}.sky-description-list.sky-description-list-long-description-mode .sky-description-list-content dd{flex:1}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content{flex-direction:column}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dt{margin:0 0 3px;width:100%}.sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs .sky-description-list-content dd{margin:0 0 10px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}:host-context(.sky-theme-modern) .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dt{color:#686c73;font-size:14px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-vertical-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode{margin:0 0 -20px}.sky-theme-modern .sky-description-list.sky-description-list-horizontal-mode .sky-description-list-content{margin:0 0 20px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dt{color:inherit;font-weight:700;font-size:inherit}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode dd{font-size:16px;font-weight:400}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dt{margin:0 0 5px}.sky-theme-modern .sky-description-list.sky-description-list-long-description-mode.sky-responsive-container-xs dd{margin:0 0 20px}\n"] }]
1564
1621
  }], ctorParameters: function () { return [{ type: SkyDescriptionListAdapterService }, { type: i0.ChangeDetectorRef }, { type: SkyDescriptionListService }]; }, propDecorators: { defaultDescription: [{
1565
1622
  type: Input
1566
1623
  }], listItemWidth: [{
@@ -1649,30 +1706,26 @@ var SkyDescriptionListMode;
1649
1706
  SkyDescriptionListMode["vertical"] = "vertical";
1650
1707
  })(SkyDescriptionListMode || (SkyDescriptionListMode = {}));
1651
1708
 
1652
- /**
1653
- * @deprecated Use `SkyFluidGridGutterSizeType` instead.
1654
- * @internal
1655
- */
1656
- var SkyFluidGridGutterSize;
1657
- (function (SkyFluidGridGutterSize) {
1658
- /**
1659
- * Specifies a small gutter.
1660
- */
1661
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Small"] = 0] = "Small";
1662
- /**
1663
- * Specifies a medium gutter.
1664
- */
1665
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Medium"] = 1] = "Medium";
1666
- /**
1667
- * Specifies a large gutter.
1668
- */
1669
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Large"] = 2] = "Large";
1670
- })(SkyFluidGridGutterSize || (SkyFluidGridGutterSize = {}));
1671
-
1709
+ var _SkyColumnComponent__screenXSmall;
1672
1710
  /**
1673
1711
  * Displays a column within a row of the fluid grid.
1674
1712
  */
1675
1713
  class SkyColumnComponent {
1714
+ constructor() {
1715
+ _SkyColumnComponent__screenXSmall.set(this, 12);
1716
+ }
1717
+ /**
1718
+ * Specifies the number of columns (1-12) to use on extra-small screens
1719
+ * (less than 768px). If you do not specify a value, the fluid grid displays
1720
+ * the column at the full width of the screen.
1721
+ * @default 12
1722
+ */
1723
+ set screenXSmall(value) {
1724
+ __classPrivateFieldSet(this, _SkyColumnComponent__screenXSmall, value !== null && value !== void 0 ? value : 12, "f");
1725
+ }
1726
+ get screenXSmall() {
1727
+ return __classPrivateFieldGet(this, _SkyColumnComponent__screenXSmall, "f");
1728
+ }
1676
1729
  ngOnChanges(changes) {
1677
1730
  /* istanbul ignore else */
1678
1731
  if (changes.screenXSmall ||
@@ -1702,6 +1755,7 @@ class SkyColumnComponent {
1702
1755
  this.classnames = this.getClassNames();
1703
1756
  }
1704
1757
  }
1758
+ _SkyColumnComponent__screenXSmall = new WeakMap();
1705
1759
  SkyColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1706
1760
  SkyColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyColumnComponent, selector: "sky-column", inputs: { screenXSmall: "screenXSmall", screenSmall: "screenSmall", screenMedium: "screenMedium", screenLarge: "screenLarge" }, host: { properties: { "class": "this.classnames" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["sky-column.sky-column{padding-right:15px;padding-left:15px;width:100%;min-height:1px}.sky-theme-modern sky-column.sky-column{padding-right:30px;padding-left:30px}.sky-fluid-grid-gutter-size-small sky-column.sky-column{padding-right:5px;padding-left:5px}.sky-fluid-grid-gutter-size-medium sky-column.sky-column{padding-right:10px;padding-left:10px}.sky-theme-modern .sky-fluid-grid-gutter-size-small sky-column.sky-column{padding-right:10px;padding-left:10px}.sky-theme-modern .sky-fluid-grid-gutter-size-medium sky-column.sky-column{padding-right:15px;padding-left:15px}sky-column.sky-column-xs-1{width:calc(1 / 12 * 100%)}sky-column.sky-column-xs-2{width:calc(2 / 12 * 100%)}sky-column.sky-column-xs-3{width:25%}sky-column.sky-column-xs-4{width:calc(4 / 12 * 100%)}sky-column.sky-column-xs-5{width:calc(5 / 12 * 100%)}sky-column.sky-column-xs-6{width:50%}sky-column.sky-column-xs-7{width:calc(7 / 12 * 100%)}sky-column.sky-column-xs-8{width:calc(8 / 12 * 100%)}sky-column.sky-column-xs-9{width:75%}sky-column.sky-column-xs-10{width:calc(10 / 12 * 100%)}sky-column.sky-column-xs-11{width:calc(11 / 12 * 100%)}sky-column.sky-column-xs-12{width:100%}sky-column:not([class*=sky-column-xs-]){width:100%}.sky-responsive-container-xs sky-column.sky-column-xs-1,.sky-responsive-container-sm sky-column.sky-column-xs-1,.sky-responsive-container-md sky-column.sky-column-xs-1,.sky-responsive-container-lg sky-column.sky-column-xs-1{width:calc(1 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-2,.sky-responsive-container-sm sky-column.sky-column-xs-2,.sky-responsive-container-md sky-column.sky-column-xs-2,.sky-responsive-container-lg sky-column.sky-column-xs-2{width:calc(2 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-3,.sky-responsive-container-sm sky-column.sky-column-xs-3,.sky-responsive-container-md sky-column.sky-column-xs-3,.sky-responsive-container-lg sky-column.sky-column-xs-3{width:25%}.sky-responsive-container-xs sky-column.sky-column-xs-4,.sky-responsive-container-sm sky-column.sky-column-xs-4,.sky-responsive-container-md sky-column.sky-column-xs-4,.sky-responsive-container-lg sky-column.sky-column-xs-4{width:calc(4 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-5,.sky-responsive-container-sm sky-column.sky-column-xs-5,.sky-responsive-container-md sky-column.sky-column-xs-5,.sky-responsive-container-lg sky-column.sky-column-xs-5{width:calc(5 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-6,.sky-responsive-container-sm sky-column.sky-column-xs-6,.sky-responsive-container-md sky-column.sky-column-xs-6,.sky-responsive-container-lg sky-column.sky-column-xs-6{width:50%}.sky-responsive-container-xs sky-column.sky-column-xs-7,.sky-responsive-container-sm sky-column.sky-column-xs-7,.sky-responsive-container-md sky-column.sky-column-xs-7,.sky-responsive-container-lg sky-column.sky-column-xs-7{width:calc(7 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-8,.sky-responsive-container-sm sky-column.sky-column-xs-8,.sky-responsive-container-md sky-column.sky-column-xs-8,.sky-responsive-container-lg sky-column.sky-column-xs-8{width:calc(8 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-9,.sky-responsive-container-sm sky-column.sky-column-xs-9,.sky-responsive-container-md sky-column.sky-column-xs-9,.sky-responsive-container-lg sky-column.sky-column-xs-9{width:75%}.sky-responsive-container-xs sky-column.sky-column-xs-10,.sky-responsive-container-sm sky-column.sky-column-xs-10,.sky-responsive-container-md sky-column.sky-column-xs-10,.sky-responsive-container-lg sky-column.sky-column-xs-10{width:calc(10 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-11,.sky-responsive-container-sm sky-column.sky-column-xs-11,.sky-responsive-container-md sky-column.sky-column-xs-11,.sky-responsive-container-lg sky-column.sky-column-xs-11{width:calc(11 / 12 * 100%)}.sky-responsive-container-xs sky-column.sky-column-xs-12,.sky-responsive-container-sm sky-column.sky-column-xs-12,.sky-responsive-container-md sky-column.sky-column-xs-12,.sky-responsive-container-lg sky-column.sky-column-xs-12{width:100%}.sky-responsive-container-xs sky-column:not([class*=sky-column-xs-]),.sky-responsive-container-sm sky-column:not([class*=sky-column-xs-]),.sky-responsive-container-md sky-column:not([class*=sky-column-xs-]),.sky-responsive-container-lg sky-column:not([class*=sky-column-xs-]){width:100%}@media (min-width: 768px){sky-column.sky-column-sm-1{width:calc(1 / 12 * 100%)}sky-column.sky-column-sm-2{width:calc(2 / 12 * 100%)}sky-column.sky-column-sm-3{width:25%}sky-column.sky-column-sm-4{width:calc(4 / 12 * 100%)}sky-column.sky-column-sm-5{width:calc(5 / 12 * 100%)}sky-column.sky-column-sm-6{width:50%}sky-column.sky-column-sm-7{width:calc(7 / 12 * 100%)}sky-column.sky-column-sm-8{width:calc(8 / 12 * 100%)}sky-column.sky-column-sm-9{width:75%}sky-column.sky-column-sm-10{width:calc(10 / 12 * 100%)}sky-column.sky-column-sm-11{width:calc(11 / 12 * 100%)}sky-column.sky-column-sm-12{width:100%}}.sky-responsive-container-sm sky-column.sky-column-sm-1,.sky-responsive-container-md sky-column.sky-column-sm-1,.sky-responsive-container-lg sky-column.sky-column-sm-1{width:calc(1 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-2,.sky-responsive-container-md sky-column.sky-column-sm-2,.sky-responsive-container-lg sky-column.sky-column-sm-2{width:calc(2 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-3,.sky-responsive-container-md sky-column.sky-column-sm-3,.sky-responsive-container-lg sky-column.sky-column-sm-3{width:25%}.sky-responsive-container-sm sky-column.sky-column-sm-4,.sky-responsive-container-md sky-column.sky-column-sm-4,.sky-responsive-container-lg sky-column.sky-column-sm-4{width:calc(4 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-5,.sky-responsive-container-md sky-column.sky-column-sm-5,.sky-responsive-container-lg sky-column.sky-column-sm-5{width:calc(5 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-6,.sky-responsive-container-md sky-column.sky-column-sm-6,.sky-responsive-container-lg sky-column.sky-column-sm-6{width:50%}.sky-responsive-container-sm sky-column.sky-column-sm-7,.sky-responsive-container-md sky-column.sky-column-sm-7,.sky-responsive-container-lg sky-column.sky-column-sm-7{width:calc(7 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-8,.sky-responsive-container-md sky-column.sky-column-sm-8,.sky-responsive-container-lg sky-column.sky-column-sm-8{width:calc(8 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-9,.sky-responsive-container-md sky-column.sky-column-sm-9,.sky-responsive-container-lg sky-column.sky-column-sm-9{width:75%}.sky-responsive-container-sm sky-column.sky-column-sm-10,.sky-responsive-container-md sky-column.sky-column-sm-10,.sky-responsive-container-lg sky-column.sky-column-sm-10{width:calc(10 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-11,.sky-responsive-container-md sky-column.sky-column-sm-11,.sky-responsive-container-lg sky-column.sky-column-sm-11{width:calc(11 / 12 * 100%)}.sky-responsive-container-sm sky-column.sky-column-sm-12,.sky-responsive-container-md sky-column.sky-column-sm-12,.sky-responsive-container-lg sky-column.sky-column-sm-12{width:100%}@media (min-width: 992px){sky-column.sky-column-md-1{width:calc(1 / 12 * 100%)}sky-column.sky-column-md-2{width:calc(2 / 12 * 100%)}sky-column.sky-column-md-3{width:25%}sky-column.sky-column-md-4{width:calc(4 / 12 * 100%)}sky-column.sky-column-md-5{width:calc(5 / 12 * 100%)}sky-column.sky-column-md-6{width:50%}sky-column.sky-column-md-7{width:calc(7 / 12 * 100%)}sky-column.sky-column-md-8{width:calc(8 / 12 * 100%)}sky-column.sky-column-md-9{width:75%}sky-column.sky-column-md-10{width:calc(10 / 12 * 100%)}sky-column.sky-column-md-11{width:calc(11 / 12 * 100%)}sky-column.sky-column-md-12{width:100%}}.sky-responsive-container-md sky-column.sky-column-md-1,.sky-responsive-container-lg sky-column.sky-column-md-1{width:calc(1 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-2,.sky-responsive-container-lg sky-column.sky-column-md-2{width:calc(2 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-3,.sky-responsive-container-lg sky-column.sky-column-md-3{width:25%}.sky-responsive-container-md sky-column.sky-column-md-4,.sky-responsive-container-lg sky-column.sky-column-md-4{width:calc(4 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-5,.sky-responsive-container-lg sky-column.sky-column-md-5{width:calc(5 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-6,.sky-responsive-container-lg sky-column.sky-column-md-6{width:50%}.sky-responsive-container-md sky-column.sky-column-md-7,.sky-responsive-container-lg sky-column.sky-column-md-7{width:calc(7 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-8,.sky-responsive-container-lg sky-column.sky-column-md-8{width:calc(8 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-9,.sky-responsive-container-lg sky-column.sky-column-md-9{width:75%}.sky-responsive-container-md sky-column.sky-column-md-10,.sky-responsive-container-lg sky-column.sky-column-md-10{width:calc(10 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-11,.sky-responsive-container-lg sky-column.sky-column-md-11{width:calc(11 / 12 * 100%)}.sky-responsive-container-md sky-column.sky-column-md-12,.sky-responsive-container-lg sky-column.sky-column-md-12{width:100%}@media (min-width: 1200px){sky-column.sky-column-lg-1{width:calc(1 / 12 * 100%)}sky-column.sky-column-lg-2{width:calc(2 / 12 * 100%)}sky-column.sky-column-lg-3{width:25%}sky-column.sky-column-lg-4{width:calc(4 / 12 * 100%)}sky-column.sky-column-lg-5{width:calc(5 / 12 * 100%)}sky-column.sky-column-lg-6{width:50%}sky-column.sky-column-lg-7{width:calc(7 / 12 * 100%)}sky-column.sky-column-lg-8{width:calc(8 / 12 * 100%)}sky-column.sky-column-lg-9{width:75%}sky-column.sky-column-lg-10{width:calc(10 / 12 * 100%)}sky-column.sky-column-lg-11{width:calc(11 / 12 * 100%)}sky-column.sky-column-lg-12{width:100%}}.sky-responsive-container-lg sky-column.sky-column-lg-1{width:calc(1 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-2{width:calc(2 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-3{width:25%}.sky-responsive-container-lg sky-column.sky-column-lg-4{width:calc(4 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-5{width:calc(5 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-6{width:50%}.sky-responsive-container-lg sky-column.sky-column-lg-7{width:calc(7 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-8{width:calc(8 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-9{width:75%}.sky-responsive-container-lg sky-column.sky-column-lg-10{width:calc(10 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-11{width:calc(11 / 12 * 100%)}.sky-responsive-container-lg sky-column.sky-column-lg-12{width:100%}\n"], encapsulation: i0.ViewEncapsulation.None });
1707
1761
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, decorators: [{
@@ -1720,20 +1774,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1720
1774
  args: ['class']
1721
1775
  }] } });
1722
1776
 
1777
+ var _SkyFluidGridComponent__gutterSize;
1723
1778
  /**
1724
1779
  * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the
1725
1780
  * alignment, padding, and margins do not behave as expected.
1726
1781
  */
1727
1782
  class SkyFluidGridComponent {
1728
- /**
1729
- * Disables the outer left and right margin of the fluid grid container.
1730
- * @default false
1731
- */
1732
- set disableMargin(value) {
1733
- this._disableMargin = value;
1734
- }
1735
- get disableMargin() {
1736
- return this._disableMargin || false;
1783
+ constructor() {
1784
+ /**
1785
+ * Disables the outer left and right margin of the fluid grid container.
1786
+ * @default false
1787
+ */
1788
+ this.disableMargin = false;
1789
+ _SkyFluidGridComponent__gutterSize.set(this, 'large');
1737
1790
  }
1738
1791
  /**
1739
1792
  * Specifies a `SkyFluidGridGutterSizeType` to define the size of the padding
@@ -1741,37 +1794,18 @@ class SkyFluidGridComponent {
1741
1794
  * @default "large"
1742
1795
  */
1743
1796
  set gutterSize(value) {
1744
- this._gutterSize = value;
1797
+ __classPrivateFieldSet(this, _SkyFluidGridComponent__gutterSize, value !== null && value !== void 0 ? value : 'large', "f");
1745
1798
  }
1746
1799
  get gutterSize() {
1747
- return this._gutterSize === undefined ? 'large' : this._gutterSize;
1748
- }
1749
- /**
1750
- * @internal
1751
- */
1752
- get gutterSizeResolved() {
1753
- // Before this change, the template did a `==` comparison, implicitly converting numerical
1754
- // string values to their numeric values before comparing them. Checking for the numerical
1755
- // string value in addition to the values allowed by the type maintains this behavior.
1756
- switch (this.gutterSize) {
1757
- case 'medium':
1758
- case SkyFluidGridGutterSize.Medium:
1759
- case SkyFluidGridGutterSize.Medium.toString():
1760
- return 'medium';
1761
- case 'small':
1762
- case SkyFluidGridGutterSize.Small:
1763
- case SkyFluidGridGutterSize.Small.toString():
1764
- return 'small';
1765
- default:
1766
- return 'large';
1767
- }
1800
+ return __classPrivateFieldGet(this, _SkyFluidGridComponent__gutterSize, "f");
1768
1801
  }
1769
1802
  }
1803
+ _SkyFluidGridComponent__gutterSize = new WeakMap();
1770
1804
  SkyFluidGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1771
- SkyFluidGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFluidGridComponent, selector: "sky-fluid-grid", inputs: { disableMargin: "disableMargin", gutterSize: "gutterSize" }, ngImport: i0, template: "<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSizeResolved === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSizeResolved === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSizeResolved === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-fluid-grid-gutter-size-small{padding-left:5px;padding-right:5px}.sky-fluid-grid-gutter-size-medium{padding-left:10px;padding-right:10px}.sky-fluid-grid-gutter-size-large{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-small{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-medium{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-large{padding-left:30px;padding-right:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1805
+ SkyFluidGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFluidGridComponent, selector: "sky-fluid-grid", inputs: { disableMargin: "disableMargin", gutterSize: "gutterSize" }, ngImport: i0, template: "<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSize === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSize === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSize === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-fluid-grid-gutter-size-small{padding-left:5px;padding-right:5px}.sky-fluid-grid-gutter-size-medium{padding-left:10px;padding-right:10px}.sky-fluid-grid-gutter-size-large{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-small{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-medium{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-large{padding-left:30px;padding-right:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1772
1806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, decorators: [{
1773
1807
  type: Component,
1774
- args: [{ selector: 'sky-fluid-grid', template: "<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSizeResolved === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSizeResolved === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSizeResolved === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-fluid-grid-gutter-size-small{padding-left:5px;padding-right:5px}.sky-fluid-grid-gutter-size-medium{padding-left:10px;padding-right:10px}.sky-fluid-grid-gutter-size-large{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-small{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-medium{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-large{padding-left:30px;padding-right:30px}\n"] }]
1808
+ args: [{ selector: 'sky-fluid-grid', template: "<div\n class=\"sky-fluid-grid\"\n [ngClass]=\"{\n 'sky-fluid-grid-gutter-size-small': gutterSize === 'small',\n 'sky-fluid-grid-gutter-size-medium': gutterSize === 'medium',\n 'sky-fluid-grid-gutter-size-large': gutterSize === 'large',\n 'sky-fluid-grid-no-margin': disableMargin\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-fluid-grid-gutter-size-small{padding-left:5px;padding-right:5px}.sky-fluid-grid-gutter-size-medium{padding-left:10px;padding-right:10px}.sky-fluid-grid-gutter-size-large{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-small{padding-left:10px;padding-right:10px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-medium{padding-left:15px;padding-right:15px}:host-context(.sky-theme-modern) .sky-fluid-grid-gutter-size-large{padding-left:30px;padding-right:30px}\n"] }]
1775
1809
  }], propDecorators: { disableMargin: [{
1776
1810
  type: Input
1777
1811
  }], gutterSize: [{
@@ -1814,56 +1848,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1814
1848
  }]
1815
1849
  }] });
1816
1850
 
1851
+ var _SkyFormatComponent_instances, _SkyFormatComponent__text, _SkyFormatComponent__args, _SkyFormatComponent_updateItemsForDisplay;
1817
1852
  const tokenRegex = /(\{\d+\})/;
1818
1853
  class SkyFormatComponent {
1854
+ constructor() {
1855
+ _SkyFormatComponent_instances.add(this);
1856
+ this.itemsForDisplay = [];
1857
+ _SkyFormatComponent__text.set(this, void 0);
1858
+ _SkyFormatComponent__args.set(this, void 0);
1859
+ }
1819
1860
  /**
1820
1861
  * The tokenized string that represents the template. Tokens use the `{n}` notation
1821
1862
  * where `n` is the ordinal of the item to replace the token.
1822
1863
  */
1823
1864
  set text(value) {
1824
- this._text = value;
1825
- this.updateItemsForDisplay();
1865
+ __classPrivateFieldSet(this, _SkyFormatComponent__text, value, "f");
1866
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1826
1867
  }
1827
1868
  get text() {
1828
- return this._text;
1869
+ return __classPrivateFieldGet(this, _SkyFormatComponent__text, "f");
1829
1870
  }
1830
1871
  /**
1831
1872
  * An array of `TemplateRef` objects to be placed in the template, where the `nth`
1832
1873
  * item is placed at the `{n}` location in the template.
1833
1874
  */
1834
1875
  set args(value) {
1835
- this._args = value;
1836
- this.updateItemsForDisplay();
1876
+ __classPrivateFieldSet(this, _SkyFormatComponent__args, value, "f");
1877
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1837
1878
  }
1838
1879
  get args() {
1839
- return this._args;
1840
- }
1841
- updateItemsForDisplay() {
1842
- this.itemsForDisplay = [];
1843
- if (this.text && this.args) {
1844
- const textParts = this.text.split(tokenRegex);
1845
- for (const textPart of textParts) {
1846
- // Disregard empty strings.
1847
- if (textPart) {
1848
- const item = {};
1849
- if (tokenRegex.test(textPart)) {
1850
- const valueIndex = +textPart.substring(1, textPart.length - 1);
1851
- item.templateRef = this.args[valueIndex];
1852
- }
1853
- else {
1854
- item.text = textPart;
1855
- }
1856
- this.itemsForDisplay.push(item);
1880
+ return __classPrivateFieldGet(this, _SkyFormatComponent__args, "f");
1881
+ }
1882
+ }
1883
+ _SkyFormatComponent__text = new WeakMap(), _SkyFormatComponent__args = new WeakMap(), _SkyFormatComponent_instances = new WeakSet(), _SkyFormatComponent_updateItemsForDisplay = function _SkyFormatComponent_updateItemsForDisplay() {
1884
+ this.itemsForDisplay = [];
1885
+ if (this.text && this.args) {
1886
+ const textParts = this.text.split(tokenRegex);
1887
+ for (const textPart of textParts) {
1888
+ // Disregard empty strings.
1889
+ if (textPart) {
1890
+ const item = {};
1891
+ if (tokenRegex.test(textPart)) {
1892
+ const valueIndex = +textPart.substring(1, textPart.length - 1);
1893
+ item.templateRef = this.args[valueIndex];
1894
+ }
1895
+ else {
1896
+ item.text = textPart;
1857
1897
  }
1898
+ this.itemsForDisplay.push(item);
1858
1899
  }
1859
1900
  }
1860
1901
  }
1861
- }
1902
+ };
1862
1903
  SkyFormatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1863
- SkyFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFormatComponent, selector: "sky-format", inputs: { text: "text", args: "args" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of itemsForDisplay\">\n <!--\n The following ng-container must be on one line so no extra whitespace is introduced.\n -->\n <ng-container *ngIf=\"item.text; else item.templateRef\">{{\n item.text\n }}</ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1904
+ SkyFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyFormatComponent, selector: "sky-format", inputs: { text: "text", args: "args" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of itemsForDisplay\">\n <ng-container *ngIf=\"item.text\">{{ item.text }}</ng-container>\n <ng-container *ngIf=\"!item.text && item.templateRef\">\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1864
1905
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, decorators: [{
1865
1906
  type: Component,
1866
- args: [{ selector: 'sky-format', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of itemsForDisplay\">\n <!--\n The following ng-container must be on one line so no extra whitespace is introduced.\n -->\n <ng-container *ngIf=\"item.text; else item.templateRef\">{{\n item.text\n }}</ng-container>\n</ng-container>\n" }]
1907
+ args: [{ selector: 'sky-format', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of itemsForDisplay\">\n <ng-container *ngIf=\"item.text\">{{ item.text }}</ng-container>\n <ng-container *ngIf=\"!item.text && item.templateRef\">\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</ng-container>\n" }]
1867
1908
  }], propDecorators: { text: [{
1868
1909
  type: Input
1869
1910
  }], args: [{
@@ -1884,49 +1925,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1884
1925
  }]
1885
1926
  }] });
1886
1927
 
1928
+ var _SkyPageThemeAdapterService_styleEl;
1887
1929
  /**
1888
1930
  * @internal
1889
1931
  */
1890
1932
  class SkyPageThemeAdapterService {
1933
+ constructor() {
1934
+ _SkyPageThemeAdapterService_styleEl.set(this, void 0);
1935
+ }
1891
1936
  /**
1892
1937
  * We can't use ViewEncapsulation.None for this behavior because Angular does
1893
1938
  * not remove `style` tags from the HEAD element after route changes.
1894
1939
  * @see https://github.com/angular/angular/issues/16670
1895
1940
  */
1896
1941
  addTheme() {
1897
- if (!this.styleEl) {
1898
- this.styleEl = document.createElement('style');
1899
- this.styleEl.appendChild(document.createTextNode('body { background-color: #fff; }'));
1900
- document.head.appendChild(this.styleEl);
1942
+ if (!__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1943
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, document.createElement('style'), "f");
1944
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").appendChild(document.createTextNode('body { background-color: #fff; }'));
1945
+ document.head.appendChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f"));
1901
1946
  }
1902
1947
  }
1903
1948
  removeTheme() {
1904
- if (this.styleEl) {
1905
- document.head.removeChild(this.styleEl);
1906
- this.styleEl = undefined;
1949
+ if (__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1950
+ document.head.removeChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f"));
1951
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, undefined, "f");
1907
1952
  }
1908
1953
  }
1909
1954
  }
1955
+ _SkyPageThemeAdapterService_styleEl = new WeakMap();
1910
1956
  SkyPageThemeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1911
1957
  SkyPageThemeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService });
1912
1958
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, decorators: [{
1913
1959
  type: Injectable
1914
1960
  }] });
1915
1961
 
1962
+ var _SkyPageComponent_themeAdapter;
1916
1963
  /**
1917
1964
  * Sets the correct background color for a page.
1918
1965
  */
1919
1966
  class SkyPageComponent {
1920
1967
  constructor(themeAdapter) {
1921
- this.themeAdapter = themeAdapter;
1968
+ _SkyPageComponent_themeAdapter.set(this, void 0);
1969
+ __classPrivateFieldSet(this, _SkyPageComponent_themeAdapter, themeAdapter, "f");
1922
1970
  }
1923
1971
  ngOnInit() {
1924
- this.themeAdapter.addTheme();
1972
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").addTheme();
1925
1973
  }
1926
1974
  ngOnDestroy() {
1927
- this.themeAdapter.removeTheme();
1975
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").removeTheme();
1928
1976
  }
1929
1977
  }
1978
+ _SkyPageComponent_themeAdapter = new WeakMap();
1930
1979
  SkyPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, deps: [{ token: SkyPageThemeAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1931
1980
  SkyPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyPageComponent, selector: "sky-page", providers: [SkyPageThemeAdapterService], ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>\n" });
1932
1981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, decorators: [{
@@ -2075,43 +2124,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2075
2124
  type: Injectable
2076
2125
  }] });
2077
2126
 
2127
+ var _SkyPageSummaryComponent_breakpointSubscription, _SkyPageSummaryComponent_ngUnsubscribe, _SkyPageSummaryComponent_elRef, _SkyPageSummaryComponent_adapter, _SkyPageSummaryComponent_mediaQueryService, _SkyPageSummaryComponent_changeDetectorRef;
2078
2128
  /**
2079
2129
  * Specifies the components to display in the page summary.
2080
2130
  * @deprecated `SkyPageSummaryComponent` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.
2081
2131
  */
2082
2132
  class SkyPageSummaryComponent {
2083
- constructor(elRef, adapter, mediaQueryService, logger) {
2084
- this.elRef = elRef;
2085
- this.adapter = adapter;
2086
- this.mediaQueryService = mediaQueryService;
2133
+ constructor(elRef, adapter, mediaQueryService, logger, changeDetector) {
2134
+ this.hasKeyInfo = false;
2135
+ _SkyPageSummaryComponent_breakpointSubscription.set(this, void 0);
2136
+ _SkyPageSummaryComponent_ngUnsubscribe.set(this, new Subject());
2137
+ _SkyPageSummaryComponent_elRef.set(this, void 0);
2138
+ _SkyPageSummaryComponent_adapter.set(this, void 0);
2139
+ _SkyPageSummaryComponent_mediaQueryService.set(this, void 0);
2140
+ _SkyPageSummaryComponent_changeDetectorRef.set(this, void 0);
2141
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_elRef, elRef, "f");
2142
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_adapter, adapter, "f");
2143
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_mediaQueryService, mediaQueryService, "f");
2144
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_changeDetectorRef, changeDetector, "f");
2087
2145
  logger.deprecated('SkyPageSummaryComponent', {
2088
2146
  deprecationMajorVersion: 6,
2089
2147
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',
2090
2148
  replacementRecommendation: 'For page templates and techniques to summarize page content, see the page design guidelines.',
2091
2149
  });
2092
2150
  }
2093
- get hasKeyInfo() {
2094
- return this.keyInfoComponents.length > 0;
2095
- }
2096
2151
  ngAfterViewInit() {
2097
- this.breakpointSubscription = this.mediaQueryService.subscribe((args) => {
2098
- this.adapter.updateKeyInfoLocation(this.elRef, args === SkyMediaBreakpoints.xs);
2099
- });
2152
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_breakpointSubscription, __classPrivateFieldGet(this, _SkyPageSummaryComponent_mediaQueryService, "f").subscribe((args) => {
2153
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_adapter, "f").updateKeyInfoLocation(__classPrivateFieldGet(this, _SkyPageSummaryComponent_elRef, "f"), args === SkyMediaBreakpoints.xs);
2154
+ }), "f");
2155
+ }
2156
+ ngAfterContentInit() {
2157
+ if (this.keyInfoComponents) {
2158
+ this.hasKeyInfo = this.keyInfoComponents.length > 0;
2159
+ this.keyInfoComponents.changes
2160
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f")))
2161
+ .subscribe(() => {
2162
+ this.hasKeyInfo =
2163
+ !!this.keyInfoComponents && this.keyInfoComponents.length > 0;
2164
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_changeDetectorRef, "f").markForCheck();
2165
+ });
2166
+ }
2100
2167
  }
2101
2168
  ngOnDestroy() {
2102
2169
  /* istanbul ignore else */
2103
2170
  /* sanity check */
2104
- if (this.breakpointSubscription) {
2105
- this.breakpointSubscription.unsubscribe();
2171
+ if (__classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f")) {
2172
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f").unsubscribe();
2106
2173
  }
2174
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").next();
2175
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").complete();
2107
2176
  }
2108
2177
  }
2109
- SkyPageSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, deps: [{ token: i0.ElementRef }, { token: SkyPageSummaryAdapterService }, { token: i1$2.SkyMediaQueryService }, { token: i1$2.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
2178
+ _SkyPageSummaryComponent_breakpointSubscription = new WeakMap(), _SkyPageSummaryComponent_ngUnsubscribe = new WeakMap(), _SkyPageSummaryComponent_elRef = new WeakMap(), _SkyPageSummaryComponent_adapter = new WeakMap(), _SkyPageSummaryComponent_mediaQueryService = new WeakMap(), _SkyPageSummaryComponent_changeDetectorRef = new WeakMap();
2179
+ SkyPageSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, deps: [{ token: i0.ElementRef }, { token: SkyPageSummaryAdapterService }, { token: i1$2.SkyMediaQueryService }, { token: i1$2.SkyLogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2110
2180
  SkyPageSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyPageSummaryComponent, selector: "sky-page-summary", providers: [SkyPageSummaryAdapterService], queries: [{ propertyName: "keyInfoComponents", predicate: SkyPageSummaryKeyInfoComponent, read: SkyPageSummaryKeyInfoComponent }], ngImport: i0, template: "<div\n class=\"sky-page-summary\"\n [ngClass]=\"{ 'sky-page-summary-with-key-info': hasKeyInfo }\"\n>\n <ng-content select=\"sky-page-summary-alert\"></ng-content>\n <div class=\"sky-page-summary-row\">\n <div class=\"sky-page-summary-left\">\n <ng-content select=\"sky-page-summary-image\"></ng-content>\n <div class=\"sky-page-summary-data\">\n <ng-content select=\"sky-page-summary-title\"></ng-content>\n <ng-content select=\"sky-page-summary-subtitle\"></ng-content>\n <ng-content select=\"sky-page-summary-status\"></ng-content>\n <div class=\"sky-page-summary-key-info-xs\"></div>\n <ng-content select=\"sky-page-summary-content\"></ng-content>\n </div>\n </div>\n <div class=\"sky-page-summary-key-info-sm\">\n <div class=\"sky-page-summary-key-info-container\">\n <ng-content select=\"sky-page-summary-key-info\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-page-summary{background-color:#fff;padding:20px 15px}.sky-page-summary-row{align-items:stretch;display:flex}:host .sky-page-summary-left{flex-basis:100%;display:initial;align-items:initial}:host .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:100%;padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-page-summary-left,:host-context(.sky-responsive-container-sm) .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-left{flex-basis:100%;display:initial;align-items:initial}:host-context(.sky-responsive-container-xs) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:100%;padding-right:initial}@media (min-width: 768px){:host .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:75%;padding-right:15px}:host .sky-page-summary-with-key-info .sky-page-summary-right{flex-basis:25%}:host .sky-page-summary-left{align-items:stretch;display:flex}:host .sky-page-summary-data{flex-grow:1}}:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:75%;padding-right:15px}:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-right,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-right,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-right{flex-basis:25%}:host-context(.sky-responsive-container-sm) .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-left{align-items:stretch;display:flex}:host-context(.sky-responsive-container-sm) .sky-page-summary-data,:host-context(.sky-responsive-container-md) .sky-page-summary-data,:host-context(.sky-responsive-container-lg) .sky-page-summary-data{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2111
2181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, decorators: [{
2112
2182
  type: Component,
2113
2183
  args: [{ selector: 'sky-page-summary', providers: [SkyPageSummaryAdapterService], template: "<div\n class=\"sky-page-summary\"\n [ngClass]=\"{ 'sky-page-summary-with-key-info': hasKeyInfo }\"\n>\n <ng-content select=\"sky-page-summary-alert\"></ng-content>\n <div class=\"sky-page-summary-row\">\n <div class=\"sky-page-summary-left\">\n <ng-content select=\"sky-page-summary-image\"></ng-content>\n <div class=\"sky-page-summary-data\">\n <ng-content select=\"sky-page-summary-title\"></ng-content>\n <ng-content select=\"sky-page-summary-subtitle\"></ng-content>\n <ng-content select=\"sky-page-summary-status\"></ng-content>\n <div class=\"sky-page-summary-key-info-xs\"></div>\n <ng-content select=\"sky-page-summary-content\"></ng-content>\n </div>\n </div>\n <div class=\"sky-page-summary-key-info-sm\">\n <div class=\"sky-page-summary-key-info-container\">\n <ng-content select=\"sky-page-summary-key-info\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-page-summary{background-color:#fff;padding:20px 15px}.sky-page-summary-row{align-items:stretch;display:flex}:host .sky-page-summary-left{flex-basis:100%;display:initial;align-items:initial}:host .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:100%;padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-page-summary-left,:host-context(.sky-responsive-container-sm) .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-left{flex-basis:100%;display:initial;align-items:initial}:host-context(.sky-responsive-container-xs) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:100%;padding-right:initial}@media (min-width: 768px){:host .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:75%;padding-right:15px}:host .sky-page-summary-with-key-info .sky-page-summary-right{flex-basis:25%}:host .sky-page-summary-left{align-items:stretch;display:flex}:host .sky-page-summary-data{flex-grow:1}}:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-left{flex-basis:75%;padding-right:15px}:host-context(.sky-responsive-container-sm) .sky-page-summary-with-key-info .sky-page-summary-right,:host-context(.sky-responsive-container-md) .sky-page-summary-with-key-info .sky-page-summary-right,:host-context(.sky-responsive-container-lg) .sky-page-summary-with-key-info .sky-page-summary-right{flex-basis:25%}:host-context(.sky-responsive-container-sm) .sky-page-summary-left,:host-context(.sky-responsive-container-md) .sky-page-summary-left,:host-context(.sky-responsive-container-lg) .sky-page-summary-left{align-items:stretch;display:flex}:host-context(.sky-responsive-container-sm) .sky-page-summary-data,:host-context(.sky-responsive-container-md) .sky-page-summary-data,:host-context(.sky-responsive-container-lg) .sky-page-summary-data{flex-grow:1}\n"] }]
2114
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyPageSummaryAdapterService }, { type: i1$2.SkyMediaQueryService }, { type: i1$2.SkyLogService }]; }, propDecorators: { keyInfoComponents: [{
2184
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyPageSummaryAdapterService }, { type: i1$2.SkyMediaQueryService }, { type: i1$2.SkyLogService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { keyInfoComponents: [{
2115
2185
  type: ContentChildren,
2116
2186
  args: [SkyPageSummaryKeyInfoComponent, {
2117
2187
  read: SkyPageSummaryKeyInfoComponent,
@@ -2170,8 +2240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2170
2240
  /**
2171
2241
  * @internal
2172
2242
  */
2173
- class SkyTextExpandModalContext {
2174
- }
2243
+ const SKY_TEXT_EXPAND_MODAL_CONTEXT = new InjectionToken('SkyTextExpandModalContext');
2175
2244
 
2176
2245
  /**
2177
2246
  * @internal
@@ -2185,70 +2254,113 @@ class SkyTextExpandModalComponent {
2185
2254
  this.instance.close();
2186
2255
  }
2187
2256
  }
2188
- SkyTextExpandModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, deps: [{ token: SkyTextExpandModalContext }, { token: i2$2.SkyModalInstance }], target: i0.ɵɵFactoryTarget.Component });
2189
- SkyTextExpandModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandModalComponent, selector: "sky-text-expand-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "component", type: i2$2.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { kind: "component", type: i2$2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2$2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2$2.λ4, selector: "sky-modal-header" }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }] });
2257
+ SkyTextExpandModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, deps: [{ token: SKY_TEXT_EXPAND_MODAL_CONTEXT }, { token: i1$4.SkyModalInstance }], target: i0.ɵɵFactoryTarget.Component });
2258
+ SkyTextExpandModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandModalComponent, selector: "sky-text-expand-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "component", type: i1$4.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { kind: "component", type: i1$4.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1$4.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1$4.λ4, selector: "sky-modal-header" }, { kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }] });
2190
2259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
2191
2260
  type: Component,
2192
- args: [{ selector: 'sky-text-expand-modal', template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
2193
- }], ctorParameters: function () { return [{ type: SkyTextExpandModalContext }, { type: i2$2.SkyModalInstance }]; } });
2261
+ args: [{ selector: 'sky-text-expand-modal', template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
2262
+ }], ctorParameters: function () {
2263
+ return [{ type: undefined, decorators: [{
2264
+ type: Inject,
2265
+ args: [SKY_TEXT_EXPAND_MODAL_CONTEXT]
2266
+ }] }, { type: i1$4.SkyModalInstance }];
2267
+ } });
2194
2268
 
2269
+ var _SkyTextExpandAdapterService_renderer;
2195
2270
  /**
2196
2271
  * @internal
2197
2272
  */
2198
2273
  class SkyTextExpandAdapterService {
2199
2274
  constructor(rendererFactory) {
2200
- this.rendererFactory = rendererFactory;
2201
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2275
+ _SkyTextExpandAdapterService_renderer.set(this, void 0);
2276
+ __classPrivateFieldSet(this, _SkyTextExpandAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2202
2277
  }
2203
2278
  getContainerHeight(containerEl) {
2204
2279
  return containerEl.nativeElement.offsetHeight;
2205
2280
  }
2206
- setContainerHeight(containerEl, height) {
2207
- if (height === undefined) {
2208
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2209
- }
2210
- else {
2211
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2212
- }
2281
+ removeContainerMaxHeight(containerEl) {
2282
+ __classPrivateFieldGet(this, _SkyTextExpandAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2213
2283
  }
2214
2284
  setText(textEl, text) {
2215
2285
  textEl.nativeElement.textContent = text;
2216
2286
  }
2217
2287
  }
2288
+ _SkyTextExpandAdapterService_renderer = new WeakMap();
2218
2289
  SkyTextExpandAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2219
2290
  SkyTextExpandAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService });
2220
2291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
2221
2292
  type: Injectable
2222
2293
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2223
2294
 
2295
+ var _SkyTextExpandComponent_instances, _SkyTextExpandComponent_collapsedText, _SkyTextExpandComponent_newlineCount, _SkyTextExpandComponent_seeMoreText, _SkyTextExpandComponent_seeLessText, _SkyTextExpandComponent_textToShow, _SkyTextExpandComponent__maxExpandedLength, _SkyTextExpandComponent__maxExpandedNewlines, _SkyTextExpandComponent__maxLength, _SkyTextExpandComponent__text, _SkyTextExpandComponent__textEl, _SkyTextExpandComponent_resources, _SkyTextExpandComponent_modalSvc, _SkyTextExpandComponent_textExpandAdapter, _SkyTextExpandComponent_setup, _SkyTextExpandComponent_getNewlineCount, _SkyTextExpandComponent_getTruncatedText, _SkyTextExpandComponent_animateText;
2224
2296
  /**
2225
2297
  * Auto-incrementing integer used to generate unique ids for text expand components.
2226
2298
  */
2227
2299
  let nextId$1 = 0;
2228
2300
  class SkyTextExpandComponent {
2229
- constructor(resources, modalService, textExpandAdapter) {
2230
- this.resources = resources;
2231
- this.modalService = modalService;
2232
- this.textExpandAdapter = textExpandAdapter;
2233
- /**
2234
- * Specifies the maximum number of text characters to display inline when users select the link
2235
- * to expand the full text. If the text exceeds this limit, then the component expands
2236
- * the full text in a modal instead.
2237
- */
2238
- this.maxExpandedLength = 600;
2239
- /**
2240
- * Specifies the maximum number of newline characters to display inline when users select
2241
- * the link to expand the full text. If the text exceeds this limit, then
2242
- * the component expands the full text in a modal view instead.
2243
- */
2244
- this.maxExpandedNewlines = 2;
2301
+ constructor(resources, modalSvc, textExpandAdapter) {
2302
+ _SkyTextExpandComponent_instances.add(this);
2245
2303
  /**
2246
2304
  * Indicates whether to replace newline characters in truncated text with spaces.
2247
2305
  */
2248
2306
  this.truncateNewlines = true;
2307
+ this.buttonText = '';
2249
2308
  this.contentSectionId = `sky-text-expand-content-${++nextId$1}`;
2250
- this.isExpanded = false;
2251
- this._maxLength = 200;
2309
+ this.expandable = false;
2310
+ this.isModal = false;
2311
+ this.transitionHeight = 1;
2312
+ _SkyTextExpandComponent_collapsedText.set(this, '');
2313
+ _SkyTextExpandComponent_newlineCount.set(this, 0);
2314
+ _SkyTextExpandComponent_seeMoreText.set(this, '');
2315
+ _SkyTextExpandComponent_seeLessText.set(this, '');
2316
+ _SkyTextExpandComponent_textToShow.set(this, '');
2317
+ _SkyTextExpandComponent__maxExpandedLength.set(this, 600);
2318
+ _SkyTextExpandComponent__maxExpandedNewlines.set(this, 2);
2319
+ _SkyTextExpandComponent__maxLength.set(this, 200);
2320
+ _SkyTextExpandComponent__text.set(this, '');
2321
+ _SkyTextExpandComponent__textEl.set(this, void 0);
2322
+ _SkyTextExpandComponent_resources.set(this, void 0);
2323
+ _SkyTextExpandComponent_modalSvc.set(this, void 0);
2324
+ _SkyTextExpandComponent_textExpandAdapter.set(this, void 0);
2325
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_resources, resources, "f");
2326
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_modalSvc, modalSvc, "f");
2327
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textExpandAdapter, textExpandAdapter, "f");
2328
+ }
2329
+ /**
2330
+ * Specifies the maximum number of text characters to display inline when users select the link
2331
+ * to expand the full text. If the text exceeds this limit, then the component expands
2332
+ * the full text in a modal instead.
2333
+ * @default 600
2334
+ */
2335
+ set maxExpandedLength(value) {
2336
+ if (value) {
2337
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, value, "f");
2338
+ }
2339
+ else {
2340
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, 600, "f");
2341
+ }
2342
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2343
+ }
2344
+ get maxExpandedLength() {
2345
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedLength, "f");
2346
+ }
2347
+ /**
2348
+ * Specifies the maximum number of newline characters to display inline when users select
2349
+ * the link to expand the full text. If the text exceeds this limit, then
2350
+ * the component expands the full text in a modal view instead.
2351
+ * @default 2
2352
+ */
2353
+ set maxExpandedNewlines(value) {
2354
+ if (value) {
2355
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, value, "f");
2356
+ }
2357
+ else {
2358
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, 2, "f");
2359
+ }
2360
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2361
+ }
2362
+ get maxExpandedNewlines() {
2363
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedNewlines, "f");
2252
2364
  }
2253
2365
  /**
2254
2366
  * Specifies the number of text characters to display before truncating the text.
@@ -2257,23 +2369,33 @@ class SkyTextExpandComponent {
2257
2369
  * @default 200
2258
2370
  */
2259
2371
  set maxLength(value) {
2260
- this._maxLength = value;
2261
- /* istanbul ignore else */
2262
- if (this.textEl) {
2263
- this.setup(this.expandedText);
2372
+ if (value) {
2373
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, value, "f");
2264
2374
  }
2375
+ else {
2376
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, 200, "f");
2377
+ }
2378
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2265
2379
  }
2266
2380
  get maxLength() {
2267
- return this._maxLength;
2381
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxLength, "f");
2268
2382
  }
2269
2383
  /**
2270
2384
  * Specifies the text to truncate.
2271
2385
  */
2272
2386
  set text(value) {
2273
- /* istanbul ignore else */
2274
- if (this.textEl) {
2275
- this.setup(value);
2276
- }
2387
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__text, value !== null && value !== void 0 ? value : '', "f");
2388
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f"));
2389
+ }
2390
+ get text() {
2391
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f");
2392
+ }
2393
+ set textEl(value) {
2394
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__textEl, value, "f");
2395
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2396
+ }
2397
+ get textEl() {
2398
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__textEl, "f");
2277
2399
  }
2278
2400
  textExpand() {
2279
2401
  if (this.isModal) {
@@ -2281,12 +2403,12 @@ class SkyTextExpandComponent {
2281
2403
  /* istanbul ignore else */
2282
2404
  /* sanity check */
2283
2405
  if (!this.isExpanded) {
2284
- this.modalService.open(SkyTextExpandModalComponent, [
2406
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_modalSvc, "f").open(SkyTextExpandModalComponent, [
2285
2407
  {
2286
- provide: SkyTextExpandModalContext,
2408
+ provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
2287
2409
  useValue: {
2288
2410
  header: this.expandModalTitle,
2289
- text: this.expandedText,
2411
+ text: this.text,
2290
2412
  },
2291
2413
  },
2292
2414
  ]);
@@ -2295,40 +2417,38 @@ class SkyTextExpandComponent {
2295
2417
  else {
2296
2418
  // Normal View
2297
2419
  if (!this.isExpanded) {
2298
- this.setContainerMaxHeight();
2299
- setTimeout(() => {
2300
- this.isExpanded = true;
2301
- this.animateText(this.collapsedText, this.expandedText, true);
2302
- }, 10);
2420
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, true);
2303
2421
  }
2304
2422
  else {
2305
- this.setContainerMaxHeight();
2306
- setTimeout(() => {
2307
- this.isExpanded = false;
2308
- this.animateText(this.expandedText, this.collapsedText, false);
2309
- }, 10);
2423
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, false);
2310
2424
  }
2311
2425
  }
2312
2426
  }
2313
2427
  animationEnd() {
2314
- // Ensure the correct text is displayed
2315
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2316
- // Set height back to auto so the browser can change the height as needed with window changes
2317
- this.textExpandAdapter.setContainerHeight(this.containerEl, undefined);
2428
+ if (this.textEl && this.containerEl) {
2429
+ // Ensure the correct text is displayed
2430
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2431
+ setTimeout(() => {
2432
+ if (this.containerEl) {
2433
+ // Set height back to auto so the browser can change the height as needed with window changes
2434
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").removeContainerMaxHeight(this.containerEl);
2435
+ }
2436
+ });
2437
+ }
2318
2438
  }
2319
2439
  ngAfterContentInit() {
2320
2440
  forkJoin([
2321
- this.resources.getString('skyux_text_expand_see_more'),
2322
- this.resources.getString('skyux_text_expand_see_less'),
2441
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_more'),
2442
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_less'),
2323
2443
  ])
2324
2444
  .pipe(take(1))
2325
2445
  .subscribe((resources) => {
2326
- this.seeMoreText = resources[0];
2327
- this.seeLessText = resources[1];
2328
- this.setup(this.expandedText);
2446
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeMoreText, resources[0], "f");
2447
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeLessText, resources[1], "f");
2448
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2329
2449
  /* istanbul ignore else */
2330
2450
  if (!this.expandModalTitle) {
2331
- this.resources
2451
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f")
2332
2452
  .getString('skyux_text_expand_modal_title')
2333
2453
  .pipe(take(1))
2334
2454
  .subscribe((resource) => {
@@ -2337,99 +2457,109 @@ class SkyTextExpandComponent {
2337
2457
  }
2338
2458
  });
2339
2459
  }
2340
- setContainerMaxHeight() {
2341
- // ensure everything is reset
2342
- this.animationEnd();
2343
- /* Before animation is kicked off, ensure that a maxHeight exists */
2344
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2345
- const currentHeight = this.textExpandAdapter.getContainerHeight(this.containerEl);
2346
- this.textExpandAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2347
- }
2348
- setup(value) {
2349
- if (value) {
2350
- this.newlineCount = this.getNewlineCount(value);
2351
- this.collapsedText = this.getTruncatedText(value, this.maxLength);
2352
- this.expandedText = value;
2353
- if (this.collapsedText !== value) {
2354
- this.buttonText = this.seeMoreText;
2355
- this.isExpanded = false;
2356
- this.expandable = true;
2357
- this.isModal =
2358
- this.newlineCount > this.maxExpandedNewlines ||
2359
- this.expandedText.length > this.maxExpandedLength;
2360
- }
2361
- else {
2362
- this.expandable = false;
2363
- }
2364
- this.textToShow = this.collapsedText;
2460
+ }
2461
+ _SkyTextExpandComponent_collapsedText = new WeakMap(), _SkyTextExpandComponent_newlineCount = new WeakMap(), _SkyTextExpandComponent_seeMoreText = new WeakMap(), _SkyTextExpandComponent_seeLessText = new WeakMap(), _SkyTextExpandComponent_textToShow = new WeakMap(), _SkyTextExpandComponent__maxExpandedLength = new WeakMap(), _SkyTextExpandComponent__maxExpandedNewlines = new WeakMap(), _SkyTextExpandComponent__maxLength = new WeakMap(), _SkyTextExpandComponent__text = new WeakMap(), _SkyTextExpandComponent__textEl = new WeakMap(), _SkyTextExpandComponent_resources = new WeakMap(), _SkyTextExpandComponent_modalSvc = new WeakMap(), _SkyTextExpandComponent_textExpandAdapter = new WeakMap(), _SkyTextExpandComponent_instances = new WeakSet(), _SkyTextExpandComponent_setup = function _SkyTextExpandComponent_setup(value) {
2462
+ if (value) {
2463
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_newlineCount, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getNewlineCount).call(this, value), "f");
2464
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_collapsedText, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getTruncatedText).call(this, value, this.maxLength), "f");
2465
+ if (__classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f") !== value) {
2466
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2467
+ this.isExpanded = false;
2468
+ this.expandable = true;
2469
+ this.isModal =
2470
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_newlineCount, "f") > this.maxExpandedNewlines ||
2471
+ this.text.length > this.maxExpandedLength;
2365
2472
  }
2366
2473
  else {
2367
- this.textToShow = '';
2368
2474
  this.expandable = false;
2369
2475
  }
2370
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2371
- }
2372
- getNewlineCount(value) {
2373
- const matches = value.match(/\n/gi);
2374
- if (matches) {
2375
- return matches.length;
2376
- }
2377
- return 0;
2476
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2378
2477
  }
2379
- getTruncatedText(value, length) {
2380
- let i;
2381
- if (this.truncateNewlines) {
2382
- value = value.replace(/\n+/gi, ' ');
2383
- }
2384
- // Jump ahead one character and see if it's a space, and if it isn't,
2385
- // back up to the first space and break there so a word doesn't get cut
2386
- // in half.
2387
- if (length < value.length) {
2388
- for (i = length; i > length - 10; i--) {
2389
- if (/\s/.test(value.charAt(i))) {
2390
- length = i;
2391
- break;
2392
- }
2478
+ else {
2479
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, '', "f");
2480
+ this.expandable = false;
2481
+ }
2482
+ if (this.textEl) {
2483
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2484
+ }
2485
+ }, _SkyTextExpandComponent_getNewlineCount = function _SkyTextExpandComponent_getNewlineCount(value) {
2486
+ const matches = value.match(/\n/gi);
2487
+ if (matches) {
2488
+ return matches.length;
2489
+ }
2490
+ return 0;
2491
+ }, _SkyTextExpandComponent_getTruncatedText = function _SkyTextExpandComponent_getTruncatedText(value, length) {
2492
+ let i;
2493
+ if (this.truncateNewlines) {
2494
+ value = value.replace(/\n+/gi, ' ');
2495
+ }
2496
+ // Jump ahead one character and see if it's a space, and if it isn't,
2497
+ // back up to the first space and break there so a word doesn't get cut
2498
+ // in half.
2499
+ if (length < value.length) {
2500
+ for (i = length; i > length - 10; i--) {
2501
+ if (/\s/.test(value.charAt(i))) {
2502
+ length = i;
2503
+ break;
2393
2504
  }
2394
2505
  }
2395
- return value.substr(0, length);
2396
2506
  }
2397
- animateText(previousText, newText, expanding) {
2398
- const adapter = this.textExpandAdapter;
2507
+ return value.substring(0, length);
2508
+ }, _SkyTextExpandComponent_animateText = function _SkyTextExpandComponent_animateText(expanding) {
2509
+ if (this.containerEl && this.textEl) {
2510
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f");
2399
2511
  const container = this.containerEl;
2400
- // Reset max height
2401
- adapter.setContainerHeight(container, undefined);
2402
- // Measure the current height so we can animate from it.
2403
- const currentHeight = adapter.getContainerHeight(container);
2404
- this.textToShow = newText;
2405
- adapter.setText(this.textEl, this.textToShow);
2406
- this.buttonText = expanding ? this.seeLessText : this.seeMoreText;
2512
+ if (expanding) {
2513
+ adapter.setText(this.textEl, this.text);
2514
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, this.text, "f");
2515
+ }
2516
+ else {
2517
+ adapter.setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"));
2518
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2519
+ }
2520
+ this.buttonText = expanding ? __classPrivateFieldGet(this, _SkyTextExpandComponent_seeLessText, "f") : __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2407
2521
  // Measure the new height so we can animate to it.
2408
2522
  const newHeight = adapter.getContainerHeight(container);
2409
- /* istanbul ignore if */
2410
- if (newHeight < currentHeight) {
2411
- // The new text is smaller than the old text, so put the old text back before doing
2412
- // the collapse animation to avoid showing a big chunk of whitespace.
2413
- adapter.setText(this.textEl, previousText);
2414
- }
2415
- adapter.setContainerHeight(container, `${currentHeight}px`);
2416
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2417
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2418
- setTimeout(() => {
2419
- adapter.setContainerHeight(container, `${newHeight}px`);
2420
- /* This resets values if the transition does not get kicked off */
2421
- setTimeout(() => {
2422
- this.animationEnd();
2423
- }, 500);
2424
- }, 10);
2523
+ this.transitionHeight = newHeight;
2524
+ // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.
2525
+ if (!expanding) {
2526
+ adapter.setText(this.textEl, this.text);
2527
+ }
2528
+ this.isExpanded = expanding;
2425
2529
  }
2426
- }
2427
- SkyTextExpandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1$3.SkyLibResourcesService }, { token: i2$2.SkyModalService }, { token: SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component });
2428
- SkyTextExpandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandComponent, selector: "sky-text-expand", inputs: { expandModalTitle: "expandModalTitle", maxExpandedLength: "maxExpandedLength", maxExpandedNewlines: "maxExpandedNewlines", maxLength: "maxLength", text: "text", truncateNewlines: "truncateNewlines" }, providers: [SkyTextExpandAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "textEl", first: true, predicate: ["text"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-text-expand-container\"\n (transitionend)=\"animationEnd()\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2530
+ };
2531
+ SkyTextExpandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1$3.SkyLibResourcesService }, { token: i1$4.SkyModalService }, { token: SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component });
2532
+ SkyTextExpandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandComponent, selector: "sky-text-expand", inputs: { expandModalTitle: "expandModalTitle", maxExpandedLength: "maxExpandedLength", maxExpandedNewlines: "maxExpandedNewlines", maxLength: "maxLength", text: "text", truncateNewlines: "truncateNewlines" }, providers: [SkyTextExpandAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "textEl", first: true, predicate: ["text"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
2533
+ trigger('expansionAnimation', [
2534
+ transition(':enter', []),
2535
+ state('true', style({
2536
+ maxHeight: '{{transitionHeight}}px',
2537
+ }), { params: { transitionHeight: 0 } }),
2538
+ state('false', style({
2539
+ maxHeight: '{{transitionHeight}}px',
2540
+ }), { params: { transitionHeight: 0 } }),
2541
+ transition('true => false', animate('250ms ease')),
2542
+ transition('false => true', animate('250ms ease')),
2543
+ transition('void => *', []),
2544
+ ]),
2545
+ ] });
2429
2546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
2430
2547
  type: Component,
2431
- args: [{ selector: 'sky-text-expand', providers: [SkyTextExpandAdapterService], template: "<div\n class=\"sky-text-expand-container\"\n (transitionend)=\"animationEnd()\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
2432
- }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i2$2.SkyModalService }, { type: SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
2548
+ args: [{ animations: [
2549
+ trigger('expansionAnimation', [
2550
+ transition(':enter', []),
2551
+ state('true', style({
2552
+ maxHeight: '{{transitionHeight}}px',
2553
+ }), { params: { transitionHeight: 0 } }),
2554
+ state('false', style({
2555
+ maxHeight: '{{transitionHeight}}px',
2556
+ }), { params: { transitionHeight: 0 } }),
2557
+ transition('true => false', animate('250ms ease')),
2558
+ transition('false => true', animate('250ms ease')),
2559
+ transition('void => *', []),
2560
+ ]),
2561
+ ], selector: 'sky-text-expand', providers: [SkyTextExpandAdapterService], template: "<div\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
2562
+ }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i1$4.SkyModalService }, { type: SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
2433
2563
  type: Input
2434
2564
  }], maxExpandedLength: [{
2435
2565
  type: Input
@@ -2480,187 +2610,226 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2480
2610
  }]
2481
2611
  }] });
2482
2612
 
2613
+ var _SkyTextExpandRepeaterAdapterService_renderer;
2483
2614
  /**
2484
2615
  * @internal
2485
2616
  */
2486
2617
  class SkyTextExpandRepeaterAdapterService {
2487
2618
  constructor(rendererFactory) {
2488
- this.rendererFactory = rendererFactory;
2489
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2619
+ _SkyTextExpandRepeaterAdapterService_renderer.set(this, void 0);
2620
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2490
2621
  }
2491
2622
  getItems(elRef) {
2492
2623
  return elRef.nativeElement.querySelectorAll('.sky-text-expand-repeater-item');
2493
2624
  }
2494
2625
  hideItem(item) {
2495
- this.renderer.setStyle(item, 'display', 'none');
2626
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").setStyle(item, 'display', 'none');
2496
2627
  }
2497
2628
  showItem(item) {
2498
- this.renderer.setStyle(item, 'display', 'list-item');
2629
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(item, 'display');
2499
2630
  }
2500
2631
  getContainerHeight(containerEl) {
2501
2632
  return containerEl.nativeElement.offsetHeight;
2502
2633
  }
2503
- setContainerHeight(containerEl, height) {
2504
- if (height === undefined) {
2505
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2506
- }
2507
- else {
2508
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2509
- }
2634
+ removeContainerMaxHeight(containerEl) {
2635
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2510
2636
  }
2511
2637
  }
2638
+ _SkyTextExpandRepeaterAdapterService_renderer = new WeakMap();
2512
2639
  SkyTextExpandRepeaterAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2513
2640
  SkyTextExpandRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService });
2514
2641
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
2515
2642
  type: Injectable
2516
2643
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2517
2644
 
2645
+ var _SkyTextExpandRepeaterComponent_instances, _SkyTextExpandRepeaterComponent_seeMoreText, _SkyTextExpandRepeaterComponent_seeLessText, _SkyTextExpandRepeaterComponent_htmlItems, _SkyTextExpandRepeaterComponent__data, _SkyTextExpandRepeaterComponent__maxItems, _SkyTextExpandRepeaterComponent_resources, _SkyTextExpandRepeaterComponent_elRef, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, _SkyTextExpandRepeaterComponent_changeDetector, _SkyTextExpandRepeaterComponent_animateRepeater, _SkyTextExpandRepeaterComponent_setup, _SkyTextExpandRepeaterComponent_hideItems, _SkyTextExpandRepeaterComponent_showItems;
2518
2646
  /**
2519
2647
  * Auto-incrementing integer used to generate unique ids for text expand repeater components.
2520
2648
  */
2521
2649
  let nextId = 0;
2522
2650
  class SkyTextExpandRepeaterComponent {
2523
2651
  constructor(resources, elRef, textExpandRepeaterAdapter, changeDetector) {
2524
- this.resources = resources;
2525
- this.elRef = elRef;
2526
- this.textExpandRepeaterAdapter = textExpandRepeaterAdapter;
2527
- this.changeDetector = changeDetector;
2652
+ _SkyTextExpandRepeaterComponent_instances.add(this);
2528
2653
  /**
2529
2654
  * Specifies the style of bullet to use
2530
2655
  * @default "unordered"
2531
2656
  */
2532
2657
  this.listStyle = 'unordered';
2658
+ this.buttonText = '';
2659
+ this.expandable = false;
2533
2660
  this.contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;
2534
- this.isExpanded = false;
2661
+ this.transitionHeight = 1;
2662
+ _SkyTextExpandRepeaterComponent_seeMoreText.set(this, '');
2663
+ _SkyTextExpandRepeaterComponent_seeLessText.set(this, '');
2664
+ _SkyTextExpandRepeaterComponent_htmlItems.set(this, void 0);
2665
+ _SkyTextExpandRepeaterComponent__data.set(this, void 0);
2666
+ _SkyTextExpandRepeaterComponent__maxItems.set(this, void 0);
2667
+ _SkyTextExpandRepeaterComponent_resources.set(this, void 0);
2668
+ _SkyTextExpandRepeaterComponent_elRef.set(this, void 0);
2669
+ _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter.set(this, void 0);
2670
+ _SkyTextExpandRepeaterComponent_changeDetector.set(this, void 0);
2671
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_resources, resources, "f");
2672
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_elRef, elRef, "f");
2673
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, textExpandRepeaterAdapter, "f");
2674
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_changeDetector, changeDetector, "f");
2675
+ }
2676
+ /**
2677
+ * Specifies the data to truncate.
2678
+ */
2679
+ set data(value) {
2680
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__data, value, "f");
2681
+ // Wait for the dom to render the new items based on the updated data
2682
+ setTimeout(() => {
2683
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_htmlItems, __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getItems(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_elRef, "f")), "f");
2684
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, value);
2685
+ });
2686
+ }
2687
+ get data() {
2688
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__data, "f");
2689
+ }
2690
+ /**
2691
+ * Specifies the number of items to display before truncating the list. If not supplied, all items are shown.
2692
+ */
2693
+ set maxItems(value) {
2694
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__maxItems, value, "f");
2695
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, this.data);
2696
+ }
2697
+ get maxItems() {
2698
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__maxItems, "f");
2535
2699
  }
2536
2700
  ngAfterViewInit() {
2537
- if (this.contentItems) {
2538
- this.items = this.textExpandRepeaterAdapter.getItems(this.elRef);
2539
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2540
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2541
- }
2542
- }
2543
2701
  forkJoin([
2544
- this.resources.getString('skyux_text_expand_see_more'),
2545
- this.resources.getString('skyux_text_expand_see_less'),
2702
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_more'),
2703
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_less'),
2546
2704
  ])
2547
2705
  .pipe(take(1))
2548
2706
  .subscribe((resources) => {
2549
- this.seeMoreText = resources[0];
2550
- this.seeLessText = resources[1];
2707
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeMoreText, resources[0], "f");
2708
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeLessText, resources[1], "f");
2551
2709
  /* sanity check */
2552
2710
  /* istanbul ignore else */
2553
2711
  if (!this.isExpanded) {
2554
- this.buttonText = this.seeMoreText;
2712
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2555
2713
  }
2556
2714
  else {
2557
- this.buttonText = this.seeLessText;
2715
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2558
2716
  }
2559
- this.changeDetector.detectChanges();
2717
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").detectChanges();
2560
2718
  });
2561
2719
  }
2562
- ngOnChanges(changes) {
2563
- /* istanbul ignore else */
2564
- if (changes.maxItems || changes.data) {
2565
- this.setup(this.data);
2566
- }
2567
- }
2568
2720
  animationEnd() {
2569
- // Ensure the correct items are displayed
2721
+ // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.
2570
2722
  if (!this.isExpanded) {
2571
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2572
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2573
- }
2723
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2574
2724
  }
2575
- // Set height back to auto so the browser can change the height as needed with window changes
2576
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, undefined);
2725
+ // This set timeout is needed as the `animationEnd` function is called by the angular animation callback prior to the animation setting the style on the element
2726
+ setTimeout(() => {
2727
+ if (this.containerEl) {
2728
+ // Set height back to auto so the browser can change the height as needed with window changes
2729
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").removeContainerMaxHeight(this.containerEl);
2730
+ }
2731
+ });
2577
2732
  }
2578
2733
  repeaterExpand() {
2579
2734
  if (!this.isExpanded) {
2580
- this.setContainerMaxHeight();
2581
- setTimeout(() => {
2582
- this.isExpanded = true;
2583
- this.animateRepeater(true);
2584
- });
2735
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, true);
2585
2736
  }
2586
2737
  else {
2587
- this.setContainerMaxHeight();
2588
- setTimeout(() => {
2589
- this.isExpanded = false;
2590
- this.animateRepeater(false);
2591
- });
2738
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, false);
2592
2739
  }
2593
2740
  }
2594
- setContainerMaxHeight() {
2595
- // ensure everything is reset
2596
- this.animationEnd();
2597
- /* Before animation is kicked off, ensure that a maxHeight exists */
2598
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2599
- const currentHeight = this.textExpandRepeaterAdapter.getContainerHeight(this.containerEl);
2600
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2601
- }
2602
- animateRepeater(expanding) {
2603
- const adapter = this.textExpandRepeaterAdapter;
2604
- const container = this.containerEl;
2605
- adapter.setContainerHeight(container, undefined);
2606
- const currentHeight = adapter.getContainerHeight(container);
2607
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2608
- if (!expanding) {
2609
- adapter.hideItem(this.items[i]);
2610
- }
2611
- else {
2612
- adapter.showItem(this.items[i]);
2613
- }
2741
+ }
2742
+ _SkyTextExpandRepeaterComponent_seeMoreText = new WeakMap(), _SkyTextExpandRepeaterComponent_seeLessText = new WeakMap(), _SkyTextExpandRepeaterComponent_htmlItems = new WeakMap(), _SkyTextExpandRepeaterComponent__data = new WeakMap(), _SkyTextExpandRepeaterComponent__maxItems = new WeakMap(), _SkyTextExpandRepeaterComponent_resources = new WeakMap(), _SkyTextExpandRepeaterComponent_elRef = new WeakMap(), _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter = new WeakMap(), _SkyTextExpandRepeaterComponent_changeDetector = new WeakMap(), _SkyTextExpandRepeaterComponent_instances = new WeakSet(), _SkyTextExpandRepeaterComponent_animateRepeater = function _SkyTextExpandRepeaterComponent_animateRepeater(expanding) {
2743
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f");
2744
+ const container = this.containerEl;
2745
+ if (container) {
2746
+ if (expanding) {
2747
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2748
+ }
2749
+ else {
2750
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2614
2751
  }
2615
2752
  const newHeight = adapter.getContainerHeight(container);
2753
+ this.transitionHeight = newHeight;
2616
2754
  if (!expanding) {
2617
- this.buttonText = this.seeMoreText;
2755
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2618
2756
  }
2619
2757
  else {
2620
- this.buttonText = this.seeLessText;
2758
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2621
2759
  }
2622
- if (newHeight < currentHeight) {
2623
- // The new text is smaller than the old text, so put the old text back before doing
2624
- // the collapse animation to avoid showing a big chunk of whitespace.
2625
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2626
- adapter.showItem(this.items[i]);
2627
- }
2628
- }
2629
- adapter.setContainerHeight(container, `${currentHeight}px`);
2630
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2631
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2632
- setTimeout(() => {
2633
- adapter.setContainerHeight(container, `${newHeight}px`);
2634
- /* This resets values if the transition does not get kicked off */
2635
- setTimeout(() => {
2636
- this.animationEnd();
2637
- }, 500);
2638
- }, 10);
2639
- }
2640
- setup(value) {
2641
- if (value) {
2642
- const length = value.length;
2643
- if (length > this.maxItems) {
2644
- this.expandable = true;
2645
- this.buttonText = this.seeMoreText;
2646
- this.isExpanded = false;
2647
- }
2648
- else {
2649
- this.expandable = false;
2760
+ if (!expanding) {
2761
+ // Show all items during animation for visual purposes.
2762
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2763
+ }
2764
+ this.isExpanded = expanding;
2765
+ }
2766
+ }, _SkyTextExpandRepeaterComponent_setup = function _SkyTextExpandRepeaterComponent_setup(value) {
2767
+ if (value) {
2768
+ const length = value.length;
2769
+ if (this.maxItems && length > this.maxItems) {
2770
+ this.expandable = true;
2771
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2772
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2773
+ if (this.containerEl) {
2774
+ this.transitionHeight =
2775
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getContainerHeight(this.containerEl);
2650
2776
  }
2651
- this.contentItems = value;
2777
+ this.isExpanded = false;
2652
2778
  }
2653
2779
  else {
2654
- this.contentItems = undefined;
2655
2780
  this.expandable = false;
2781
+ this.isExpanded = undefined;
2656
2782
  }
2657
2783
  }
2658
- }
2784
+ else {
2785
+ this.expandable = false;
2786
+ this.isExpanded = undefined;
2787
+ }
2788
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").markForCheck();
2789
+ }, _SkyTextExpandRepeaterComponent_hideItems = function _SkyTextExpandRepeaterComponent_hideItems() {
2790
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2791
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2792
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").hideItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2793
+ }
2794
+ }
2795
+ }, _SkyTextExpandRepeaterComponent_showItems = function _SkyTextExpandRepeaterComponent_showItems() {
2796
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2797
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2798
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").showItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2799
+ }
2800
+ }
2801
+ };
2659
2802
  SkyTextExpandRepeaterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, deps: [{ token: i1$3.SkyLibResourcesService }, { token: i0.ElementRef }, { token: SkyTextExpandRepeaterAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2660
- SkyTextExpandRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of contentItems\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;transition:max-height .25s}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2803
+ SkyTextExpandRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
2804
+ trigger('expansionAnimation', [
2805
+ transition(':enter', []),
2806
+ state('true', style({
2807
+ maxHeight: '{{transitionHeight}}px',
2808
+ }), { params: { transitionHeight: 0 } }),
2809
+ state('false', style({
2810
+ maxHeight: '{{transitionHeight}}px',
2811
+ }), { params: { transitionHeight: 0 } }),
2812
+ transition('true => false', animate('250ms ease')),
2813
+ transition('false => true', animate('250ms ease')),
2814
+ transition('void => *', []),
2815
+ ]),
2816
+ ] });
2661
2817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
2662
2818
  type: Component,
2663
- args: [{ selector: 'sky-text-expand-repeater', providers: [SkyTextExpandRepeaterAdapterService], template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of contentItems\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;transition:max-height .25s}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"] }]
2819
+ args: [{ animations: [
2820
+ trigger('expansionAnimation', [
2821
+ transition(':enter', []),
2822
+ state('true', style({
2823
+ maxHeight: '{{transitionHeight}}px',
2824
+ }), { params: { transitionHeight: 0 } }),
2825
+ state('false', style({
2826
+ maxHeight: '{{transitionHeight}}px',
2827
+ }), { params: { transitionHeight: 0 } }),
2828
+ transition('true => false', animate('250ms ease')),
2829
+ transition('false => true', animate('250ms ease')),
2830
+ transition('void => *', []),
2831
+ ]),
2832
+ ], selector: 'sky-text-expand-repeater', providers: [SkyTextExpandRepeaterAdapterService], template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"] }]
2664
2833
  }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i0.ElementRef }, { type: SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2665
2834
  type: Input
2666
2835
  }], itemTemplate: [{
@@ -2783,5 +2952,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2783
2952
  * Generated bundle index. Do not edit.
2784
2953
  */
2785
2954
 
2786
- export { SkyActionButtonModule, SkyBackToTopMessageType, SkyBackToTopModule, SkyBoxModule, SkyCardModule, SkyDefinitionListModule, SkyDescriptionListMode, SkyDescriptionListModule, SkyFluidGridGutterSize, SkyFluidGridModule, SkyFormatModule, SkyInlineDeleteModule, SkyInlineDeleteType, SkyPageModule, SkyPageSummaryModule, SkyTextExpandModule, SkyTextExpandRepeaterModule, SkyToolbarModule, SkyActionButtonComponent as λ1, SkyCardActionsComponent as λ10, SkyCardContentComponent as λ11, SkyCardTitleComponent as λ12, SkyDefinitionListComponent as λ13, SkyDefinitionListContentComponent as λ14, SkyDefinitionListHeadingComponent as λ15, SkyDefinitionListLabelComponent as λ16, SkyDefinitionListValueComponent as λ17, SkyDescriptionListComponent as λ18, SkyDescriptionListTermComponent as λ19, SkyActionButtonContainerComponent as λ2, SkyDescriptionListDescriptionComponent as λ20, SkyDescriptionListContentComponent as λ21, SkyFluidGridComponent as λ22, SkyRowComponent as λ23, SkyColumnComponent as λ24, SkyFormatComponent as λ25, SkyPageComponent as λ26, SkyPageSummaryComponent as λ27, SkyPageSummaryAlertComponent as λ28, SkyPageSummaryContentComponent as λ29, SkyActionButtonDetailsComponent as λ3, SkyPageSummaryImageComponent as λ30, SkyPageSummaryKeyInfoComponent as λ31, SkyPageSummaryStatusComponent as λ32, SkyPageSummarySubtitleComponent as λ33, SkyPageSummaryTitleComponent as λ34, SkyTextExpandComponent as λ35, SkyTextExpandRepeaterComponent as λ36, SkyToolbarComponent as λ37, SkyToolbarSectionComponent as λ38, SkyToolbarItemComponent as λ39, SkyActionButtonHeaderComponent as λ4, SkyToolbarViewActionsComponent as λ40, SkyBoxComponent as λ41, SkyBoxHeaderComponent as λ42, SkyBoxContentComponent as λ43, SkyBoxControlsComponent as λ44, SkyActionButtonIconComponent as λ5, SkyBackToTopComponent as λ6, SkyBackToTopDirective as λ7, SkyInlineDeleteComponent as λ8, SkyCardComponent as λ9 };
2955
+ export { SkyActionButtonModule, SkyBackToTopMessageType, SkyBackToTopModule, SkyBoxModule, SkyCardModule, SkyDefinitionListModule, SkyDescriptionListMode, SkyDescriptionListModule, SkyFluidGridModule, SkyFormatModule, SkyInlineDeleteModule, SkyInlineDeleteType, SkyPageModule, SkyPageSummaryModule, SkyTextExpandModule, SkyTextExpandRepeaterModule, SkyToolbarModule, SkyActionButtonComponent as λ1, SkyCardActionsComponent as λ10, SkyCardContentComponent as λ11, SkyCardTitleComponent as λ12, SkyDefinitionListComponent as λ13, SkyDefinitionListContentComponent as λ14, SkyDefinitionListHeadingComponent as λ15, SkyDefinitionListLabelComponent as λ16, SkyDefinitionListValueComponent as λ17, SkyDescriptionListComponent as λ18, SkyDescriptionListTermComponent as λ19, SkyActionButtonContainerComponent as λ2, SkyDescriptionListDescriptionComponent as λ20, SkyDescriptionListContentComponent as λ21, SkyFluidGridComponent as λ22, SkyRowComponent as λ23, SkyColumnComponent as λ24, SkyFormatComponent as λ25, SkyPageComponent as λ26, SkyPageSummaryComponent as λ27, SkyPageSummaryAlertComponent as λ28, SkyPageSummaryContentComponent as λ29, SkyActionButtonDetailsComponent as λ3, SkyPageSummaryImageComponent as λ30, SkyPageSummaryKeyInfoComponent as λ31, SkyPageSummaryStatusComponent as λ32, SkyPageSummarySubtitleComponent as λ33, SkyPageSummaryTitleComponent as λ34, SkyTextExpandComponent as λ35, SkyTextExpandRepeaterComponent as λ36, SkyToolbarComponent as λ37, SkyToolbarSectionComponent as λ38, SkyToolbarItemComponent as λ39, SkyActionButtonHeaderComponent as λ4, SkyToolbarViewActionsComponent as λ40, SkyBoxComponent as λ41, SkyBoxHeaderComponent as λ42, SkyBoxContentComponent as λ43, SkyBoxControlsComponent as λ44, SkyActionButtonIconComponent as λ5, SkyBackToTopComponent as λ6, SkyBackToTopDirective as λ7, SkyInlineDeleteComponent as λ8, SkyCardComponent as λ9 };
2787
2956
  //# sourceMappingURL=skyux-layout.mjs.map