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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/documentation.json +1543 -826
  2. package/esm2020/index.mjs +2 -2
  3. package/esm2020/lib/modules/action-button/action-button-container.component.mjs +2 -2
  4. package/esm2020/lib/modules/back-to-top/back-to-top.directive.mjs +2 -2
  5. package/esm2020/lib/modules/card/card.component.mjs +38 -11
  6. package/esm2020/lib/modules/definition-list/definition-list-label.component.mjs +1 -1
  7. package/esm2020/lib/modules/definition-list/definition-list-value.component.mjs +3 -3
  8. package/esm2020/lib/modules/definition-list/definition-list.component.mjs +1 -1
  9. package/esm2020/lib/modules/definition-list/definition-list.service.mjs +1 -1
  10. package/esm2020/lib/modules/description-list/description-list-adapter-service.mjs +26 -22
  11. package/esm2020/lib/modules/description-list/description-list-content.component.mjs +2 -2
  12. package/esm2020/lib/modules/description-list/description-list-description.component.mjs +16 -11
  13. package/esm2020/lib/modules/description-list/description-list-term.component.mjs +1 -1
  14. package/esm2020/lib/modules/description-list/description-list.component.mjs +25 -16
  15. package/esm2020/lib/modules/fluid-grid/column.component.mjs +19 -1
  16. package/esm2020/lib/modules/fluid-grid/fluid-grid.component.mjs +15 -35
  17. package/esm2020/lib/modules/fluid-grid/row.component.mjs +1 -1
  18. package/esm2020/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +1 -1
  19. package/esm2020/lib/modules/format/format.component.mjs +34 -26
  20. package/esm2020/lib/modules/inline-delete/inline-delete-adapter.service.mjs +91 -83
  21. package/esm2020/lib/modules/inline-delete/inline-delete.component.mjs +15 -9
  22. package/esm2020/lib/modules/page/page-layout-type.mjs +2 -0
  23. package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +23 -11
  24. package/esm2020/lib/modules/page/page.component.mjs +28 -9
  25. package/esm2020/lib/modules/page/page.module.mjs +5 -3
  26. package/esm2020/lib/modules/page-summary/page-summary-adapter.service.mjs +1 -1
  27. package/esm2020/lib/modules/page-summary/page-summary.component.mjs +40 -16
  28. package/esm2020/lib/modules/text-expand/text-expand-adapter.service.mjs +8 -10
  29. package/esm2020/lib/modules/text-expand/text-expand-modal-context-token.mjs +6 -0
  30. package/esm2020/lib/modules/text-expand/text-expand-modal-context.mjs +2 -6
  31. package/esm2020/lib/modules/text-expand/text-expand-modal.component.mjs +12 -10
  32. package/esm2020/lib/modules/text-expand/text-expand.component.mjs +188 -127
  33. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +10 -12
  34. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +139 -95
  35. package/esm2020/lib/modules/toolbar/toolbar.component.mjs +2 -2
  36. package/esm2020/testing/action-button-fixture.mjs +12 -6
  37. package/esm2020/testing/card-fixture.mjs +19 -16
  38. package/esm2020/testing/page-summary-fixture.mjs +9 -5
  39. package/fesm2015/skyux-layout-testing.mjs +35 -24
  40. package/fesm2015/skyux-layout-testing.mjs.map +1 -1
  41. package/fesm2015/skyux-layout.mjs +707 -516
  42. package/fesm2015/skyux-layout.mjs.map +1 -1
  43. package/fesm2020/skyux-layout-testing.mjs +35 -24
  44. package/fesm2020/skyux-layout-testing.mjs.map +1 -1
  45. package/fesm2020/skyux-layout.mjs +699 -516
  46. package/fesm2020/skyux-layout.mjs.map +1 -1
  47. package/index.d.ts +1 -1
  48. package/lib/modules/back-to-top/back-to-top.directive.d.ts +1 -1
  49. package/lib/modules/card/card.component.d.ts +7 -6
  50. package/lib/modules/definition-list/definition-list-label.component.d.ts +1 -1
  51. package/lib/modules/definition-list/definition-list-value.component.d.ts +1 -1
  52. package/lib/modules/definition-list/definition-list.component.d.ts +2 -2
  53. package/lib/modules/definition-list/definition-list.service.d.ts +2 -2
  54. package/lib/modules/description-list/description-list-adapter-service.d.ts +1 -2
  55. package/lib/modules/description-list/description-list-content.component.d.ts +2 -2
  56. package/lib/modules/description-list/description-list-description.component.d.ts +5 -7
  57. package/lib/modules/description-list/description-list-term.component.d.ts +1 -1
  58. package/lib/modules/description-list/description-list.component.d.ts +6 -7
  59. package/lib/modules/fluid-grid/column.component.d.ts +7 -5
  60. package/lib/modules/fluid-grid/fluid-grid.component.d.ts +3 -9
  61. package/lib/modules/fluid-grid/row.component.d.ts +1 -1
  62. package/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.d.ts +1 -1
  63. package/lib/modules/format/format.component.d.ts +5 -7
  64. package/lib/modules/inline-delete/inline-delete-adapter.service.d.ts +1 -11
  65. package/lib/modules/inline-delete/inline-delete.component.d.ts +3 -5
  66. package/lib/modules/page/page-layout-type.d.ts +1 -0
  67. package/lib/modules/page/page-theme-adapter.service.d.ts +2 -1
  68. package/lib/modules/page/page.component.d.ts +11 -3
  69. package/lib/modules/page/page.module.d.ts +2 -1
  70. package/lib/modules/page-summary/page-summary.component.d.ts +8 -9
  71. package/lib/modules/text-expand/text-expand-adapter.service.d.ts +3 -4
  72. package/lib/modules/text-expand/text-expand-modal-context-token.d.ts +6 -0
  73. package/lib/modules/text-expand/text-expand-modal-context.d.ts +1 -1
  74. package/lib/modules/text-expand/text-expand.component.d.ts +18 -25
  75. package/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.d.ts +4 -5
  76. package/lib/modules/text-expand-repeater/text-expand-repeater.component.d.ts +13 -21
  77. package/package.json +9 -9
  78. package/testing/action-button-fixture.d.ts +4 -4
  79. package/testing/card-fixture.d.ts +3 -5
  80. package/testing/page-summary-fixture.d.ts +4 -4
  81. package/esm2020/lib/modules/fluid-grid/fluid-grid-gutter-size.mjs +0 -20
  82. package/lib/modules/fluid-grid/fluid-grid-gutter-size.d.ts +0 -18
@@ -1,9 +1,9 @@
1
1
  import * as i5 from '@angular/cdk/observers';
2
2
  import { ObserversModule } from '@angular/cdk/observers';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
4
+ import { CommonModule, DOCUMENT } 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, Inject, InjectionToken } 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;
@@ -557,7 +557,7 @@ class SkyBackToTopDirective {
557
557
  * Specifies configuration options for the back to top component.
558
558
  */
559
559
  set skyBackToTop(value) {
560
- __classPrivateFieldSet(this, _SkyBackToTopDirective_buttonHidden, !!(value === null || value === void 0 ? void 0 : value.buttonHidden), "f");
560
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_buttonHidden, !!(value && (value === null || value === void 0 ? void 0 : value.buttonHidden)), "f");
561
561
  __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, __classPrivateFieldGet(this, _SkyBackToTopDirective_elementInView, "f"));
562
562
  }
563
563
  /**
@@ -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;
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();
807
830
  }
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();
821
- }
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,65 +1925,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1884
1925
  }]
1885
1926
  }] });
1886
1927
 
1928
+ var _SkyPageThemeAdapterService_styleEl, _SkyPageThemeAdapterService_document;
1887
1929
  /**
1888
1930
  * @internal
1889
1931
  */
1890
1932
  class SkyPageThemeAdapterService {
1933
+ constructor(document) {
1934
+ _SkyPageThemeAdapterService_styleEl.set(this, void 0);
1935
+ _SkyPageThemeAdapterService_document.set(this, void 0);
1936
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_document, document, "f");
1937
+ }
1891
1938
  /**
1892
1939
  * We can't use ViewEncapsulation.None for this behavior because Angular does
1893
1940
  * not remove `style` tags from the HEAD element after route changes.
1894
1941
  * @see https://github.com/angular/angular/issues/16670
1895
1942
  */
1896
1943
  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);
1944
+ if (!__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1945
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, __classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").createElement('style'), "f");
1946
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").appendChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").createTextNode('body:not(.sky-theme-modern) { background-color: #fff; }'));
1947
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").head.appendChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f"));
1901
1948
  }
1902
1949
  }
1903
1950
  removeTheme() {
1904
- if (this.styleEl) {
1905
- document.head.removeChild(this.styleEl);
1906
- this.styleEl = undefined;
1951
+ if (__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1952
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").remove();
1953
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, undefined, "f");
1907
1954
  }
1908
1955
  }
1909
1956
  }
1910
- SkyPageThemeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1957
+ _SkyPageThemeAdapterService_styleEl = new WeakMap(), _SkyPageThemeAdapterService_document = new WeakMap();
1958
+ SkyPageThemeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1911
1959
  SkyPageThemeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService });
1912
1960
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, decorators: [{
1913
1961
  type: Injectable
1914
- }] });
1962
+ }], ctorParameters: function () {
1963
+ return [{ type: Document, decorators: [{
1964
+ type: Inject,
1965
+ args: [DOCUMENT]
1966
+ }] }];
1967
+ } });
1915
1968
 
1969
+ var _SkyPageComponent_themeAdapter, _SkyPageComponent__layout;
1916
1970
  /**
1917
- * Sets the correct background color for a page.
1971
+ * Displays page contents using the specified layout.
1918
1972
  */
1919
1973
  class SkyPageComponent {
1920
1974
  constructor(themeAdapter) {
1921
- this.themeAdapter = themeAdapter;
1975
+ _SkyPageComponent_themeAdapter.set(this, void 0);
1976
+ _SkyPageComponent__layout.set(this, 'auto');
1977
+ __classPrivateFieldSet(this, _SkyPageComponent_themeAdapter, themeAdapter, "f");
1978
+ }
1979
+ /**
1980
+ * Specifies the page layout. Use `auto` to allow the page contents
1981
+ * to expand beyond the bottom of the browser window. Use `fit`
1982
+ * to constrain the page contents to the available viewport.
1983
+ */
1984
+ set layout(value) {
1985
+ __classPrivateFieldSet(this, _SkyPageComponent__layout, value || 'auto', "f");
1986
+ }
1987
+ get layout() {
1988
+ return __classPrivateFieldGet(this, _SkyPageComponent__layout, "f");
1922
1989
  }
1923
1990
  ngOnInit() {
1924
- this.themeAdapter.addTheme();
1991
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").addTheme();
1925
1992
  }
1926
1993
  ngOnDestroy() {
1927
- this.themeAdapter.removeTheme();
1994
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").removeTheme();
1928
1995
  }
1929
1996
  }
1997
+ _SkyPageComponent_themeAdapter = new WeakMap(), _SkyPageComponent__layout = new WeakMap();
1930
1998
  SkyPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, deps: [{ token: SkyPageThemeAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1931
- 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" });
1999
+ SkyPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyPageComponent, selector: "sky-page", inputs: { layout: "layout" }, providers: [SkyPageThemeAdapterService], ngImport: i0, template: "<div [ngClass]=\"'sky-page-layout-' + layout\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-page-layout-fit{position:absolute;left:var(--sky-viewport-left);top:var(--sky-viewport-top);right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1932
2000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, decorators: [{
1933
2001
  type: Component,
1934
- args: [{ selector: 'sky-page', providers: [SkyPageThemeAdapterService], template: "<div>\n <ng-content></ng-content>\n</div>\n" }]
1935
- }], ctorParameters: function () { return [{ type: SkyPageThemeAdapterService }]; } });
2002
+ args: [{ selector: 'sky-page', providers: [SkyPageThemeAdapterService], template: "<div [ngClass]=\"'sky-page-layout-' + layout\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-page-layout-fit{position:absolute;left:var(--sky-viewport-left);top:var(--sky-viewport-top);right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom)}\n"] }]
2003
+ }], ctorParameters: function () { return [{ type: SkyPageThemeAdapterService }]; }, propDecorators: { layout: [{
2004
+ type: Input
2005
+ }] } });
1936
2006
 
1937
2007
  class SkyPageModule {
1938
2008
  }
1939
2009
  SkyPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1940
- SkyPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent], exports: [SkyPageComponent] });
1941
- SkyPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule });
2010
+ SkyPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent], imports: [CommonModule], exports: [SkyPageComponent] });
2011
+ SkyPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, imports: [CommonModule] });
1942
2012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, decorators: [{
1943
2013
  type: NgModule,
1944
2014
  args: [{
1945
2015
  declarations: [SkyPageComponent],
2016
+ imports: [CommonModule],
1946
2017
  exports: [SkyPageComponent],
1947
2018
  }]
1948
2019
  }] });
@@ -2075,43 +2146,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2075
2146
  type: Injectable
2076
2147
  }] });
2077
2148
 
2149
+ var _SkyPageSummaryComponent_breakpointSubscription, _SkyPageSummaryComponent_ngUnsubscribe, _SkyPageSummaryComponent_elRef, _SkyPageSummaryComponent_adapter, _SkyPageSummaryComponent_mediaQueryService, _SkyPageSummaryComponent_changeDetectorRef;
2078
2150
  /**
2079
2151
  * Specifies the components to display in the page summary.
2080
2152
  * @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
2153
  */
2082
2154
  class SkyPageSummaryComponent {
2083
- constructor(elRef, adapter, mediaQueryService, logger) {
2084
- this.elRef = elRef;
2085
- this.adapter = adapter;
2086
- this.mediaQueryService = mediaQueryService;
2155
+ constructor(elRef, adapter, mediaQueryService, logger, changeDetector) {
2156
+ this.hasKeyInfo = false;
2157
+ _SkyPageSummaryComponent_breakpointSubscription.set(this, void 0);
2158
+ _SkyPageSummaryComponent_ngUnsubscribe.set(this, new Subject());
2159
+ _SkyPageSummaryComponent_elRef.set(this, void 0);
2160
+ _SkyPageSummaryComponent_adapter.set(this, void 0);
2161
+ _SkyPageSummaryComponent_mediaQueryService.set(this, void 0);
2162
+ _SkyPageSummaryComponent_changeDetectorRef.set(this, void 0);
2163
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_elRef, elRef, "f");
2164
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_adapter, adapter, "f");
2165
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_mediaQueryService, mediaQueryService, "f");
2166
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_changeDetectorRef, changeDetector, "f");
2087
2167
  logger.deprecated('SkyPageSummaryComponent', {
2088
2168
  deprecationMajorVersion: 6,
2089
2169
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',
2090
2170
  replacementRecommendation: 'For page templates and techniques to summarize page content, see the page design guidelines.',
2091
2171
  });
2092
2172
  }
2093
- get hasKeyInfo() {
2094
- return this.keyInfoComponents.length > 0;
2095
- }
2096
2173
  ngAfterViewInit() {
2097
- this.breakpointSubscription = this.mediaQueryService.subscribe((args) => {
2098
- this.adapter.updateKeyInfoLocation(this.elRef, args === SkyMediaBreakpoints.xs);
2099
- });
2174
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_breakpointSubscription, __classPrivateFieldGet(this, _SkyPageSummaryComponent_mediaQueryService, "f").subscribe((args) => {
2175
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_adapter, "f").updateKeyInfoLocation(__classPrivateFieldGet(this, _SkyPageSummaryComponent_elRef, "f"), args === SkyMediaBreakpoints.xs);
2176
+ }), "f");
2177
+ }
2178
+ ngAfterContentInit() {
2179
+ if (this.keyInfoComponents) {
2180
+ this.hasKeyInfo = this.keyInfoComponents.length > 0;
2181
+ this.keyInfoComponents.changes
2182
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f")))
2183
+ .subscribe(() => {
2184
+ this.hasKeyInfo =
2185
+ !!this.keyInfoComponents && this.keyInfoComponents.length > 0;
2186
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_changeDetectorRef, "f").markForCheck();
2187
+ });
2188
+ }
2100
2189
  }
2101
2190
  ngOnDestroy() {
2102
2191
  /* istanbul ignore else */
2103
2192
  /* sanity check */
2104
- if (this.breakpointSubscription) {
2105
- this.breakpointSubscription.unsubscribe();
2193
+ if (__classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f")) {
2194
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f").unsubscribe();
2106
2195
  }
2196
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").next();
2197
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").complete();
2107
2198
  }
2108
2199
  }
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 });
2200
+ _SkyPageSummaryComponent_breakpointSubscription = new WeakMap(), _SkyPageSummaryComponent_ngUnsubscribe = new WeakMap(), _SkyPageSummaryComponent_elRef = new WeakMap(), _SkyPageSummaryComponent_adapter = new WeakMap(), _SkyPageSummaryComponent_mediaQueryService = new WeakMap(), _SkyPageSummaryComponent_changeDetectorRef = new WeakMap();
2201
+ 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
2202
  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
2203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, decorators: [{
2112
2204
  type: Component,
2113
2205
  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: [{
2206
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyPageSummaryAdapterService }, { type: i1$2.SkyMediaQueryService }, { type: i1$2.SkyLogService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { keyInfoComponents: [{
2115
2207
  type: ContentChildren,
2116
2208
  args: [SkyPageSummaryKeyInfoComponent, {
2117
2209
  read: SkyPageSummaryKeyInfoComponent,
@@ -2170,8 +2262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2170
2262
  /**
2171
2263
  * @internal
2172
2264
  */
2173
- class SkyTextExpandModalContext {
2174
- }
2265
+ const SKY_TEXT_EXPAND_MODAL_CONTEXT = new InjectionToken('SkyTextExpandModalContext');
2175
2266
 
2176
2267
  /**
2177
2268
  * @internal
@@ -2185,70 +2276,113 @@ class SkyTextExpandModalComponent {
2185
2276
  this.instance.close();
2186
2277
  }
2187
2278
  }
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" }] });
2279
+ 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 });
2280
+ 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
2281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
2191
2282
  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 }]; } });
2283
+ 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"] }]
2284
+ }], ctorParameters: function () {
2285
+ return [{ type: undefined, decorators: [{
2286
+ type: Inject,
2287
+ args: [SKY_TEXT_EXPAND_MODAL_CONTEXT]
2288
+ }] }, { type: i1$4.SkyModalInstance }];
2289
+ } });
2194
2290
 
2291
+ var _SkyTextExpandAdapterService_renderer;
2195
2292
  /**
2196
2293
  * @internal
2197
2294
  */
2198
2295
  class SkyTextExpandAdapterService {
2199
2296
  constructor(rendererFactory) {
2200
- this.rendererFactory = rendererFactory;
2201
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2297
+ _SkyTextExpandAdapterService_renderer.set(this, void 0);
2298
+ __classPrivateFieldSet(this, _SkyTextExpandAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2202
2299
  }
2203
2300
  getContainerHeight(containerEl) {
2204
2301
  return containerEl.nativeElement.offsetHeight;
2205
2302
  }
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
- }
2303
+ removeContainerMaxHeight(containerEl) {
2304
+ __classPrivateFieldGet(this, _SkyTextExpandAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2213
2305
  }
2214
2306
  setText(textEl, text) {
2215
2307
  textEl.nativeElement.textContent = text;
2216
2308
  }
2217
2309
  }
2310
+ _SkyTextExpandAdapterService_renderer = new WeakMap();
2218
2311
  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
2312
  SkyTextExpandAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService });
2220
2313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
2221
2314
  type: Injectable
2222
2315
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2223
2316
 
2317
+ 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
2318
  /**
2225
2319
  * Auto-incrementing integer used to generate unique ids for text expand components.
2226
2320
  */
2227
2321
  let nextId$1 = 0;
2228
2322
  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;
2323
+ constructor(resources, modalSvc, textExpandAdapter) {
2324
+ _SkyTextExpandComponent_instances.add(this);
2245
2325
  /**
2246
2326
  * Indicates whether to replace newline characters in truncated text with spaces.
2247
2327
  */
2248
2328
  this.truncateNewlines = true;
2329
+ this.buttonText = '';
2249
2330
  this.contentSectionId = `sky-text-expand-content-${++nextId$1}`;
2250
- this.isExpanded = false;
2251
- this._maxLength = 200;
2331
+ this.expandable = false;
2332
+ this.isModal = false;
2333
+ this.transitionHeight = 1;
2334
+ _SkyTextExpandComponent_collapsedText.set(this, '');
2335
+ _SkyTextExpandComponent_newlineCount.set(this, 0);
2336
+ _SkyTextExpandComponent_seeMoreText.set(this, '');
2337
+ _SkyTextExpandComponent_seeLessText.set(this, '');
2338
+ _SkyTextExpandComponent_textToShow.set(this, '');
2339
+ _SkyTextExpandComponent__maxExpandedLength.set(this, 600);
2340
+ _SkyTextExpandComponent__maxExpandedNewlines.set(this, 2);
2341
+ _SkyTextExpandComponent__maxLength.set(this, 200);
2342
+ _SkyTextExpandComponent__text.set(this, '');
2343
+ _SkyTextExpandComponent__textEl.set(this, void 0);
2344
+ _SkyTextExpandComponent_resources.set(this, void 0);
2345
+ _SkyTextExpandComponent_modalSvc.set(this, void 0);
2346
+ _SkyTextExpandComponent_textExpandAdapter.set(this, void 0);
2347
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_resources, resources, "f");
2348
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_modalSvc, modalSvc, "f");
2349
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textExpandAdapter, textExpandAdapter, "f");
2350
+ }
2351
+ /**
2352
+ * Specifies the maximum number of text characters to display inline when users select the link
2353
+ * to expand the full text. If the text exceeds this limit, then the component expands
2354
+ * the full text in a modal instead.
2355
+ * @default 600
2356
+ */
2357
+ set maxExpandedLength(value) {
2358
+ if (value) {
2359
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, value, "f");
2360
+ }
2361
+ else {
2362
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, 600, "f");
2363
+ }
2364
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2365
+ }
2366
+ get maxExpandedLength() {
2367
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedLength, "f");
2368
+ }
2369
+ /**
2370
+ * Specifies the maximum number of newline characters to display inline when users select
2371
+ * the link to expand the full text. If the text exceeds this limit, then
2372
+ * the component expands the full text in a modal view instead.
2373
+ * @default 2
2374
+ */
2375
+ set maxExpandedNewlines(value) {
2376
+ if (value) {
2377
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, value, "f");
2378
+ }
2379
+ else {
2380
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, 2, "f");
2381
+ }
2382
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2383
+ }
2384
+ get maxExpandedNewlines() {
2385
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedNewlines, "f");
2252
2386
  }
2253
2387
  /**
2254
2388
  * Specifies the number of text characters to display before truncating the text.
@@ -2257,23 +2391,33 @@ class SkyTextExpandComponent {
2257
2391
  * @default 200
2258
2392
  */
2259
2393
  set maxLength(value) {
2260
- this._maxLength = value;
2261
- /* istanbul ignore else */
2262
- if (this.textEl) {
2263
- this.setup(this.expandedText);
2394
+ if (value) {
2395
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, value, "f");
2264
2396
  }
2397
+ else {
2398
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, 200, "f");
2399
+ }
2400
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2265
2401
  }
2266
2402
  get maxLength() {
2267
- return this._maxLength;
2403
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxLength, "f");
2268
2404
  }
2269
2405
  /**
2270
2406
  * Specifies the text to truncate.
2271
2407
  */
2272
2408
  set text(value) {
2273
- /* istanbul ignore else */
2274
- if (this.textEl) {
2275
- this.setup(value);
2276
- }
2409
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__text, value !== null && value !== void 0 ? value : '', "f");
2410
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f"));
2411
+ }
2412
+ get text() {
2413
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f");
2414
+ }
2415
+ set textEl(value) {
2416
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__textEl, value, "f");
2417
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2418
+ }
2419
+ get textEl() {
2420
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__textEl, "f");
2277
2421
  }
2278
2422
  textExpand() {
2279
2423
  if (this.isModal) {
@@ -2281,12 +2425,12 @@ class SkyTextExpandComponent {
2281
2425
  /* istanbul ignore else */
2282
2426
  /* sanity check */
2283
2427
  if (!this.isExpanded) {
2284
- this.modalService.open(SkyTextExpandModalComponent, [
2428
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_modalSvc, "f").open(SkyTextExpandModalComponent, [
2285
2429
  {
2286
- provide: SkyTextExpandModalContext,
2430
+ provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
2287
2431
  useValue: {
2288
2432
  header: this.expandModalTitle,
2289
- text: this.expandedText,
2433
+ text: this.text,
2290
2434
  },
2291
2435
  },
2292
2436
  ]);
@@ -2295,40 +2439,38 @@ class SkyTextExpandComponent {
2295
2439
  else {
2296
2440
  // Normal View
2297
2441
  if (!this.isExpanded) {
2298
- this.setContainerMaxHeight();
2299
- setTimeout(() => {
2300
- this.isExpanded = true;
2301
- this.animateText(this.collapsedText, this.expandedText, true);
2302
- }, 10);
2442
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, true);
2303
2443
  }
2304
2444
  else {
2305
- this.setContainerMaxHeight();
2306
- setTimeout(() => {
2307
- this.isExpanded = false;
2308
- this.animateText(this.expandedText, this.collapsedText, false);
2309
- }, 10);
2445
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, false);
2310
2446
  }
2311
2447
  }
2312
2448
  }
2313
2449
  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);
2450
+ if (this.textEl && this.containerEl) {
2451
+ // Ensure the correct text is displayed
2452
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2453
+ setTimeout(() => {
2454
+ if (this.containerEl) {
2455
+ // Set height back to auto so the browser can change the height as needed with window changes
2456
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").removeContainerMaxHeight(this.containerEl);
2457
+ }
2458
+ });
2459
+ }
2318
2460
  }
2319
2461
  ngAfterContentInit() {
2320
2462
  forkJoin([
2321
- this.resources.getString('skyux_text_expand_see_more'),
2322
- this.resources.getString('skyux_text_expand_see_less'),
2463
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_more'),
2464
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_less'),
2323
2465
  ])
2324
2466
  .pipe(take(1))
2325
2467
  .subscribe((resources) => {
2326
- this.seeMoreText = resources[0];
2327
- this.seeLessText = resources[1];
2328
- this.setup(this.expandedText);
2468
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeMoreText, resources[0], "f");
2469
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeLessText, resources[1], "f");
2470
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2329
2471
  /* istanbul ignore else */
2330
2472
  if (!this.expandModalTitle) {
2331
- this.resources
2473
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f")
2332
2474
  .getString('skyux_text_expand_modal_title')
2333
2475
  .pipe(take(1))
2334
2476
  .subscribe((resource) => {
@@ -2337,99 +2479,109 @@ class SkyTextExpandComponent {
2337
2479
  }
2338
2480
  });
2339
2481
  }
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;
2482
+ }
2483
+ _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) {
2484
+ if (value) {
2485
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_newlineCount, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getNewlineCount).call(this, value), "f");
2486
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_collapsedText, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getTruncatedText).call(this, value, this.maxLength), "f");
2487
+ if (__classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f") !== value) {
2488
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2489
+ this.isExpanded = false;
2490
+ this.expandable = true;
2491
+ this.isModal =
2492
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_newlineCount, "f") > this.maxExpandedNewlines ||
2493
+ this.text.length > this.maxExpandedLength;
2365
2494
  }
2366
2495
  else {
2367
- this.textToShow = '';
2368
2496
  this.expandable = false;
2369
2497
  }
2370
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2498
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2371
2499
  }
2372
- getNewlineCount(value) {
2373
- const matches = value.match(/\n/gi);
2374
- if (matches) {
2375
- return matches.length;
2376
- }
2377
- return 0;
2378
- }
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
- }
2500
+ else {
2501
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, '', "f");
2502
+ this.expandable = false;
2503
+ }
2504
+ if (this.textEl) {
2505
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2506
+ }
2507
+ }, _SkyTextExpandComponent_getNewlineCount = function _SkyTextExpandComponent_getNewlineCount(value) {
2508
+ const matches = value.match(/\n/gi);
2509
+ if (matches) {
2510
+ return matches.length;
2511
+ }
2512
+ return 0;
2513
+ }, _SkyTextExpandComponent_getTruncatedText = function _SkyTextExpandComponent_getTruncatedText(value, length) {
2514
+ let i;
2515
+ if (this.truncateNewlines) {
2516
+ value = value.replace(/\n+/gi, ' ');
2517
+ }
2518
+ // Jump ahead one character and see if it's a space, and if it isn't,
2519
+ // back up to the first space and break there so a word doesn't get cut
2520
+ // in half.
2521
+ if (length < value.length) {
2522
+ for (i = length; i > length - 10; i--) {
2523
+ if (/\s/.test(value.charAt(i))) {
2524
+ length = i;
2525
+ break;
2393
2526
  }
2394
2527
  }
2395
- return value.substr(0, length);
2396
2528
  }
2397
- animateText(previousText, newText, expanding) {
2398
- const adapter = this.textExpandAdapter;
2529
+ return value.substring(0, length);
2530
+ }, _SkyTextExpandComponent_animateText = function _SkyTextExpandComponent_animateText(expanding) {
2531
+ if (this.containerEl && this.textEl) {
2532
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f");
2399
2533
  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;
2534
+ if (expanding) {
2535
+ adapter.setText(this.textEl, this.text);
2536
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, this.text, "f");
2537
+ }
2538
+ else {
2539
+ adapter.setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"));
2540
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2541
+ }
2542
+ this.buttonText = expanding ? __classPrivateFieldGet(this, _SkyTextExpandComponent_seeLessText, "f") : __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2407
2543
  // Measure the new height so we can animate to it.
2408
2544
  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);
2545
+ this.transitionHeight = newHeight;
2546
+ // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.
2547
+ if (!expanding) {
2548
+ adapter.setText(this.textEl, this.text);
2549
+ }
2550
+ this.isExpanded = expanding;
2425
2551
  }
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"] }] });
2552
+ };
2553
+ 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 });
2554
+ 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: [
2555
+ trigger('expansionAnimation', [
2556
+ transition(':enter', []),
2557
+ state('true', style({
2558
+ maxHeight: '{{transitionHeight}}px',
2559
+ }), { params: { transitionHeight: 0 } }),
2560
+ state('false', style({
2561
+ maxHeight: '{{transitionHeight}}px',
2562
+ }), { params: { transitionHeight: 0 } }),
2563
+ transition('true => false', animate('250ms ease')),
2564
+ transition('false => true', animate('250ms ease')),
2565
+ transition('void => *', []),
2566
+ ]),
2567
+ ] });
2429
2568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
2430
2569
  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: [{
2570
+ args: [{ animations: [
2571
+ trigger('expansionAnimation', [
2572
+ transition(':enter', []),
2573
+ state('true', style({
2574
+ maxHeight: '{{transitionHeight}}px',
2575
+ }), { params: { transitionHeight: 0 } }),
2576
+ state('false', style({
2577
+ maxHeight: '{{transitionHeight}}px',
2578
+ }), { params: { transitionHeight: 0 } }),
2579
+ transition('true => false', animate('250ms ease')),
2580
+ transition('false => true', animate('250ms ease')),
2581
+ transition('void => *', []),
2582
+ ]),
2583
+ ], 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"] }]
2584
+ }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i1$4.SkyModalService }, { type: SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
2433
2585
  type: Input
2434
2586
  }], maxExpandedLength: [{
2435
2587
  type: Input
@@ -2480,187 +2632,226 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2480
2632
  }]
2481
2633
  }] });
2482
2634
 
2635
+ var _SkyTextExpandRepeaterAdapterService_renderer;
2483
2636
  /**
2484
2637
  * @internal
2485
2638
  */
2486
2639
  class SkyTextExpandRepeaterAdapterService {
2487
2640
  constructor(rendererFactory) {
2488
- this.rendererFactory = rendererFactory;
2489
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2641
+ _SkyTextExpandRepeaterAdapterService_renderer.set(this, void 0);
2642
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2490
2643
  }
2491
2644
  getItems(elRef) {
2492
2645
  return elRef.nativeElement.querySelectorAll('.sky-text-expand-repeater-item');
2493
2646
  }
2494
2647
  hideItem(item) {
2495
- this.renderer.setStyle(item, 'display', 'none');
2648
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").setStyle(item, 'display', 'none');
2496
2649
  }
2497
2650
  showItem(item) {
2498
- this.renderer.setStyle(item, 'display', 'list-item');
2651
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(item, 'display');
2499
2652
  }
2500
2653
  getContainerHeight(containerEl) {
2501
2654
  return containerEl.nativeElement.offsetHeight;
2502
2655
  }
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
- }
2656
+ removeContainerMaxHeight(containerEl) {
2657
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2510
2658
  }
2511
2659
  }
2660
+ _SkyTextExpandRepeaterAdapterService_renderer = new WeakMap();
2512
2661
  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
2662
  SkyTextExpandRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService });
2514
2663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
2515
2664
  type: Injectable
2516
2665
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2517
2666
 
2667
+ 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
2668
  /**
2519
2669
  * Auto-incrementing integer used to generate unique ids for text expand repeater components.
2520
2670
  */
2521
2671
  let nextId = 0;
2522
2672
  class SkyTextExpandRepeaterComponent {
2523
2673
  constructor(resources, elRef, textExpandRepeaterAdapter, changeDetector) {
2524
- this.resources = resources;
2525
- this.elRef = elRef;
2526
- this.textExpandRepeaterAdapter = textExpandRepeaterAdapter;
2527
- this.changeDetector = changeDetector;
2674
+ _SkyTextExpandRepeaterComponent_instances.add(this);
2528
2675
  /**
2529
2676
  * Specifies the style of bullet to use
2530
2677
  * @default "unordered"
2531
2678
  */
2532
2679
  this.listStyle = 'unordered';
2680
+ this.buttonText = '';
2681
+ this.expandable = false;
2533
2682
  this.contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;
2534
- this.isExpanded = false;
2683
+ this.transitionHeight = 1;
2684
+ _SkyTextExpandRepeaterComponent_seeMoreText.set(this, '');
2685
+ _SkyTextExpandRepeaterComponent_seeLessText.set(this, '');
2686
+ _SkyTextExpandRepeaterComponent_htmlItems.set(this, void 0);
2687
+ _SkyTextExpandRepeaterComponent__data.set(this, void 0);
2688
+ _SkyTextExpandRepeaterComponent__maxItems.set(this, void 0);
2689
+ _SkyTextExpandRepeaterComponent_resources.set(this, void 0);
2690
+ _SkyTextExpandRepeaterComponent_elRef.set(this, void 0);
2691
+ _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter.set(this, void 0);
2692
+ _SkyTextExpandRepeaterComponent_changeDetector.set(this, void 0);
2693
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_resources, resources, "f");
2694
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_elRef, elRef, "f");
2695
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, textExpandRepeaterAdapter, "f");
2696
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_changeDetector, changeDetector, "f");
2697
+ }
2698
+ /**
2699
+ * Specifies the data to truncate.
2700
+ */
2701
+ set data(value) {
2702
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__data, value, "f");
2703
+ // Wait for the dom to render the new items based on the updated data
2704
+ setTimeout(() => {
2705
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_htmlItems, __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getItems(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_elRef, "f")), "f");
2706
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, value);
2707
+ });
2708
+ }
2709
+ get data() {
2710
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__data, "f");
2711
+ }
2712
+ /**
2713
+ * Specifies the number of items to display before truncating the list. If not supplied, all items are shown.
2714
+ */
2715
+ set maxItems(value) {
2716
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__maxItems, value, "f");
2717
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, this.data);
2718
+ }
2719
+ get maxItems() {
2720
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__maxItems, "f");
2535
2721
  }
2536
2722
  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
2723
  forkJoin([
2544
- this.resources.getString('skyux_text_expand_see_more'),
2545
- this.resources.getString('skyux_text_expand_see_less'),
2724
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_more'),
2725
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_less'),
2546
2726
  ])
2547
2727
  .pipe(take(1))
2548
2728
  .subscribe((resources) => {
2549
- this.seeMoreText = resources[0];
2550
- this.seeLessText = resources[1];
2729
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeMoreText, resources[0], "f");
2730
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeLessText, resources[1], "f");
2551
2731
  /* sanity check */
2552
2732
  /* istanbul ignore else */
2553
2733
  if (!this.isExpanded) {
2554
- this.buttonText = this.seeMoreText;
2734
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2555
2735
  }
2556
2736
  else {
2557
- this.buttonText = this.seeLessText;
2737
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2558
2738
  }
2559
- this.changeDetector.detectChanges();
2739
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").detectChanges();
2560
2740
  });
2561
2741
  }
2562
- ngOnChanges(changes) {
2563
- /* istanbul ignore else */
2564
- if (changes.maxItems || changes.data) {
2565
- this.setup(this.data);
2566
- }
2567
- }
2568
2742
  animationEnd() {
2569
- // Ensure the correct items are displayed
2743
+ // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.
2570
2744
  if (!this.isExpanded) {
2571
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2572
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2573
- }
2745
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2574
2746
  }
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);
2747
+ // 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
2748
+ setTimeout(() => {
2749
+ if (this.containerEl) {
2750
+ // Set height back to auto so the browser can change the height as needed with window changes
2751
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").removeContainerMaxHeight(this.containerEl);
2752
+ }
2753
+ });
2577
2754
  }
2578
2755
  repeaterExpand() {
2579
2756
  if (!this.isExpanded) {
2580
- this.setContainerMaxHeight();
2581
- setTimeout(() => {
2582
- this.isExpanded = true;
2583
- this.animateRepeater(true);
2584
- });
2757
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, true);
2585
2758
  }
2586
2759
  else {
2587
- this.setContainerMaxHeight();
2588
- setTimeout(() => {
2589
- this.isExpanded = false;
2590
- this.animateRepeater(false);
2591
- });
2760
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, false);
2592
2761
  }
2593
2762
  }
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
- }
2763
+ }
2764
+ _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) {
2765
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f");
2766
+ const container = this.containerEl;
2767
+ if (container) {
2768
+ if (expanding) {
2769
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2770
+ }
2771
+ else {
2772
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2614
2773
  }
2615
2774
  const newHeight = adapter.getContainerHeight(container);
2775
+ this.transitionHeight = newHeight;
2616
2776
  if (!expanding) {
2617
- this.buttonText = this.seeMoreText;
2777
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2618
2778
  }
2619
2779
  else {
2620
- this.buttonText = this.seeLessText;
2621
- }
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
- }
2780
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2628
2781
  }
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;
2782
+ if (!expanding) {
2783
+ // Show all items during animation for visual purposes.
2784
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2785
+ }
2786
+ this.isExpanded = expanding;
2787
+ }
2788
+ }, _SkyTextExpandRepeaterComponent_setup = function _SkyTextExpandRepeaterComponent_setup(value) {
2789
+ if (value) {
2790
+ const length = value.length;
2791
+ if (this.maxItems && length > this.maxItems) {
2792
+ this.expandable = true;
2793
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2794
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2795
+ if (this.containerEl) {
2796
+ this.transitionHeight =
2797
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getContainerHeight(this.containerEl);
2650
2798
  }
2651
- this.contentItems = value;
2799
+ this.isExpanded = false;
2652
2800
  }
2653
2801
  else {
2654
- this.contentItems = undefined;
2655
2802
  this.expandable = false;
2803
+ this.isExpanded = undefined;
2656
2804
  }
2657
2805
  }
2658
- }
2806
+ else {
2807
+ this.expandable = false;
2808
+ this.isExpanded = undefined;
2809
+ }
2810
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").markForCheck();
2811
+ }, _SkyTextExpandRepeaterComponent_hideItems = function _SkyTextExpandRepeaterComponent_hideItems() {
2812
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2813
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2814
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").hideItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2815
+ }
2816
+ }
2817
+ }, _SkyTextExpandRepeaterComponent_showItems = function _SkyTextExpandRepeaterComponent_showItems() {
2818
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2819
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2820
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").showItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2821
+ }
2822
+ }
2823
+ };
2659
2824
  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"] }] });
2825
+ 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: [
2826
+ trigger('expansionAnimation', [
2827
+ transition(':enter', []),
2828
+ state('true', style({
2829
+ maxHeight: '{{transitionHeight}}px',
2830
+ }), { params: { transitionHeight: 0 } }),
2831
+ state('false', style({
2832
+ maxHeight: '{{transitionHeight}}px',
2833
+ }), { params: { transitionHeight: 0 } }),
2834
+ transition('true => false', animate('250ms ease')),
2835
+ transition('false => true', animate('250ms ease')),
2836
+ transition('void => *', []),
2837
+ ]),
2838
+ ] });
2661
2839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
2662
2840
  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"] }]
2841
+ args: [{ animations: [
2842
+ trigger('expansionAnimation', [
2843
+ transition(':enter', []),
2844
+ state('true', style({
2845
+ maxHeight: '{{transitionHeight}}px',
2846
+ }), { params: { transitionHeight: 0 } }),
2847
+ state('false', style({
2848
+ maxHeight: '{{transitionHeight}}px',
2849
+ }), { params: { transitionHeight: 0 } }),
2850
+ transition('true => false', animate('250ms ease')),
2851
+ transition('false => true', animate('250ms ease')),
2852
+ transition('void => *', []),
2853
+ ]),
2854
+ ], 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
2855
  }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i0.ElementRef }, { type: SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2665
2856
  type: Input
2666
2857
  }], itemTemplate: [{
@@ -2783,5 +2974,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2783
2974
  * Generated bundle index. Do not edit.
2784
2975
  */
2785
2976
 
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 };
2977
+ 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
2978
  //# sourceMappingURL=skyux-layout.mjs.map