@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 () { return [{ type: i0.ChangeDetectorRef, decorators: [{
104
110
  type: SkipSelf
105
111
  }] }]; }, propDecorators: { hidden: [{
@@ -111,20 +117,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
111
117
  type: Output
112
118
  }] } });
113
119
 
114
- var _SkyActionButtonContainerComponent_viewInitialized;
120
+ 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;
115
121
  /**
116
122
  * Wraps action buttons to ensures that they have consistent height and spacing.
117
123
  * @required
118
124
  */
119
125
  class SkyActionButtonContainerComponent {
120
- constructor(actionButtonAdapterService, changeRef, coreAdapterService, hostElRef, themeSvc) {
121
- this.actionButtonAdapterService = actionButtonAdapterService;
122
- this.changeRef = changeRef;
123
- this.coreAdapterService = coreAdapterService;
124
- this.hostElRef = hostElRef;
125
- this.themeSvc = themeSvc;
126
- this.ngUnsubscribe = new Subject();
126
+ constructor(actionButtonAdapterService, changeDetector, coreAdapterService, hostElRef, themeSvc) {
127
+ _SkyActionButtonContainerComponent_instances.add(this);
128
+ _SkyActionButtonContainerComponent_ngUnsubscribe.set(this, new Subject());
129
+ _SkyActionButtonContainerComponent_syncMaxHeightTimeout.set(this, void 0);
130
+ _SkyActionButtonContainerComponent__alignItems.set(this, 'center');
131
+ _SkyActionButtonContainerComponent__themeName.set(this, void 0);
127
132
  _SkyActionButtonContainerComponent_viewInitialized.set(this, false);
133
+ _SkyActionButtonContainerComponent_actionButtonAdapterService.set(this, void 0);
134
+ _SkyActionButtonContainerComponent_changeDetector.set(this, void 0);
135
+ _SkyActionButtonContainerComponent_coreAdapterService.set(this, void 0);
136
+ _SkyActionButtonContainerComponent_hostElRef.set(this, void 0);
137
+ _SkyActionButtonContainerComponent_themeSvc.set(this, void 0);
138
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, actionButtonAdapterService, "f");
139
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_changeDetector, changeDetector, "f");
140
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_coreAdapterService, coreAdapterService, "f");
141
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_hostElRef, hostElRef, "f");
142
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_themeSvc, themeSvc, "f");
128
143
  }
129
144
  /**
130
145
  * Specifies how to display the action buttons inside the action button container.
@@ -132,29 +147,24 @@ class SkyActionButtonContainerComponent {
132
147
  * @default "center"
133
148
  */
134
149
  set alignItems(value) {
135
- this._alignItems = value;
150
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent__alignItems, value ?? 'center', "f");
136
151
  }
137
152
  get alignItems() {
138
- return this._alignItems || 'center';
139
- }
140
- set themeName(value) {
141
- this._themeName = value;
142
- this.updateResponsiveClass();
143
- this.updateHeight();
153
+ return __classPrivateFieldGet(this, _SkyActionButtonContainerComponent__alignItems, "f");
144
154
  }
145
155
  ngOnInit() {
146
156
  /* istanbul ignore else */
147
- if (this.themeSvc) {
148
- this.themeSvc.settingsChange
149
- .pipe(takeUntil(this.ngUnsubscribe))
157
+ if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_themeSvc, "f")) {
158
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_themeSvc, "f").settingsChange
159
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f")))
150
160
  .subscribe((themeSettings) => {
151
- this.themeName = themeSettings.currentSettings.theme.name;
152
- this.changeRef.markForCheck();
161
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_instances, themeSettings.currentSettings.theme.name, "a", _SkyActionButtonContainerComponent_themeName_set);
162
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_changeDetector, "f").markForCheck();
153
163
  });
154
164
  }
155
165
  // Wait for children components to complete rendering before container width is determined.
156
166
  setTimeout(() => {
157
- this.updateResponsiveClass();
167
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
158
168
  });
159
169
  }
160
170
  ngAfterViewInit() {
@@ -162,51 +172,55 @@ class SkyActionButtonContainerComponent {
162
172
  /* istanbul ignore else */
163
173
  if (this.actionButtons) {
164
174
  this.actionButtons.changes
165
- .pipe(takeUntil(this.ngUnsubscribe))
175
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f")))
166
176
  .subscribe(() => {
167
- this.updateHeight();
177
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
168
178
  });
169
179
  }
170
180
  __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_viewInitialized, true, "f");
171
- this.updateHeight();
181
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
172
182
  }
173
183
  ngOnDestroy() {
174
- this.ngUnsubscribe.next();
175
- this.ngUnsubscribe.complete();
184
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f").next();
185
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_ngUnsubscribe, "f").complete();
176
186
  }
177
187
  onContentChange() {
178
- this.updateHeight();
188
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
179
189
  }
180
190
  onWindowResize() {
181
- this.updateResponsiveClass();
182
- }
183
- updateHeight(delay = 0) {
184
- if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_viewInitialized, "f")) {
185
- const ref = this.containerRef;
186
- this.coreAdapterService.resetHeight(ref, '.sky-action-button');
187
- if (this._themeName === 'modern') {
188
- // Wait for children components to complete rendering before height is determined.
189
- clearTimeout(this.syncMaxHeightTimeout);
190
- this.syncMaxHeightTimeout = setTimeout(() => {
191
- const selector = '.sky-action-button:not([hidden])';
192
- const button = ref.nativeElement.querySelector(selector);
193
- if (button && button.offsetHeight > 0) {
194
- this.coreAdapterService.syncMaxHeight(ref, selector);
195
- }
196
- else if (delay < 200) {
197
- // Wait progressively longer between retries.
198
- this.updateHeight(delay + 50);
199
- }
200
- }, delay);
201
- }
191
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
192
+ }
193
+ }
194
+ _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) {
195
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent__themeName, value, "f");
196
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateResponsiveClass).call(this);
197
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this);
198
+ }, _SkyActionButtonContainerComponent_updateHeight = function _SkyActionButtonContainerComponent_updateHeight(delay = 0) {
199
+ const ref = this.containerRef;
200
+ if (ref && __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_viewInitialized, "f")) {
201
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_coreAdapterService, "f").resetHeight(ref, '.sky-action-button');
202
+ if (__classPrivateFieldGet(this, _SkyActionButtonContainerComponent__themeName, "f") === 'modern') {
203
+ // Wait for children components to complete rendering before height is determined.
204
+ clearTimeout(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_syncMaxHeightTimeout, "f"));
205
+ __classPrivateFieldSet(this, _SkyActionButtonContainerComponent_syncMaxHeightTimeout, setTimeout(() => {
206
+ const selector = '.sky-action-button:not([hidden])';
207
+ const button = ref.nativeElement.querySelector(selector);
208
+ if (button && button.offsetHeight > 0) {
209
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_coreAdapterService, "f").syncMaxHeight(ref, selector);
210
+ }
211
+ else if (delay < 200) {
212
+ // Wait progressively longer between retries.
213
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_instances, "m", _SkyActionButtonContainerComponent_updateHeight).call(this, delay + 50);
214
+ }
215
+ }, delay), "f");
202
216
  }
203
217
  }
204
- updateResponsiveClass() {
205
- const parentWidth = this.actionButtonAdapterService.getParentWidth(this.hostElRef);
206
- this.actionButtonAdapterService.setResponsiveClass(this.containerRef, parentWidth);
218
+ }, _SkyActionButtonContainerComponent_updateResponsiveClass = function _SkyActionButtonContainerComponent_updateResponsiveClass() {
219
+ if (this.containerRef) {
220
+ const parentWidth = __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, "f").getParentWidth(__classPrivateFieldGet(this, _SkyActionButtonContainerComponent_hostElRef, "f"));
221
+ __classPrivateFieldGet(this, _SkyActionButtonContainerComponent_actionButtonAdapterService, "f").setResponsiveClass(this.containerRef, parentWidth);
207
222
  }
208
- }
209
- _SkyActionButtonContainerComponent_viewInitialized = new WeakMap();
223
+ };
210
224
  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 });
211
225
  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 });
212
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonContainerComponent, decorators: [{
@@ -254,6 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
254
268
  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"] }]
255
269
  }] });
256
270
 
271
+ var _SkyActionButtonIconComponent_subscription;
257
272
  const FONTSIZECLASS_SMALL = '2x';
258
273
  const FONTSIZECLASS_LARGE = '3x';
259
274
  /**
@@ -261,25 +276,26 @@ const FONTSIZECLASS_LARGE = '3x';
261
276
  */
262
277
  class SkyActionButtonIconComponent {
263
278
  constructor(mediaQueryService) {
264
- this.mediaQueryService = mediaQueryService;
265
279
  this.fontSizeClass = FONTSIZECLASS_LARGE;
266
- this.subscription = this.mediaQueryService.subscribe((args) => {
280
+ _SkyActionButtonIconComponent_subscription.set(this, void 0);
281
+ __classPrivateFieldSet(this, _SkyActionButtonIconComponent_subscription, mediaQueryService.subscribe((args) => {
267
282
  if (args === SkyMediaBreakpoints.xs) {
268
283
  this.fontSizeClass = FONTSIZECLASS_SMALL;
269
284
  }
270
285
  else {
271
286
  this.fontSizeClass = FONTSIZECLASS_LARGE;
272
287
  }
273
- });
288
+ }), "f");
274
289
  }
275
290
  ngOnDestroy() {
276
291
  /* istanbul ignore else */
277
292
  /* sanity check */
278
- if (this.subscription) {
279
- this.subscription.unsubscribe();
293
+ if (__classPrivateFieldGet(this, _SkyActionButtonIconComponent_subscription, "f")) {
294
+ __classPrivateFieldGet(this, _SkyActionButtonIconComponent_subscription, "f").unsubscribe();
280
295
  }
281
296
  }
282
297
  }
298
+ _SkyActionButtonIconComponent_subscription = new WeakMap();
283
299
  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 });
284
300
  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"] }] });
285
301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyActionButtonIconComponent, decorators: [{
@@ -397,21 +413,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
397
413
  }]
398
414
  }] });
399
415
 
416
+ var _SkyBackToTopComponent__scrollToTopClick;
400
417
  /**
401
418
  * @internal
402
419
  */
403
420
  class SkyBackToTopComponent {
404
421
  constructor() {
405
- this._scrollToTopClick = new Subject();
422
+ _SkyBackToTopComponent__scrollToTopClick.set(this, new Subject());
406
423
  }
407
424
  get scrollToTopClick() {
408
- return this._scrollToTopClick.asObservable();
425
+ return __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").asObservable();
409
426
  }
410
427
  onScrollToTopClick() {
411
- this._scrollToTopClick.next();
412
- this._scrollToTopClick.complete();
428
+ __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").next();
429
+ __classPrivateFieldGet(this, _SkyBackToTopComponent__scrollToTopClick, "f").complete();
413
430
  }
414
431
  }
432
+ _SkyBackToTopComponent__scrollToTopClick = new WeakMap();
415
433
  SkyBackToTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
416
434
  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 });
417
435
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopComponent, decorators: [{
@@ -419,32 +437,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
419
437
  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"] }]
420
438
  }] });
421
439
 
440
+ var _SkyBackToTopDomAdapterService_ngUnsubscribe, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, _SkyBackToTopDomAdapterService_scrollableHostService, _SkyBackToTopDomAdapterService_windowRef;
422
441
  /**
423
442
  * @internal
424
443
  */
425
444
  class SkyBackToTopDomAdapterService {
426
445
  constructor(windowRef, scrollableHostService) {
427
- this.windowRef = windowRef;
428
- this.scrollableHostService = scrollableHostService;
429
- this.ngUnsubscribe = new Subject();
430
- this.scrollableHostScrollEventUnsubscribe = new Subject();
446
+ _SkyBackToTopDomAdapterService_ngUnsubscribe.set(this, new Subject());
447
+ _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe.set(this, new Subject());
448
+ _SkyBackToTopDomAdapterService_scrollableHostService.set(this, void 0);
449
+ _SkyBackToTopDomAdapterService_windowRef.set(this, void 0);
450
+ __classPrivateFieldSet(this, _SkyBackToTopDomAdapterService_windowRef, windowRef, "f");
451
+ __classPrivateFieldSet(this, _SkyBackToTopDomAdapterService_scrollableHostService, scrollableHostService, "f");
431
452
  }
432
453
  ngOnDestroy() {
433
- this.ngUnsubscribe.next();
434
- this.ngUnsubscribe.complete();
435
- this.scrollableHostScrollEventUnsubscribe.next();
436
- this.scrollableHostScrollEventUnsubscribe.complete();
454
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_ngUnsubscribe, "f").next();
455
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_ngUnsubscribe, "f").complete();
456
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f").next();
457
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f").complete();
437
458
  }
438
459
  /**
439
460
  * This event returns a boolean on scroll indicating whether the provided element is in view.
440
461
  * @param elementRef The target element reference.
441
462
  */
442
463
  elementInViewOnScroll(elementRef) {
443
- const scrollableHostObservable = this.scrollableHostService.watchScrollableHostScrollEvents(elementRef);
464
+ const scrollableHostObservable = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").watchScrollableHostScrollEvents(elementRef);
444
465
  const isInitiallyInView = this.isElementScrolledInView(elementRef);
445
466
  const returnedObservable = new BehaviorSubject(isInitiallyInView);
446
467
  scrollableHostObservable
447
- .pipe(takeUntil(this.scrollableHostScrollEventUnsubscribe))
468
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe, "f")))
448
469
  .subscribe(() => {
449
470
  const isInView = this.isElementScrolledInView(elementRef);
450
471
  returnedObservable.next(isInView);
@@ -461,12 +482,12 @@ class SkyBackToTopDomAdapterService {
461
482
  if (!elementRef || !elementRef.nativeElement) {
462
483
  return;
463
484
  }
464
- const scrollableHost = this.scrollableHostService.getScrollableHost(elementRef);
485
+ const scrollableHost = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").getScrollableHost(elementRef);
465
486
  if (scrollableHost instanceof Window) {
466
487
  // Scroll to top of window, but account for the body margin that allows for the omnibar if it exists.
467
488
  const bodyMarginOffset = parseInt(getComputedStyle(document.body).marginTop, 10);
468
489
  const newOffsetTop = elementRef.nativeElement.offsetTop - bodyMarginOffset;
469
- this.windowRef.nativeWindow.scrollTo(elementRef.nativeElement.offsetLeft, newOffsetTop);
490
+ __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_windowRef, "f").nativeWindow.scrollTo(elementRef.nativeElement.offsetLeft, newOffsetTop);
470
491
  }
471
492
  else {
472
493
  // Scroll to top of parent element.
@@ -475,13 +496,12 @@ class SkyBackToTopDomAdapterService {
475
496
  }
476
497
  }
477
498
  isElementScrolledInView(element) {
478
- const parentElement = this.scrollableHostService.getScrollableHost(element.nativeElement);
499
+ const parentElement = __classPrivateFieldGet(this, _SkyBackToTopDomAdapterService_scrollableHostService, "f").getScrollableHost(element);
479
500
  if (!element.nativeElement.offsetParent) {
480
501
  return true;
481
502
  }
482
503
  const buffer = 25;
483
504
  const elementRect = element.nativeElement.getBoundingClientRect();
484
- /* istanbul ignore else */
485
505
  if (parentElement instanceof HTMLElement) {
486
506
  const parentRect = parentElement.getBoundingClientRect();
487
507
  return elementRect.top > parentRect.top - buffer;
@@ -491,6 +511,7 @@ class SkyBackToTopDomAdapterService {
491
511
  }
492
512
  }
493
513
  }
514
+ _SkyBackToTopDomAdapterService_ngUnsubscribe = new WeakMap(), _SkyBackToTopDomAdapterService_scrollableHostScrollEventUnsubscribe = new WeakMap(), _SkyBackToTopDomAdapterService_scrollableHostService = new WeakMap(), _SkyBackToTopDomAdapterService_windowRef = new WeakMap();
494
515
  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 });
495
516
  SkyBackToTopDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDomAdapterService });
496
517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDomAdapterService, decorators: [{
@@ -508,96 +529,100 @@ var SkyBackToTopMessageType;
508
529
  SkyBackToTopMessageType[SkyBackToTopMessageType["BackToTop"] = 0] = "BackToTop";
509
530
  })(SkyBackToTopMessageType || (SkyBackToTopMessageType = {}));
510
531
 
532
+ 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;
511
533
  /**
512
534
  * Associates a button with an element on the page and displays that button
513
535
  * to return to the element after users scroll away.
514
536
  */
515
537
  class SkyBackToTopDirective {
516
- constructor(dockService, domAdapter, element) {
517
- this.dockService = dockService;
518
- this.domAdapter = domAdapter;
519
- this.element = element;
520
- this.buttonHidden = false;
521
- this.ngUnsubscribe = new Subject();
538
+ constructor(dockService, domAdapter, elementRef) {
539
+ _SkyBackToTopDirective_instances.add(this);
540
+ _SkyBackToTopDirective_buttonHidden.set(this, false);
541
+ _SkyBackToTopDirective_dockItem.set(this, void 0);
542
+ _SkyBackToTopDirective_dockService.set(this, void 0);
543
+ _SkyBackToTopDirective_domAdapter.set(this, void 0);
544
+ _SkyBackToTopDirective_elementInView.set(this, false);
545
+ _SkyBackToTopDirective_elementRef.set(this, void 0);
546
+ _SkyBackToTopDirective_ngUnsubscribe.set(this, new Subject());
547
+ _SkyBackToTopDirective__skyBackToTopMessageStream.set(this, void 0);
548
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockService, dockService, "f");
549
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_domAdapter, domAdapter, "f");
550
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementRef, elementRef, "f");
522
551
  }
523
552
  /**
524
553
  * Specifies configuration options for the back to top component.
525
554
  */
526
555
  set skyBackToTop(value) {
527
- this.buttonHidden = !!value?.buttonHidden;
528
- this.handleBackToTopButton(this.elementInView);
556
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_buttonHidden, !!(value && value?.buttonHidden), "f");
557
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, __classPrivateFieldGet(this, _SkyBackToTopDirective_elementInView, "f"));
529
558
  }
530
559
  /**
531
560
  * Provides an observable to send commands to the back to top component.
532
561
  * The commands respect the `SkyBackToTopMessage` type.
533
562
  */
534
563
  set skyBackToTopMessageStream(value) {
535
- if (this._skyBackToTopMessageStream) {
536
- this._skyBackToTopMessageStream.unsubscribe();
564
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f")) {
565
+ __classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f").unsubscribe();
537
566
  }
538
- this._skyBackToTopMessageStream = value;
539
- this._skyBackToTopMessageStream
540
- .pipe(takeUntil(this.ngUnsubscribe))
541
- .subscribe((message) => this.handleIncomingMessages(message));
567
+ __classPrivateFieldSet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, value, "f");
568
+ __classPrivateFieldGet(this, _SkyBackToTopDirective__skyBackToTopMessageStream, "f")
569
+ ?.pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f")))
570
+ .subscribe((message) => __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleIncomingMessages).call(this, message));
542
571
  }
543
572
  ngAfterViewInit() {
544
- this.elementInView = this.domAdapter.isElementScrolledInView(this.element);
545
- this.handleBackToTopButton(this.elementInView);
546
- this.setBackToTopListeners();
573
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementInView, __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").isElementScrolledInView(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f")), "f");
574
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, __classPrivateFieldGet(this, _SkyBackToTopDirective_elementInView, "f"));
575
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_setBackToTopListeners).call(this);
547
576
  }
548
577
  ngOnDestroy() {
549
- if (this.dockItem) {
550
- this.dockItem.destroy();
551
- }
552
- }
553
- handleBackToTopButton(elementInView) {
554
- // Add back to top button if user scrolls down and button is not hidden.
555
- if (!this.dockItem &&
556
- elementInView !== undefined &&
557
- !elementInView &&
558
- !this.buttonHidden) {
559
- this.addBackToTop();
560
- }
561
- // Remove back to top button if user scrolls back up.
562
- if (elementInView || this.buttonHidden) {
563
- this.destroyBackToTop();
564
- }
565
- }
566
- addBackToTop() {
567
- this.dockItem = this.dockService.insertComponent(SkyBackToTopComponent);
568
- // Listen for clicks on the "back to top" button so we know when to scroll up.
569
- this.dockItem.componentInstance.scrollToTopClick
570
- .pipe(takeUntil(this.ngUnsubscribe))
571
- .subscribe(() => {
572
- this.domAdapter.scrollToElement(this.element);
578
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f")) {
579
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").destroy();
580
+ }
581
+ }
582
+ }
583
+ _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) {
584
+ // Add back to top button if user scrolls down and button is not hidden.
585
+ if (!__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f") &&
586
+ elementInView !== undefined &&
587
+ !elementInView &&
588
+ !__classPrivateFieldGet(this, _SkyBackToTopDirective_buttonHidden, "f")) {
589
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_addBackToTop).call(this);
590
+ }
591
+ // Remove back to top button if user scrolls back up.
592
+ if (elementInView || __classPrivateFieldGet(this, _SkyBackToTopDirective_buttonHidden, "f")) {
593
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_destroyBackToTop).call(this);
594
+ }
595
+ }, _SkyBackToTopDirective_addBackToTop = function _SkyBackToTopDirective_addBackToTop() {
596
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockItem, __classPrivateFieldGet(this, _SkyBackToTopDirective_dockService, "f").insertComponent(SkyBackToTopComponent), "f");
597
+ // Listen for clicks on the "back to top" button so we know when to scroll up.
598
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").componentInstance.scrollToTopClick
599
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f")))
600
+ .subscribe(() => {
601
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").scrollToElement(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"));
602
+ });
603
+ }, _SkyBackToTopDirective_handleIncomingMessages = function _SkyBackToTopDirective_handleIncomingMessages(message) {
604
+ /* istanbul ignore else */
605
+ if (message.type === SkyBackToTopMessageType.BackToTop) {
606
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f").scrollToElement(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"));
607
+ }
608
+ }, _SkyBackToTopDirective_setBackToTopListeners = function _SkyBackToTopDirective_setBackToTopListeners() {
609
+ /* istanbul ignore else */
610
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f")) {
611
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_domAdapter, "f")
612
+ .elementInViewOnScroll(__classPrivateFieldGet(this, _SkyBackToTopDirective_elementRef, "f"))
613
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyBackToTopDirective_ngUnsubscribe, "f")))
614
+ .subscribe((elementInView) => {
615
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_elementInView, elementInView, "f");
616
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_instances, "m", _SkyBackToTopDirective_handleBackToTopButton).call(this, elementInView);
573
617
  });
574
618
  }
575
- handleIncomingMessages(message) {
576
- /* istanbul ignore else */
577
- if (message.type === SkyBackToTopMessageType.BackToTop) {
578
- this.domAdapter.scrollToElement(this.element);
579
- }
580
- }
581
- setBackToTopListeners() {
582
- /* istanbul ignore else */
583
- if (this.element) {
584
- this.domAdapter
585
- .elementInViewOnScroll(this.element)
586
- .pipe(takeUntil(this.ngUnsubscribe))
587
- .subscribe((elementInView) => {
588
- this.elementInView = elementInView;
589
- this.handleBackToTopButton(elementInView);
590
- });
591
- }
619
+ }, _SkyBackToTopDirective_destroyBackToTop = function _SkyBackToTopDirective_destroyBackToTop() {
620
+ /* istanbul ignore else */
621
+ if (__classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f")) {
622
+ __classPrivateFieldGet(this, _SkyBackToTopDirective_dockItem, "f").destroy();
623
+ __classPrivateFieldSet(this, _SkyBackToTopDirective_dockItem, undefined, "f");
592
624
  }
593
- destroyBackToTop() {
594
- /* istanbul ignore else */
595
- if (this.dockItem) {
596
- this.dockItem.destroy();
597
- this.dockItem = undefined;
598
- }
599
- }
600
- }
625
+ };
601
626
  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 });
602
627
  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 });
603
628
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyBackToTopDirective, decorators: [{
@@ -721,111 +746,118 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
721
746
  }]
722
747
  }] });
723
748
 
749
+ 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;
724
750
  /**
725
751
  * @internal
726
752
  */
727
753
  class SkyInlineDeleteAdapterService {
728
754
  constructor(coreAdapterService, rendererFactory) {
729
- this.coreAdapterService = coreAdapterService;
730
- this.renderer = rendererFactory.createRenderer(undefined, undefined);
755
+ _SkyInlineDeleteAdapterService_instances.add(this);
756
+ _SkyInlineDeleteAdapterService_element.set(this, void 0);
757
+ _SkyInlineDeleteAdapterService_focusableElements.set(this, void 0);
758
+ _SkyInlineDeleteAdapterService_parentEl.set(this, void 0);
759
+ _SkyInlineDeleteAdapterService_parentElUnlistenFn.set(this, void 0);
760
+ _SkyInlineDeleteAdapterService_renderer.set(this, void 0);
761
+ _SkyInlineDeleteAdapterService_coreAdapterService.set(this, void 0);
762
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_coreAdapterService, coreAdapterService, "f");
763
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
731
764
  }
732
765
  clearListeners() {
733
766
  /* istanbul ignore else */
734
- if (this.parentElUnlistenFn) {
735
- this.parentElUnlistenFn();
767
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f")) {
768
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, "f").call(this);
736
769
  }
737
770
  }
738
771
  setEl(element) {
739
- this.element = element;
740
- this.parentEl = element.parentElement;
772
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_element, element, "f");
773
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_parentEl, element.parentElement, "f");
741
774
  /* istanbul ignore else */
742
- if (this.parentEl) {
743
- this.parentElUnlistenFn = this.renderer.listen(this.parentEl, 'focusin', (event) => {
744
- const target = event.target;
745
- if (!this.element.contains(target) && this.parentEl !== target) {
746
- event.preventDefault();
747
- event.stopPropagation();
748
- event.stopImmediatePropagation();
749
- target.blur();
750
- this.focusNextElement(target, this.isShift(event), this.parentEl);
775
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f")) {
776
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_parentElUnlistenFn, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_renderer, "f").listen(__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f"), 'focusin', (event) => {
777
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f")) {
778
+ const target = event.target;
779
+ if (!__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f").contains(target) && __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f") !== target) {
780
+ event.preventDefault();
781
+ event.stopPropagation();
782
+ event.stopImmediatePropagation();
783
+ target.blur();
784
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_focusNextElement).call(this, target, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isShift).call(this, event));
785
+ }
751
786
  }
752
- });
787
+ }), "f");
753
788
  }
754
789
  }
755
- focusNextElement(targetElement, shiftKey, busyEl) {
756
- const focussable = this.getFocussableElements();
757
- // If shift tab, go in the other direction
758
- const modifier = shiftKey ? -1 : 1;
759
- // Find the next navigable element that isn't waiting
760
- const startingIndex = focussable.indexOf(targetElement);
761
- let curIndex = startingIndex + modifier;
762
- while (focussable[curIndex] &&
763
- this.isElementHiddenOrCovered(focussable[curIndex])) {
790
+ }
791
+ _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) {
792
+ const focusable = __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_getFocusableElements).call(this);
793
+ // If shift tab, go in the other direction
794
+ const modifier = shiftKey ? -1 : 1;
795
+ // Find the next navigable element that isn't waiting
796
+ const startingIndex = focusable.indexOf(targetElement);
797
+ let curIndex = startingIndex + modifier;
798
+ while (focusable[curIndex] &&
799
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
800
+ curIndex += modifier;
801
+ }
802
+ if (focusable[curIndex] &&
803
+ !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
804
+ focusable[curIndex].focus();
805
+ }
806
+ else {
807
+ // Try wrapping the navigation
808
+ /* istanbul ignore next */
809
+ curIndex = modifier > 0 ? 0 : focusable.length - 1;
810
+ /* istanbul ignore next */
811
+ while (curIndex !== startingIndex &&
812
+ focusable[curIndex] &&
813
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
764
814
  curIndex += modifier;
765
815
  }
766
- if (focussable[curIndex] &&
767
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
768
- focussable[curIndex].focus();
816
+ /* istanbul ignore else */
817
+ /* sanity check */
818
+ if (focusable[curIndex] &&
819
+ !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHiddenOrCovered).call(this, focusable[curIndex])) {
820
+ focusable[curIndex].focus();
769
821
  }
770
822
  else {
771
- // Try wrapping the navigation
772
- /* istanbul ignore next */
773
- curIndex = modifier > 0 ? 0 : focussable.length - 1;
774
- /* istanbul ignore next */
775
- while (curIndex !== startingIndex &&
776
- focussable[curIndex] &&
777
- this.isElementHiddenOrCovered(focussable[curIndex])) {
778
- curIndex += modifier;
779
- }
780
- /* istanbul ignore else */
781
- /* sanity check */
782
- if (focussable[curIndex] &&
783
- !this.isElementHiddenOrCovered(focussable[curIndex])) {
784
- focussable[curIndex].focus();
823
+ // No valid target, wipe focus
824
+ // This should never happen in practice due to the multiple inline delete buttons
825
+ if (document.activeElement && document.activeElement.blur) {
826
+ document.activeElement.blur();
785
827
  }
786
- else {
787
- // No valid target, wipe focus
788
- // This should never happen in practice due to the multiple inline delete buttons
789
- if (document.activeElement && document.activeElement.blur) {
790
- document.activeElement.blur();
791
- }
792
- document.body.focus();
793
- }
794
- }
795
- // clear focussableElements list so that if things change between tabbing we know about it
796
- this.focussableElements = undefined;
797
- }
798
- getFocussableElements() {
799
- // Keep this cached so we can reduce querys
800
- if (this.focussableElements) {
801
- return this.focussableElements;
802
- }
803
- this.focussableElements = this.coreAdapterService.getFocusableChildren(document.body);
804
- return this.focussableElements;
805
- }
806
- isElementHiddenOrCovered(element) {
807
- // Check if the element is hidden by css, not within the inline delete, or a wait is covering it
808
- return (this.isElementHidden(element) ||
809
- (this.parentEl.contains(element) &&
810
- (!this.element.contains(element) ||
811
- this.parentEl.querySelector('.sky-wait-mask') !== null)));
812
- }
813
- isElementHidden(element) {
814
- const style = window.getComputedStyle(element);
815
- return style.display === 'none' || style.visibility === 'hidden';
816
- }
817
- isShift(event) {
818
- // Determine if shift+tab was used based on element order
819
- const elements = this.getFocussableElements().filter((elem) => !this.isElementHidden(elem));
820
- const previousInd = elements.indexOf(event.relatedTarget);
821
- const currentInd = elements.indexOf(event.target);
822
- /* istanbul ignore next */
823
- return (previousInd === currentInd + 1 ||
824
- (previousInd === 0 && currentInd === elements.length - 1) ||
825
- previousInd > currentInd ||
826
- !event.relatedTarget);
827
- }
828
- }
828
+ document.body.focus();
829
+ }
830
+ }
831
+ // clear focusableElements list so that if things change between tabbing we know about it
832
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_focusableElements, undefined, "f");
833
+ }, _SkyInlineDeleteAdapterService_getFocusableElements = function _SkyInlineDeleteAdapterService_getFocusableElements() {
834
+ // Keep this cached so we can reduce querys
835
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f")) {
836
+ return __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f");
837
+ }
838
+ __classPrivateFieldSet(this, _SkyInlineDeleteAdapterService_focusableElements, __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_coreAdapterService, "f").getFocusableChildren(document.body), "f");
839
+ return __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_focusableElements, "f");
840
+ }, _SkyInlineDeleteAdapterService_isElementHiddenOrCovered = function _SkyInlineDeleteAdapterService_isElementHiddenOrCovered(element) {
841
+ // Check if the element is hidden by css, not within the inline delete, or a wait is covering it
842
+ return (__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHidden).call(this, element) ||
843
+ (!!__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f") &&
844
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f").contains(element) &&
845
+ (!__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_element, "f")?.contains(element) ||
846
+ __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_parentEl, "f").querySelector('.sky-wait-mask') !== null)));
847
+ }, _SkyInlineDeleteAdapterService_isElementHidden = function _SkyInlineDeleteAdapterService_isElementHidden(element) {
848
+ const style = window.getComputedStyle(element);
849
+ return style.display === 'none' || style.visibility === 'hidden';
850
+ }, _SkyInlineDeleteAdapterService_isShift = function _SkyInlineDeleteAdapterService_isShift(event) {
851
+ // Determine if shift+tab was used based on element order
852
+ const elements = __classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_getFocusableElements).call(this).filter((elem) => !__classPrivateFieldGet(this, _SkyInlineDeleteAdapterService_instances, "m", _SkyInlineDeleteAdapterService_isElementHidden).call(this, elem));
853
+ const previousInd = elements.indexOf(event.relatedTarget);
854
+ const currentInd = elements.indexOf(event.target);
855
+ /* istanbul ignore next */
856
+ return (previousInd === currentInd + 1 ||
857
+ (previousInd === 0 && currentInd === elements.length - 1) ||
858
+ previousInd > currentInd ||
859
+ !event.relatedTarget);
860
+ };
829
861
  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 });
830
862
  SkyInlineDeleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService });
831
863
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyInlineDeleteAdapterService, decorators: [{
@@ -848,15 +880,13 @@ var SkyInlineDeleteType;
848
880
  SkyInlineDeleteType["Card"] = "card";
849
881
  })(SkyInlineDeleteType || (SkyInlineDeleteType = {}));
850
882
 
883
+ var _SkyInlineDeleteComponent_adapterService, _SkyInlineDeleteComponent_changeDetector, _SkyInlineDeleteComponent_elRef;
851
884
  /**
852
885
  * Auto-incrementing integer used to generate unique ids for inline delete components.
853
886
  */
854
887
  let nextId$2 = 0;
855
888
  class SkyInlineDeleteComponent {
856
889
  constructor(adapterService, changeDetector, elRef) {
857
- this.adapterService = adapterService;
858
- this.changeDetector = changeDetector;
859
- this.elRef = elRef;
860
890
  /**
861
891
  * Indicates whether the deletion is pending.
862
892
  * @default false
@@ -873,6 +903,12 @@ class SkyInlineDeleteComponent {
873
903
  this.animationState = 'shown';
874
904
  this.assistiveTextId = `sky-inline-delete-assistive-text-${++nextId$2}`;
875
905
  this.type = SkyInlineDeleteType.Standard;
906
+ _SkyInlineDeleteComponent_adapterService.set(this, void 0);
907
+ _SkyInlineDeleteComponent_changeDetector.set(this, void 0);
908
+ _SkyInlineDeleteComponent_elRef.set(this, void 0);
909
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_adapterService, adapterService, "f");
910
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_changeDetector, changeDetector, "f");
911
+ __classPrivateFieldSet(this, _SkyInlineDeleteComponent_elRef, elRef, "f");
876
912
  }
877
913
  /**
878
914
  * Initialization lifecycle hook
@@ -886,7 +922,7 @@ class SkyInlineDeleteComponent {
886
922
  * @internal
887
923
  */
888
924
  ngOnDestroy() {
889
- this.adapterService.clearListeners();
925
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_adapterService, "f").clearListeners();
890
926
  this.cancelTriggered.complete();
891
927
  this.deleteTriggered.complete();
892
928
  }
@@ -909,7 +945,7 @@ class SkyInlineDeleteComponent {
909
945
  */
910
946
  setType(type) {
911
947
  this.type = type;
912
- this.changeDetector.detectChanges();
948
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_changeDetector, "f").detectChanges();
913
949
  }
914
950
  /**
915
951
  * Handles actions that should be taken after the inline delete animates
@@ -921,14 +957,15 @@ class SkyInlineDeleteComponent {
921
957
  this.cancelTriggered.emit();
922
958
  }
923
959
  else {
924
- this.deleteButton.nativeElement.focus();
960
+ this.deleteButton?.nativeElement.focus();
925
961
  /* istanbul ignore else */
926
- if (this.elRef) {
927
- this.adapterService.setEl(this.elRef.nativeElement);
962
+ if (__classPrivateFieldGet(this, _SkyInlineDeleteComponent_elRef, "f")) {
963
+ __classPrivateFieldGet(this, _SkyInlineDeleteComponent_adapterService, "f").setEl(__classPrivateFieldGet(this, _SkyInlineDeleteComponent_elRef, "f").nativeElement);
928
964
  }
929
965
  }
930
966
  }
931
967
  }
968
+ _SkyInlineDeleteComponent_adapterService = new WeakMap(), _SkyInlineDeleteComponent_changeDetector = new WeakMap(), _SkyInlineDeleteComponent_elRef = new WeakMap();
932
969
  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 });
933
970
  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: [
934
971
  trigger('inlineDeleteAnimation', [
@@ -1064,33 +1101,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1064
1101
  args: [{ selector: 'sky-card-title', template: "<ng-content></ng-content>\n" }]
1065
1102
  }] });
1066
1103
 
1104
+ var _SkyCardComponent_subscription, _SkyCardComponent__size;
1067
1105
  /**
1068
1106
  * Creates a a small container to highlight important information.
1069
1107
  * @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.
1070
1108
  */
1071
1109
  class SkyCardComponent {
1072
1110
  constructor(logger) {
1111
+ /**
1112
+ * Indicates whether to display a checkbox to the right of the card title.
1113
+ * Users can select multiple checkboxes and perform actions on the selected cards.
1114
+ * @default false
1115
+ */
1116
+ this.selectable = false;
1117
+ /**
1118
+ * Indicates whether the card is selected. This only applies to card where
1119
+ * `selectable` is set to `true`.
1120
+ * @default false
1121
+ */
1122
+ this.selected = false;
1073
1123
  /**
1074
1124
  * Fires when users select or deselect the card.
1075
1125
  */
1076
1126
  this.selectedChange = new EventEmitter();
1077
1127
  this.showTitle = true;
1128
+ _SkyCardComponent_subscription.set(this, void 0);
1129
+ _SkyCardComponent__size.set(this, 'large');
1078
1130
  logger.deprecated('SkyCardComponent', {
1079
1131
  deprecationMajorVersion: 6,
1080
1132
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/content-containers',
1081
1133
  replacementRecommendation: 'For other SKY UX components that group and list content, see the content containers guidelines.',
1082
1134
  });
1083
1135
  }
1136
+ /**
1137
+ * Specifies the size of the card. The valid options are `"large"` and `"small"`.
1138
+ * @default "large"
1139
+ */
1140
+ set size(value) {
1141
+ __classPrivateFieldSet(this, _SkyCardComponent__size, value ?? 'large', "f");
1142
+ }
1143
+ get size() {
1144
+ return __classPrivateFieldGet(this, _SkyCardComponent__size, "f");
1145
+ }
1084
1146
  ngAfterContentInit() {
1085
- this.showTitle = this.titleComponent.length > 0;
1086
- this.subscription = this.titleComponent.changes.subscribe(() => {
1087
- this.showTitle = this.titleComponent.length > 0;
1088
- });
1089
- this.inlineDeleteComponent.forEach((item) => {
1147
+ this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;
1148
+ __classPrivateFieldSet(this, _SkyCardComponent_subscription, this.titleComponent?.changes.subscribe(() => {
1149
+ this.showTitle = !!this.titleComponent && this.titleComponent.length > 0;
1150
+ }), "f");
1151
+ this.inlineDeleteComponent?.forEach((item) => {
1090
1152
  item.setType(SkyInlineDeleteType.Card);
1091
1153
  });
1092
- this.inlineDeleteComponent.changes.subscribe(() => {
1093
- this.inlineDeleteComponent.forEach((item) => {
1154
+ this.inlineDeleteComponent?.changes.subscribe(() => {
1155
+ this.inlineDeleteComponent?.forEach((item) => {
1094
1156
  item.setType(SkyInlineDeleteType.Card);
1095
1157
  });
1096
1158
  });
@@ -1110,11 +1172,12 @@ class SkyCardComponent {
1110
1172
  ngOnDestroy() {
1111
1173
  /* istanbul ignore else */
1112
1174
  /* sanity check */
1113
- if (this.subscription) {
1114
- this.subscription.unsubscribe();
1175
+ if (__classPrivateFieldGet(this, _SkyCardComponent_subscription, "f")) {
1176
+ __classPrivateFieldGet(this, _SkyCardComponent_subscription, "f").unsubscribe();
1115
1177
  }
1116
1178
  }
1117
1179
  }
1180
+ _SkyCardComponent_subscription = new WeakMap(), _SkyCardComponent__size = new WeakMap();
1118
1181
  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 });
1119
1182
  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" }] });
1120
1183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyCardComponent, decorators: [{
@@ -1249,10 +1312,10 @@ class SkyDefinitionListValueComponent {
1249
1312
  }
1250
1313
  }
1251
1314
  SkyDefinitionListValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, deps: [{ token: SkyDefinitionListService }], target: i0.ɵɵFactoryTarget.Component });
1252
- 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" }] });
1315
+ 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" }] });
1253
1316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDefinitionListValueComponent, decorators: [{
1254
1317
  type: Component,
1255
- 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"] }]
1318
+ 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"] }]
1256
1319
  }], ctorParameters: function () { return [{ type: SkyDefinitionListService }]; } });
1257
1320
 
1258
1321
  /**
@@ -1354,32 +1417,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1354
1417
  type: Injectable
1355
1418
  }] });
1356
1419
 
1420
+ var _SkyDescriptionListDescriptionComponent_changeDetector, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, _SkyDescriptionListDescriptionComponent_themeSvc;
1357
1421
  /**
1358
1422
  * Specifies the description in a term-description pair.
1359
1423
  */
1360
1424
  class SkyDescriptionListDescriptionComponent {
1361
- constructor(service, changeRef, themeSvc) {
1425
+ constructor(service, changeDetector, themeSvc) {
1362
1426
  this.service = service;
1363
- this.changeRef = changeRef;
1364
- this.themeSvc = themeSvc;
1365
- this.ngUnsubscribe = new Subject();
1427
+ _SkyDescriptionListDescriptionComponent_changeDetector.set(this, void 0);
1428
+ _SkyDescriptionListDescriptionComponent_ngUnsubscribe.set(this, new Subject());
1429
+ _SkyDescriptionListDescriptionComponent_themeSvc.set(this, void 0);
1430
+ __classPrivateFieldSet(this, _SkyDescriptionListDescriptionComponent_changeDetector, changeDetector, "f");
1431
+ __classPrivateFieldSet(this, _SkyDescriptionListDescriptionComponent_themeSvc, themeSvc, "f");
1366
1432
  }
1367
1433
  ngOnInit() {
1368
1434
  /* istanbul ignore else */
1369
- if (this.themeSvc) {
1370
- this.themeSvc.settingsChange
1371
- .pipe(takeUntil(this.ngUnsubscribe))
1435
+ if (__classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_themeSvc, "f")) {
1436
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_themeSvc, "f").settingsChange
1437
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f")))
1372
1438
  .subscribe((themeSettings) => {
1373
1439
  this.themeName = themeSettings.currentSettings.theme.name;
1374
- this.changeRef.markForCheck();
1440
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_changeDetector, "f").markForCheck();
1375
1441
  });
1376
1442
  }
1377
1443
  }
1378
1444
  ngOnDestroy() {
1379
- this.ngUnsubscribe.next();
1380
- this.ngUnsubscribe.complete();
1445
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").next();
1446
+ __classPrivateFieldGet(this, _SkyDescriptionListDescriptionComponent_ngUnsubscribe, "f").complete();
1381
1447
  }
1382
1448
  }
1449
+ _SkyDescriptionListDescriptionComponent_changeDetector = new WeakMap(), _SkyDescriptionListDescriptionComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListDescriptionComponent_themeSvc = new WeakMap();
1383
1450
  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 });
1384
1451
  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 });
1385
1452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListDescriptionComponent, decorators: [{
@@ -1433,12 +1500,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1433
1500
  args: [SkyDescriptionListDescriptionComponent]
1434
1501
  }] } });
1435
1502
 
1503
+ var _SkyDescriptionListAdapterService_instances, _SkyDescriptionListAdapterService_renderer, _SkyDescriptionListAdapterService_getResponsiveClassName;
1436
1504
  /**
1437
1505
  * @internal
1438
1506
  */
1439
1507
  class SkyDescriptionListAdapterService {
1440
1508
  constructor(rendererFactory) {
1441
- this.renderer = rendererFactory.createRenderer(undefined, undefined);
1509
+ _SkyDescriptionListAdapterService_instances.add(this);
1510
+ _SkyDescriptionListAdapterService_renderer.set(this, void 0);
1511
+ __classPrivateFieldSet(this, _SkyDescriptionListAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
1442
1512
  }
1443
1513
  getWidth(elementRef) {
1444
1514
  return elementRef.nativeElement.clientWidth;
@@ -1446,34 +1516,35 @@ class SkyDescriptionListAdapterService {
1446
1516
  setResponsiveClass(element) {
1447
1517
  const nativeEl = element.nativeElement;
1448
1518
  const width = this.getWidth(element);
1449
- const className = this.getResponsiveClassName(width);
1450
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
1451
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
1452
- this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
1453
- this.renderer.addClass(nativeEl, className);
1454
- }
1455
- getResponsiveClassName(width) {
1456
- const xsBreakpointMaxPixels = 479;
1457
- const smBreakpointMinPixels = 480;
1458
- const smBreakpointMaxPixels = 767;
1459
- if (width <= xsBreakpointMaxPixels) {
1460
- return 'sky-responsive-container-xs';
1461
- }
1462
- else if (width >= smBreakpointMinPixels &&
1463
- width <= smBreakpointMaxPixels) {
1464
- return 'sky-responsive-container-sm';
1465
- }
1466
- else {
1467
- return 'sky-responsive-container-md';
1468
- }
1519
+ const className = __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_instances, "m", _SkyDescriptionListAdapterService_getResponsiveClassName).call(this, width);
1520
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-xs');
1521
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-sm');
1522
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").removeClass(nativeEl, 'sky-responsive-container-md');
1523
+ __classPrivateFieldGet(this, _SkyDescriptionListAdapterService_renderer, "f").addClass(nativeEl, className);
1469
1524
  }
1470
1525
  }
1526
+ _SkyDescriptionListAdapterService_renderer = new WeakMap(), _SkyDescriptionListAdapterService_instances = new WeakSet(), _SkyDescriptionListAdapterService_getResponsiveClassName = function _SkyDescriptionListAdapterService_getResponsiveClassName(width) {
1527
+ const xsBreakpointMaxPixels = 479;
1528
+ const smBreakpointMinPixels = 480;
1529
+ const smBreakpointMaxPixels = 767;
1530
+ if (width <= xsBreakpointMaxPixels) {
1531
+ return 'sky-responsive-container-xs';
1532
+ }
1533
+ else if (width >= smBreakpointMinPixels &&
1534
+ width <= smBreakpointMaxPixels) {
1535
+ return 'sky-responsive-container-sm';
1536
+ }
1537
+ else {
1538
+ return 'sky-responsive-container-md';
1539
+ }
1540
+ };
1471
1541
  SkyDescriptionListAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
1472
1542
  SkyDescriptionListAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService });
1473
1543
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListAdapterService, decorators: [{
1474
1544
  type: Injectable
1475
1545
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
1476
1546
 
1547
+ var _SkyDescriptionListComponent_ngUnsubscribe, _SkyDescriptionListComponent__mode;
1477
1548
  /**
1478
1549
  * Creates a description list to display term-description pairs.
1479
1550
  */
@@ -1482,7 +1553,8 @@ class SkyDescriptionListComponent {
1482
1553
  this.adapterService = adapterService;
1483
1554
  this.changeDetector = changeDetector;
1484
1555
  this.descriptionListService = descriptionListService;
1485
- this.ngUnsubscribe = new Subject();
1556
+ _SkyDescriptionListComponent_ngUnsubscribe.set(this, new Subject());
1557
+ _SkyDescriptionListComponent__mode.set(this, 'vertical');
1486
1558
  }
1487
1559
  /**
1488
1560
  * Specifies a default description to display when no description is provided
@@ -1498,39 +1570,45 @@ class SkyDescriptionListComponent {
1498
1570
  * @default "vertical"
1499
1571
  */
1500
1572
  set mode(value) {
1501
- this._mode = value;
1573
+ __classPrivateFieldSet(this, _SkyDescriptionListComponent__mode, value || 'vertical', "f");
1502
1574
  }
1503
1575
  get mode() {
1504
- return this._mode || 'vertical';
1576
+ return __classPrivateFieldGet(this, _SkyDescriptionListComponent__mode, "f");
1505
1577
  }
1506
1578
  ngAfterContentInit() {
1507
1579
  // Wait for all content to render before detecting parent width.
1508
1580
  setTimeout(() => {
1509
1581
  this.updateResponsiveClass();
1510
1582
  });
1511
- this.contentComponents.changes
1512
- .pipe(takeUntil(this.ngUnsubscribe))
1513
- .subscribe(() => {
1514
- this.changeDetector.markForCheck();
1515
- });
1583
+ // istanbul ignore else
1584
+ if (this.contentComponents) {
1585
+ this.contentComponents.changes
1586
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f")))
1587
+ .subscribe(() => {
1588
+ this.changeDetector.markForCheck();
1589
+ });
1590
+ }
1516
1591
  }
1517
1592
  ngOnDestroy() {
1518
- this.ngUnsubscribe.next();
1519
- this.ngUnsubscribe.complete();
1593
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").next();
1594
+ __classPrivateFieldGet(this, _SkyDescriptionListComponent_ngUnsubscribe, "f").complete();
1520
1595
  }
1521
1596
  onWindowResize() {
1522
1597
  this.updateResponsiveClass();
1523
1598
  }
1524
1599
  updateResponsiveClass() {
1525
- this.adapterService.setResponsiveClass(this.elementRef);
1526
- this.changeDetector.markForCheck();
1600
+ if (this.elementRef) {
1601
+ this.adapterService.setResponsiveClass(this.elementRef);
1602
+ this.changeDetector.markForCheck();
1603
+ }
1527
1604
  }
1528
1605
  }
1606
+ _SkyDescriptionListComponent_ngUnsubscribe = new WeakMap(), _SkyDescriptionListComponent__mode = new WeakMap();
1529
1607
  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 });
1530
- 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 });
1608
+ 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 });
1531
1609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDescriptionListComponent, decorators: [{
1532
1610
  type: Component,
1533
- 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"] }]
1611
+ 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"] }]
1534
1612
  }], ctorParameters: function () { return [{ type: SkyDescriptionListAdapterService }, { type: i0.ChangeDetectorRef }, { type: SkyDescriptionListService }]; }, propDecorators: { defaultDescription: [{
1535
1613
  type: Input
1536
1614
  }], listItemWidth: [{
@@ -1619,30 +1697,26 @@ var SkyDescriptionListMode;
1619
1697
  SkyDescriptionListMode["vertical"] = "vertical";
1620
1698
  })(SkyDescriptionListMode || (SkyDescriptionListMode = {}));
1621
1699
 
1622
- /**
1623
- * @deprecated Use `SkyFluidGridGutterSizeType` instead.
1624
- * @internal
1625
- */
1626
- var SkyFluidGridGutterSize;
1627
- (function (SkyFluidGridGutterSize) {
1628
- /**
1629
- * Specifies a small gutter.
1630
- */
1631
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Small"] = 0] = "Small";
1632
- /**
1633
- * Specifies a medium gutter.
1634
- */
1635
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Medium"] = 1] = "Medium";
1636
- /**
1637
- * Specifies a large gutter.
1638
- */
1639
- SkyFluidGridGutterSize[SkyFluidGridGutterSize["Large"] = 2] = "Large";
1640
- })(SkyFluidGridGutterSize || (SkyFluidGridGutterSize = {}));
1641
-
1700
+ var _SkyColumnComponent__screenXSmall;
1642
1701
  /**
1643
1702
  * Displays a column within a row of the fluid grid.
1644
1703
  */
1645
1704
  class SkyColumnComponent {
1705
+ constructor() {
1706
+ _SkyColumnComponent__screenXSmall.set(this, 12);
1707
+ }
1708
+ /**
1709
+ * Specifies the number of columns (1-12) to use on extra-small screens
1710
+ * (less than 768px). If you do not specify a value, the fluid grid displays
1711
+ * the column at the full width of the screen.
1712
+ * @default 12
1713
+ */
1714
+ set screenXSmall(value) {
1715
+ __classPrivateFieldSet(this, _SkyColumnComponent__screenXSmall, value ?? 12, "f");
1716
+ }
1717
+ get screenXSmall() {
1718
+ return __classPrivateFieldGet(this, _SkyColumnComponent__screenXSmall, "f");
1719
+ }
1646
1720
  ngOnChanges(changes) {
1647
1721
  /* istanbul ignore else */
1648
1722
  if (changes.screenXSmall ||
@@ -1672,6 +1746,7 @@ class SkyColumnComponent {
1672
1746
  this.classnames = this.getClassNames();
1673
1747
  }
1674
1748
  }
1749
+ _SkyColumnComponent__screenXSmall = new WeakMap();
1675
1750
  SkyColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1676
1751
  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 });
1677
1752
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyColumnComponent, decorators: [{
@@ -1690,20 +1765,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1690
1765
  args: ['class']
1691
1766
  }] } });
1692
1767
 
1768
+ var _SkyFluidGridComponent__gutterSize;
1693
1769
  /**
1694
1770
  * Wraps the fluid grid to ensure proper spacing. Without the wrapper, the
1695
1771
  * alignment, padding, and margins do not behave as expected.
1696
1772
  */
1697
1773
  class SkyFluidGridComponent {
1698
- /**
1699
- * Disables the outer left and right margin of the fluid grid container.
1700
- * @default false
1701
- */
1702
- set disableMargin(value) {
1703
- this._disableMargin = value;
1704
- }
1705
- get disableMargin() {
1706
- return this._disableMargin || false;
1774
+ constructor() {
1775
+ /**
1776
+ * Disables the outer left and right margin of the fluid grid container.
1777
+ * @default false
1778
+ */
1779
+ this.disableMargin = false;
1780
+ _SkyFluidGridComponent__gutterSize.set(this, 'large');
1707
1781
  }
1708
1782
  /**
1709
1783
  * Specifies a `SkyFluidGridGutterSizeType` to define the size of the padding
@@ -1711,37 +1785,18 @@ class SkyFluidGridComponent {
1711
1785
  * @default "large"
1712
1786
  */
1713
1787
  set gutterSize(value) {
1714
- this._gutterSize = value;
1788
+ __classPrivateFieldSet(this, _SkyFluidGridComponent__gutterSize, value ?? 'large', "f");
1715
1789
  }
1716
1790
  get gutterSize() {
1717
- return this._gutterSize === undefined ? 'large' : this._gutterSize;
1718
- }
1719
- /**
1720
- * @internal
1721
- */
1722
- get gutterSizeResolved() {
1723
- // Before this change, the template did a `==` comparison, implicitly converting numerical
1724
- // string values to their numeric values before comparing them. Checking for the numerical
1725
- // string value in addition to the values allowed by the type maintains this behavior.
1726
- switch (this.gutterSize) {
1727
- case 'medium':
1728
- case SkyFluidGridGutterSize.Medium:
1729
- case SkyFluidGridGutterSize.Medium.toString():
1730
- return 'medium';
1731
- case 'small':
1732
- case SkyFluidGridGutterSize.Small:
1733
- case SkyFluidGridGutterSize.Small.toString():
1734
- return 'small';
1735
- default:
1736
- return 'large';
1737
- }
1791
+ return __classPrivateFieldGet(this, _SkyFluidGridComponent__gutterSize, "f");
1738
1792
  }
1739
1793
  }
1794
+ _SkyFluidGridComponent__gutterSize = new WeakMap();
1740
1795
  SkyFluidGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1741
- 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"] }] });
1796
+ 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"] }] });
1742
1797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFluidGridComponent, decorators: [{
1743
1798
  type: Component,
1744
- 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"] }]
1799
+ 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"] }]
1745
1800
  }], propDecorators: { disableMargin: [{
1746
1801
  type: Input
1747
1802
  }], gutterSize: [{
@@ -1784,56 +1839,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1784
1839
  }]
1785
1840
  }] });
1786
1841
 
1842
+ var _SkyFormatComponent_instances, _SkyFormatComponent__text, _SkyFormatComponent__args, _SkyFormatComponent_updateItemsForDisplay;
1787
1843
  const tokenRegex = /(\{\d+\})/;
1788
1844
  class SkyFormatComponent {
1845
+ constructor() {
1846
+ _SkyFormatComponent_instances.add(this);
1847
+ this.itemsForDisplay = [];
1848
+ _SkyFormatComponent__text.set(this, void 0);
1849
+ _SkyFormatComponent__args.set(this, void 0);
1850
+ }
1789
1851
  /**
1790
1852
  * The tokenized string that represents the template. Tokens use the `{n}` notation
1791
1853
  * where `n` is the ordinal of the item to replace the token.
1792
1854
  */
1793
1855
  set text(value) {
1794
- this._text = value;
1795
- this.updateItemsForDisplay();
1856
+ __classPrivateFieldSet(this, _SkyFormatComponent__text, value, "f");
1857
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1796
1858
  }
1797
1859
  get text() {
1798
- return this._text;
1860
+ return __classPrivateFieldGet(this, _SkyFormatComponent__text, "f");
1799
1861
  }
1800
1862
  /**
1801
1863
  * An array of `TemplateRef` objects to be placed in the template, where the `nth`
1802
1864
  * item is placed at the `{n}` location in the template.
1803
1865
  */
1804
1866
  set args(value) {
1805
- this._args = value;
1806
- this.updateItemsForDisplay();
1867
+ __classPrivateFieldSet(this, _SkyFormatComponent__args, value, "f");
1868
+ __classPrivateFieldGet(this, _SkyFormatComponent_instances, "m", _SkyFormatComponent_updateItemsForDisplay).call(this);
1807
1869
  }
1808
1870
  get args() {
1809
- return this._args;
1810
- }
1811
- updateItemsForDisplay() {
1812
- this.itemsForDisplay = [];
1813
- if (this.text && this.args) {
1814
- const textParts = this.text.split(tokenRegex);
1815
- for (const textPart of textParts) {
1816
- // Disregard empty strings.
1817
- if (textPart) {
1818
- const item = {};
1819
- if (tokenRegex.test(textPart)) {
1820
- const valueIndex = +textPart.substring(1, textPart.length - 1);
1821
- item.templateRef = this.args[valueIndex];
1822
- }
1823
- else {
1824
- item.text = textPart;
1825
- }
1826
- this.itemsForDisplay.push(item);
1871
+ return __classPrivateFieldGet(this, _SkyFormatComponent__args, "f");
1872
+ }
1873
+ }
1874
+ _SkyFormatComponent__text = new WeakMap(), _SkyFormatComponent__args = new WeakMap(), _SkyFormatComponent_instances = new WeakSet(), _SkyFormatComponent_updateItemsForDisplay = function _SkyFormatComponent_updateItemsForDisplay() {
1875
+ this.itemsForDisplay = [];
1876
+ if (this.text && this.args) {
1877
+ const textParts = this.text.split(tokenRegex);
1878
+ for (const textPart of textParts) {
1879
+ // Disregard empty strings.
1880
+ if (textPart) {
1881
+ const item = {};
1882
+ if (tokenRegex.test(textPart)) {
1883
+ const valueIndex = +textPart.substring(1, textPart.length - 1);
1884
+ item.templateRef = this.args[valueIndex];
1827
1885
  }
1886
+ else {
1887
+ item.text = textPart;
1888
+ }
1889
+ this.itemsForDisplay.push(item);
1828
1890
  }
1829
1891
  }
1830
1892
  }
1831
- }
1893
+ };
1832
1894
  SkyFormatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1833
- 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 });
1895
+ 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 });
1834
1896
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyFormatComponent, decorators: [{
1835
1897
  type: Component,
1836
- 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" }]
1898
+ 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" }]
1837
1899
  }], propDecorators: { text: [{
1838
1900
  type: Input
1839
1901
  }], args: [{
@@ -1854,65 +1916,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1854
1916
  }]
1855
1917
  }] });
1856
1918
 
1919
+ var _SkyPageThemeAdapterService_styleEl, _SkyPageThemeAdapterService_document;
1857
1920
  /**
1858
1921
  * @internal
1859
1922
  */
1860
1923
  class SkyPageThemeAdapterService {
1924
+ constructor(document) {
1925
+ _SkyPageThemeAdapterService_styleEl.set(this, void 0);
1926
+ _SkyPageThemeAdapterService_document.set(this, void 0);
1927
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_document, document, "f");
1928
+ }
1861
1929
  /**
1862
1930
  * We can't use ViewEncapsulation.None for this behavior because Angular does
1863
1931
  * not remove `style` tags from the HEAD element after route changes.
1864
1932
  * @see https://github.com/angular/angular/issues/16670
1865
1933
  */
1866
1934
  addTheme() {
1867
- if (!this.styleEl) {
1868
- this.styleEl = document.createElement('style');
1869
- this.styleEl.appendChild(document.createTextNode('body { background-color: #fff; }'));
1870
- document.head.appendChild(this.styleEl);
1935
+ if (!__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1936
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, __classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").createElement('style'), "f");
1937
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").appendChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").createTextNode('body:not(.sky-theme-modern) { background-color: #fff; }'));
1938
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_document, "f").head.appendChild(__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f"));
1871
1939
  }
1872
1940
  }
1873
1941
  removeTheme() {
1874
- if (this.styleEl) {
1875
- document.head.removeChild(this.styleEl);
1876
- this.styleEl = undefined;
1942
+ if (__classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f")) {
1943
+ __classPrivateFieldGet(this, _SkyPageThemeAdapterService_styleEl, "f").remove();
1944
+ __classPrivateFieldSet(this, _SkyPageThemeAdapterService_styleEl, undefined, "f");
1877
1945
  }
1878
1946
  }
1879
1947
  }
1880
- SkyPageThemeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1948
+ _SkyPageThemeAdapterService_styleEl = new WeakMap(), _SkyPageThemeAdapterService_document = new WeakMap();
1949
+ SkyPageThemeAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1881
1950
  SkyPageThemeAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService });
1882
1951
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageThemeAdapterService, decorators: [{
1883
1952
  type: Injectable
1884
- }] });
1953
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
1954
+ type: Inject,
1955
+ args: [DOCUMENT]
1956
+ }] }]; } });
1885
1957
 
1958
+ var _SkyPageComponent_themeAdapter, _SkyPageComponent__layout;
1886
1959
  /**
1887
- * Sets the correct background color for a page.
1960
+ * Displays page contents using the specified layout.
1888
1961
  */
1889
1962
  class SkyPageComponent {
1890
1963
  constructor(themeAdapter) {
1891
- this.themeAdapter = themeAdapter;
1964
+ _SkyPageComponent_themeAdapter.set(this, void 0);
1965
+ _SkyPageComponent__layout.set(this, 'auto');
1966
+ __classPrivateFieldSet(this, _SkyPageComponent_themeAdapter, themeAdapter, "f");
1967
+ }
1968
+ /**
1969
+ * Specifies the page layout. Use `auto` to allow the page contents
1970
+ * to expand beyond the bottom of the browser window. Use `fit`
1971
+ * to constrain the page contents to the available viewport.
1972
+ */
1973
+ set layout(value) {
1974
+ __classPrivateFieldSet(this, _SkyPageComponent__layout, value || 'auto', "f");
1975
+ }
1976
+ get layout() {
1977
+ return __classPrivateFieldGet(this, _SkyPageComponent__layout, "f");
1892
1978
  }
1893
1979
  ngOnInit() {
1894
- this.themeAdapter.addTheme();
1980
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").addTheme();
1895
1981
  }
1896
1982
  ngOnDestroy() {
1897
- this.themeAdapter.removeTheme();
1983
+ __classPrivateFieldGet(this, _SkyPageComponent_themeAdapter, "f").removeTheme();
1898
1984
  }
1899
1985
  }
1986
+ _SkyPageComponent_themeAdapter = new WeakMap(), _SkyPageComponent__layout = new WeakMap();
1900
1987
  SkyPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, deps: [{ token: SkyPageThemeAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1901
- 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" });
1988
+ 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"] }] });
1902
1989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageComponent, decorators: [{
1903
1990
  type: Component,
1904
- args: [{ selector: 'sky-page', providers: [SkyPageThemeAdapterService], template: "<div>\n <ng-content></ng-content>\n</div>\n" }]
1905
- }], ctorParameters: function () { return [{ type: SkyPageThemeAdapterService }]; } });
1991
+ 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"] }]
1992
+ }], ctorParameters: function () { return [{ type: SkyPageThemeAdapterService }]; }, propDecorators: { layout: [{
1993
+ type: Input
1994
+ }] } });
1906
1995
 
1907
1996
  class SkyPageModule {
1908
1997
  }
1909
1998
  SkyPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1910
- SkyPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent], exports: [SkyPageComponent] });
1911
- SkyPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule });
1999
+ SkyPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, declarations: [SkyPageComponent], imports: [CommonModule], exports: [SkyPageComponent] });
2000
+ SkyPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, imports: [CommonModule] });
1912
2001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageModule, decorators: [{
1913
2002
  type: NgModule,
1914
2003
  args: [{
1915
2004
  declarations: [SkyPageComponent],
2005
+ imports: [CommonModule],
1916
2006
  exports: [SkyPageComponent],
1917
2007
  }]
1918
2008
  }] });
@@ -2045,43 +2135,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2045
2135
  type: Injectable
2046
2136
  }] });
2047
2137
 
2138
+ var _SkyPageSummaryComponent_breakpointSubscription, _SkyPageSummaryComponent_ngUnsubscribe, _SkyPageSummaryComponent_elRef, _SkyPageSummaryComponent_adapter, _SkyPageSummaryComponent_mediaQueryService, _SkyPageSummaryComponent_changeDetectorRef;
2048
2139
  /**
2049
2140
  * Specifies the components to display in the page summary.
2050
2141
  * @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.
2051
2142
  */
2052
2143
  class SkyPageSummaryComponent {
2053
- constructor(elRef, adapter, mediaQueryService, logger) {
2054
- this.elRef = elRef;
2055
- this.adapter = adapter;
2056
- this.mediaQueryService = mediaQueryService;
2144
+ constructor(elRef, adapter, mediaQueryService, logger, changeDetector) {
2145
+ this.hasKeyInfo = false;
2146
+ _SkyPageSummaryComponent_breakpointSubscription.set(this, void 0);
2147
+ _SkyPageSummaryComponent_ngUnsubscribe.set(this, new Subject());
2148
+ _SkyPageSummaryComponent_elRef.set(this, void 0);
2149
+ _SkyPageSummaryComponent_adapter.set(this, void 0);
2150
+ _SkyPageSummaryComponent_mediaQueryService.set(this, void 0);
2151
+ _SkyPageSummaryComponent_changeDetectorRef.set(this, void 0);
2152
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_elRef, elRef, "f");
2153
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_adapter, adapter, "f");
2154
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_mediaQueryService, mediaQueryService, "f");
2155
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_changeDetectorRef, changeDetector, "f");
2057
2156
  logger.deprecated('SkyPageSummaryComponent', {
2058
2157
  deprecationMajorVersion: 6,
2059
2158
  moreInfoUrl: 'https://developer.blackbaud.com/skyux/design/guidelines/page-layouts',
2060
2159
  replacementRecommendation: 'For page templates and techniques to summarize page content, see the page design guidelines.',
2061
2160
  });
2062
2161
  }
2063
- get hasKeyInfo() {
2064
- return this.keyInfoComponents.length > 0;
2065
- }
2066
2162
  ngAfterViewInit() {
2067
- this.breakpointSubscription = this.mediaQueryService.subscribe((args) => {
2068
- this.adapter.updateKeyInfoLocation(this.elRef, args === SkyMediaBreakpoints.xs);
2069
- });
2163
+ __classPrivateFieldSet(this, _SkyPageSummaryComponent_breakpointSubscription, __classPrivateFieldGet(this, _SkyPageSummaryComponent_mediaQueryService, "f").subscribe((args) => {
2164
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_adapter, "f").updateKeyInfoLocation(__classPrivateFieldGet(this, _SkyPageSummaryComponent_elRef, "f"), args === SkyMediaBreakpoints.xs);
2165
+ }), "f");
2166
+ }
2167
+ ngAfterContentInit() {
2168
+ if (this.keyInfoComponents) {
2169
+ this.hasKeyInfo = this.keyInfoComponents.length > 0;
2170
+ this.keyInfoComponents.changes
2171
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f")))
2172
+ .subscribe(() => {
2173
+ this.hasKeyInfo =
2174
+ !!this.keyInfoComponents && this.keyInfoComponents.length > 0;
2175
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_changeDetectorRef, "f").markForCheck();
2176
+ });
2177
+ }
2070
2178
  }
2071
2179
  ngOnDestroy() {
2072
2180
  /* istanbul ignore else */
2073
2181
  /* sanity check */
2074
- if (this.breakpointSubscription) {
2075
- this.breakpointSubscription.unsubscribe();
2182
+ if (__classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f")) {
2183
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_breakpointSubscription, "f").unsubscribe();
2076
2184
  }
2185
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").next();
2186
+ __classPrivateFieldGet(this, _SkyPageSummaryComponent_ngUnsubscribe, "f").complete();
2077
2187
  }
2078
2188
  }
2079
- 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 });
2189
+ _SkyPageSummaryComponent_breakpointSubscription = new WeakMap(), _SkyPageSummaryComponent_ngUnsubscribe = new WeakMap(), _SkyPageSummaryComponent_elRef = new WeakMap(), _SkyPageSummaryComponent_adapter = new WeakMap(), _SkyPageSummaryComponent_mediaQueryService = new WeakMap(), _SkyPageSummaryComponent_changeDetectorRef = new WeakMap();
2190
+ 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 });
2080
2191
  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"] }] });
2081
2192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyPageSummaryComponent, decorators: [{
2082
2193
  type: Component,
2083
2194
  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"] }]
2084
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyPageSummaryAdapterService }, { type: i1$2.SkyMediaQueryService }, { type: i1$2.SkyLogService }]; }, propDecorators: { keyInfoComponents: [{
2195
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyPageSummaryAdapterService }, { type: i1$2.SkyMediaQueryService }, { type: i1$2.SkyLogService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { keyInfoComponents: [{
2085
2196
  type: ContentChildren,
2086
2197
  args: [SkyPageSummaryKeyInfoComponent, {
2087
2198
  read: SkyPageSummaryKeyInfoComponent,
@@ -2140,8 +2251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2140
2251
  /**
2141
2252
  * @internal
2142
2253
  */
2143
- class SkyTextExpandModalContext {
2144
- }
2254
+ const SKY_TEXT_EXPAND_MODAL_CONTEXT = new InjectionToken('SkyTextExpandModalContext');
2145
2255
 
2146
2256
  /**
2147
2257
  * @internal
@@ -2155,70 +2265,111 @@ class SkyTextExpandModalComponent {
2155
2265
  this.instance.close();
2156
2266
  }
2157
2267
  }
2158
- 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 });
2159
- 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" }] });
2268
+ 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 });
2269
+ 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" }] });
2160
2270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
2161
2271
  type: Component,
2162
- 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"] }]
2163
- }], ctorParameters: function () { return [{ type: SkyTextExpandModalContext }, { type: i2$2.SkyModalInstance }]; } });
2272
+ 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"] }]
2273
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2274
+ type: Inject,
2275
+ args: [SKY_TEXT_EXPAND_MODAL_CONTEXT]
2276
+ }] }, { type: i1$4.SkyModalInstance }]; } });
2164
2277
 
2278
+ var _SkyTextExpandAdapterService_renderer;
2165
2279
  /**
2166
2280
  * @internal
2167
2281
  */
2168
2282
  class SkyTextExpandAdapterService {
2169
2283
  constructor(rendererFactory) {
2170
- this.rendererFactory = rendererFactory;
2171
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2284
+ _SkyTextExpandAdapterService_renderer.set(this, void 0);
2285
+ __classPrivateFieldSet(this, _SkyTextExpandAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2172
2286
  }
2173
2287
  getContainerHeight(containerEl) {
2174
2288
  return containerEl.nativeElement.offsetHeight;
2175
2289
  }
2176
- setContainerHeight(containerEl, height) {
2177
- if (height === undefined) {
2178
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2179
- }
2180
- else {
2181
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2182
- }
2290
+ removeContainerMaxHeight(containerEl) {
2291
+ __classPrivateFieldGet(this, _SkyTextExpandAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2183
2292
  }
2184
2293
  setText(textEl, text) {
2185
2294
  textEl.nativeElement.textContent = text;
2186
2295
  }
2187
2296
  }
2297
+ _SkyTextExpandAdapterService_renderer = new WeakMap();
2188
2298
  SkyTextExpandAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2189
2299
  SkyTextExpandAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService });
2190
2300
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
2191
2301
  type: Injectable
2192
2302
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2193
2303
 
2304
+ 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;
2194
2305
  /**
2195
2306
  * Auto-incrementing integer used to generate unique ids for text expand components.
2196
2307
  */
2197
2308
  let nextId$1 = 0;
2198
2309
  class SkyTextExpandComponent {
2199
- constructor(resources, modalService, textExpandAdapter) {
2200
- this.resources = resources;
2201
- this.modalService = modalService;
2202
- this.textExpandAdapter = textExpandAdapter;
2203
- /**
2204
- * Specifies the maximum number of text characters to display inline when users select the link
2205
- * to expand the full text. If the text exceeds this limit, then the component expands
2206
- * the full text in a modal instead.
2207
- */
2208
- this.maxExpandedLength = 600;
2209
- /**
2210
- * Specifies the maximum number of newline characters to display inline when users select
2211
- * the link to expand the full text. If the text exceeds this limit, then
2212
- * the component expands the full text in a modal view instead.
2213
- */
2214
- this.maxExpandedNewlines = 2;
2310
+ constructor(resources, modalSvc, textExpandAdapter) {
2311
+ _SkyTextExpandComponent_instances.add(this);
2215
2312
  /**
2216
2313
  * Indicates whether to replace newline characters in truncated text with spaces.
2217
2314
  */
2218
2315
  this.truncateNewlines = true;
2316
+ this.buttonText = '';
2219
2317
  this.contentSectionId = `sky-text-expand-content-${++nextId$1}`;
2220
- this.isExpanded = false;
2221
- this._maxLength = 200;
2318
+ this.expandable = false;
2319
+ this.isModal = false;
2320
+ this.transitionHeight = 1;
2321
+ _SkyTextExpandComponent_collapsedText.set(this, '');
2322
+ _SkyTextExpandComponent_newlineCount.set(this, 0);
2323
+ _SkyTextExpandComponent_seeMoreText.set(this, '');
2324
+ _SkyTextExpandComponent_seeLessText.set(this, '');
2325
+ _SkyTextExpandComponent_textToShow.set(this, '');
2326
+ _SkyTextExpandComponent__maxExpandedLength.set(this, 600);
2327
+ _SkyTextExpandComponent__maxExpandedNewlines.set(this, 2);
2328
+ _SkyTextExpandComponent__maxLength.set(this, 200);
2329
+ _SkyTextExpandComponent__text.set(this, '');
2330
+ _SkyTextExpandComponent__textEl.set(this, void 0);
2331
+ _SkyTextExpandComponent_resources.set(this, void 0);
2332
+ _SkyTextExpandComponent_modalSvc.set(this, void 0);
2333
+ _SkyTextExpandComponent_textExpandAdapter.set(this, void 0);
2334
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_resources, resources, "f");
2335
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_modalSvc, modalSvc, "f");
2336
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textExpandAdapter, textExpandAdapter, "f");
2337
+ }
2338
+ /**
2339
+ * Specifies the maximum number of text characters to display inline when users select the link
2340
+ * to expand the full text. If the text exceeds this limit, then the component expands
2341
+ * the full text in a modal instead.
2342
+ * @default 600
2343
+ */
2344
+ set maxExpandedLength(value) {
2345
+ if (value) {
2346
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, value, "f");
2347
+ }
2348
+ else {
2349
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedLength, 600, "f");
2350
+ }
2351
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2352
+ }
2353
+ get maxExpandedLength() {
2354
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedLength, "f");
2355
+ }
2356
+ /**
2357
+ * Specifies the maximum number of newline characters to display inline when users select
2358
+ * the link to expand the full text. If the text exceeds this limit, then
2359
+ * the component expands the full text in a modal view instead.
2360
+ * @default 2
2361
+ */
2362
+ set maxExpandedNewlines(value) {
2363
+ if (value) {
2364
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, value, "f");
2365
+ }
2366
+ else {
2367
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxExpandedNewlines, 2, "f");
2368
+ }
2369
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2370
+ }
2371
+ get maxExpandedNewlines() {
2372
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxExpandedNewlines, "f");
2222
2373
  }
2223
2374
  /**
2224
2375
  * Specifies the number of text characters to display before truncating the text.
@@ -2227,23 +2378,33 @@ class SkyTextExpandComponent {
2227
2378
  * @default 200
2228
2379
  */
2229
2380
  set maxLength(value) {
2230
- this._maxLength = value;
2231
- /* istanbul ignore else */
2232
- if (this.textEl) {
2233
- this.setup(this.expandedText);
2381
+ if (value) {
2382
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, value, "f");
2383
+ }
2384
+ else {
2385
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__maxLength, 200, "f");
2234
2386
  }
2387
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2235
2388
  }
2236
2389
  get maxLength() {
2237
- return this._maxLength;
2390
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__maxLength, "f");
2238
2391
  }
2239
2392
  /**
2240
2393
  * Specifies the text to truncate.
2241
2394
  */
2242
2395
  set text(value) {
2243
- /* istanbul ignore else */
2244
- if (this.textEl) {
2245
- this.setup(value);
2246
- }
2396
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__text, value ?? '', "f");
2397
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f"));
2398
+ }
2399
+ get text() {
2400
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__text, "f");
2401
+ }
2402
+ set textEl(value) {
2403
+ __classPrivateFieldSet(this, _SkyTextExpandComponent__textEl, value, "f");
2404
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2405
+ }
2406
+ get textEl() {
2407
+ return __classPrivateFieldGet(this, _SkyTextExpandComponent__textEl, "f");
2247
2408
  }
2248
2409
  textExpand() {
2249
2410
  if (this.isModal) {
@@ -2251,12 +2412,12 @@ class SkyTextExpandComponent {
2251
2412
  /* istanbul ignore else */
2252
2413
  /* sanity check */
2253
2414
  if (!this.isExpanded) {
2254
- this.modalService.open(SkyTextExpandModalComponent, [
2415
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_modalSvc, "f").open(SkyTextExpandModalComponent, [
2255
2416
  {
2256
- provide: SkyTextExpandModalContext,
2417
+ provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
2257
2418
  useValue: {
2258
2419
  header: this.expandModalTitle,
2259
- text: this.expandedText,
2420
+ text: this.text,
2260
2421
  },
2261
2422
  },
2262
2423
  ]);
@@ -2265,40 +2426,38 @@ class SkyTextExpandComponent {
2265
2426
  else {
2266
2427
  // Normal View
2267
2428
  if (!this.isExpanded) {
2268
- this.setContainerMaxHeight();
2269
- setTimeout(() => {
2270
- this.isExpanded = true;
2271
- this.animateText(this.collapsedText, this.expandedText, true);
2272
- }, 10);
2429
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, true);
2273
2430
  }
2274
2431
  else {
2275
- this.setContainerMaxHeight();
2276
- setTimeout(() => {
2277
- this.isExpanded = false;
2278
- this.animateText(this.expandedText, this.collapsedText, false);
2279
- }, 10);
2432
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_animateText).call(this, false);
2280
2433
  }
2281
2434
  }
2282
2435
  }
2283
2436
  animationEnd() {
2284
- // Ensure the correct text is displayed
2285
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2286
- // Set height back to auto so the browser can change the height as needed with window changes
2287
- this.textExpandAdapter.setContainerHeight(this.containerEl, undefined);
2437
+ if (this.textEl && this.containerEl) {
2438
+ // Ensure the correct text is displayed
2439
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2440
+ setTimeout(() => {
2441
+ if (this.containerEl) {
2442
+ // Set height back to auto so the browser can change the height as needed with window changes
2443
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").removeContainerMaxHeight(this.containerEl);
2444
+ }
2445
+ });
2446
+ }
2288
2447
  }
2289
2448
  ngAfterContentInit() {
2290
2449
  forkJoin([
2291
- this.resources.getString('skyux_text_expand_see_more'),
2292
- this.resources.getString('skyux_text_expand_see_less'),
2450
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_more'),
2451
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f").getString('skyux_text_expand_see_less'),
2293
2452
  ])
2294
2453
  .pipe(take(1))
2295
2454
  .subscribe((resources) => {
2296
- this.seeMoreText = resources[0];
2297
- this.seeLessText = resources[1];
2298
- this.setup(this.expandedText);
2455
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeMoreText, resources[0], "f");
2456
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_seeLessText, resources[1], "f");
2457
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_setup).call(this, this.text);
2299
2458
  /* istanbul ignore else */
2300
2459
  if (!this.expandModalTitle) {
2301
- this.resources
2460
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_resources, "f")
2302
2461
  .getString('skyux_text_expand_modal_title')
2303
2462
  .pipe(take(1))
2304
2463
  .subscribe((resource) => {
@@ -2307,99 +2466,109 @@ class SkyTextExpandComponent {
2307
2466
  }
2308
2467
  });
2309
2468
  }
2310
- setContainerMaxHeight() {
2311
- // ensure everything is reset
2312
- this.animationEnd();
2313
- /* Before animation is kicked off, ensure that a maxHeight exists */
2314
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2315
- const currentHeight = this.textExpandAdapter.getContainerHeight(this.containerEl);
2316
- this.textExpandAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2317
- }
2318
- setup(value) {
2319
- if (value) {
2320
- this.newlineCount = this.getNewlineCount(value);
2321
- this.collapsedText = this.getTruncatedText(value, this.maxLength);
2322
- this.expandedText = value;
2323
- if (this.collapsedText !== value) {
2324
- this.buttonText = this.seeMoreText;
2325
- this.isExpanded = false;
2326
- this.expandable = true;
2327
- this.isModal =
2328
- this.newlineCount > this.maxExpandedNewlines ||
2329
- this.expandedText.length > this.maxExpandedLength;
2330
- }
2331
- else {
2332
- this.expandable = false;
2333
- }
2334
- this.textToShow = this.collapsedText;
2469
+ }
2470
+ _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) {
2471
+ if (value) {
2472
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_newlineCount, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getNewlineCount).call(this, value), "f");
2473
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_collapsedText, __classPrivateFieldGet(this, _SkyTextExpandComponent_instances, "m", _SkyTextExpandComponent_getTruncatedText).call(this, value, this.maxLength), "f");
2474
+ if (__classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f") !== value) {
2475
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2476
+ this.isExpanded = false;
2477
+ this.expandable = true;
2478
+ this.isModal =
2479
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_newlineCount, "f") > this.maxExpandedNewlines ||
2480
+ this.text.length > this.maxExpandedLength;
2335
2481
  }
2336
2482
  else {
2337
- this.textToShow = '';
2338
2483
  this.expandable = false;
2339
2484
  }
2340
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
2341
- }
2342
- getNewlineCount(value) {
2343
- const matches = value.match(/\n/gi);
2344
- if (matches) {
2345
- return matches.length;
2346
- }
2347
- return 0;
2348
- }
2349
- getTruncatedText(value, length) {
2350
- let i;
2351
- if (this.truncateNewlines) {
2352
- value = value.replace(/\n+/gi, ' ');
2353
- }
2354
- // Jump ahead one character and see if it's a space, and if it isn't,
2355
- // back up to the first space and break there so a word doesn't get cut
2356
- // in half.
2357
- if (length < value.length) {
2358
- for (i = length; i > length - 10; i--) {
2359
- if (/\s/.test(value.charAt(i))) {
2360
- length = i;
2361
- break;
2362
- }
2485
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2486
+ }
2487
+ else {
2488
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, '', "f");
2489
+ this.expandable = false;
2490
+ }
2491
+ if (this.textEl) {
2492
+ __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f").setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_textToShow, "f"));
2493
+ }
2494
+ }, _SkyTextExpandComponent_getNewlineCount = function _SkyTextExpandComponent_getNewlineCount(value) {
2495
+ const matches = value.match(/\n/gi);
2496
+ if (matches) {
2497
+ return matches.length;
2498
+ }
2499
+ return 0;
2500
+ }, _SkyTextExpandComponent_getTruncatedText = function _SkyTextExpandComponent_getTruncatedText(value, length) {
2501
+ let i;
2502
+ if (this.truncateNewlines) {
2503
+ value = value.replace(/\n+/gi, ' ');
2504
+ }
2505
+ // Jump ahead one character and see if it's a space, and if it isn't,
2506
+ // back up to the first space and break there so a word doesn't get cut
2507
+ // in half.
2508
+ if (length < value.length) {
2509
+ for (i = length; i > length - 10; i--) {
2510
+ if (/\s/.test(value.charAt(i))) {
2511
+ length = i;
2512
+ break;
2363
2513
  }
2364
2514
  }
2365
- return value.substr(0, length);
2366
2515
  }
2367
- animateText(previousText, newText, expanding) {
2368
- const adapter = this.textExpandAdapter;
2516
+ return value.substring(0, length);
2517
+ }, _SkyTextExpandComponent_animateText = function _SkyTextExpandComponent_animateText(expanding) {
2518
+ if (this.containerEl && this.textEl) {
2519
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandComponent_textExpandAdapter, "f");
2369
2520
  const container = this.containerEl;
2370
- // Reset max height
2371
- adapter.setContainerHeight(container, undefined);
2372
- // Measure the current height so we can animate from it.
2373
- const currentHeight = adapter.getContainerHeight(container);
2374
- this.textToShow = newText;
2375
- adapter.setText(this.textEl, this.textToShow);
2376
- this.buttonText = expanding ? this.seeLessText : this.seeMoreText;
2521
+ if (expanding) {
2522
+ adapter.setText(this.textEl, this.text);
2523
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, this.text, "f");
2524
+ }
2525
+ else {
2526
+ adapter.setText(this.textEl, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"));
2527
+ __classPrivateFieldSet(this, _SkyTextExpandComponent_textToShow, __classPrivateFieldGet(this, _SkyTextExpandComponent_collapsedText, "f"), "f");
2528
+ }
2529
+ this.buttonText = expanding ? __classPrivateFieldGet(this, _SkyTextExpandComponent_seeLessText, "f") : __classPrivateFieldGet(this, _SkyTextExpandComponent_seeMoreText, "f");
2377
2530
  // Measure the new height so we can animate to it.
2378
2531
  const newHeight = adapter.getContainerHeight(container);
2379
- /* istanbul ignore if */
2380
- if (newHeight < currentHeight) {
2381
- // The new text is smaller than the old text, so put the old text back before doing
2382
- // the collapse animation to avoid showing a big chunk of whitespace.
2383
- adapter.setText(this.textEl, previousText);
2384
- }
2385
- adapter.setContainerHeight(container, `${currentHeight}px`);
2386
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2387
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2388
- setTimeout(() => {
2389
- adapter.setContainerHeight(container, `${newHeight}px`);
2390
- /* This resets values if the transition does not get kicked off */
2391
- setTimeout(() => {
2392
- this.animationEnd();
2393
- }, 500);
2394
- }, 10);
2532
+ this.transitionHeight = newHeight;
2533
+ // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.
2534
+ if (!expanding) {
2535
+ adapter.setText(this.textEl, this.text);
2536
+ }
2537
+ this.isExpanded = expanding;
2395
2538
  }
2396
- }
2397
- 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 });
2398
- 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"] }] });
2539
+ };
2540
+ 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 });
2541
+ 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: [
2542
+ trigger('expansionAnimation', [
2543
+ transition(':enter', []),
2544
+ state('true', style({
2545
+ maxHeight: '{{transitionHeight}}px',
2546
+ }), { params: { transitionHeight: 0 } }),
2547
+ state('false', style({
2548
+ maxHeight: '{{transitionHeight}}px',
2549
+ }), { params: { transitionHeight: 0 } }),
2550
+ transition('true => false', animate('250ms ease')),
2551
+ transition('false => true', animate('250ms ease')),
2552
+ transition('void => *', []),
2553
+ ]),
2554
+ ] });
2399
2555
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
2400
2556
  type: Component,
2401
- 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"] }]
2402
- }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i2$2.SkyModalService }, { type: SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
2557
+ args: [{ animations: [
2558
+ trigger('expansionAnimation', [
2559
+ transition(':enter', []),
2560
+ state('true', style({
2561
+ maxHeight: '{{transitionHeight}}px',
2562
+ }), { params: { transitionHeight: 0 } }),
2563
+ state('false', style({
2564
+ maxHeight: '{{transitionHeight}}px',
2565
+ }), { params: { transitionHeight: 0 } }),
2566
+ transition('true => false', animate('250ms ease')),
2567
+ transition('false => true', animate('250ms ease')),
2568
+ transition('void => *', []),
2569
+ ]),
2570
+ ], 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"] }]
2571
+ }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i1$4.SkyModalService }, { type: SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
2403
2572
  type: Input
2404
2573
  }], maxExpandedLength: [{
2405
2574
  type: Input
@@ -2450,187 +2619,226 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2450
2619
  }]
2451
2620
  }] });
2452
2621
 
2622
+ var _SkyTextExpandRepeaterAdapterService_renderer;
2453
2623
  /**
2454
2624
  * @internal
2455
2625
  */
2456
2626
  class SkyTextExpandRepeaterAdapterService {
2457
2627
  constructor(rendererFactory) {
2458
- this.rendererFactory = rendererFactory;
2459
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
2628
+ _SkyTextExpandRepeaterAdapterService_renderer.set(this, void 0);
2629
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
2460
2630
  }
2461
2631
  getItems(elRef) {
2462
2632
  return elRef.nativeElement.querySelectorAll('.sky-text-expand-repeater-item');
2463
2633
  }
2464
2634
  hideItem(item) {
2465
- this.renderer.setStyle(item, 'display', 'none');
2635
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").setStyle(item, 'display', 'none');
2466
2636
  }
2467
2637
  showItem(item) {
2468
- this.renderer.setStyle(item, 'display', 'list-item');
2638
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(item, 'display');
2469
2639
  }
2470
2640
  getContainerHeight(containerEl) {
2471
2641
  return containerEl.nativeElement.offsetHeight;
2472
2642
  }
2473
- setContainerHeight(containerEl, height) {
2474
- if (height === undefined) {
2475
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
2476
- }
2477
- else {
2478
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
2479
- }
2643
+ removeContainerMaxHeight(containerEl) {
2644
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterAdapterService_renderer, "f").removeStyle(containerEl.nativeElement, 'max-height');
2480
2645
  }
2481
2646
  }
2647
+ _SkyTextExpandRepeaterAdapterService_renderer = new WeakMap();
2482
2648
  SkyTextExpandRepeaterAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2483
2649
  SkyTextExpandRepeaterAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService });
2484
2650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
2485
2651
  type: Injectable
2486
2652
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
2487
2653
 
2654
+ 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;
2488
2655
  /**
2489
2656
  * Auto-incrementing integer used to generate unique ids for text expand repeater components.
2490
2657
  */
2491
2658
  let nextId = 0;
2492
2659
  class SkyTextExpandRepeaterComponent {
2493
2660
  constructor(resources, elRef, textExpandRepeaterAdapter, changeDetector) {
2494
- this.resources = resources;
2495
- this.elRef = elRef;
2496
- this.textExpandRepeaterAdapter = textExpandRepeaterAdapter;
2497
- this.changeDetector = changeDetector;
2661
+ _SkyTextExpandRepeaterComponent_instances.add(this);
2498
2662
  /**
2499
2663
  * Specifies the style of bullet to use
2500
2664
  * @default "unordered"
2501
2665
  */
2502
2666
  this.listStyle = 'unordered';
2667
+ this.buttonText = '';
2668
+ this.expandable = false;
2503
2669
  this.contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;
2504
- this.isExpanded = false;
2670
+ this.transitionHeight = 1;
2671
+ _SkyTextExpandRepeaterComponent_seeMoreText.set(this, '');
2672
+ _SkyTextExpandRepeaterComponent_seeLessText.set(this, '');
2673
+ _SkyTextExpandRepeaterComponent_htmlItems.set(this, void 0);
2674
+ _SkyTextExpandRepeaterComponent__data.set(this, void 0);
2675
+ _SkyTextExpandRepeaterComponent__maxItems.set(this, void 0);
2676
+ _SkyTextExpandRepeaterComponent_resources.set(this, void 0);
2677
+ _SkyTextExpandRepeaterComponent_elRef.set(this, void 0);
2678
+ _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter.set(this, void 0);
2679
+ _SkyTextExpandRepeaterComponent_changeDetector.set(this, void 0);
2680
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_resources, resources, "f");
2681
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_elRef, elRef, "f");
2682
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, textExpandRepeaterAdapter, "f");
2683
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_changeDetector, changeDetector, "f");
2684
+ }
2685
+ /**
2686
+ * Specifies the data to truncate.
2687
+ */
2688
+ set data(value) {
2689
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__data, value, "f");
2690
+ // Wait for the dom to render the new items based on the updated data
2691
+ setTimeout(() => {
2692
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_htmlItems, __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getItems(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_elRef, "f")), "f");
2693
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, value);
2694
+ });
2695
+ }
2696
+ get data() {
2697
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__data, "f");
2698
+ }
2699
+ /**
2700
+ * Specifies the number of items to display before truncating the list. If not supplied, all items are shown.
2701
+ */
2702
+ set maxItems(value) {
2703
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__maxItems, value, "f");
2704
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, this.data);
2705
+ }
2706
+ get maxItems() {
2707
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__maxItems, "f");
2505
2708
  }
2506
2709
  ngAfterViewInit() {
2507
- if (this.contentItems) {
2508
- this.items = this.textExpandRepeaterAdapter.getItems(this.elRef);
2509
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2510
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2511
- }
2512
- }
2513
2710
  forkJoin([
2514
- this.resources.getString('skyux_text_expand_see_more'),
2515
- this.resources.getString('skyux_text_expand_see_less'),
2711
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_more'),
2712
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_less'),
2516
2713
  ])
2517
2714
  .pipe(take(1))
2518
2715
  .subscribe((resources) => {
2519
- this.seeMoreText = resources[0];
2520
- this.seeLessText = resources[1];
2716
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeMoreText, resources[0], "f");
2717
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeLessText, resources[1], "f");
2521
2718
  /* sanity check */
2522
2719
  /* istanbul ignore else */
2523
2720
  if (!this.isExpanded) {
2524
- this.buttonText = this.seeMoreText;
2721
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2525
2722
  }
2526
2723
  else {
2527
- this.buttonText = this.seeLessText;
2724
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2528
2725
  }
2529
- this.changeDetector.detectChanges();
2726
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").detectChanges();
2530
2727
  });
2531
2728
  }
2532
- ngOnChanges(changes) {
2533
- /* istanbul ignore else */
2534
- if (changes.maxItems || changes.data) {
2535
- this.setup(this.data);
2536
- }
2537
- }
2538
2729
  animationEnd() {
2539
- // Ensure the correct items are displayed
2730
+ // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.
2540
2731
  if (!this.isExpanded) {
2541
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2542
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
2543
- }
2732
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2544
2733
  }
2545
- // Set height back to auto so the browser can change the height as needed with window changes
2546
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, undefined);
2734
+ // 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
2735
+ setTimeout(() => {
2736
+ if (this.containerEl) {
2737
+ // Set height back to auto so the browser can change the height as needed with window changes
2738
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").removeContainerMaxHeight(this.containerEl);
2739
+ }
2740
+ });
2547
2741
  }
2548
2742
  repeaterExpand() {
2549
2743
  if (!this.isExpanded) {
2550
- this.setContainerMaxHeight();
2551
- setTimeout(() => {
2552
- this.isExpanded = true;
2553
- this.animateRepeater(true);
2554
- });
2744
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, true);
2555
2745
  }
2556
2746
  else {
2557
- this.setContainerMaxHeight();
2558
- setTimeout(() => {
2559
- this.isExpanded = false;
2560
- this.animateRepeater(false);
2561
- });
2747
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, false);
2562
2748
  }
2563
2749
  }
2564
- setContainerMaxHeight() {
2565
- // ensure everything is reset
2566
- this.animationEnd();
2567
- /* Before animation is kicked off, ensure that a maxHeight exists */
2568
- /* Once we have support for angular v4 animations with parameters we can use that instead */
2569
- const currentHeight = this.textExpandRepeaterAdapter.getContainerHeight(this.containerEl);
2570
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
2571
- }
2572
- animateRepeater(expanding) {
2573
- const adapter = this.textExpandRepeaterAdapter;
2574
- const container = this.containerEl;
2575
- adapter.setContainerHeight(container, undefined);
2576
- const currentHeight = adapter.getContainerHeight(container);
2577
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2578
- if (!expanding) {
2579
- adapter.hideItem(this.items[i]);
2580
- }
2581
- else {
2582
- adapter.showItem(this.items[i]);
2583
- }
2750
+ }
2751
+ _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) {
2752
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f");
2753
+ const container = this.containerEl;
2754
+ if (container) {
2755
+ if (expanding) {
2756
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2757
+ }
2758
+ else {
2759
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2584
2760
  }
2585
2761
  const newHeight = adapter.getContainerHeight(container);
2762
+ this.transitionHeight = newHeight;
2586
2763
  if (!expanding) {
2587
- this.buttonText = this.seeMoreText;
2764
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2588
2765
  }
2589
2766
  else {
2590
- this.buttonText = this.seeLessText;
2767
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
2591
2768
  }
2592
- if (newHeight < currentHeight) {
2593
- // The new text is smaller than the old text, so put the old text back before doing
2594
- // the collapse animation to avoid showing a big chunk of whitespace.
2595
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
2596
- adapter.showItem(this.items[i]);
2597
- }
2598
- }
2599
- adapter.setContainerHeight(container, `${currentHeight}px`);
2600
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
2601
- // in order to do the transtion in height correctly. Without it the transition does not fire.
2602
- setTimeout(() => {
2603
- adapter.setContainerHeight(container, `${newHeight}px`);
2604
- /* This resets values if the transition does not get kicked off */
2605
- setTimeout(() => {
2606
- this.animationEnd();
2607
- }, 500);
2608
- }, 10);
2609
- }
2610
- setup(value) {
2611
- if (value) {
2612
- const length = value.length;
2613
- if (length > this.maxItems) {
2614
- this.expandable = true;
2615
- this.buttonText = this.seeMoreText;
2616
- this.isExpanded = false;
2617
- }
2618
- else {
2619
- this.expandable = false;
2769
+ if (!expanding) {
2770
+ // Show all items during animation for visual purposes.
2771
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
2772
+ }
2773
+ this.isExpanded = expanding;
2774
+ }
2775
+ }, _SkyTextExpandRepeaterComponent_setup = function _SkyTextExpandRepeaterComponent_setup(value) {
2776
+ if (value) {
2777
+ const length = value.length;
2778
+ if (this.maxItems && length > this.maxItems) {
2779
+ this.expandable = true;
2780
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
2781
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
2782
+ if (this.containerEl) {
2783
+ this.transitionHeight =
2784
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getContainerHeight(this.containerEl);
2620
2785
  }
2621
- this.contentItems = value;
2786
+ this.isExpanded = false;
2622
2787
  }
2623
2788
  else {
2624
- this.contentItems = undefined;
2625
2789
  this.expandable = false;
2790
+ this.isExpanded = undefined;
2626
2791
  }
2627
2792
  }
2628
- }
2793
+ else {
2794
+ this.expandable = false;
2795
+ this.isExpanded = undefined;
2796
+ }
2797
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").markForCheck();
2798
+ }, _SkyTextExpandRepeaterComponent_hideItems = function _SkyTextExpandRepeaterComponent_hideItems() {
2799
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2800
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2801
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").hideItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2802
+ }
2803
+ }
2804
+ }, _SkyTextExpandRepeaterComponent_showItems = function _SkyTextExpandRepeaterComponent_showItems() {
2805
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
2806
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
2807
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").showItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
2808
+ }
2809
+ }
2810
+ };
2629
2811
  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 });
2630
- 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"] }] });
2812
+ 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: [
2813
+ trigger('expansionAnimation', [
2814
+ transition(':enter', []),
2815
+ state('true', style({
2816
+ maxHeight: '{{transitionHeight}}px',
2817
+ }), { params: { transitionHeight: 0 } }),
2818
+ state('false', style({
2819
+ maxHeight: '{{transitionHeight}}px',
2820
+ }), { params: { transitionHeight: 0 } }),
2821
+ transition('true => false', animate('250ms ease')),
2822
+ transition('false => true', animate('250ms ease')),
2823
+ transition('void => *', []),
2824
+ ]),
2825
+ ] });
2631
2826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
2632
2827
  type: Component,
2633
- 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"] }]
2828
+ args: [{ animations: [
2829
+ trigger('expansionAnimation', [
2830
+ transition(':enter', []),
2831
+ state('true', style({
2832
+ maxHeight: '{{transitionHeight}}px',
2833
+ }), { params: { transitionHeight: 0 } }),
2834
+ state('false', style({
2835
+ maxHeight: '{{transitionHeight}}px',
2836
+ }), { params: { transitionHeight: 0 } }),
2837
+ transition('true => false', animate('250ms ease')),
2838
+ transition('false => true', animate('250ms ease')),
2839
+ transition('void => *', []),
2840
+ ]),
2841
+ ], 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"] }]
2634
2842
  }], ctorParameters: function () { return [{ type: i1$3.SkyLibResourcesService }, { type: i0.ElementRef }, { type: SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2635
2843
  type: Input
2636
2844
  }], itemTemplate: [{
@@ -2705,8 +2913,8 @@ class SkyToolbarComponent {
2705
2913
  constructor() {
2706
2914
  this.hasSections = false;
2707
2915
  }
2708
- ngAfterContentInit() {
2709
- this.hasSections = this.sectionComponents.length > 0;
2916
+ set sectionComponents(value) {
2917
+ this.hasSections = !!value && value.length > 0;
2710
2918
  }
2711
2919
  }
2712
2920
  SkyToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -2753,5 +2961,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
2753
2961
  * Generated bundle index. Do not edit.
2754
2962
  */
2755
2963
 
2756
- 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 };
2964
+ 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 };
2757
2965
  //# sourceMappingURL=skyux-layout.mjs.map