@skyux/core 5.0.0 → 5.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/bundles/skyux-core-testing.umd.js +11 -13
  2. package/bundles/skyux-core-testing.umd.js.map +1 -1
  3. package/bundles/skyux-core.umd.js +291 -172
  4. package/bundles/skyux-core.umd.js.map +1 -1
  5. package/documentation.json +1079 -773
  6. package/esm2015/modules/adapter-service/adapter.module.js +5 -5
  7. package/esm2015/modules/adapter-service/adapter.service.js +4 -4
  8. package/esm2015/modules/affix/affix.directive.js +4 -4
  9. package/esm2015/modules/affix/affix.module.js +5 -5
  10. package/esm2015/modules/affix/affix.service.js +4 -4
  11. package/esm2015/modules/dock/dock-dom-adapter.service.js +4 -4
  12. package/esm2015/modules/dock/dock.component.js +4 -4
  13. package/esm2015/modules/dock/dock.module.js +5 -5
  14. package/esm2015/modules/dock/dock.service.js +4 -4
  15. package/esm2015/modules/dynamic-component/dynamic-component.module.js +5 -5
  16. package/esm2015/modules/dynamic-component/dynamic-component.service.js +4 -4
  17. package/esm2015/modules/format/app-format.js +4 -4
  18. package/esm2015/modules/id/id.directive.js +4 -4
  19. package/esm2015/modules/id/id.module.js +5 -5
  20. package/esm2015/modules/log/log.module.js +5 -5
  21. package/esm2015/modules/log/log.service.js +4 -4
  22. package/esm2015/modules/media-query/media-query.module.js +5 -5
  23. package/esm2015/modules/media-query/media-query.service.js +4 -4
  24. package/esm2015/modules/mutation/mutation-observer-service.js +4 -4
  25. package/esm2015/modules/numeric/numeric.module.js +5 -5
  26. package/esm2015/modules/numeric/numeric.pipe.js +27 -11
  27. package/esm2015/modules/numeric/numeric.service.js +4 -4
  28. package/esm2015/modules/overlay/overlay-adapter.service.js +4 -4
  29. package/esm2015/modules/overlay/overlay.component.js +4 -4
  30. package/esm2015/modules/overlay/overlay.module.js +5 -5
  31. package/esm2015/modules/overlay/overlay.service.js +4 -4
  32. package/esm2015/modules/percent-pipe/percent-pipe.module.js +5 -5
  33. package/esm2015/modules/percent-pipe/percent.pipe.js +4 -4
  34. package/esm2015/modules/scrollable-host/scrollable-host.service.js +83 -0
  35. package/esm2015/modules/shared/sky-core-resources.module.js +5 -5
  36. package/esm2015/modules/title/title.service.js +4 -4
  37. package/esm2015/modules/ui-config/ui-config.service.js +4 -4
  38. package/esm2015/modules/viewkeeper/viewkeeper-host-options.js +4 -4
  39. package/esm2015/modules/viewkeeper/viewkeeper-options.js +1 -1
  40. package/esm2015/modules/viewkeeper/viewkeeper.directive.js +36 -17
  41. package/esm2015/modules/viewkeeper/viewkeeper.js +16 -11
  42. package/esm2015/modules/viewkeeper/viewkeeper.module.js +5 -5
  43. package/esm2015/modules/viewkeeper/viewkeeper.service.js +4 -4
  44. package/esm2015/modules/window/window-ref.js +4 -4
  45. package/esm2015/public-api.js +2 -1
  46. package/esm2015/testing/mock-media-query.service.js +4 -4
  47. package/esm2015/testing/mock-ui-config.service.js +4 -4
  48. package/fesm2015/skyux-core-testing.js +6 -6
  49. package/fesm2015/skyux-core-testing.js.map +1 -1
  50. package/fesm2015/skyux-core.js +265 -151
  51. package/fesm2015/skyux-core.js.map +1 -1
  52. package/modules/numeric/numeric.pipe.d.ts +8 -2
  53. package/modules/scrollable-host/scrollable-host.service.d.ts +16 -0
  54. package/modules/viewkeeper/viewkeeper-host-options.d.ts +1 -0
  55. package/modules/viewkeeper/viewkeeper-options.d.ts +5 -0
  56. package/modules/viewkeeper/viewkeeper.d.ts +1 -0
  57. package/modules/viewkeeper/viewkeeper.directive.d.ts +5 -2
  58. package/package.json +6 -6
  59. package/public-api.d.ts +1 -0
@@ -3,7 +3,7 @@ import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector,
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { Subject, fromEvent, BehaviorSubject, of } from 'rxjs';
6
- import { takeUntil, debounceTime } from 'rxjs/operators';
6
+ import { takeUntil, debounceTime, take } from 'rxjs/operators';
7
7
  import * as i1 from '@skyux/i18n';
8
8
  import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
9
9
  import * as i3 from '@angular/router';
@@ -16,10 +16,10 @@ import * as i1$1 from '@angular/platform-browser';
16
16
  */
17
17
  class SkyCoreAdapterModule {
18
18
  }
19
- SkyCoreAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- SkyCoreAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterModule });
21
- SkyCoreAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterModule });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterModule, decorators: [{
19
+ SkyCoreAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ SkyCoreAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterModule });
21
+ SkyCoreAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterModule });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{}]
25
25
  }] });
@@ -249,9 +249,9 @@ class SkyCoreAdapterService {
249
249
  return hasBounds;
250
250
  }
251
251
  }
252
- SkyCoreAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
253
- SkyCoreAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterService, providedIn: 'root' });
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreAdapterService, decorators: [{
252
+ SkyCoreAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
253
+ SkyCoreAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterService, providedIn: 'root' });
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreAdapterService, decorators: [{
255
255
  type: Injectable,
256
256
  args: [{
257
257
  providedIn: 'root'
@@ -726,9 +726,9 @@ class SkyAffixService {
726
726
  return new SkyAffixer(affixed.nativeElement, this.renderer);
727
727
  }
728
728
  }
729
- SkyAffixService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
730
- SkyAffixService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixService, providedIn: 'root' });
731
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixService, decorators: [{
729
+ SkyAffixService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
730
+ SkyAffixService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixService, providedIn: 'root' });
731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixService, decorators: [{
732
732
  type: Injectable,
733
733
  args: [{
734
734
  providedIn: 'root'
@@ -797,9 +797,9 @@ class SkyAffixDirective {
797
797
  });
798
798
  }
799
799
  }
800
- SkyAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixDirective, deps: [{ token: i0.ElementRef }, { token: SkyAffixService }], target: i0.ɵɵFactoryTarget.Directive });
801
- SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixDirective, decorators: [{
800
+ SkyAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixDirective, deps: [{ token: i0.ElementRef }, { token: SkyAffixService }], target: i0.ɵɵFactoryTarget.Directive });
801
+ SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixDirective, decorators: [{
803
803
  type: Directive,
804
804
  args: [{
805
805
  selector: '[skyAffixTo]'
@@ -830,12 +830,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
830
830
 
831
831
  class SkyAffixModule {
832
832
  }
833
- SkyAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
834
- SkyAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixModule, declarations: [SkyAffixDirective], imports: [CommonModule], exports: [SkyAffixDirective] });
835
- SkyAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixModule, imports: [[
833
+ SkyAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
834
+ SkyAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixModule, declarations: [SkyAffixDirective], imports: [CommonModule], exports: [SkyAffixDirective] });
835
+ SkyAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixModule, imports: [[
836
836
  CommonModule
837
837
  ]] });
838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAffixModule, decorators: [{
838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAffixModule, decorators: [{
839
839
  type: NgModule,
840
840
  args: [{
841
841
  imports: [
@@ -902,9 +902,9 @@ class MutationObserverService {
902
902
  return new MutationObserver(callback);
903
903
  }
904
904
  }
905
- MutationObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: MutationObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
906
- MutationObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: MutationObserverService, providedIn: 'root' });
907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: MutationObserverService, decorators: [{
905
+ MutationObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MutationObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
906
+ MutationObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MutationObserverService, providedIn: 'root' });
907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MutationObserverService, decorators: [{
908
908
  type: Injectable,
909
909
  args: [{
910
910
  providedIn: 'root'
@@ -978,9 +978,9 @@ class SkyDockDomAdapterService {
978
978
  this.renderer.removeChild(document.head, this.styleElement);
979
979
  }
980
980
  }
981
- SkyDockDomAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockDomAdapterService, deps: [{ token: MutationObserverService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
982
- SkyDockDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockDomAdapterService });
983
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockDomAdapterService, decorators: [{
981
+ SkyDockDomAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockDomAdapterService, deps: [{ token: MutationObserverService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
982
+ SkyDockDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockDomAdapterService });
983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockDomAdapterService, decorators: [{
984
984
  type: Injectable
985
985
  }], ctorParameters: function () { return [{ type: MutationObserverService }, { type: i0.RendererFactory2 }]; } });
986
986
 
@@ -1067,11 +1067,11 @@ class SkyDockComponent {
1067
1067
  return this.itemRefs[0].stackOrder + 1;
1068
1068
  }
1069
1069
  }
1070
- SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.Injector }, { token: SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1071
- SkyDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyDockComponent, selector: "sky-dock", providers: [
1070
+ SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.Injector }, { token: SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
1071
+ SkyDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyDockComponent, selector: "sky-dock", providers: [
1072
1072
  SkyDockDomAdapterService
1073
1073
  ], viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container\n #target\n></ng-container>", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:0;bottom:0;right:0}:host.sky-dock-sticky{position:sticky}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockComponent, decorators: [{
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockComponent, decorators: [{
1075
1075
  type: Component,
1076
1076
  args: [{
1077
1077
  selector: 'sky-dock',
@@ -1092,14 +1092,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1092
1092
 
1093
1093
  class SkyDockModule {
1094
1094
  }
1095
- SkyDockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1096
- SkyDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockModule, declarations: [SkyDockComponent], imports: [CommonModule] });
1097
- SkyDockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockModule, providers: [
1095
+ SkyDockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1096
+ SkyDockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockModule, declarations: [SkyDockComponent], imports: [CommonModule] });
1097
+ SkyDockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockModule, providers: [
1098
1098
  MutationObserverService
1099
1099
  ], imports: [[
1100
1100
  CommonModule
1101
1101
  ]] });
1102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockModule, decorators: [{
1102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockModule, decorators: [{
1103
1103
  type: NgModule,
1104
1104
  args: [{
1105
1105
  imports: [
@@ -1163,9 +1163,9 @@ class SkyAppWindowRef {
1163
1163
  return getWindow();
1164
1164
  }
1165
1165
  }
1166
- SkyAppWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppWindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1167
- SkyAppWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppWindowRef, providedIn: 'root' });
1168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppWindowRef, decorators: [{
1166
+ SkyAppWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppWindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1167
+ SkyAppWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppWindowRef, providedIn: 'root' });
1168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppWindowRef, decorators: [{
1169
1169
  type: Injectable,
1170
1170
  args: [{
1171
1171
  providedIn: 'root'
@@ -1238,9 +1238,9 @@ class SkyDynamicComponentService {
1238
1238
  return componentRef.hostView.rootNodes[0];
1239
1239
  }
1240
1240
  }
1241
- SkyDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: SkyAppWindowRef }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
1242
- SkyDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentService, providedIn: 'any' });
1243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentService, decorators: [{
1241
+ SkyDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: SkyAppWindowRef }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
1242
+ SkyDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentService, providedIn: 'any' });
1243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentService, decorators: [{
1244
1244
  type: Injectable,
1245
1245
  args: [{
1246
1246
  // Must be 'any' so that the component is created in the context of its module's injector.
@@ -1324,9 +1324,9 @@ class SkyDockService {
1324
1324
  this.dockRef = undefined;
1325
1325
  }
1326
1326
  }
1327
- SkyDockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockService, deps: [{ token: SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
1328
- SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockService, providedIn: 'root' });
1329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDockService, decorators: [{
1327
+ SkyDockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockService, deps: [{ token: SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
1328
+ SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockService, providedIn: 'root' });
1329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDockService, decorators: [{
1330
1330
  type: Injectable,
1331
1331
  args: [{
1332
1332
  providedIn: 'root'
@@ -1340,10 +1340,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1340
1340
  */
1341
1341
  class SkyDynamicComponentModule {
1342
1342
  }
1343
- SkyDynamicComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1344
- SkyDynamicComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentModule });
1345
- SkyDynamicComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentModule });
1346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyDynamicComponentModule, decorators: [{
1343
+ SkyDynamicComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1344
+ SkyDynamicComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentModule });
1345
+ SkyDynamicComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentModule });
1346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyDynamicComponentModule, decorators: [{
1347
1347
  type: NgModule,
1348
1348
  args: [{}]
1349
1349
  }] });
@@ -1355,9 +1355,9 @@ class SkyAppFormat {
1355
1355
  });
1356
1356
  }
1357
1357
  }
1358
- SkyAppFormat.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppFormat, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1359
- SkyAppFormat.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppFormat, providedIn: 'root' });
1360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppFormat, decorators: [{
1358
+ SkyAppFormat.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppFormat, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1359
+ SkyAppFormat.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppFormat, providedIn: 'root' });
1360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppFormat, decorators: [{
1361
1361
  type: Injectable,
1362
1362
  args: [{
1363
1363
  providedIn: 'root'
@@ -1386,9 +1386,9 @@ class SkyIdDirective {
1386
1386
  return this._id;
1387
1387
  }
1388
1388
  }
1389
- SkyIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1390
- SkyIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 });
1391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdDirective, decorators: [{
1389
+ SkyIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1390
+ SkyIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SkyIdDirective, selector: "[skyId]", exportAs: ["skyId"], ngImport: i0 });
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdDirective, decorators: [{
1392
1392
  type: Directive,
1393
1393
  args: [{
1394
1394
  selector: '[skyId]',
@@ -1398,10 +1398,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1398
1398
 
1399
1399
  class SkyIdModule {
1400
1400
  }
1401
- SkyIdModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1402
- SkyIdModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdModule, declarations: [SkyIdDirective], exports: [SkyIdDirective] });
1403
- SkyIdModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdModule });
1404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyIdModule, decorators: [{
1401
+ SkyIdModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1402
+ SkyIdModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdModule, declarations: [SkyIdDirective], exports: [SkyIdDirective] });
1403
+ SkyIdModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdModule });
1404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyIdModule, decorators: [{
1405
1405
  type: NgModule,
1406
1406
  args: [{
1407
1407
  declarations: [
@@ -1419,10 +1419,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1419
1419
  */
1420
1420
  class SkyLogModule {
1421
1421
  }
1422
- SkyLogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1423
- SkyLogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogModule });
1424
- SkyLogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogModule });
1425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogModule, decorators: [{
1422
+ SkyLogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1423
+ SkyLogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogModule });
1424
+ SkyLogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogModule });
1425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogModule, decorators: [{
1426
1426
  type: NgModule,
1427
1427
  args: [{}]
1428
1428
  }] });
@@ -1438,9 +1438,9 @@ class SkyLogService {
1438
1438
  }
1439
1439
  }
1440
1440
  }
1441
- SkyLogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1442
- SkyLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogService, providedIn: 'root' });
1443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyLogService, decorators: [{
1441
+ SkyLogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1442
+ SkyLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogService, providedIn: 'root' });
1443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyLogService, decorators: [{
1444
1444
  type: Injectable,
1445
1445
  args: [{
1446
1446
  providedIn: 'root'
@@ -1453,10 +1453,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1453
1453
  */
1454
1454
  class SkyMediaQueryModule {
1455
1455
  }
1456
- SkyMediaQueryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1457
- SkyMediaQueryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryModule });
1458
- SkyMediaQueryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryModule });
1459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryModule, decorators: [{
1456
+ SkyMediaQueryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1457
+ SkyMediaQueryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryModule });
1458
+ SkyMediaQueryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryModule });
1459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryModule, decorators: [{
1460
1460
  type: NgModule,
1461
1461
  args: [{}]
1462
1462
  }] });
@@ -1565,9 +1565,9 @@ SkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
1565
1565
  * The size for the `lg` breakpoint.
1566
1566
  */
1567
1567
  SkyMediaQueryService.lg = '(min-width: 1200px)';
1568
- SkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1569
- SkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryService, providedIn: 'root' });
1570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyMediaQueryService, decorators: [{
1568
+ SkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1569
+ SkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryService, providedIn: 'root' });
1570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyMediaQueryService, decorators: [{
1571
1571
  type: Injectable,
1572
1572
  args: [{
1573
1573
  providedIn: 'root'
@@ -1593,14 +1593,14 @@ class SkyCoreResourcesProvider {
1593
1593
  */
1594
1594
  class SkyCoreResourcesModule {
1595
1595
  }
1596
- SkyCoreResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1597
- SkyCoreResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreResourcesModule, exports: [SkyI18nModule] });
1598
- SkyCoreResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreResourcesModule, providers: [{
1596
+ SkyCoreResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1597
+ SkyCoreResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreResourcesModule, exports: [SkyI18nModule] });
1598
+ SkyCoreResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreResourcesModule, providers: [{
1599
1599
  provide: SKY_LIB_RESOURCES_PROVIDERS,
1600
1600
  useClass: SkyCoreResourcesProvider,
1601
1601
  multi: true
1602
1602
  }], imports: [SkyI18nModule] });
1603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyCoreResourcesModule, decorators: [{
1603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyCoreResourcesModule, decorators: [{
1604
1604
  type: NgModule,
1605
1605
  args: [{
1606
1606
  exports: [SkyI18nModule],
@@ -1892,9 +1892,9 @@ class SkyNumericService {
1892
1892
  return this.resourcesService.getStringForLocale({ locale: 'en_US' }, key);
1893
1893
  }
1894
1894
  }
1895
- SkyNumericService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
1896
- SkyNumericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericService, providedIn: 'any' });
1897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericService, decorators: [{
1895
+ SkyNumericService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
1896
+ SkyNumericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericService, providedIn: 'any' });
1897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericService, decorators: [{
1898
1898
  type: Injectable,
1899
1899
  args: [{
1900
1900
  providedIn: 'any'
@@ -1912,14 +1912,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
1912
1912
  * ```
1913
1913
  */
1914
1914
  class SkyNumericPipe {
1915
- constructor(localeProvider, numericService) {
1915
+ constructor(localeProvider, numericService, changeDetector) {
1916
1916
  this.localeProvider = localeProvider;
1917
1917
  this.numericService = numericService;
1918
+ this.changeDetector = changeDetector;
1918
1919
  this.ngUnsubscribe = new Subject();
1919
1920
  this.localeProvider.getLocaleInfo()
1920
1921
  .pipe(takeUntil(this.ngUnsubscribe))
1921
1922
  .subscribe((localeInfo) => {
1922
- numericService.currentLocale = localeInfo.locale;
1923
+ this.providerLocale = localeInfo.locale;
1924
+ numericService.currentLocale = this.providerLocale;
1925
+ this.changeDetector.markForCheck();
1923
1926
  });
1924
1927
  }
1925
1928
  ngOnDestroy() {
@@ -1927,13 +1930,20 @@ class SkyNumericPipe {
1927
1930
  this.ngUnsubscribe.complete();
1928
1931
  }
1929
1932
  transform(value, config) {
1933
+ var _a;
1934
+ let newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') + `${value}_${(config === null || config === void 0 ? void 0 : config.locale) || this.providerLocale}`;
1935
+ /* If the value and locale are the same as the last transform then return the previous value
1936
+ instead of reformatting. */
1937
+ if (this.formattedValue && this.cacheKey === newCacheKey) {
1938
+ return this.formattedValue;
1939
+ }
1930
1940
  const options = new NumericOptions();
1931
1941
  // The default number of digits is `1`. When truncate is disabled, set digits
1932
1942
  // to `0` to avoid the unnecessary addition of `.0` at the end of the formatted number.
1933
1943
  if (config &&
1934
1944
  config.truncate === false &&
1935
1945
  config.digits === undefined) {
1936
- config.digits = 0;
1946
+ options.digits = 0;
1937
1947
  }
1938
1948
  // If the minimum digits is less than the set maximum digits then throw an error
1939
1949
  if (config &&
@@ -1946,33 +1956,39 @@ class SkyNumericPipe {
1946
1956
  else if (config &&
1947
1957
  config.minDigits &&
1948
1958
  !config.digits) {
1949
- config.digits = config.minDigits;
1959
+ options.digits = config.minDigits;
1950
1960
  }
1951
1961
  Object.assign(options, config);
1952
- return this.numericService.formatNumber(value, options);
1962
+ // Assign properties for proper result caching.
1963
+ this.rawValue = value;
1964
+ this.lastTransformLocale = (_a = config === null || config === void 0 ? void 0 : config.locale) !== null && _a !== void 0 ? _a : this.providerLocale;
1965
+ this.cacheKey = newCacheKey;
1966
+ this.formattedValue = this.numericService.formatNumber(value, options);
1967
+ return this.formattedValue;
1953
1968
  }
1954
1969
  }
1955
- SkyNumericPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericPipe, deps: [{ token: i1.SkyAppLocaleProvider }, { token: SkyNumericService }], target: i0.ɵɵFactoryTarget.Pipe });
1956
- SkyNumericPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericPipe, name: "skyNumeric" });
1957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericPipe, decorators: [{
1970
+ SkyNumericPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericPipe, deps: [{ token: i1.SkyAppLocaleProvider }, { token: SkyNumericService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
1971
+ SkyNumericPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericPipe, name: "skyNumeric", pure: false });
1972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericPipe, decorators: [{
1958
1973
  type: Pipe,
1959
1974
  args: [{
1960
- name: 'skyNumeric'
1975
+ name: 'skyNumeric',
1976
+ pure: false
1961
1977
  }]
1962
- }], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }, { type: SkyNumericService }]; } });
1978
+ }], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }, { type: SkyNumericService }, { type: i0.ChangeDetectorRef }]; } });
1963
1979
 
1964
1980
  class SkyNumericModule {
1965
1981
  }
1966
- SkyNumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1967
- SkyNumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericModule, declarations: [SkyNumericPipe], imports: [SkyI18nModule,
1982
+ SkyNumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1983
+ SkyNumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericModule, declarations: [SkyNumericPipe], imports: [SkyI18nModule,
1968
1984
  SkyCoreResourcesModule], exports: [SkyNumericPipe] });
1969
- SkyNumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericModule, providers: [
1985
+ SkyNumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericModule, providers: [
1970
1986
  SkyNumericPipe
1971
1987
  ], imports: [[
1972
1988
  SkyI18nModule,
1973
1989
  SkyCoreResourcesModule
1974
1990
  ]] });
1975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyNumericModule, decorators: [{
1991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyNumericModule, decorators: [{
1976
1992
  type: NgModule,
1977
1993
  args: [{
1978
1994
  declarations: [
@@ -2166,9 +2182,9 @@ class SkyOverlayComponent {
2166
2182
  }
2167
2183
  }
2168
2184
  }
2169
- SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: SkyCoreAdapterService }, { token: SkyOverlayContext }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2170
- SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyOverlayComponent, selector: "sky-overlay", viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div\n class=\"sky-overlay-content\"\n #overlayContentRef\n >\n <ng-template\n #target\n >\n </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\"\n class=\"sky-overlay-backdrop\"\n ></div>\n</div>\n", styles: [".sky-overlay{position:fixed;top:0;right:0;left:0;bottom:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);top:0;right:0;left:0;bottom:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayComponent, decorators: [{
2185
+ SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: SkyCoreAdapterService }, { token: SkyOverlayContext }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2186
+ SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyOverlayComponent, selector: "sky-overlay", viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div\n class=\"sky-overlay-content\"\n #overlayContentRef\n >\n <ng-template\n #target\n >\n </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\"\n class=\"sky-overlay-backdrop\"\n ></div>\n</div>\n", styles: [".sky-overlay{position:fixed;top:0;right:0;left:0;bottom:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);top:0;right:0;left:0;bottom:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayComponent, decorators: [{
2172
2188
  type: Component,
2173
2189
  args: [{
2174
2190
  selector: 'sky-overlay',
@@ -2200,12 +2216,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2200
2216
 
2201
2217
  class SkyOverlayModule {
2202
2218
  }
2203
- SkyOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2204
- SkyOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] });
2205
- SkyOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayModule, imports: [[
2219
+ SkyOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2220
+ SkyOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] });
2221
+ SkyOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayModule, imports: [[
2206
2222
  CommonModule
2207
2223
  ]] });
2208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayModule, decorators: [{
2224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayModule, decorators: [{
2209
2225
  type: NgModule,
2210
2226
  args: [{
2211
2227
  imports: [
@@ -2250,9 +2266,9 @@ class SkyOverlayAdapterService {
2250
2266
  }
2251
2267
  }
2252
2268
  }
2253
- SkyOverlayAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2254
- SkyOverlayAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' });
2255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
2269
+ SkyOverlayAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
2270
+ SkyOverlayAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' });
2271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
2256
2272
  type: Injectable,
2257
2273
  args: [{
2258
2274
  providedIn: 'root'
@@ -2361,9 +2377,9 @@ class SkyOverlayService {
2361
2377
  }
2362
2378
  }
2363
2379
  SkyOverlayService.overlays = [];
2364
- SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
2365
- SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
2366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyOverlayService, decorators: [{
2380
+ SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
2381
+ SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
2382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyOverlayService, decorators: [{
2367
2383
  type: Injectable,
2368
2384
  args: [{
2369
2385
  providedIn: 'root'
@@ -2400,9 +2416,9 @@ class SkyPercentPipe {
2400
2416
  this.formattedValue = SkyNumberFormatUtility.formatNumber(locale, this.value, SkyIntlNumberFormatStyle.Percent, format);
2401
2417
  }
2402
2418
  }
2403
- SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
2404
- SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
2405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipe, decorators: [{
2419
+ SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
2420
+ SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
2421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipe, decorators: [{
2406
2422
  type: Pipe,
2407
2423
  args: [{
2408
2424
  name: 'skyPercent',
@@ -2412,16 +2428,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2412
2428
 
2413
2429
  class SkyPercentPipeModule {
2414
2430
  }
2415
- SkyPercentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2416
- SkyPercentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule,
2431
+ SkyPercentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2432
+ SkyPercentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule,
2417
2433
  SkyCoreResourcesModule], exports: [SkyPercentPipe] });
2418
- SkyPercentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipeModule, providers: [
2434
+ SkyPercentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipeModule, providers: [
2419
2435
  SkyPercentPipe
2420
2436
  ], imports: [[
2421
2437
  CommonModule,
2422
2438
  SkyCoreResourcesModule
2423
2439
  ]] });
2424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
2440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
2425
2441
  type: NgModule,
2426
2442
  args: [{
2427
2443
  declarations: [
@@ -2440,6 +2456,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2440
2456
  }]
2441
2457
  }] });
2442
2458
 
2459
+ class SkyScrollableHostService {
2460
+ constructor(mutationObserverSvc, windowRef) {
2461
+ this.mutationObserverSvc = mutationObserverSvc;
2462
+ this.windowRef = windowRef;
2463
+ }
2464
+ getScrollabeHost(elementRef) {
2465
+ return this.findScrollableHost(elementRef.nativeElement);
2466
+ }
2467
+ watchScrollableHost(elementRef, completionObservable) {
2468
+ let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
2469
+ let behaviorSubject = new BehaviorSubject(scrollableHost);
2470
+ const mutationObserver = this.mutationObserverSvc.create(() => {
2471
+ let newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
2472
+ if (newScrollableHost !== scrollableHost) {
2473
+ scrollableHost = newScrollableHost;
2474
+ this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
2475
+ behaviorSubject.next(scrollableHost);
2476
+ }
2477
+ });
2478
+ this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
2479
+ completionObservable.pipe(take(1)).subscribe(() => {
2480
+ mutationObserver.disconnect();
2481
+ });
2482
+ return behaviorSubject;
2483
+ }
2484
+ findScrollableHost(element) {
2485
+ const regex = /(auto|scroll)/;
2486
+ const windowObj = this.windowRef.nativeWindow;
2487
+ const bodyObj = windowObj.document.body;
2488
+ /* Sanity check */
2489
+ if (!element) {
2490
+ return windowObj;
2491
+ }
2492
+ let style = windowObj.getComputedStyle(element);
2493
+ let parent = element;
2494
+ do {
2495
+ parent = parent.parentNode;
2496
+ /* Sanity check for if this function is called for an element which has been removed from the DOM */
2497
+ if (!(parent instanceof HTMLElement)) {
2498
+ return windowObj;
2499
+ }
2500
+ style = windowObj.getComputedStyle(parent);
2501
+ } while (!regex.test(style.overflow) &&
2502
+ !regex.test(style.overflowY) &&
2503
+ parent !== bodyObj);
2504
+ if (parent === bodyObj) {
2505
+ return windowObj;
2506
+ }
2507
+ return parent;
2508
+ }
2509
+ observeForScrollableHostChanges(element, mutationObserver) {
2510
+ mutationObserver.disconnect();
2511
+ if (element instanceof HTMLElement) {
2512
+ mutationObserver.observe(element, {
2513
+ attributes: true,
2514
+ attributeFilter: ["class", "style.overflow", "style.overflow-y"],
2515
+ subtree: true
2516
+ });
2517
+ }
2518
+ else {
2519
+ mutationObserver.observe(document.documentElement, {
2520
+ attributes: true,
2521
+ attributeFilter: ["class", "style.overflow", "style.overflow-y"],
2522
+ subtree: true
2523
+ });
2524
+ }
2525
+ }
2526
+ }
2527
+ SkyScrollableHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyScrollableHostService, deps: [{ token: MutationObserverService }, { token: SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
2528
+ SkyScrollableHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyScrollableHostService, providedIn: 'root' });
2529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyScrollableHostService, decorators: [{
2530
+ type: Injectable,
2531
+ args: [{
2532
+ providedIn: 'root'
2533
+ }]
2534
+ }], ctorParameters: function () { return [{ type: MutationObserverService }, { type: SkyAppWindowRef }]; } });
2535
+
2443
2536
  /**
2444
2537
  * Provides a method for setting a formatted title on the current window.
2445
2538
  */
@@ -2458,9 +2551,9 @@ class SkyAppTitleService {
2458
2551
  }
2459
2552
  }
2460
2553
  }
2461
- SkyAppTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppTitleService, deps: [{ token: i1$1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
2462
- SkyAppTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppTitleService, providedIn: 'root' });
2463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyAppTitleService, decorators: [{
2554
+ SkyAppTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppTitleService, deps: [{ token: i1$1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
2555
+ SkyAppTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppTitleService, providedIn: 'root' });
2556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyAppTitleService, decorators: [{
2464
2557
  type: Injectable,
2465
2558
  args: [{
2466
2559
  providedIn: 'root'
@@ -2476,9 +2569,9 @@ class SkyUIConfigService {
2476
2569
  return of({});
2477
2570
  }
2478
2571
  }
2479
- SkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyUIConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2480
- SkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyUIConfigService, providedIn: 'root' });
2481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyUIConfigService, decorators: [{
2572
+ SkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyUIConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2573
+ SkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyUIConfigService, providedIn: 'root' });
2574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyUIConfigService, decorators: [{
2482
2575
  type: Injectable,
2483
2576
  args: [{
2484
2577
  providedIn: 'root'
@@ -2487,9 +2580,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2487
2580
 
2488
2581
  class SkyViewkeeperHostOptions {
2489
2582
  }
2490
- SkyViewkeeperHostOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperHostOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2491
- SkyViewkeeperHostOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperHostOptions });
2492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperHostOptions, decorators: [{
2583
+ SkyViewkeeperHostOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperHostOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2584
+ SkyViewkeeperHostOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperHostOptions });
2585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperHostOptions, decorators: [{
2493
2586
  type: Injectable
2494
2587
  }] });
2495
2588
 
@@ -2521,11 +2614,12 @@ function nextId() {
2521
2614
  nextIdIndex = (nextIdIndex || 0) + 1;
2522
2615
  return 'viewkeeper-' + nextIdIndex;
2523
2616
  }
2524
- function getOffset(el) {
2617
+ function getOffset(el, scrollableHost) {
2525
2618
  const rect = el.getBoundingClientRect();
2619
+ const parent = scrollableHost ? scrollableHost : document.documentElement;
2526
2620
  return {
2527
- top: rect.top + document.documentElement.scrollTop,
2528
- left: rect.left + document.documentElement.scrollLeft
2621
+ top: rect.top + parent.scrollTop,
2622
+ left: rect.left + parent.scrollLeft
2529
2623
  };
2530
2624
  }
2531
2625
  function px(value) {
@@ -2561,6 +2655,7 @@ class SkyViewkeeper {
2561
2655
  this.id = nextId();
2562
2656
  this.el = options.el;
2563
2657
  this.boundaryEl = options.boundaryEl;
2658
+ this.scrollableHost = options.scrollableHost;
2564
2659
  this.verticalOffset = options.verticalOffset || 0;
2565
2660
  this.verticalOffsetEl = options.verticalOffsetEl;
2566
2661
  this.viewportMarginTop = options.viewportMarginTop || 0;
@@ -2568,7 +2663,7 @@ class SkyViewkeeper {
2568
2663
  if (this.verticalOffsetEl) {
2569
2664
  this.verticalOffsetEl.addEventListener(EVT_AFTER_VIEWKEEPER_SYNC, this.syncElPositionHandler);
2570
2665
  }
2571
- window.addEventListener('scroll', this.syncElPositionHandler);
2666
+ window.addEventListener('scroll', this.syncElPositionHandler, true);
2572
2667
  window.addEventListener('resize', this.syncElPositionHandler);
2573
2668
  window.addEventListener('orientationchange', this.syncElPositionHandler);
2574
2669
  ensureStyleEl();
@@ -2596,7 +2691,7 @@ class SkyViewkeeper {
2596
2691
  }
2597
2692
  destroy() {
2598
2693
  if (!this.isDestroyed) {
2599
- window.removeEventListener('scroll', this.syncElPositionHandler);
2694
+ window.removeEventListener('scroll', this.syncElPositionHandler, true);
2600
2695
  window.removeEventListener('resize', this.syncElPositionHandler);
2601
2696
  window.removeEventListener('orientationchange', this.syncElPositionHandler);
2602
2697
  this.unfixEl();
@@ -2634,16 +2729,19 @@ class SkyViewkeeper {
2634
2729
  const verticalOffsetElTop = parseInt(verticalOffsetElTopStyle, 10) || 0;
2635
2730
  offset += (this.verticalOffsetEl.offsetHeight + verticalOffsetElTop);
2636
2731
  }
2732
+ else if (this.scrollableHost) {
2733
+ offset += this.scrollableHost.getBoundingClientRect().top;
2734
+ }
2637
2735
  return offset;
2638
2736
  }
2639
2737
  shouldFixEl(boundaryInfo, verticalOffset) {
2640
2738
  let anchorTop;
2641
2739
  let doFixEl;
2642
2740
  if (boundaryInfo.spacerEl) {
2643
- anchorTop = getOffset(boundaryInfo.spacerEl).top;
2741
+ anchorTop = getOffset(boundaryInfo.spacerEl, this.scrollableHost).top;
2644
2742
  }
2645
2743
  else {
2646
- anchorTop = getOffset(this.el).top;
2744
+ anchorTop = getOffset(this.el, this.scrollableHost).top;
2647
2745
  }
2648
2746
  doFixEl = boundaryInfo.scrollTop + verticalOffset + this.viewportMarginTop > anchorTop;
2649
2747
  return doFixEl;
@@ -2702,11 +2800,11 @@ class SkyViewkeeper {
2702
2800
  const spacerId = this.getSpacerId();
2703
2801
  const spacerEl = document.getElementById(spacerId);
2704
2802
  const boundaryEl = this.boundaryEl;
2705
- const boundaryOffset = getOffset(boundaryEl);
2803
+ const boundaryOffset = getOffset(boundaryEl, this.scrollableHost);
2706
2804
  const boundaryTop = boundaryOffset.top;
2707
2805
  const boundaryBottom = boundaryTop + boundaryEl.getBoundingClientRect().height;
2708
- const scrollLeft = document.documentElement.scrollLeft;
2709
- const scrollTop = document.documentElement.scrollTop;
2806
+ const scrollLeft = this.scrollableHost ? this.scrollableHost.scrollLeft : document.documentElement.scrollLeft;
2807
+ const scrollTop = this.scrollableHost ? this.scrollableHost.scrollTop : document.documentElement.scrollTop;
2710
2808
  const elHeight = getHeightWithMargin(this.el);
2711
2809
  return {
2712
2810
  boundaryBottom,
@@ -2744,9 +2842,9 @@ class SkyViewkeeperService {
2744
2842
  vk.destroy();
2745
2843
  }
2746
2844
  }
2747
- SkyViewkeeperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperService, deps: [{ token: SkyViewkeeperHostOptions, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2748
- SkyViewkeeperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperService, providedIn: 'root' });
2749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperService, decorators: [{
2845
+ SkyViewkeeperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperService, deps: [{ token: SkyViewkeeperHostOptions, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2846
+ SkyViewkeeperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperService, providedIn: 'root' });
2847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperService, decorators: [{
2750
2848
  type: Injectable,
2751
2849
  args: [{
2752
2850
  providedIn: 'root'
@@ -2756,11 +2854,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2756
2854
  }] }]; } });
2757
2855
 
2758
2856
  class SkyViewkeeperDirective {
2759
- constructor(el, mutationObserverSvc, viewkeeperSvc) {
2857
+ constructor(el, mutationObserverSvc, viewkeeperSvc, scrollableHostService) {
2760
2858
  this.el = el;
2761
2859
  this.mutationObserverSvc = mutationObserverSvc;
2762
2860
  this.viewkeeperSvc = viewkeeperSvc;
2861
+ this.scrollableHostService = scrollableHostService;
2763
2862
  this.viewkeepers = [];
2863
+ this.scrollableHostWatchUnsubscribe = undefined;
2764
2864
  }
2765
2865
  set skyViewkeeper(value) {
2766
2866
  this._skyViewkeeper = value;
@@ -2816,38 +2916,52 @@ class SkyViewkeeperDirective {
2816
2916
  detectElements() {
2817
2917
  let viewkeeperEls = this.getViewkeeperEls();
2818
2918
  if (this.viewkeeperElsChanged(viewkeeperEls)) {
2819
- this.destroyViewkeepers();
2820
- let previousViewkeeperEl;
2821
- for (const viewkeeperEl of viewkeeperEls) {
2822
- this.viewkeepers.push(this.viewkeeperSvc.create({
2823
- boundaryEl: this.el.nativeElement,
2824
- el: viewkeeperEl,
2825
- setWidth: true,
2826
- verticalOffsetEl: previousViewkeeperEl
2827
- }));
2828
- previousViewkeeperEl = viewkeeperEl;
2919
+ if (this.scrollableHostWatchUnsubscribe) {
2920
+ this.scrollableHostWatchUnsubscribe.next();
2921
+ this.scrollableHostWatchUnsubscribe = new Subject();
2922
+ }
2923
+ else {
2924
+ this.scrollableHostWatchUnsubscribe = new Subject();
2829
2925
  }
2926
+ this.scrollableHostService.watchScrollableHost(this.el, this.scrollableHostWatchUnsubscribe)
2927
+ .pipe(takeUntil(this.scrollableHostWatchUnsubscribe))
2928
+ .subscribe(scrollableHost => {
2929
+ this.destroyViewkeepers();
2930
+ let previousViewkeeperEl;
2931
+ for (const viewkeeperEl of viewkeeperEls) {
2932
+ this.viewkeepers.push(this.viewkeeperSvc.create({
2933
+ boundaryEl: this.el.nativeElement,
2934
+ scrollableHost: scrollableHost instanceof HTMLElement ? scrollableHost : undefined,
2935
+ el: viewkeeperEl,
2936
+ setWidth: true,
2937
+ verticalOffsetEl: previousViewkeeperEl
2938
+ }));
2939
+ previousViewkeeperEl = viewkeeperEl;
2940
+ }
2941
+ });
2830
2942
  this.currentViewkeeperEls = viewkeeperEls;
2831
2943
  }
2832
2944
  }
2833
2945
  }
2834
- SkyViewkeeperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperDirective, deps: [{ token: i0.ElementRef }, { token: MutationObserverService }, { token: SkyViewkeeperService }], target: i0.ɵɵFactoryTarget.Directive });
2835
- SkyViewkeeperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyViewkeeperDirective, selector: "[skyViewkeeper]", inputs: { skyViewkeeper: "skyViewkeeper" }, ngImport: i0 });
2836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperDirective, decorators: [{
2946
+ SkyViewkeeperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperDirective, deps: [{ token: i0.ElementRef }, { token: MutationObserverService }, { token: SkyViewkeeperService }, { token: SkyScrollableHostService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2947
+ SkyViewkeeperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SkyViewkeeperDirective, selector: "[skyViewkeeper]", inputs: { skyViewkeeper: "skyViewkeeper" }, ngImport: i0 });
2948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperDirective, decorators: [{
2837
2949
  type: Directive,
2838
2950
  args: [{
2839
2951
  selector: '[skyViewkeeper]'
2840
2952
  }]
2841
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MutationObserverService }, { type: SkyViewkeeperService }]; }, propDecorators: { skyViewkeeper: [{
2953
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MutationObserverService }, { type: SkyViewkeeperService }, { type: SkyScrollableHostService, decorators: [{
2954
+ type: Optional
2955
+ }] }]; }, propDecorators: { skyViewkeeper: [{
2842
2956
  type: Input
2843
2957
  }] } });
2844
2958
 
2845
2959
  class SkyViewkeeperModule {
2846
2960
  }
2847
- SkyViewkeeperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2848
- SkyViewkeeperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperModule, declarations: [SkyViewkeeperDirective], exports: [SkyViewkeeperDirective] });
2849
- SkyViewkeeperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperModule });
2850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyViewkeeperModule, decorators: [{
2961
+ SkyViewkeeperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2962
+ SkyViewkeeperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperModule, declarations: [SkyViewkeeperDirective], exports: [SkyViewkeeperDirective] });
2963
+ SkyViewkeeperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperModule });
2964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyViewkeeperModule, decorators: [{
2851
2965
  type: NgModule,
2852
2966
  args: [{
2853
2967
  declarations: [
@@ -2863,5 +2977,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
2863
2977
  * Generated bundle index. Do not edit.
2864
2978
  */
2865
2979
 
2866
- export { MutationObserverService, NumericOptions, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3 };
2980
+ export { MutationObserverService, NumericOptions, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyScrollableHostService, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3 };
2867
2981
  //# sourceMappingURL=skyux-core.js.map