@skyux/layout 7.0.0-beta.0 → 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 (96) hide show
  1. package/documentation.json +1849 -1017
  2. package/esm2020/index.mjs +2 -2
  3. package/esm2020/lib/modules/action-button/action-button-adapter-service.mjs +22 -18
  4. package/esm2020/lib/modules/action-button/action-button-container.component.mjs +62 -54
  5. package/esm2020/lib/modules/action-button/action-button-icon.component.mjs +9 -6
  6. package/esm2020/lib/modules/action-button/action-button.component.mjs +10 -6
  7. package/esm2020/lib/modules/back-to-top/back-to-top-adapter.service.mjs +19 -15
  8. package/esm2020/lib/modules/back-to-top/back-to-top.component.mjs +8 -5
  9. package/esm2020/lib/modules/back-to-top/back-to-top.directive.mjs +68 -63
  10. package/esm2020/lib/modules/box/box.component.mjs +1 -1
  11. package/esm2020/lib/modules/card/card.component.mjs +38 -11
  12. package/esm2020/lib/modules/definition-list/definition-list-label.component.mjs +1 -1
  13. package/esm2020/lib/modules/definition-list/definition-list-value.component.mjs +3 -3
  14. package/esm2020/lib/modules/definition-list/definition-list.component.mjs +1 -1
  15. package/esm2020/lib/modules/definition-list/definition-list.service.mjs +1 -1
  16. package/esm2020/lib/modules/description-list/description-list-adapter-service.mjs +26 -22
  17. package/esm2020/lib/modules/description-list/description-list-content.component.mjs +2 -2
  18. package/esm2020/lib/modules/description-list/description-list-description.component.mjs +16 -11
  19. package/esm2020/lib/modules/description-list/description-list-term.component.mjs +1 -1
  20. package/esm2020/lib/modules/description-list/description-list.component.mjs +25 -16
  21. package/esm2020/lib/modules/fluid-grid/column.component.mjs +19 -1
  22. package/esm2020/lib/modules/fluid-grid/fluid-grid.component.mjs +15 -35
  23. package/esm2020/lib/modules/fluid-grid/row.component.mjs +1 -1
  24. package/esm2020/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +1 -1
  25. package/esm2020/lib/modules/format/format.component.mjs +34 -26
  26. package/esm2020/lib/modules/inline-delete/inline-delete-adapter.service.mjs +91 -83
  27. package/esm2020/lib/modules/inline-delete/inline-delete.component.mjs +15 -9
  28. package/esm2020/lib/modules/page/page-layout-type.mjs +2 -0
  29. package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +23 -11
  30. package/esm2020/lib/modules/page/page.component.mjs +28 -9
  31. package/esm2020/lib/modules/page/page.module.mjs +5 -3
  32. package/esm2020/lib/modules/page-summary/page-summary-adapter.service.mjs +1 -1
  33. package/esm2020/lib/modules/page-summary/page-summary.component.mjs +40 -16
  34. package/esm2020/lib/modules/text-expand/text-expand-adapter.service.mjs +8 -10
  35. package/esm2020/lib/modules/text-expand/text-expand-modal-context-token.mjs +6 -0
  36. package/esm2020/lib/modules/text-expand/text-expand-modal-context.mjs +2 -6
  37. package/esm2020/lib/modules/text-expand/text-expand-modal.component.mjs +12 -10
  38. package/esm2020/lib/modules/text-expand/text-expand.component.mjs +188 -127
  39. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +10 -12
  40. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +139 -95
  41. package/esm2020/lib/modules/toolbar/toolbar.component.mjs +4 -4
  42. package/esm2020/testing/action-button-fixture.mjs +12 -6
  43. package/esm2020/testing/card-fixture.mjs +19 -16
  44. package/esm2020/testing/page-summary-fixture.mjs +9 -5
  45. package/fesm2015/skyux-layout-testing.mjs +35 -24
  46. package/fesm2015/skyux-layout-testing.mjs.map +1 -1
  47. package/fesm2015/skyux-layout.mjs +897 -682
  48. package/fesm2015/skyux-layout.mjs.map +1 -1
  49. package/fesm2020/skyux-layout-testing.mjs +35 -24
  50. package/fesm2020/skyux-layout-testing.mjs.map +1 -1
  51. package/fesm2020/skyux-layout.mjs +890 -682
  52. package/fesm2020/skyux-layout.mjs.map +1 -1
  53. package/index.d.ts +1 -1
  54. package/lib/modules/action-button/action-button-adapter-service.d.ts +1 -2
  55. package/lib/modules/action-button/action-button-container.component.d.ts +6 -17
  56. package/lib/modules/action-button/action-button-icon.component.d.ts +2 -3
  57. package/lib/modules/action-button/action-button.component.d.ts +3 -3
  58. package/lib/modules/back-to-top/back-to-top-adapter.service.d.ts +1 -4
  59. package/lib/modules/back-to-top/back-to-top.component.d.ts +1 -1
  60. package/lib/modules/back-to-top/back-to-top.directive.d.ts +4 -16
  61. package/lib/modules/box/box.component.d.ts +3 -3
  62. package/lib/modules/card/card.component.d.ts +7 -6
  63. package/lib/modules/definition-list/definition-list-label.component.d.ts +1 -1
  64. package/lib/modules/definition-list/definition-list-value.component.d.ts +1 -1
  65. package/lib/modules/definition-list/definition-list.component.d.ts +2 -2
  66. package/lib/modules/definition-list/definition-list.service.d.ts +2 -2
  67. package/lib/modules/description-list/description-list-adapter-service.d.ts +1 -2
  68. package/lib/modules/description-list/description-list-content.component.d.ts +2 -2
  69. package/lib/modules/description-list/description-list-description.component.d.ts +5 -7
  70. package/lib/modules/description-list/description-list-term.component.d.ts +1 -1
  71. package/lib/modules/description-list/description-list.component.d.ts +6 -7
  72. package/lib/modules/fluid-grid/column.component.d.ts +7 -5
  73. package/lib/modules/fluid-grid/fluid-grid.component.d.ts +3 -9
  74. package/lib/modules/fluid-grid/row.component.d.ts +1 -1
  75. package/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.d.ts +1 -1
  76. package/lib/modules/format/format.component.d.ts +5 -7
  77. package/lib/modules/inline-delete/inline-delete-adapter.service.d.ts +1 -11
  78. package/lib/modules/inline-delete/inline-delete.component.d.ts +3 -5
  79. package/lib/modules/page/page-layout-type.d.ts +1 -0
  80. package/lib/modules/page/page-theme-adapter.service.d.ts +2 -1
  81. package/lib/modules/page/page.component.d.ts +11 -3
  82. package/lib/modules/page/page.module.d.ts +2 -1
  83. package/lib/modules/page-summary/page-summary.component.d.ts +8 -9
  84. package/lib/modules/text-expand/text-expand-adapter.service.d.ts +3 -4
  85. package/lib/modules/text-expand/text-expand-modal-context-token.d.ts +6 -0
  86. package/lib/modules/text-expand/text-expand-modal-context.d.ts +1 -1
  87. package/lib/modules/text-expand/text-expand.component.d.ts +18 -25
  88. package/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.d.ts +4 -5
  89. package/lib/modules/text-expand-repeater/text-expand-repeater.component.d.ts +13 -21
  90. package/lib/modules/toolbar/toolbar.component.d.ts +4 -4
  91. package/package.json +9 -9
  92. package/testing/action-button-fixture.d.ts +4 -4
  93. package/testing/card-fixture.d.ts +3 -5
  94. package/testing/page-summary-fixture.d.ts +4 -4
  95. package/esm2020/lib/modules/fluid-grid/fluid-grid-gutter-size.mjs +0 -20
  96. 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,10 +23,11 @@ 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
+ var _SkyActionButtonAdapterService_instances, _SkyActionButtonAdapterService_renderer, _SkyActionButtonAdapterService_getResponsiveClassName;
30
31
  const RESPONSIVE_CLASS_SM = 'sky-action-button-container-sm';
31
32
  const RESPONSIVE_CLASS_MD = 'sky-action-button-container-md';
32
33
  const RESPONSIVE_CLASS_LG = 'sky-action-button-container-lg';
@@ -37,48 +38,52 @@ const BREAKPOINT_LG = 1378;
37
38
  */
38
39
  class SkyActionButtonAdapterService {
39
40
  constructor(rendererFactory) {
40
- this.renderer = rendererFactory.createRenderer(undefined, undefined);
41
+ _SkyActionButtonAdapterService_instances.add(this);
42
+ _SkyActionButtonAdapterService_renderer.set(this, void 0);
43
+ __classPrivateFieldSet(this, _SkyActionButtonAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
41
44
  }
42
45
  getParentWidth(element) {
43
46
  return element.nativeElement.parentNode.getBoundingClientRect().width;
44
47
  }
45
48
  setResponsiveClass(element, width) {
46
49
  const el = element.nativeElement;
47
- const className = this.getResponsiveClassName(width);
48
- this.renderer.removeClass(el, RESPONSIVE_CLASS_SM);
49
- this.renderer.removeClass(el, RESPONSIVE_CLASS_MD);
50
- this.renderer.removeClass(el, RESPONSIVE_CLASS_LG);
51
- this.renderer.addClass(el, className);
52
- }
53
- getResponsiveClassName(width) {
54
- if (width < BREAKPOINT_MD) {
55
- return RESPONSIVE_CLASS_SM;
56
- }
57
- else if (width > BREAKPOINT_MD && width < BREAKPOINT_LG) {
58
- return RESPONSIVE_CLASS_MD;
59
- }
60
- else {
61
- return RESPONSIVE_CLASS_LG;
62
- }
50
+ const className = __classPrivateFieldGet(this, _SkyActionButtonAdapterService_instances, "m", _SkyActionButtonAdapterService_getResponsiveClassName).call(this, width);
51
+ __classPrivateFieldGet(this, _SkyActionButtonAdapterService_renderer, "f").removeClass(el, RESPONSIVE_CLASS_SM);
52
+ __classPrivateFieldGet(this, _SkyActionButtonAdapterService_renderer, "f").removeClass(el, RESPONSIVE_CLASS_MD);
53
+ __classPrivateFieldGet(this, _SkyActionButtonAdapterService_renderer, "f").removeClass(el, RESPONSIVE_CLASS_LG);
54
+ __classPrivateFieldGet(this, _SkyActionButtonAdapterService_renderer, "f").addClass(el, className);
63
55
  }
64
56
  }
57
+ _SkyActionButtonAdapterService_renderer = new WeakMap(), _SkyActionButtonAdapterService_instances = new WeakSet(), _SkyActionButtonAdapterService_getResponsiveClassName = function _SkyActionButtonAdapterService_getResponsiveClassName(width) {
58
+ if (width < BREAKPOINT_MD) {
59
+ return RESPONSIVE_CLASS_SM;
60
+ }
61
+ else if (width >= BREAKPOINT_MD && width < BREAKPOINT_LG) {
62
+ return RESPONSIVE_CLASS_MD;
63
+ }
64
+ else {
65
+ return RESPONSIVE_CLASS_LG;
66
+ }
67
+ };
65
68
  SkyActionButtonAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
66
69
  SkyActionButtonAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonAdapterService });
67
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonAdapterService, decorators: [{
68
71
  type: Injectable
69
72
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
70
73
 
74
+ var _SkyActionButtonComponent_changeDetector;
71
75
  /**
72
76
  * Creates a button to present users with an option to move forward with tasks.
73
77
  */
74
78
  class SkyActionButtonComponent {
75
- constructor(changeRef) {
76
- this.changeRef = changeRef;
79
+ constructor(changeDetector) {
77
80
  this.hidden = false;
78
81
  /**
79
82
  * Fires when users select the action button.
80
83
  */
81
84
  this.actionClick = new EventEmitter();
85
+ _SkyActionButtonComponent_changeDetector.set(this, void 0);
86
+ __classPrivateFieldSet(this, _SkyActionButtonComponent_changeDetector, changeDetector, "f");
82
87
  }
83
88
  buttonClicked() {
84
89
  this.actionClick.emit();
@@ -90,16 +95,17 @@ class SkyActionButtonComponent {
90
95
  if (this.hidden === $event.userHasAccess) {
91
96
  setTimeout(() => {
92
97
  this.hidden = !$event.userHasAccess;
93
- this.changeRef.markForCheck();
98
+ __classPrivateFieldGet(this, _SkyActionButtonComponent_changeDetector, "f").markForCheck();
94
99
  });
95
100
  }
96
101
  }
97
102
  }
103
+ _SkyActionButtonComponent_changeDetector = new WeakMap();
98
104
  SkyActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonComponent, deps: [{ token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
99
- SkyActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyActionButtonComponent, selector: "sky-action-button", inputs: { permalink: "permalink" }, outputs: { actionClick: "actionClick" }, host: { properties: { "hidden": "this.hidden" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"true\">\n <a\n *ngSwitchCase=\"!!permalink?.route?.commands\"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n (!permalink?.url?.includes('://') ||\n permalink?.url?.startsWith('https://'))\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n permalink?.url?.includes('://') &&\n !permalink?.url?.startsWith('https://')\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink.url\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <div\n *ngSwitchDefault\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\"></ng-content>\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\"></ng-content>\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\"></ng-content>\n</ng-template>\n", styles: [".sky-action-button{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;cursor:pointer;text-align:center;text-decoration:none!important;display:block}.sky-action-button:hover{border-color:#c2c4c6}.sky-action-button-icon-header-container{display:flex;justify-content:center}.sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-action-button-icon-header-container{margin-bottom:20px}.sky-responsive-container-xs .sky-action-button,.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-responsive-container-xs .sky-action-button-icon-header-container,.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:20px}@media (min-width: 768px){.sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}}.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}.sky-theme-modern .sky-action-button{display:flex;flex-flow:row nowrap;padding:30px;text-align:left;border:none}.sky-theme-modern .sky-action-button .sky-action-button-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-theme-modern .sky-action-button,.sky-theme-modern .sky-responsive-container-xs .sky-action-button,.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0;max-width:446px}@media (min-width: 768px){.sky-theme-modern .sky-action-button{padding:30px;margin:0}}.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "directive", type: i1$1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i1$1.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], encapsulation: i0.ViewEncapsulation.None });
105
+ SkyActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyActionButtonComponent, selector: "sky-action-button", inputs: { permalink: "permalink" }, outputs: { actionClick: "actionClick" }, host: { properties: { "hidden": "this.hidden" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"true\">\n <a\n *ngSwitchCase=\"!!permalink?.route?.commands\"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink?.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink?.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink?.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink?.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n (!permalink?.url?.includes('://') ||\n permalink?.url?.startsWith('https://'))\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n permalink?.url?.includes('://') &&\n !permalink?.url?.startsWith('https://')\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink?.url\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <div\n *ngSwitchDefault\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\"></ng-content>\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\"></ng-content>\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\"></ng-content>\n</ng-template>\n", styles: [".sky-action-button{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;cursor:pointer;text-align:center;text-decoration:none!important;display:block}.sky-action-button:hover{border-color:#c2c4c6}.sky-action-button-icon-header-container{display:flex;justify-content:center}.sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-action-button-icon-header-container{margin-bottom:20px}.sky-responsive-container-xs .sky-action-button,.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-responsive-container-xs .sky-action-button-icon-header-container,.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:20px}@media (min-width: 768px){.sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}}.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}.sky-theme-modern .sky-action-button{display:flex;flex-flow:row nowrap;padding:30px;text-align:left;border:none}.sky-theme-modern .sky-action-button .sky-action-button-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-theme-modern .sky-action-button,.sky-theme-modern .sky-responsive-container-xs .sky-action-button,.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0;max-width:446px}@media (min-width: 768px){.sky-theme-modern .sky-action-button{padding:30px;margin:0}}.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "directive", type: i1$1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i1$1.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], encapsulation: i0.ViewEncapsulation.None });
100
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonComponent, decorators: [{
101
107
  type: Component,
102
- args: [{ selector: 'sky-action-button', encapsulation: ViewEncapsulation.None, template: "<ng-container [ngSwitch]=\"true\">\n <a\n *ngSwitchCase=\"!!permalink?.route?.commands\"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n (!permalink?.url?.includes('://') ||\n permalink?.url?.startsWith('https://'))\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n permalink?.url?.includes('://') &&\n !permalink?.url?.startsWith('https://')\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink.url\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <div\n *ngSwitchDefault\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\"></ng-content>\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\"></ng-content>\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\"></ng-content>\n</ng-template>\n", styles: [".sky-action-button{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;cursor:pointer;text-align:center;text-decoration:none!important;display:block}.sky-action-button:hover{border-color:#c2c4c6}.sky-action-button-icon-header-container{display:flex;justify-content:center}.sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-action-button-icon-header-container{margin-bottom:20px}.sky-responsive-container-xs .sky-action-button,.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-responsive-container-xs .sky-action-button-icon-header-container,.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:20px}@media (min-width: 768px){.sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}}.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}.sky-theme-modern .sky-action-button{display:flex;flex-flow:row nowrap;padding:30px;text-align:left;border:none}.sky-theme-modern .sky-action-button .sky-action-button-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-theme-modern .sky-action-button,.sky-theme-modern .sky-responsive-container-xs .sky-action-button,.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0;max-width:446px}@media (min-width: 768px){.sky-theme-modern .sky-action-button{padding:30px;margin:0}}.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0}\n"] }]
108
+ args: [{ selector: 'sky-action-button', encapsulation: ViewEncapsulation.None, template: "<ng-container [ngSwitch]=\"true\">\n <a\n *ngSwitchCase=\"!!permalink?.route?.commands\"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [fragment]=\"permalink?.route?.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n [queryParams]=\"permalink?.route?.extras?.queryParams\"\n [queryParamsHandling]=\"permalink?.route?.extras?.queryParamsHandling\"\n [routerLink]=\"permalink?.route?.commands\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n (!permalink?.url?.includes('://') ||\n permalink?.url?.startsWith('https://'))\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [href]=\"permalink?.url\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <a\n *ngSwitchCase=\"\n !permalink?.route &&\n permalink?.url &&\n permalink?.url?.includes('://') &&\n !permalink?.url?.startsWith('https://')\n \"\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n [skyHref]=\"permalink?.url\"\n (skyHrefChange)=\"onSkyHrefDisplayChange($event)\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </a>\n\n <div\n *ngSwitchDefault\n class=\"sky-action-button sky-btn-default sky-rounded-corners\"\n tabindex=\"0\"\n role=\"button\"\n [skyThemeClass]=\"{\n 'sky-btn sky-box': 'modern'\n }\"\n (click)=\"buttonClicked()\"\n (keydown.enter)=\"enterPress()\"\n >\n <ng-container *ngTemplateOutlet=\"actionButtonContent\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #actionButtonContent>\n <ng-container *skyThemeIf=\"'default'\">\n <div class=\"sky-action-button-icon-header-container\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </ng-container>\n\n <ng-container *skyThemeIf=\"'modern'\">\n <ng-container *ngTemplateOutlet=\"icon\"></ng-container>\n <div class=\"sky-action-button-content\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n <div\n class=\"sky-action-button-details\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern'\n }\"\n >\n <ng-container *ngTemplateOutlet=\"details\"></ng-container>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"sky-action-button-icon\"></ng-content>\n</ng-template>\n\n<ng-template #header>\n <ng-content select=\"sky-action-button-header\"></ng-content>\n</ng-template>\n\n<ng-template #details>\n <ng-content select=\"sky-action-button-details\"></ng-content>\n</ng-template>\n", styles: [".sky-action-button{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;cursor:pointer;text-align:center;text-decoration:none!important;display:block}.sky-action-button:hover{border-color:#c2c4c6}.sky-action-button-icon-header-container{display:flex;justify-content:center}.sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-action-button-icon-header-container{margin-bottom:20px}.sky-responsive-container-xs .sky-action-button,.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:20px 20px 30px;margin:0 15px}.sky-responsive-container-xs .sky-action-button-icon-header-container,.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:20px}@media (min-width: 768px){.sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}}.sky-responsive-container-sm .sky-action-button,.sky-responsive-container-md .sky-action-button,.sky-responsive-container-lg .sky-action-button{padding:30px 20px;margin:0;max-width:236px}.sky-responsive-container-sm .sky-action-button-icon-header-container,.sky-responsive-container-md .sky-action-button-icon-header-container,.sky-responsive-container-lg .sky-action-button-icon-header-container{margin-bottom:0;flex-direction:column}.sky-theme-modern .sky-action-button{display:flex;flex-flow:row nowrap;padding:30px;text-align:left;border:none}.sky-theme-modern .sky-action-button .sky-action-button-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-theme-modern .sky-action-button,.sky-theme-modern .sky-responsive-container-xs .sky-action-button,.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0;max-width:446px}@media (min-width: 768px){.sky-theme-modern .sky-action-button{padding:30px;margin:0}}.sky-theme-modern .sky-responsive-container-sm .sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button{padding:30px;margin:0}\n"] }]
103
109
  }], ctorParameters: function () {
104
110
  return [{ type: i0.ChangeDetectorRef, decorators: [{
105
111
  type: SkipSelf
@@ -113,20 +119,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
113
119
  type: Output
114
120
  }] } });
115
121
 
116
- var _SkyActionButtonContainerComponent_viewInitialized;
122
+ var _SkyActionButtonContainerComponent_instances, _SkyActionButtonContainerComponent_ngUnsubscribe, _SkyActionButtonContainerComponent_syncMaxHeightTimeout, _SkyActionButtonContainerComponent_themeName_set, _SkyActionButtonContainerComponent__alignItems, _SkyActionButtonContainerComponent__themeName, _SkyActionButtonContainerComponent_viewInitialized, _SkyActionButtonContainerComponent_actionButtonAdapterService, _SkyActionButtonContainerComponent_changeDetector, _SkyActionButtonContainerComponent_coreAdapterService, _SkyActionButtonContainerComponent_hostElRef, _SkyActionButtonContainerComponent_themeSvc, _SkyActionButtonContainerComponent_updateHeight, _SkyActionButtonContainerComponent_updateResponsiveClass;
117
123
  /**
118
124
  * Wraps action buttons to ensures that they have consistent height and spacing.
119
125
  * @required
120
126
  */
121
127
  class SkyActionButtonContainerComponent {
122
- constructor(actionButtonAdapterService, changeRef, coreAdapterService, hostElRef, themeSvc) {
123
- this.actionButtonAdapterService = actionButtonAdapterService;
124
- this.changeRef = changeRef;
125
- this.coreAdapterService = coreAdapterService;
126
- this.hostElRef = hostElRef;
127
- this.themeSvc = themeSvc;
128
- this.ngUnsubscribe = new Subject();
128
+ constructor(actionButtonAdapterService, changeDetector, coreAdapterService, hostElRef, themeSvc) {
129
+ _SkyActionButtonContainerComponent_instances.add(this);
130
+ _SkyActionButtonContainerComponent_ngUnsubscribe.set(this, new Subject());
131
+ _SkyActionButtonContainerComponent_syncMaxHeightTimeout.set(this, void 0);
132
+ _SkyActionButtonContainerComponent__alignItems.set(this, 'center');
133
+ _SkyActionButtonContainerComponent__themeName.set(this, void 0);
129
134
  _SkyActionButtonContainerComponent_viewInitialized.set(this, false);
135
+ _SkyActionButtonContainerComponent_actionButtonAdapterService.set(this, void 0);
136
+ _SkyActionButtonContainerComponent_changeDetector.set(this, void 0);
137
+ _SkyActionButtonContainerComponent_coreAdapterService.set(this, void 0);
138
+ _SkyActionButtonContainerComponent_hostElRef.set(this, void 0);
139
+ _SkyActionButtonContainerComponent_themeSvc.set(this, void 0);
140
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, actionButtonAdapterService, "f");
141
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_changeDetector, changeDetector, "f");
142
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_coreAdapterService, coreAdapterService, "f");
143
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_hostElRef, hostElRef, "f");
144
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_themeSvc, themeSvc, "f");
130
145
  }
131
146
  /**
132
147
  * Specifies how to display the action buttons inside the action button container.
@@ -134,29 +149,24 @@ class SkyActionButtonContainerComponent {
134
149
  * @default "center"
135
150
  */
136
151
  set alignItems(value) {
137
- this._alignItems = value;
152
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent__alignItems, value !== null && value !== void 0 ? value : 'center', "f");
138
153
  }
139
154
  get alignItems() {
140
- return this._alignItems || 'center';
141
- }
142
- set themeName(value) {
143
- this._themeName = value;
144
- this.updateResponsiveClass();
145
- this.updateHeight();
155
+ return __classPrivateFieldGet(this, _SkyActionButtonContainerComponent__alignItems, "f");
146
156
  }
147
157
  ngOnInit() {
148
158
  /* istanbul ignore else */
149
- if (this.themeSvc) {
150
- this.themeSvc.settingsChange
151
- .pipe(takeUntil(this.ngUnsubscribe))
159
+ if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_themeSvc, "f")) {
160
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_themeSvc, "f").settingsChange
161
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f")))
152
162
  .subscribe((themeSettings) => {
153
- this.themeName = themeSettings.currentSettings.theme.name;
154
- this.changeRef.markForCheck();
163
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_instances, themeSettings.currentSettings.theme.name, "a", _SkyActionButtonContainerComponent_themeName_set);
164
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_changeDetector, "f").markForCheck();
155
165
  });
156
166
  }
157
167
  // Wait for children components to complete rendering before container width is determined.
158
168
  setTimeout(() => {
159
- this.updateResponsiveClass();
169
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
160
170
  });
161
171
  }
162
172
  ngAfterViewInit() {
@@ -164,51 +174,55 @@ class SkyActionButtonContainerComponent {
164
174
  /* istanbul ignore else */
165
175
  if (this.actionButtons) {
166
176
  this.actionButtons.changes
167
- .pipe(takeUntil(this.ngUnsubscribe))
177
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f")))
168
178
  .subscribe(() => {
169
- this.updateHeight();
179
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
170
180
  });
171
181
  }
172
182
  __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_viewInitialized, true, "f");
173
- this.updateHeight();
183
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
174
184
  }
175
185
  ngOnDestroy() {
176
- this.ngUnsubscribe.next();
177
- this.ngUnsubscribe.complete();
186
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f").next();
187
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f").complete();
178
188
  }
179
189
  onContentChange() {
180
- this.updateHeight();
190
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
181
191
  }
182
192
  onWindowResize() {
183
- this.updateResponsiveClass();
184
- }
185
- updateHeight(delay = 0) {
186
- if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_viewInitialized, "f")) {
187
- const ref = this.containerRef;
188
- this.coreAdapterService.resetHeight(ref, '.sky-action-button');
189
- if (this._themeName === 'modern') {
190
- // Wait for children components to complete rendering before height is determined.
191
- clearTimeout(this.syncMaxHeightTimeout);
192
- this.syncMaxHeightTimeout = setTimeout(() => {
193
- const selector = '.sky-action-button:not([hidden])';
194
- const button = ref.nativeElement.querySelector(selector);
195
- if (button && button.offsetHeight > 0) {
196
- this.coreAdapterService.syncMaxHeight(ref, selector);
197
- }
198
- else if (delay < 200) {
199
- // Wait progressively longer between retries.
200
- this.updateHeight(delay + 50);
201
- }
202
- }, delay);
203
- }
193
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
194
+ }
195
+ }
196
+ _SkyActionButtonContainerComponent_ngUnsubscribe = new WeakMap(), _SkyActionButtonContainerComponent_syncMaxHeightTimeout = new WeakMap(), _SkyActionButtonContainerComponent__alignItems = new WeakMap(), _SkyActionButtonContainerComponent__themeName = new WeakMap(), _SkyActionButtonContainerComponent_viewInitialized = new WeakMap(), _SkyActionButtonContainerComponent_actionButtonAdapterService = new WeakMap(), _SkyActionButtonContainerComponent_changeDetector = new WeakMap(), _SkyActionButtonContainerComponent_coreAdapterService = new WeakMap(), _SkyActionButtonContainerComponent_hostElRef = new WeakMap(), _SkyActionButtonContainerComponent_themeSvc = new WeakMap(), _SkyActionButtonContainerComponent_instances = new WeakSet(), _SkyActionButtonContainerComponent_themeName_set = function _SkyActionButtonContainerComponent_themeName_set(value) {
197
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent__themeName, value, "f");
198
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
199
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
200
+ }, _SkyActionButtonContainerComponent_updateHeight = function _SkyActionButtonContainerComponent_updateHeight(delay = 0) {
201
+ const ref = this.containerRef;
202
+ if (ref && __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_viewInitialized, "f")) {
203
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_coreAdapterService, "f").resetHeight(ref, '.sky-action-button');
204
+ if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent__themeName, "f") === 'modern') {
205
+ // Wait for children components to complete rendering before height is determined.
206
+ clearTimeout(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_syncMaxHeightTimeout, "f"));
207
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_syncMaxHeightTimeout, setTimeout(() => {
208
+ const selector = '.sky-action-button:not([hidden])';
209
+ const button = ref.nativeElement.querySelector(selector);
210
+ if (button && button.offsetHeight > 0) {
211
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_coreAdapterService, "f").syncMaxHeight(ref, selector);
212
+ }
213
+ else if (delay < 200) {
214
+ // Wait progressively longer between retries.
215
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this, delay + 50);
216
+ }
217
+ }, delay), "f");
204
218
  }
205
219
  }
206
- updateResponsiveClass() {
207
- const parentWidth = this.actionButtonAdapterService.getParentWidth(this.hostElRef);
208
- this.actionButtonAdapterService.setResponsiveClass(this.containerRef, parentWidth);
220
+ }, _SkyActionButtonContainerComponent_updateResponsiveClass = function _SkyActionButtonContainerComponent_updateResponsiveClass() {
221
+ if (this.containerRef) {
222
+ const parentWidth = __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, "f").getParentWidth(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_hostElRef, "f"));
223
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, "f").setResponsiveClass(this.containerRef, parentWidth);
209
224
  }
210
- }
211
- _SkyActionButtonContainerComponent_viewInitialized = new WeakMap();
225
+ };
212
226
  SkyActionButtonContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonContainerComponent, deps: [{ token: SkyActionButtonAdapterService }, { token: i0.ChangeDetectorRef }, { token: i1$2.SkyCoreAdapterService }, { token: i0.ElementRef }, { token: i1$1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
213
227
  SkyActionButtonContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyActionButtonContainerComponent, selector: "sky-action-button-container", inputs: { alignItems: "alignItems" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [SkyActionButtonAdapterService], queries: [{ propertyName: "actionButtons", predicate: SkyActionButtonComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"sky-action-button-container\" #container>\n <div\n class=\"sky-action-button-flex\"\n [ngClass]=\"{\n 'sky-action-button-flex-align-left': alignItems === 'left',\n 'sky-action-button-flex-align-center': alignItems === 'center'\n }\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:block}.sky-action-button-flex sky-action-button{display:block}.sky-action-button-flex .sky-action-button{height:100%;min-width:236px;margin-left:10px;margin-right:10px}.sky-action-button-flex{display:block;padding:0}.sky-action-button-flex sky-action-button{margin:20px 0}.sky-responsive-container-xs .sky-action-button-flex,.sky-responsive-container-sm .sky-action-button-flex,.sky-responsive-container-md .sky-action-button-flex,.sky-responsive-container-lg .sky-action-button-flex{display:block;padding:0}.sky-responsive-container-xs .sky-action-button-flex sky-action-button,.sky-responsive-container-sm .sky-action-button-flex sky-action-button,.sky-responsive-container-md .sky-action-button-flex sky-action-button,.sky-responsive-container-lg .sky-action-button-flex sky-action-button{margin:20px 0}@media (min-width: 768px){.sky-action-button-flex{display:flex;flex-flow:row wrap;padding:10px 0}.sky-action-button-flex.sky-action-button-flex-align-center{justify-content:center}.sky-action-button-flex.sky-action-button-flex-align-left{justify-content:flex-start}.sky-action-button-flex sky-action-button{margin:10px 0}}.sky-responsive-container-sm .sky-action-button-flex,.sky-responsive-container-md .sky-action-button-flex,.sky-responsive-container-lg .sky-action-button-flex{display:flex;flex-flow:row wrap;padding:10px 0}.sky-responsive-container-sm .sky-action-button-flex.sky-action-button-flex-align-center,.sky-responsive-container-md .sky-action-button-flex.sky-action-button-flex-align-center,.sky-responsive-container-lg .sky-action-button-flex.sky-action-button-flex-align-center{justify-content:center}.sky-responsive-container-sm .sky-action-button-flex.sky-action-button-flex-align-left,.sky-responsive-container-md .sky-action-button-flex.sky-action-button-flex-align-left,.sky-responsive-container-lg .sky-action-button-flex.sky-action-button-flex-align-left{justify-content:flex-start}.sky-responsive-container-sm .sky-action-button-flex sky-action-button,.sky-responsive-container-md .sky-action-button-flex sky-action-button,.sky-responsive-container-lg .sky-action-button-flex sky-action-button{margin:10px 0}.sky-theme-modern .sky-action-button-container{margin:0 auto}.sky-theme-modern .sky-action-button-container.sky-action-button-container-sm{max-width:446px}.sky-theme-modern .sky-action-button-container.sky-action-button-container-md{max-width:912px}.sky-theme-modern .sky-action-button-container.sky-action-button-container-lg{max-width:1378px}.sky-theme-modern .sky-action-button-container .sky-action-button-flex .sky-action-button{height:auto;min-width:auto;margin:0}.sky-theme-modern .sky-action-button-flex{display:flex;flex-flow:row wrap;padding:0;margin:0 0 -20px -20px}.sky-theme-modern .sky-action-button-flex sky-action-button{margin:0 0 20px 20px;flex:0 1 446px}.sky-theme-modern .sky-responsive-container-xs .sky-action-button-flex,.sky-theme-modern .sky-responsive-container-sm .sky-action-button-flex,.sky-theme-modern .sky-responsive-container-md .sky-action-button-flex,.sky-theme-modern .sky-responsive-container-lg .sky-action-button-flex{display:flex;flex-flow:row wrap;padding:0;margin:0 0 -20px -20px}.sky-theme-modern .sky-responsive-container-xs .sky-action-button-flex sky-action-button,.sky-theme-modern .sky-responsive-container-sm .sky-action-button-flex sky-action-button,.sky-theme-modern .sky-responsive-container-md .sky-action-button-flex sky-action-button,.sky-theme-modern .sky-responsive-container-lg .sky-action-button-flex sky-action-button{margin:0 0 20px 20px;flex:0 1 446px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], encapsulation: i0.ViewEncapsulation.None });
214
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonContainerComponent, decorators: [{
@@ -258,6 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
258
272
  args: [{ selector: 'sky-action-button-header', template: "<div\n class=\"sky-action-button-header\"\n [skyThemeClass]=\"{\n 'sky-headline': 'modern',\n 'sky-section-heading': 'default'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host .sky-action-button-header{margin:0 5px}:host-context(.sky-responsive-container-xs) .sky-action-button-header,:host-context(.sky-responsive-container-sm) .sky-action-button-header,:host-context(.sky-responsive-container-md) .sky-action-button-header,:host-context(.sky-responsive-container-lg) .sky-action-button-header{margin:0 5px}@media (min-width: 768px){:host .sky-action-button-header{margin:0 0 20px}}:host-context(.sky-responsive-container-sm) .sky-action-button-header,:host-context(.sky-responsive-container-md) .sky-action-button-header,:host-context(.sky-responsive-container-lg) .sky-action-button-header{margin:0 0 20px}:host-context(.sky-theme-modern) .sky-action-button-header{margin:0 0 10px}.sky-theme-modern .sky-action-button-header{margin:0 0 10px}\n"] }]
259
273
  }] });
260
274
 
275
+ var _SkyActionButtonIconComponent_subscription;
261
276
  const FONTSIZECLASS_SMALL = '2x';
262
277
  const FONTSIZECLASS_LARGE = '3x';
263
278
  /**
@@ -265,25 +280,26 @@ const FONTSIZECLASS_LARGE = '3x';
265
280
  */
266
281
  class SkyActionButtonIconComponent {
267
282
  constructor(mediaQueryService) {
268
- this.mediaQueryService = mediaQueryService;
269
283
  this.fontSizeClass = FONTSIZECLASS_LARGE;
270
- this.subscription = this.mediaQueryService.subscribe((args) => {
284
+ _SkyActionButtonIconComponent_subscription.set(this, void 0);
285
+ __classPrivateFieldSet(this, _SkyActionButtonIconComponent_subscription, mediaQueryService.subscribe((args) => {
271
286
  if (args === SkyMediaBreakpoints.xs) {
272
287
  this.fontSizeClass = FONTSIZECLASS_SMALL;
273
288
  }
274
289
  else {
275
290
  this.fontSizeClass = FONTSIZECLASS_LARGE;
276
291
  }
277
- });
292
+ }), "f");
278
293
  }
279
294
  ngOnDestroy() {
280
295
  /* istanbul ignore else */
281
296
  /* sanity check */
282
- if (this.subscription) {
283
- this.subscription.unsubscribe();
297
+ if (__classPrivateFieldGet(this, _SkyActionButtonIconComponent_subscription, "f")) {
298
+ __classPrivateFieldGet(this, _SkyActionButtonIconComponent_subscription, "f").unsubscribe();
284
299
  }
285
300
  }
286
301
  }
302
+ _SkyActionButtonIconComponent_subscription = new WeakMap();
287
303
  SkyActionButtonIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonIconComponent, deps: [{ token: i1$2.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
288
304
  SkyActionButtonIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyActionButtonIconComponent, selector: "sky-action-button-icon", inputs: { iconType: "iconType" }, ngImport: i0, template: "<div aria-hidden=\"true\" class=\"sky-action-button-icon-container\">\n <sky-icon\n class=\"sky-action-button-icon\"\n [icon]=\"iconType\"\n [size]=\"fontSizeClass\"\n ></sky-icon>\n</div>\n", styles: [":host .sky-action-button-icon-container{margin:0 5px}:host-context(.sky-responsive-container-xs) .sky-action-button-icon-container,:host-context(.sky-responsive-container-sm) .sky-action-button-icon-container,:host-context(.sky-responsive-container-md) .sky-action-button-icon-container,:host-context(.sky-responsive-container-lg) .sky-action-button-icon-container{margin:0 5px}@media (min-width: 768px){:host .sky-action-button-icon-container{margin:0 0 20px}}:host-context(.sky-responsive-container-sm) .sky-action-button-icon-container,:host-context(.sky-responsive-container-md) .sky-action-button-icon-container,:host-context(.sky-responsive-container-lg) .sky-action-button-icon-container{margin:0 0 20px}.sky-action-button-icon{color:#0974a1}:host-context(.sky-theme-modern) .sky-action-button-icon-container{color:#0974a1;background:#e8f8ff;margin:0 20px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}:host-context(.sky-theme-modern) .sky-action-button-icon-container ::ng-deep .sky-icon{font-size:24px!important}.sky-theme-modern .sky-action-button-icon-container{color:#0974a1;background:#e8f8ff;margin:0 20px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sky-theme-modern .sky-action-button-icon-container ::ng-deep .sky-icon{font-size:24px!important}\n"], dependencies: [{ kind: "component", type: i2$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }] });
289
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonIconComponent, decorators: [{
@@ -401,21 +417,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
401
417
  }]
402
418
  }] });
403
419
 
420
+ var _SkyBackToTopComponent__scrollToTopClick;
404
421
  /**
405
422
  * @internal
406
423
  */
407
424
  class SkyBackToTopComponent {
408
425
  constructor() {
409
- this._scrollToTopClick = new Subject();
426
+ _SkyBackToTopComponent__scrollToTopClick.set(this, new Subject());
410
427
  }
411
428
  get scrollToTopClick() {
412
- return this._scrollToTopClick.asObservable();
429
+ return __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").asObservable();
413
430
  }
414
431
  onScrollToTopClick() {
415
- this._scrollToTopClick.next();
416
- this._scrollToTopClick.complete();
432
+ __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").next();
433
+ __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").complete();
417
434
  }
418
435
  }
436
+ _SkyBackToTopComponent__scrollToTopClick = new WeakMap();
419
437
  SkyBackToTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
420
438
  SkyBackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyBackToTopComponent, selector: "sky-back-to-top", ngImport: i0, template: "<div class=\"sky-back-to-top sky-padding-squish-large\">\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"onScrollToTopClick()\"\n >\n {{ 'skyux_back_to_top' | skyLibResources }}\n </button>\n</div>\n", styles: [".sky-back-to-top{display:flex;align-items:center;width:100%;background-color:#fff;box-shadow:0 -3px 3px #cdcfd2}\n"], dependencies: [{ kind: "pipe", type: i1$3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
421
439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopComponent, decorators: [{
@@ -423,32 +441,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
423
441
  args: [{ selector: 'sky-back-to-top', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-back-to-top sky-padding-squish-large\">\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"onScrollToTopClick()\"\n >\n {{ 'skyux_back_to_top' | skyLibResources }}\n </button>\n</div>\n", styles: [".sky-back-to-top{display:flex;align-items:center;width:100%;background-color:#fff;box-shadow:0 -3px 3px #cdcfd2}\n"] }]
424
442
  }] });
425
443
 
444
+ var _SkyBackToTopDomAdapterService_ngUnsubscribe, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, _SkyBackToTopDomAdapterService_scrollableHostService, _SkyBackToTopDomAdapterService_windowRef;
426
445
  /**
427
446
  * @internal
428
447
  */
429
448
  class SkyBackToTopDomAdapterService {
430
449
  constructor(windowRef, scrollableHostService) {
431
- this.windowRef = windowRef;
432
- this.scrollableHostService = scrollableHostService;
433
- this.ngUnsubscribe = new Subject();
434
- this.scrollableHostScrollEventUnsubscribe = new Subject();
450
+ _SkyBackToTopDomAdapterService_ngUnsubscribe.set(this, new Subject());
451
+ _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe.set(this, new Subject());
452
+ _SkyBackToTopDomAdapterService_scrollableHostService.set(this, void 0);
453
+ _SkyBackToTopDomAdapterService_windowRef.set(this, void 0);
454
+ __classPrivateFieldSet(this, _SkyBackToTopDomAdapterService_windowRef, windowRef, "f");
455
+ __classPrivateFieldSet(this, _SkyBackToTopDomAdapterService_scrollableHostService, scrollableHostService, "f");
435
456
  }
436
457
  ngOnDestroy() {
437
- this.ngUnsubscribe.next();
438
- this.ngUnsubscribe.complete();
439
- this.scrollableHostScrollEventUnsubscribe.next();
440
- this.scrollableHostScrollEventUnsubscribe.complete();
458
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_ngUnsubscribe, "f").next();
459
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_ngUnsubscribe, "f").complete();
460
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f").next();
461
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f").complete();
441
462
  }
442
463
  /**
443
464
  * This event returns a boolean on scroll indicating whether the provided element is in view.
444
465
  * @param elementRef The target element reference.
445
466
  */
446
467
  elementInViewOnScroll(elementRef) {
447
- const scrollableHostObservable = this.scrollableHostService.watchScrollableHostScrollEvents(elementRef);
468
+ const scrollableHostObservable = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").watchScrollableHostScrollEvents(elementRef);
448
469
  const isInitiallyInView = this.isElementScrolledInView(elementRef);
449
470
  const returnedObservable = new BehaviorSubject(isInitiallyInView);
450
471
  scrollableHostObservable
451
- .pipe(takeUntil(this.scrollableHostScrollEventUnsubscribe))
472
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f")))
452
473
  .subscribe(() => {
453
474
  const isInView = this.isElementScrolledInView(elementRef);
454
475
  returnedObservable.next(isInView);
@@ -465,12 +486,12 @@ class SkyBackToTopDomAdapterService {
465
486
  if (!elementRef || !elementRef.nativeElement) {
466
487
  return;
467
488
  }
468
- const scrollableHost = this.scrollableHostService.getScrollableHost(elementRef);
489
+ const scrollableHost = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").getScrollableHost(elementRef);
469
490
  if (scrollableHost instanceof Window) {
470
491
  // Scroll to top of window, but account for the body margin that allows for the omnibar if it exists.
471
492
  const bodyMarginOffset = parseInt(getComputedStyle(document.body).marginTop, 10);
472
493
  const newOffsetTop = elementRef.nativeElement.offsetTop - bodyMarginOffset;
473
- this.windowRef.nativeWindow.scrollTo(elementRef.nativeElement.offsetLeft, newOffsetTop);
494
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_windowRef, "f").nativeWindow.scrollTo(elementRef.nativeElement.offsetLeft, newOffsetTop);
474
495
  }
475
496
  else {
476
497
  // Scroll to top of parent element.
@@ -479,13 +500,12 @@ class SkyBackToTopDomAdapterService {
479
500
  }
480
501
  }
481
502
  isElementScrolledInView(element) {
482
- const parentElement = this.scrollableHostService.getScrollableHost(element.nativeElement);
503
+ const parentElement = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").getScrollableHost(element);
483
504
  if (!element.nativeElement.offsetParent) {
484
505
  return true;
485
506
  }
486
507
  const buffer = 25;
487
508
  const elementRect = element.nativeElement.getBoundingClientRect();
488
- /* istanbul ignore else */
489
509
  if (parentElement instanceof HTMLElement) {
490
510
  const parentRect = parentElement.getBoundingClientRect();
491
511
  return elementRect.top > parentRect.top - buffer;
@@ -495,6 +515,7 @@ class SkyBackToTopDomAdapterService {
495
515
  }
496
516
  }
497
517
  }
518
+ _SkyBackToTopDomAdapterService_ngUnsubscribe = new WeakMap(), _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe = new WeakMap(), _SkyBackToTopDomAdapterService_scrollableHostService = new WeakMap(), _SkyBackToTopDomAdapterService_windowRef = new WeakMap();
498
519
  SkyBackToTopDomAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDomAdapterService, deps: [{ token: i1$2.SkyAppWindowRef }, { token: i1$2.SkyScrollableHostService }], target: i0.ɵɵFactoryTarget.Injectable });
499
520
  SkyBackToTopDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDomAdapterService });
500
521
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDomAdapterService, decorators: [{
@@ -512,96 +533,99 @@ var SkyBackToTopMessageType;
512
533
  SkyBackToTopMessageType[SkyBackToTopMessageType["BackToTop"] = 0] = "BackToTop";
513
534
  })(SkyBackToTopMessageType || (SkyBackToTopMessageType = {}));
514
535
 
536
+ var _SkyBackToTopDirective_instances, _SkyBackToTopDirective_buttonHidden, _SkyBackToTopDirective_dockItem, _SkyBackToTopDirective_dockService, _SkyBackToTopDirective_domAdapter, _SkyBackToTopDirective_elementInView, _SkyBackToTopDirective_elementRef, _SkyBackToTopDirective_ngUnsubscribe, _SkyBackToTopDirective__skyBackToTopMessageStream, _SkyBackToTopDirective_handleBackToTopButton, _SkyBackToTopDirective_addBackToTop, _SkyBackToTopDirective_handleIncomingMessages, _SkyBackToTopDirective_setBackToTopListeners, _SkyBackToTopDirective_destroyBackToTop;
515
537
  /**
516
538
  * Associates a button with an element on the page and displays that button
517
539
  * to return to the element after users scroll away.
518
540
  */
519
541
  class SkyBackToTopDirective {
520
- constructor(dockService, domAdapter, element) {
521
- this.dockService = dockService;
522
- this.domAdapter = domAdapter;
523
- this.element = element;
524
- this.buttonHidden = false;
525
- this.ngUnsubscribe = new Subject();
542
+ constructor(dockService, domAdapter, elementRef) {
543
+ _SkyBackToTopDirective_instances.add(this);
544
+ _SkyBackToTopDirective_buttonHidden.set(this, false);
545
+ _SkyBackToTopDirective_dockItem.set(this, void 0);
546
+ _SkyBackToTopDirective_dockService.set(this, void 0);
547
+ _SkyBackToTopDirective_domAdapter.set(this, void 0);
548
+ _SkyBackToTopDirective_elementInView.set(this, false);
549
+ _SkyBackToTopDirective_elementRef.set(this, void 0);
550
+ _SkyBackToTopDirective_ngUnsubscribe.set(this, new Subject());
551
+ _SkyBackToTopDirective__skyBackToTopMessageStream.set(this, void 0);
552
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockService, dockService, "f");
553
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_domAdapter, domAdapter, "f");
554
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementRef, elementRef, "f");
526
555
  }
527
556
  /**
528
557
  * Specifies configuration options for the back to top component.
529
558
  */
530
559
  set skyBackToTop(value) {
531
- this.buttonHidden = !!(value === null || value === void 0 ? void 0 : value.buttonHidden);
532
- this.handleBackToTopButton(this.elementInView);
560
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_buttonHidden, !!(value && (value === null || value === void 0 ? void 0 : value.buttonHidden)), "f");
561
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, __classPrivateFieldGet(this, _SkyBackToTopDirective_elementInView, "f"));
533
562
  }
534
563
  /**
535
564
  * Provides an observable to send commands to the back to top component.
536
565
  * The commands respect the `SkyBackToTopMessage` type.
537
566
  */
538
567
  set skyBackToTopMessageStream(value) {
539
- if (this._skyBackToTopMessageStream) {
540
- this._skyBackToTopMessageStream.unsubscribe();
568
+ var _a;
569
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f")) {
570
+ __classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f").unsubscribe();
541
571
  }
542
- this._skyBackToTopMessageStream = value;
543
- this._skyBackToTopMessageStream
544
- .pipe(takeUntil(this.ngUnsubscribe))
545
- .subscribe((message) => this.handleIncomingMessages(message));
572
+ __classPrivateFieldSet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, value, "f");
573
+ (_a = __classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f")) === null || _a === void 0 ? void 0 : _a.pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f"))).subscribe((message) => __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleIncomingMessages).call(this, message));
546
574
  }
547
575
  ngAfterViewInit() {
548
- this.elementInView = this.domAdapter.isElementScrolledInView(this.element);
549
- this.handleBackToTopButton(this.elementInView);
550
- this.setBackToTopListeners();
576
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementInView, __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").isElementScrolledInView(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f")), "f");
577
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, __classPrivateFieldGet(this, _SkyBackToTopDirective_elementInView, "f"));
578
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_setBackToTopListeners).call(this);
551
579
  }
552
580
  ngOnDestroy() {
553
- if (this.dockItem) {
554
- this.dockItem.destroy();
555
- }
556
- }
557
- handleBackToTopButton(elementInView) {
558
- // Add back to top button if user scrolls down and button is not hidden.
559
- if (!this.dockItem &&
560
- elementInView !== undefined &&
561
- !elementInView &&
562
- !this.buttonHidden) {
563
- this.addBackToTop();
564
- }
565
- // Remove back to top button if user scrolls back up.
566
- if (elementInView || this.buttonHidden) {
567
- this.destroyBackToTop();
568
- }
569
- }
570
- addBackToTop() {
571
- this.dockItem = this.dockService.insertComponent(SkyBackToTopComponent);
572
- // Listen for clicks on the "back to top" button so we know when to scroll up.
573
- this.dockItem.componentInstance.scrollToTopClick
574
- .pipe(takeUntil(this.ngUnsubscribe))
575
- .subscribe(() => {
576
- this.domAdapter.scrollToElement(this.element);
581
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f")) {
582
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").destroy();
583
+ }
584
+ }
585
+ }
586
+ _SkyBackToTopDirective_buttonHidden = new WeakMap(), _SkyBackToTopDirective_dockItem = new WeakMap(), _SkyBackToTopDirective_dockService = new WeakMap(), _SkyBackToTopDirective_domAdapter = new WeakMap(), _SkyBackToTopDirective_elementInView = new WeakMap(), _SkyBackToTopDirective_elementRef = new WeakMap(), _SkyBackToTopDirective_ngUnsubscribe = new WeakMap(), _SkyBackToTopDirective__skyBackToTopMessageStream = new WeakMap(), _SkyBackToTopDirective_instances = new WeakSet(), _SkyBackToTopDirective_handleBackToTopButton = function _SkyBackToTopDirective_handleBackToTopButton(elementInView) {
587
+ // Add back to top button if user scrolls down and button is not hidden.
588
+ if (!__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f") &&
589
+ elementInView !== undefined &&
590
+ !elementInView &&
591
+ !__classPrivateFieldGet(this, _SkyBackToTopDirective_buttonHidden, "f")) {
592
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_addBackToTop).call(this);
593
+ }
594
+ // Remove back to top button if user scrolls back up.
595
+ if (elementInView || __classPrivateFieldGet(this, _SkyBackToTopDirective_buttonHidden, "f")) {
596
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_destroyBackToTop).call(this);
597
+ }
598
+ }, _SkyBackToTopDirective_addBackToTop = function _SkyBackToTopDirective_addBackToTop() {
599
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockItem, __classPrivateFieldGet(this, _SkyBackToTopDirective_dockService, "f").insertComponent(SkyBackToTopComponent), "f");
600
+ // Listen for clicks on the "back to top" button so we know when to scroll up.
601
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").componentInstance.scrollToTopClick
602
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f")))
603
+ .subscribe(() => {
604
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").scrollToElement(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"));
605
+ });
606
+ }, _SkyBackToTopDirective_handleIncomingMessages = function _SkyBackToTopDirective_handleIncomingMessages(message) {
607
+ /* istanbul ignore else */
608
+ if (message.type === SkyBackToTopMessageType.BackToTop) {
609
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").scrollToElement(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"));
610
+ }
611
+ }, _SkyBackToTopDirective_setBackToTopListeners = function _SkyBackToTopDirective_setBackToTopListeners() {
612
+ /* istanbul ignore else */
613
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f")) {
614
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f")
615
+ .elementInViewOnScroll(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"))
616
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f")))
617
+ .subscribe((elementInView) => {
618
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementInView, elementInView, "f");
619
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, elementInView);
577
620
  });
578
621
  }
579
- handleIncomingMessages(message) {
580
- /* istanbul ignore else */
581
- if (message.type === SkyBackToTopMessageType.BackToTop) {
582
- this.domAdapter.scrollToElement(this.element);
583
- }
622
+ }, _SkyBackToTopDirective_destroyBackToTop = function _SkyBackToTopDirective_destroyBackToTop() {
623
+ /* istanbul ignore else */
624
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f")) {
625
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").destroy();
626
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockItem, undefined, "f");
584
627
  }
585
- setBackToTopListeners() {
586
- /* istanbul ignore else */
587
- if (this.element) {
588
- this.domAdapter
589
- .elementInViewOnScroll(this.element)
590
- .pipe(takeUntil(this.ngUnsubscribe))
591
- .subscribe((elementInView) => {
592
- this.elementInView = elementInView;
593
- this.handleBackToTopButton(elementInView);
594
- });
595
- }
596
- }
597
- destroyBackToTop() {
598
- /* istanbul ignore else */
599
- if (this.dockItem) {
600
- this.dockItem.destroy();
601
- this.dockItem = undefined;
602
- }
603
- }
604
- }
628
+ };
605
629
  SkyBackToTopDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDirective, deps: [{ token: i1$2.SkyDockService }, { token: SkyBackToTopDomAdapterService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
606
630
  SkyBackToTopDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyBackToTopDirective, selector: "[skyBackToTop]", inputs: { skyBackToTop: "skyBackToTop", skyBackToTopMessageStream: "skyBackToTopMessageStream" }, providers: [SkyBackToTopDomAdapterService], ngImport: i0 });
607
631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDirective, decorators: [{
@@ -725,111 +749,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
725
749
  }]
726
750
  }] });
727
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;
728
753
  /**
729
754
  * @internal
730
755
  */
731
756
  class SkyInlineDeleteAdapterService {
732
757
  constructor(coreAdapterService, rendererFactory) {
733
- this.coreAdapterService = coreAdapterService;
734
- 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");
735
767
  }
736
768
  clearListeners() {
737
769
  /* istanbul ignore else */
738
- if (this.parentElUnlistenFn) {
739
- this.parentElUnlistenFn();
770
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f")) {
771
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f").call(this);
740
772
  }
741
773
  }
742
774
  setEl(element) {
743
- this.element = element;
744
- this.parentEl = element.parentElement;
775
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_element, element, "f");
776
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_parentEl, element.parentElement, "f");
745
777
  /* istanbul ignore else */
746
- if (this.parentEl) {
747
- this.parentElUnlistenFn = this.renderer.listen(this.parentEl, 'focusin', (event) => {
748
- const target = event.target;
749
- if (!this.element.contains(target) && this.parentEl !== target) {
750
- event.preventDefault();
751
- event.stopPropagation();
752
- event.stopImmediatePropagation();
753
- target.blur();
754
- 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
+ }
755
789
  }
756
- });
790
+ }), "f");
757
791
  }
758
792
  }
759
- focusNextElement(targetElement, shiftKey, busyEl) {
760
- const focussable = this.getFocussableElements();
761
- // If shift tab, go in the other direction
762
- const modifier = shiftKey ? -1 : 1;
763
- // Find the next navigable element that isn't waiting
764
- const startingIndex = focussable.indexOf(targetElement);
765
- let curIndex = startingIndex + modifier;
766
- while (focussable[curIndex] &&
767
- 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])) {
768
817
  curIndex += modifier;
769
818
  }
770
- if (focussable[curIndex] &&
771
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
772
- 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();
773
824
  }
774
825
  else {
775
- // Try wrapping the navigation
776
- /* istanbul ignore next */
777
- curIndex = modifier > 0 ? 0 : focussable.length - 1;
778
- /* istanbul ignore next */
779
- while (curIndex !== startingIndex &&
780
- focussable[curIndex] &&
781
- this.isElementHiddenOrCovered(focussable[curIndex])) {
782
- 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();
783
830
  }
784
- /* istanbul ignore else */
785
- /* sanity check */
786
- if (focussable[curIndex] &&
787
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
788
- focussable[curIndex].focus();
789
- }
790
- else {
791
- // No valid target, wipe focus
792
- // This should never happen in practice due to the multiple inline delete buttons
793
- if (document.activeElement && document.activeElement.blur) {
794
- document.activeElement.blur();
795
- }
796
- document.body.focus();
797
- }
798
- }
799
- // clear focussableElements list so that if things change between tabbing we know about it
800
- this.focussableElements = undefined;
801
- }
802
- getFocussableElements() {
803
- // Keep this cached so we can reduce querys
804
- if (this.focussableElements) {
805
- return this.focussableElements;
806
- }
807
- this.focussableElements = this.coreAdapterService.getFocusableChildren(document.body);
808
- return this.focussableElements;
809
- }
810
- isElementHiddenOrCovered(element) {
811
- // Check if the element is hidden by css, not within the inline delete, or a wait is covering it
812
- return (this.isElementHidden(element) ||
813
- (this.parentEl.contains(element) &&
814
- (!this.element.contains(element) ||
815
- this.parentEl.querySelector('.sky-wait-mask') !== null)));
816
- }
817
- isElementHidden(element) {
818
- const style = window.getComputedStyle(element);
819
- return style.display === 'none' || style.visibility === 'hidden';
820
- }
821
- isShift(event) {
822
- // Determine if shift+tab was used based on element order
823
- const elements = this.getFocussableElements().filter((elem) => !this.isElementHidden(elem));
824
- const previousInd = elements.indexOf(event.relatedTarget);
825
- const currentInd = elements.indexOf(event.target);
826
- /* istanbul ignore next */
827
- return (previousInd === currentInd + 1 ||
828
- (previousInd === 0 && currentInd === elements.length - 1) ||
829
- previousInd > currentInd ||
830
- !event.relatedTarget);
831
- }
832
- }
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
+ };
833
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 });
834
866
  SkyInlineDeleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService });
835
867
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService, decorators: [{
@@ -852,15 +884,13 @@ var SkyInlineDeleteType;
852
884
  SkyInlineDeleteType["Card"] = "card";
853
885
  })(SkyInlineDeleteType || (SkyInlineDeleteType = {}));
854
886
 
887
+ var _SkyInlineDeleteComponent_adapterService, _SkyInlineDeleteComponent_changeDetector, _SkyInlineDeleteComponent_elRef;
855
888
  /**
856
889
  * Auto-incrementing integer used to generate unique ids for inline delete components.
857
890
  */
858
891
  let nextId$2 = 0;
859
892
  class SkyInlineDeleteComponent {
860
893
  constructor(adapterService, changeDetector, elRef) {
861
- this.adapterService = adapterService;
862
- this.changeDetector = changeDetector;
863
- this.elRef = elRef;
864
894
  /**
865
895
  * Indicates whether the deletion is pending.
866
896
  * @default false
@@ -877,6 +907,12 @@ class SkyInlineDeleteComponent {
877
907
  this.animationState = 'shown';
878
908
  this.assistiveTextId = `sky-inline-delete-assistive-text-${++nextId$2}`;
879
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");
880
916
  }
881
917
  /**
882
918
  * Initialization lifecycle hook
@@ -890,7 +926,7 @@ class SkyInlineDeleteComponent {
890
926
  * @internal
891
927
  */
892
928
  ngOnDestroy() {
893
- this.adapterService.clearListeners();
929
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_adapterService, "f").clearListeners();
894
930
  this.cancelTriggered.complete();
895
931
  this.deleteTriggered.complete();
896
932
  }
@@ -913,7 +949,7 @@ class SkyInlineDeleteComponent {
913
949
  */
914
950
  setType(type) {
915
951
  this.type = type;
916
- this.changeDetector.detectChanges();
952
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_changeDetector, "f").detectChanges();
917
953
  }
918
954
  /**
919
955
  * Handles actions that should be taken after the inline delete animates
@@ -921,18 +957,20 @@ class SkyInlineDeleteComponent {
921
957
  * @internal
922
958
  */
923
959
  onAnimationDone(event) {
960
+ var _a;
924
961
  if (event.toState === 'hidden') {
925
962
  this.cancelTriggered.emit();
926
963
  }
927
964
  else {
928
- this.deleteButton.nativeElement.focus();
965
+ (_a = this.deleteButton) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
929
966
  /* istanbul ignore else */
930
- if (this.elRef) {
931
- 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);
932
969
  }
933
970
  }
934
971
  }
935
972
  }
973
+ _SkyInlineDeleteComponent_adapterService = new WeakMap(), _SkyInlineDeleteComponent_changeDetector = new WeakMap(), _SkyInlineDeleteComponent_elRef = new WeakMap();
936
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 });
937
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: [
938
976
  trigger('inlineDeleteAnimation', [
@@ -1068,33 +1106,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1068
1106
  args: [{ selector: 'sky-card-title', template: "<ng-content></ng-content>\n" }]
1069
1107
  }] });
1070
1108
 
1109
+ var _SkyCardComponent_subscription, _SkyCardComponent__size;
1071
1110
  /**
1072
1111
  * Creates a a small container to highlight important information.
1073
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.
1074
1113
  */
1075
1114
  class SkyCardComponent {
1076
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;
1077
1128
  /**
1078
1129
  * Fires when users select or deselect the card.
1079
1130
  */
1080
1131
  this.selectedChange = new EventEmitter();
1081
1132
  this.showTitle = true;
1133
+ _SkyCardComponent_subscription.set(this, void 0);
1134
+ _SkyCardComponent__size.set(this, 'large');
1082
1135
  logger.deprecated('SkyCardComponent', {
1083
1136
  deprecationMajorVersion: 6,
1084
1137
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',
1085
1138
  replacementRecommendation: 'For other SKY UX components that group and list content, see the content containers guidelines.',
1086
1139
  });
1087
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
+ }
1088
1151
  ngAfterContentInit() {
1089
- this.showTitle = this.titleComponent.length > 0;
1090
- this.subscription = this.titleComponent.changes.subscribe(() => {
1091
- this.showTitle = this.titleComponent.length > 0;
1092
- });
1093
- 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) => {
1094
1158
  item.setType(SkyInlineDeleteType.Card);
1095
1159
  });
1096
- this.inlineDeleteComponent.changes.subscribe(() => {
1097
- 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) => {
1098
1163
  item.setType(SkyInlineDeleteType.Card);
1099
1164
  });
1100
1165
  });
@@ -1114,11 +1179,12 @@ class SkyCardComponent {
1114
1179
  ngOnDestroy() {
1115
1180
  /* istanbul ignore else */
1116
1181
  /* sanity check */
1117
- if (this.subscription) {
1118
- this.subscription.unsubscribe();
1182
+ if (__classPrivateFieldGet(this, _SkyCardComponent_subscription, "f")) {
1183
+ __classPrivateFieldGet(this, _SkyCardComponent_subscription, "f").unsubscribe();
1119
1184
  }
1120
1185
  }
1121
1186
  }
1187
+ _SkyCardComponent_subscription = new WeakMap(), _SkyCardComponent__size = new WeakMap();
1122
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 });
1123
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" }] });
1124
1190
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyCardComponent, decorators: [{
@@ -1253,10 +1319,10 @@ class SkyDefinitionListValueComponent {
1253
1319
  }
1254
1320
  }
1255
1321
  SkyDefinitionListValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, deps: [{ token: SkyDefinitionListService }], target: i0.ɵɵFactoryTarget.Component });
1256
- 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" }] });
1257
1323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, decorators: [{
1258
1324
  type: Component,
1259
- 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"] }]
1260
1326
  }], ctorParameters: function () { return [{ type: SkyDefinitionListService }]; } });
1261
1327
 
1262
1328
  /**
@@ -1358,32 +1424,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1358
1424
  type: Injectable
1359
1425
  }] });
1360
1426
 
1427
+ var _SkyDescriptionListDescriptionComponent_changeDetector, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, _SkyDescriptionListDescriptionComponent_themeSvc;
1361
1428
  /**
1362
1429
  * Specifies the description in a term-description pair.
1363
1430
  */
1364
1431
  class SkyDescriptionListDescriptionComponent {
1365
- constructor(service, changeRef, themeSvc) {
1432
+ constructor(service, changeDetector, themeSvc) {
1366
1433
  this.service = service;
1367
- this.changeRef = changeRef;
1368
- this.themeSvc = themeSvc;
1369
- 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");
1370
1439
  }
1371
1440
  ngOnInit() {
1372
1441
  /* istanbul ignore else */
1373
- if (this.themeSvc) {
1374
- this.themeSvc.settingsChange
1375
- .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")))
1376
1445
  .subscribe((themeSettings) => {
1377
1446
  this.themeName = themeSettings.currentSettings.theme.name;
1378
- this.changeRef.markForCheck();
1447
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_changeDetector, "f").markForCheck();
1379
1448
  });
1380
1449
  }
1381
1450
  }
1382
1451
  ngOnDestroy() {
1383
- this.ngUnsubscribe.next();
1384
- this.ngUnsubscribe.complete();
1452
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").next();
1453
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").complete();
1385
1454
  }
1386
1455
  }
1456
+ _SkyDescriptionListDescriptionComponent_changeDetector = new WeakMap(), _SkyDescriptionListDescriptionComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListDescriptionComponent_themeSvc = new WeakMap();
1387
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 });
1388
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 });
1389
1459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListDescriptionComponent, decorators: [{
@@ -1439,12 +1509,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1439
1509
  args: [SkyDescriptionListDescriptionComponent]
1440
1510
  }] } });
1441
1511
 
1512
+ var _SkyDescriptionListAdapterService_instances, _SkyDescriptionListAdapterService_renderer, _SkyDescriptionListAdapterService_getResponsiveClassName;
1442
1513
  /**
1443
1514
  * @internal
1444
1515
  */
1445
1516
  class SkyDescriptionListAdapterService {
1446
1517
  constructor(rendererFactory) {
1447
- 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");
1448
1521
  }
1449
1522
  getWidth(elementRef) {
1450
1523
  return elementRef.nativeElement.clientWidth;
@@ -1452,34 +1525,35 @@ class SkyDescriptionListAdapterService {
1452
1525
  setResponsiveClass(element) {
1453
1526
  const nativeEl = element.nativeElement;
1454
1527
  const width = this.getWidth(element);
1455
- const className = this.getResponsiveClassName(width);
1456
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
1457
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
1458
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
1459
- this.renderer.addClass(nativeEl, className);
1460
- }
1461
- getResponsiveClassName(width) {
1462
- const xsBreakpointMaxPixels = 479;
1463
- const smBreakpointMinPixels = 480;
1464
- const smBreakpointMaxPixels = 767;
1465
- if (width <= xsBreakpointMaxPixels) {
1466
- return 'sky-responsive-container-xs';
1467
- }
1468
- else if (width >= smBreakpointMinPixels &&
1469
- width <= smBreakpointMaxPixels) {
1470
- return 'sky-responsive-container-sm';
1471
- }
1472
- else {
1473
- return 'sky-responsive-container-md';
1474
- }
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);
1475
1533
  }
1476
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
+ };
1477
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 });
1478
1551
  SkyDescriptionListAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService });
1479
1552
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService, decorators: [{
1480
1553
  type: Injectable
1481
1554
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
1482
1555
 
1556
+ var _SkyDescriptionListComponent_ngUnsubscribe, _SkyDescriptionListComponent__mode;
1483
1557
  /**
1484
1558
  * Creates a description list to display term-description pairs.
1485
1559
  */
@@ -1488,7 +1562,8 @@ class SkyDescriptionListComponent {
1488
1562
  this.adapterService = adapterService;
1489
1563
  this.changeDetector = changeDetector;
1490
1564
  this.descriptionListService = descriptionListService;
1491
- this.ngUnsubscribe = new Subject();
1565
+ _SkyDescriptionListComponent_ngUnsubscribe.set(this, new Subject());
1566
+ _SkyDescriptionListComponent__mode.set(this, 'vertical');
1492
1567
  }
1493
1568
  /**
1494
1569
  * Specifies a default description to display when no description is provided
@@ -1504,39 +1579,45 @@ class SkyDescriptionListComponent {
1504
1579
  * @default "vertical"
1505
1580
  */
1506
1581
  set mode(value) {
1507
- this._mode = value;
1582
+ __classPrivateFieldSet(this, _SkyDescriptionListComponent__mode, value || 'vertical', "f");
1508
1583
  }
1509
1584
  get mode() {
1510
- return this._mode || 'vertical';
1585
+ return __classPrivateFieldGet(this, _SkyDescriptionListComponent__mode, "f");
1511
1586
  }
1512
1587
  ngAfterContentInit() {
1513
1588
  // Wait for all content to render before detecting parent width.
1514
1589
  setTimeout(() => {
1515
1590
  this.updateResponsiveClass();
1516
1591
  });
1517
- this.contentComponents.changes
1518
- .pipe(takeUntil(this.ngUnsubscribe))
1519
- .subscribe(() => {
1520
- this.changeDetector.markForCheck();
1521
- });
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
+ }
1522
1600
  }
1523
1601
  ngOnDestroy() {
1524
- this.ngUnsubscribe.next();
1525
- this.ngUnsubscribe.complete();
1602
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").next();
1603
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").complete();
1526
1604
  }
1527
1605
  onWindowResize() {
1528
1606
  this.updateResponsiveClass();
1529
1607
  }
1530
1608
  updateResponsiveClass() {
1531
- this.adapterService.setResponsiveClass(this.elementRef);
1532
- this.changeDetector.markForCheck();
1609
+ if (this.elementRef) {
1610
+ this.adapterService.setResponsiveClass(this.elementRef);
1611
+ this.changeDetector.markForCheck();
1612
+ }
1533
1613
  }
1534
1614
  }
1615
+ _SkyDescriptionListComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListComponent__mode = new WeakMap();
1535
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 });
1536
- 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 });
1537
1618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListComponent, decorators: [{
1538
1619
  type: Component,
1539
- 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"] }]
1540
1621
  }], ctorParameters: function () { return [{ type: SkyDescriptionListAdapterService }, { type: i0.ChangeDetectorRef }, { type: SkyDescriptionListService }]; }, propDecorators: { defaultDescription: [{
1541
1622
  type: Input
1542
1623
  }], listItemWidth: [{
@@ -1625,30 +1706,26 @@ var SkyDescriptionListMode;
1625
1706
  SkyDescriptionListMode["vertical"] = "vertical";
1626
1707
  })(SkyDescriptionListMode || (SkyDescriptionListMode = {}));
1627
1708
 
1628
- /**
1629
- * @deprecated Use `SkyFluidGridGutterSizeType` instead.
1630
- * @internal
1631
- */
1632
- var SkyFluidGridGutterSize;
1633
- (function (SkyFluidGridGutterSize) {
1634
- /**
1635
- * Specifies a small gutter.
1636
- */
1637
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Small"] = 0] = "Small";
1638
- /**
1639
- * Specifies a medium gutter.
1640
- */
1641
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Medium"] = 1] = "Medium";
1642
- /**
1643
- * Specifies a large gutter.
1644
- */
1645
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Large"] = 2] = "Large";
1646
- })(SkyFluidGridGutterSize || (SkyFluidGridGutterSize = {}));
1647
-
1709
+ var _SkyColumnComponent__screenXSmall;
1648
1710
  /**
1649
1711
  * Displays a column within a row of the fluid grid.
1650
1712
  */
1651
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
+ }
1652
1729
  ngOnChanges(changes) {
1653
1730
  /* istanbul ignore else */
1654
1731
  if (changes.screenXSmall ||
@@ -1678,6 +1755,7 @@ class SkyColumnComponent {
1678
1755
  this.classnames = this.getClassNames();
1679
1756
  }
1680
1757
  }
1758
+ _SkyColumnComponent__screenXSmall = new WeakMap();
1681
1759
  SkyColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1682
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 });
1683
1761
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, decorators: [{
@@ -1696,20 +1774,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1696
1774
  args: ['class']
1697
1775
  }] } });
1698
1776
 
1777
+ var _SkyFluidGridComponent__gutterSize;
1699
1778
  /**
1700
1779
  * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the
1701
1780
  * alignment, padding, and margins do not behave as expected.
1702
1781
  */
1703
1782
  class SkyFluidGridComponent {
1704
- /**
1705
- * Disables the outer left and right margin of the fluid grid container.
1706
- * @default false
1707
- */
1708
- set disableMargin(value) {
1709
- this._disableMargin = value;
1710
- }
1711
- get disableMargin() {
1712
- 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');
1713
1790
  }
1714
1791
  /**
1715
1792
  * Specifies a `SkyFluidGridGutterSizeType` to define the size of the padding
@@ -1717,37 +1794,18 @@ class SkyFluidGridComponent {
1717
1794
  * @default "large"
1718
1795
  */
1719
1796
  set gutterSize(value) {
1720
- this._gutterSize = value;
1797
+ __classPrivateFieldSet(this, _SkyFluidGridComponent__gutterSize, value !== null && value !== void 0 ? value : 'large', "f");
1721
1798
  }
1722
1799
  get gutterSize() {
1723
- return this._gutterSize === undefined ? 'large' : this._gutterSize;
1724
- }
1725
- /**
1726
- * @internal
1727
- */
1728
- get gutterSizeResolved() {
1729
- // Before this change, the template did a `==` comparison, implicitly converting numerical
1730
- // string values to their numeric values before comparing them. Checking for the numerical
1731
- // string value in addition to the values allowed by the type maintains this behavior.
1732
- switch (this.gutterSize) {
1733
- case 'medium':
1734
- case SkyFluidGridGutterSize.Medium:
1735
- case SkyFluidGridGutterSize.Medium.toString():
1736
- return 'medium';
1737
- case 'small':
1738
- case SkyFluidGridGutterSize.Small:
1739
- case SkyFluidGridGutterSize.Small.toString():
1740
- return 'small';
1741
- default:
1742
- return 'large';
1743
- }
1800
+ return __classPrivateFieldGet(this, _SkyFluidGridComponent__gutterSize, "f");
1744
1801
  }
1745
1802
  }
1803
+ _SkyFluidGridComponent__gutterSize = new WeakMap();
1746
1804
  SkyFluidGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1747
- 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"] }] });
1748
1806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, decorators: [{
1749
1807
  type: Component,
1750
- 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"] }]
1751
1809
  }], propDecorators: { disableMargin: [{
1752
1810
  type: Input
1753
1811
  }], gutterSize: [{
@@ -1790,56 +1848,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1790
1848
  }]
1791
1849
  }] });
1792
1850
 
1851
+ var _SkyFormatComponent_instances, _SkyFormatComponent__text, _SkyFormatComponent__args, _SkyFormatComponent_updateItemsForDisplay;
1793
1852
  const tokenRegex = /(\{\d+\})/;
1794
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
+ }
1795
1860
  /**
1796
1861
  * The tokenized string that represents the template. Tokens use the `{n}` notation
1797
1862
  * where `n` is the ordinal of the item to replace the token.
1798
1863
  */
1799
1864
  set text(value) {
1800
- this._text = value;
1801
- this.updateItemsForDisplay();
1865
+ __classPrivateFieldSet(this, _SkyFormatComponent__text, value, "f");
1866
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1802
1867
  }
1803
1868
  get text() {
1804
- return this._text;
1869
+ return __classPrivateFieldGet(this, _SkyFormatComponent__text, "f");
1805
1870
  }
1806
1871
  /**
1807
1872
  * An array of `TemplateRef` objects to be placed in the template, where the `nth`
1808
1873
  * item is placed at the `{n}` location in the template.
1809
1874
  */
1810
1875
  set args(value) {
1811
- this._args = value;
1812
- this.updateItemsForDisplay();
1876
+ __classPrivateFieldSet(this, _SkyFormatComponent__args, value, "f");
1877
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1813
1878
  }
1814
1879
  get args() {
1815
- return this._args;
1816
- }
1817
- updateItemsForDisplay() {
1818
- this.itemsForDisplay = [];
1819
- if (this.text && this.args) {
1820
- const textParts = this.text.split(tokenRegex);
1821
- for (const textPart of textParts) {
1822
- // Disregard empty strings.
1823
- if (textPart) {
1824
- const item = {};
1825
- if (tokenRegex.test(textPart)) {
1826
- const valueIndex = +textPart.substring(1, textPart.length - 1);
1827
- item.templateRef = this.args[valueIndex];
1828
- }
1829
- else {
1830
- item.text = textPart;
1831
- }
1832
- 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;
1833
1897
  }
1898
+ this.itemsForDisplay.push(item);
1834
1899
  }
1835
1900
  }
1836
1901
  }
1837
- }
1902
+ };
1838
1903
  SkyFormatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1839
- 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 });
1840
1905
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, decorators: [{
1841
1906
  type: Component,
1842
- 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" }]
1843
1908
  }], propDecorators: { text: [{
1844
1909
  type: Input
1845
1910
  }], args: [{
@@ -1860,65 +1925,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1860
1925
  }]
1861
1926
  }] });
1862
1927
 
1928
+ var _SkyPageThemeAdapterService_styleEl, _SkyPageThemeAdapterService_document;
1863
1929
  /**
1864
1930
  * @internal
1865
1931
  */
1866
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
+ }
1867
1938
  /**
1868
1939
  * We can't use ViewEncapsulation.None for this behavior because Angular does
1869
1940
  * not remove `style` tags from the HEAD element after route changes.
1870
1941
  * @see https://github.com/angular/angular/issues/16670
1871
1942
  */
1872
1943
  addTheme() {
1873
- if (!this.styleEl) {
1874
- this.styleEl = document.createElement('style');
1875
- this.styleEl.appendChild(document.createTextNode('body { background-color: #fff; }'));
1876
- 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"));
1877
1948
  }
1878
1949
  }
1879
1950
  removeTheme() {
1880
- if (this.styleEl) {
1881
- document.head.removeChild(this.styleEl);
1882
- this.styleEl = undefined;
1951
+ if (__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1952
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").remove();
1953
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, undefined, "f");
1883
1954
  }
1884
1955
  }
1885
1956
  }
1886
- 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 });
1887
1959
  SkyPageThemeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService });
1888
1960
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, decorators: [{
1889
1961
  type: Injectable
1890
- }] });
1962
+ }], ctorParameters: function () {
1963
+ return [{ type: Document, decorators: [{
1964
+ type: Inject,
1965
+ args: [DOCUMENT]
1966
+ }] }];
1967
+ } });
1891
1968
 
1969
+ var _SkyPageComponent_themeAdapter, _SkyPageComponent__layout;
1892
1970
  /**
1893
- * Sets the correct background color for a page.
1971
+ * Displays page contents using the specified layout.
1894
1972
  */
1895
1973
  class SkyPageComponent {
1896
1974
  constructor(themeAdapter) {
1897
- 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");
1898
1989
  }
1899
1990
  ngOnInit() {
1900
- this.themeAdapter.addTheme();
1991
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").addTheme();
1901
1992
  }
1902
1993
  ngOnDestroy() {
1903
- this.themeAdapter.removeTheme();
1994
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").removeTheme();
1904
1995
  }
1905
1996
  }
1997
+ _SkyPageComponent_themeAdapter = new WeakMap(), _SkyPageComponent__layout = new WeakMap();
1906
1998
  SkyPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, deps: [{ token: SkyPageThemeAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1907
- 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"] }] });
1908
2000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, decorators: [{
1909
2001
  type: Component,
1910
- args: [{ selector: 'sky-page', providers: [SkyPageThemeAdapterService], template: "<div>\n <ng-content></ng-content>\n</div>\n" }]
1911
- }], 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
+ }] } });
1912
2006
 
1913
2007
  class SkyPageModule {
1914
2008
  }
1915
2009
  SkyPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1916
- SkyPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent], exports: [SkyPageComponent] });
1917
- 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] });
1918
2012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, decorators: [{
1919
2013
  type: NgModule,
1920
2014
  args: [{
1921
2015
  declarations: [SkyPageComponent],
2016
+ imports: [CommonModule],
1922
2017
  exports: [SkyPageComponent],
1923
2018
  }]
1924
2019
  }] });
@@ -2051,43 +2146,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2051
2146
  type: Injectable
2052
2147
  }] });
2053
2148
 
2149
+ var _SkyPageSummaryComponent_breakpointSubscription, _SkyPageSummaryComponent_ngUnsubscribe, _SkyPageSummaryComponent_elRef, _SkyPageSummaryComponent_adapter, _SkyPageSummaryComponent_mediaQueryService, _SkyPageSummaryComponent_changeDetectorRef;
2054
2150
  /**
2055
2151
  * Specifies the components to display in the page summary.
2056
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.
2057
2153
  */
2058
2154
  class SkyPageSummaryComponent {
2059
- constructor(elRef, adapter, mediaQueryService, logger) {
2060
- this.elRef = elRef;
2061
- this.adapter = adapter;
2062
- 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");
2063
2167
  logger.deprecated('SkyPageSummaryComponent', {
2064
2168
  deprecationMajorVersion: 6,
2065
2169
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',
2066
2170
  replacementRecommendation: 'For page templates and techniques to summarize page content, see the page design guidelines.',
2067
2171
  });
2068
2172
  }
2069
- get hasKeyInfo() {
2070
- return this.keyInfoComponents.length > 0;
2071
- }
2072
2173
  ngAfterViewInit() {
2073
- this.breakpointSubscription = this.mediaQueryService.subscribe((args) => {
2074
- this.adapter.updateKeyInfoLocation(this.elRef, args === SkyMediaBreakpoints.xs);
2075
- });
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
+ }
2076
2189
  }
2077
2190
  ngOnDestroy() {
2078
2191
  /* istanbul ignore else */
2079
2192
  /* sanity check */
2080
- if (this.breakpointSubscription) {
2081
- this.breakpointSubscription.unsubscribe();
2193
+ if (__classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f")) {
2194
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f").unsubscribe();
2082
2195
  }
2196
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").next();
2197
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").complete();
2083
2198
  }
2084
2199
  }
2085
- 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 });
2086
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"] }] });
2087
2203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, decorators: [{
2088
2204
  type: Component,
2089
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"] }]
2090
- }], 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: [{
2091
2207
  type: ContentChildren,
2092
2208
  args: [SkyPageSummaryKeyInfoComponent, {
2093
2209
  read: SkyPageSummaryKeyInfoComponent,
@@ -2146,8 +2262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2146
2262
  /**
2147
2263
  * @internal
2148
2264
  */
2149
- class SkyTextExpandModalContext {
2150
- }
2265
+ const SKY_TEXT_EXPAND_MODAL_CONTEXT = new InjectionToken('SkyTextExpandModalContext');
2151
2266
 
2152
2267
  /**
2153
2268
  * @internal
@@ -2161,70 +2276,113 @@ class SkyTextExpandModalComponent {
2161
2276
  this.instance.close();
2162
2277
  }
2163
2278
  }
2164
- 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 });
2165
- 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" }] });
2166
2281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
2167
2282
  type: Component,
2168
- 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"] }]
2169
- }], 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
+ } });
2170
2290
 
2291
+ var _SkyTextExpandAdapterService_renderer;
2171
2292
  /**
2172
2293
  * @internal
2173
2294
  */
2174
2295
  class SkyTextExpandAdapterService {
2175
2296
  constructor(rendererFactory) {
2176
- this.rendererFactory = rendererFactory;
2177
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2297
+ _SkyTextExpandAdapterService_renderer.set(this, void 0);
2298
+ __classPrivateFieldSet(this, _SkyTextExpandAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2178
2299
  }
2179
2300
  getContainerHeight(containerEl) {
2180
2301
  return containerEl.nativeElement.offsetHeight;
2181
2302
  }
2182
- setContainerHeight(containerEl, height) {
2183
- if (height === undefined) {
2184
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2185
- }
2186
- else {
2187
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2188
- }
2303
+ removeContainerMaxHeight(containerEl) {
2304
+ __classPrivateFieldGet(this, _SkyTextExpandAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2189
2305
  }
2190
2306
  setText(textEl, text) {
2191
2307
  textEl.nativeElement.textContent = text;
2192
2308
  }
2193
2309
  }
2310
+ _SkyTextExpandAdapterService_renderer = new WeakMap();
2194
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 });
2195
2312
  SkyTextExpandAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService });
2196
2313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
2197
2314
  type: Injectable
2198
2315
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2199
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;
2200
2318
  /**
2201
2319
  * Auto-incrementing integer used to generate unique ids for text expand components.
2202
2320
  */
2203
2321
  let nextId$1 = 0;
2204
2322
  class SkyTextExpandComponent {
2205
- constructor(resources, modalService, textExpandAdapter) {
2206
- this.resources = resources;
2207
- this.modalService = modalService;
2208
- this.textExpandAdapter = textExpandAdapter;
2209
- /**
2210
- * Specifies the maximum number of text characters to display inline when users select the link
2211
- * to expand the full text. If the text exceeds this limit, then the component expands
2212
- * the full text in a modal instead.
2213
- */
2214
- this.maxExpandedLength = 600;
2215
- /**
2216
- * Specifies the maximum number of newline characters to display inline when users select
2217
- * the link to expand the full text. If the text exceeds this limit, then
2218
- * the component expands the full text in a modal view instead.
2219
- */
2220
- this.maxExpandedNewlines = 2;
2323
+ constructor(resources, modalSvc, textExpandAdapter) {
2324
+ _SkyTextExpandComponent_instances.add(this);
2221
2325
  /**
2222
2326
  * Indicates whether to replace newline characters in truncated text with spaces.
2223
2327
  */
2224
2328
  this.truncateNewlines = true;
2329
+ this.buttonText = '';
2225
2330
  this.contentSectionId = `sky-text-expand-content-${++nextId$1}`;
2226
- this.isExpanded = false;
2227
- 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");
2228
2386
  }
2229
2387
  /**
2230
2388
  * Specifies the number of text characters to display before truncating the text.
@@ -2233,23 +2391,33 @@ class SkyTextExpandComponent {
2233
2391
  * @default 200
2234
2392
  */
2235
2393
  set maxLength(value) {
2236
- this._maxLength = value;
2237
- /* istanbul ignore else */
2238
- if (this.textEl) {
2239
- this.setup(this.expandedText);
2394
+ if (value) {
2395
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, value, "f");
2396
+ }
2397
+ else {
2398
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, 200, "f");
2240
2399
  }
2400
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2241
2401
  }
2242
2402
  get maxLength() {
2243
- return this._maxLength;
2403
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxLength, "f");
2244
2404
  }
2245
2405
  /**
2246
2406
  * Specifies the text to truncate.
2247
2407
  */
2248
2408
  set text(value) {
2249
- /* istanbul ignore else */
2250
- if (this.textEl) {
2251
- this.setup(value);
2252
- }
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");
2253
2421
  }
2254
2422
  textExpand() {
2255
2423
  if (this.isModal) {
@@ -2257,12 +2425,12 @@ class SkyTextExpandComponent {
2257
2425
  /* istanbul ignore else */
2258
2426
  /* sanity check */
2259
2427
  if (!this.isExpanded) {
2260
- this.modalService.open(SkyTextExpandModalComponent, [
2428
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_modalSvc, "f").open(SkyTextExpandModalComponent, [
2261
2429
  {
2262
- provide: SkyTextExpandModalContext,
2430
+ provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
2263
2431
  useValue: {
2264
2432
  header: this.expandModalTitle,
2265
- text: this.expandedText,
2433
+ text: this.text,
2266
2434
  },
2267
2435
  },
2268
2436
  ]);
@@ -2271,40 +2439,38 @@ class SkyTextExpandComponent {
2271
2439
  else {
2272
2440
  // Normal View
2273
2441
  if (!this.isExpanded) {
2274
- this.setContainerMaxHeight();
2275
- setTimeout(() => {
2276
- this.isExpanded = true;
2277
- this.animateText(this.collapsedText, this.expandedText, true);
2278
- }, 10);
2442
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, true);
2279
2443
  }
2280
2444
  else {
2281
- this.setContainerMaxHeight();
2282
- setTimeout(() => {
2283
- this.isExpanded = false;
2284
- this.animateText(this.expandedText, this.collapsedText, false);
2285
- }, 10);
2445
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, false);
2286
2446
  }
2287
2447
  }
2288
2448
  }
2289
2449
  animationEnd() {
2290
- // Ensure the correct text is displayed
2291
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2292
- // Set height back to auto so the browser can change the height as needed with window changes
2293
- 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
+ }
2294
2460
  }
2295
2461
  ngAfterContentInit() {
2296
2462
  forkJoin([
2297
- this.resources.getString('skyux_text_expand_see_more'),
2298
- 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'),
2299
2465
  ])
2300
2466
  .pipe(take(1))
2301
2467
  .subscribe((resources) => {
2302
- this.seeMoreText = resources[0];
2303
- this.seeLessText = resources[1];
2304
- 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);
2305
2471
  /* istanbul ignore else */
2306
2472
  if (!this.expandModalTitle) {
2307
- this.resources
2473
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f")
2308
2474
  .getString('skyux_text_expand_modal_title')
2309
2475
  .pipe(take(1))
2310
2476
  .subscribe((resource) => {
@@ -2313,99 +2479,109 @@ class SkyTextExpandComponent {
2313
2479
  }
2314
2480
  });
2315
2481
  }
2316
- setContainerMaxHeight() {
2317
- // ensure everything is reset
2318
- this.animationEnd();
2319
- /* Before animation is kicked off, ensure that a maxHeight exists */
2320
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2321
- const currentHeight = this.textExpandAdapter.getContainerHeight(this.containerEl);
2322
- this.textExpandAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2323
- }
2324
- setup(value) {
2325
- if (value) {
2326
- this.newlineCount = this.getNewlineCount(value);
2327
- this.collapsedText = this.getTruncatedText(value, this.maxLength);
2328
- this.expandedText = value;
2329
- if (this.collapsedText !== value) {
2330
- this.buttonText = this.seeMoreText;
2331
- this.isExpanded = false;
2332
- this.expandable = true;
2333
- this.isModal =
2334
- this.newlineCount > this.maxExpandedNewlines ||
2335
- this.expandedText.length > this.maxExpandedLength;
2336
- }
2337
- else {
2338
- this.expandable = false;
2339
- }
2340
- 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;
2341
2494
  }
2342
2495
  else {
2343
- this.textToShow = '';
2344
2496
  this.expandable = false;
2345
2497
  }
2346
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2347
- }
2348
- getNewlineCount(value) {
2349
- const matches = value.match(/\n/gi);
2350
- if (matches) {
2351
- return matches.length;
2352
- }
2353
- return 0;
2354
- }
2355
- getTruncatedText(value, length) {
2356
- let i;
2357
- if (this.truncateNewlines) {
2358
- value = value.replace(/\n+/gi, ' ');
2359
- }
2360
- // Jump ahead one character and see if it's a space, and if it isn't,
2361
- // back up to the first space and break there so a word doesn't get cut
2362
- // in half.
2363
- if (length < value.length) {
2364
- for (i = length; i > length - 10; i--) {
2365
- if (/\s/.test(value.charAt(i))) {
2366
- length = i;
2367
- break;
2368
- }
2498
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2499
+ }
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;
2369
2526
  }
2370
2527
  }
2371
- return value.substr(0, length);
2372
2528
  }
2373
- animateText(previousText, newText, expanding) {
2374
- 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");
2375
2533
  const container = this.containerEl;
2376
- // Reset max height
2377
- adapter.setContainerHeight(container, undefined);
2378
- // Measure the current height so we can animate from it.
2379
- const currentHeight = adapter.getContainerHeight(container);
2380
- this.textToShow = newText;
2381
- adapter.setText(this.textEl, this.textToShow);
2382
- 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");
2383
2543
  // Measure the new height so we can animate to it.
2384
2544
  const newHeight = adapter.getContainerHeight(container);
2385
- /* istanbul ignore if */
2386
- if (newHeight < currentHeight) {
2387
- // The new text is smaller than the old text, so put the old text back before doing
2388
- // the collapse animation to avoid showing a big chunk of whitespace.
2389
- adapter.setText(this.textEl, previousText);
2390
- }
2391
- adapter.setContainerHeight(container, `${currentHeight}px`);
2392
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2393
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2394
- setTimeout(() => {
2395
- adapter.setContainerHeight(container, `${newHeight}px`);
2396
- /* This resets values if the transition does not get kicked off */
2397
- setTimeout(() => {
2398
- this.animationEnd();
2399
- }, 500);
2400
- }, 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;
2401
2551
  }
2402
- }
2403
- 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 });
2404
- 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
+ ] });
2405
2568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
2406
2569
  type: Component,
2407
- 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"] }]
2408
- }], 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: [{
2409
2585
  type: Input
2410
2586
  }], maxExpandedLength: [{
2411
2587
  type: Input
@@ -2456,187 +2632,226 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2456
2632
  }]
2457
2633
  }] });
2458
2634
 
2635
+ var _SkyTextExpandRepeaterAdapterService_renderer;
2459
2636
  /**
2460
2637
  * @internal
2461
2638
  */
2462
2639
  class SkyTextExpandRepeaterAdapterService {
2463
2640
  constructor(rendererFactory) {
2464
- this.rendererFactory = rendererFactory;
2465
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2641
+ _SkyTextExpandRepeaterAdapterService_renderer.set(this, void 0);
2642
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2466
2643
  }
2467
2644
  getItems(elRef) {
2468
2645
  return elRef.nativeElement.querySelectorAll('.sky-text-expand-repeater-item');
2469
2646
  }
2470
2647
  hideItem(item) {
2471
- this.renderer.setStyle(item, 'display', 'none');
2648
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").setStyle(item, 'display', 'none');
2472
2649
  }
2473
2650
  showItem(item) {
2474
- this.renderer.setStyle(item, 'display', 'list-item');
2651
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(item, 'display');
2475
2652
  }
2476
2653
  getContainerHeight(containerEl) {
2477
2654
  return containerEl.nativeElement.offsetHeight;
2478
2655
  }
2479
- setContainerHeight(containerEl, height) {
2480
- if (height === undefined) {
2481
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2482
- }
2483
- else {
2484
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2485
- }
2656
+ removeContainerMaxHeight(containerEl) {
2657
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2486
2658
  }
2487
2659
  }
2660
+ _SkyTextExpandRepeaterAdapterService_renderer = new WeakMap();
2488
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 });
2489
2662
  SkyTextExpandRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService });
2490
2663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
2491
2664
  type: Injectable
2492
2665
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2493
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;
2494
2668
  /**
2495
2669
  * Auto-incrementing integer used to generate unique ids for text expand repeater components.
2496
2670
  */
2497
2671
  let nextId = 0;
2498
2672
  class SkyTextExpandRepeaterComponent {
2499
2673
  constructor(resources, elRef, textExpandRepeaterAdapter, changeDetector) {
2500
- this.resources = resources;
2501
- this.elRef = elRef;
2502
- this.textExpandRepeaterAdapter = textExpandRepeaterAdapter;
2503
- this.changeDetector = changeDetector;
2674
+ _SkyTextExpandRepeaterComponent_instances.add(this);
2504
2675
  /**
2505
2676
  * Specifies the style of bullet to use
2506
2677
  * @default "unordered"
2507
2678
  */
2508
2679
  this.listStyle = 'unordered';
2680
+ this.buttonText = '';
2681
+ this.expandable = false;
2509
2682
  this.contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;
2510
- 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");
2511
2721
  }
2512
2722
  ngAfterViewInit() {
2513
- if (this.contentItems) {
2514
- this.items = this.textExpandRepeaterAdapter.getItems(this.elRef);
2515
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2516
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2517
- }
2518
- }
2519
2723
  forkJoin([
2520
- this.resources.getString('skyux_text_expand_see_more'),
2521
- 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'),
2522
2726
  ])
2523
2727
  .pipe(take(1))
2524
2728
  .subscribe((resources) => {
2525
- this.seeMoreText = resources[0];
2526
- this.seeLessText = resources[1];
2729
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeMoreText, resources[0], "f");
2730
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeLessText, resources[1], "f");
2527
2731
  /* sanity check */
2528
2732
  /* istanbul ignore else */
2529
2733
  if (!this.isExpanded) {
2530
- this.buttonText = this.seeMoreText;
2734
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2531
2735
  }
2532
2736
  else {
2533
- this.buttonText = this.seeLessText;
2737
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2534
2738
  }
2535
- this.changeDetector.detectChanges();
2739
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").detectChanges();
2536
2740
  });
2537
2741
  }
2538
- ngOnChanges(changes) {
2539
- /* istanbul ignore else */
2540
- if (changes.maxItems || changes.data) {
2541
- this.setup(this.data);
2542
- }
2543
- }
2544
2742
  animationEnd() {
2545
- // 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.
2546
2744
  if (!this.isExpanded) {
2547
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2548
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2549
- }
2745
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2550
2746
  }
2551
- // Set height back to auto so the browser can change the height as needed with window changes
2552
- 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
+ });
2553
2754
  }
2554
2755
  repeaterExpand() {
2555
2756
  if (!this.isExpanded) {
2556
- this.setContainerMaxHeight();
2557
- setTimeout(() => {
2558
- this.isExpanded = true;
2559
- this.animateRepeater(true);
2560
- });
2757
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, true);
2561
2758
  }
2562
2759
  else {
2563
- this.setContainerMaxHeight();
2564
- setTimeout(() => {
2565
- this.isExpanded = false;
2566
- this.animateRepeater(false);
2567
- });
2760
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, false);
2568
2761
  }
2569
2762
  }
2570
- setContainerMaxHeight() {
2571
- // ensure everything is reset
2572
- this.animationEnd();
2573
- /* Before animation is kicked off, ensure that a maxHeight exists */
2574
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2575
- const currentHeight = this.textExpandRepeaterAdapter.getContainerHeight(this.containerEl);
2576
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2577
- }
2578
- animateRepeater(expanding) {
2579
- const adapter = this.textExpandRepeaterAdapter;
2580
- const container = this.containerEl;
2581
- adapter.setContainerHeight(container, undefined);
2582
- const currentHeight = adapter.getContainerHeight(container);
2583
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2584
- if (!expanding) {
2585
- adapter.hideItem(this.items[i]);
2586
- }
2587
- else {
2588
- adapter.showItem(this.items[i]);
2589
- }
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);
2590
2773
  }
2591
2774
  const newHeight = adapter.getContainerHeight(container);
2775
+ this.transitionHeight = newHeight;
2592
2776
  if (!expanding) {
2593
- this.buttonText = this.seeMoreText;
2777
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2594
2778
  }
2595
2779
  else {
2596
- this.buttonText = this.seeLessText;
2780
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2597
2781
  }
2598
- if (newHeight < currentHeight) {
2599
- // The new text is smaller than the old text, so put the old text back before doing
2600
- // the collapse animation to avoid showing a big chunk of whitespace.
2601
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2602
- adapter.showItem(this.items[i]);
2603
- }
2604
- }
2605
- adapter.setContainerHeight(container, `${currentHeight}px`);
2606
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2607
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2608
- setTimeout(() => {
2609
- adapter.setContainerHeight(container, `${newHeight}px`);
2610
- /* This resets values if the transition does not get kicked off */
2611
- setTimeout(() => {
2612
- this.animationEnd();
2613
- }, 500);
2614
- }, 10);
2615
- }
2616
- setup(value) {
2617
- if (value) {
2618
- const length = value.length;
2619
- if (length > this.maxItems) {
2620
- this.expandable = true;
2621
- this.buttonText = this.seeMoreText;
2622
- this.isExpanded = false;
2623
- }
2624
- else {
2625
- 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);
2626
2798
  }
2627
- this.contentItems = value;
2799
+ this.isExpanded = false;
2628
2800
  }
2629
2801
  else {
2630
- this.contentItems = undefined;
2631
2802
  this.expandable = false;
2803
+ this.isExpanded = undefined;
2632
2804
  }
2633
2805
  }
2634
- }
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
+ };
2635
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 });
2636
- 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
+ ] });
2637
2839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
2638
2840
  type: Component,
2639
- 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"] }]
2640
2855
  }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i0.ElementRef }, { type: SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2641
2856
  type: Input
2642
2857
  }], itemTemplate: [{
@@ -2711,8 +2926,8 @@ class SkyToolbarComponent {
2711
2926
  constructor() {
2712
2927
  this.hasSections = false;
2713
2928
  }
2714
- ngAfterContentInit() {
2715
- this.hasSections = this.sectionComponents.length > 0;
2929
+ set sectionComponents(value) {
2930
+ this.hasSections = !!value && value.length > 0;
2716
2931
  }
2717
2932
  }
2718
2933
  SkyToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -2759,5 +2974,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2759
2974
  * Generated bundle index. Do not edit.
2760
2975
  */
2761
2976
 
2762
- 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 };
2763
2978
  //# sourceMappingURL=skyux-layout.mjs.map