@skyux/core 5.0.0-beta.0 → 5.0.0-beta.12
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.
- package/LICENSE +21 -0
- package/bundles/skyux-core-testing.umd.js +363 -234
- package/bundles/skyux-core-testing.umd.js.map +1 -1
- package/bundles/skyux-core.umd.js +3196 -2906
- package/bundles/skyux-core.umd.js.map +1 -1
- package/documentation.json +8549 -0
- package/esm2015/modules/adapter-service/adapter.module.js +11 -8
- package/esm2015/modules/adapter-service/adapter.service.js +16 -17
- package/esm2015/modules/adapter-service/focusable-children-options.js +2 -1
- package/esm2015/modules/affix/affix-auto-fit-context.js +1 -1
- package/esm2015/modules/affix/affix-config.js +2 -1
- package/esm2015/modules/affix/affix-horizontal-alignment.js +2 -1
- package/esm2015/modules/affix/affix-offset-change.js +2 -1
- package/esm2015/modules/affix/affix-offset.js +2 -1
- package/esm2015/modules/affix/affix-placement-change.js +2 -1
- package/esm2015/modules/affix/affix-placement.js +2 -1
- package/esm2015/modules/affix/affix-utils.js +1 -1
- package/esm2015/modules/affix/affix-vertical-alignment.js +2 -1
- package/esm2015/modules/affix/affix.directive.js +36 -49
- package/esm2015/modules/affix/affix.module.js +22 -17
- package/esm2015/modules/affix/affix.service.js +12 -15
- package/esm2015/modules/affix/affixer.js +1 -1
- package/esm2015/modules/affix/dom-utils.js +1 -1
- package/esm2015/modules/dock/dock-dom-adapter.service.js +23 -15
- package/esm2015/modules/dock/dock-insert-component-config.js +2 -1
- package/esm2015/modules/dock/dock-item-config.js +2 -1
- package/esm2015/modules/dock/dock-item-reference.js +2 -1
- package/esm2015/modules/dock/dock-item.js +1 -1
- package/esm2015/modules/dock/dock-location.js +19 -0
- package/esm2015/modules/dock/dock-options.js +2 -0
- package/esm2015/modules/dock/dock.component.js +48 -33
- package/esm2015/modules/dock/dock.module.js +28 -17
- package/esm2015/modules/dock/dock.service.js +44 -16
- package/esm2015/modules/dock/sort-by-stack-order.js +1 -1
- package/esm2015/modules/dynamic-component/dynamic-component-location.js +15 -3
- package/esm2015/modules/dynamic-component/dynamic-component-options.js +2 -1
- package/esm2015/modules/dynamic-component/dynamic-component.module.js +11 -8
- package/esm2015/modules/dynamic-component/dynamic-component.service.js +24 -20
- package/esm2015/modules/format/app-format.js +11 -11
- package/esm2015/modules/id/id.directive.js +14 -16
- package/esm2015/modules/id/id.module.js +18 -15
- package/esm2015/modules/log/log.module.js +11 -8
- package/esm2015/modules/log/log.service.js +11 -11
- package/esm2015/modules/media-query/media-breakpoints.js +1 -1
- package/esm2015/modules/media-query/media-query-listener.js +2 -1
- package/esm2015/modules/media-query/media-query.module.js +11 -8
- package/esm2015/modules/media-query/media-query.service.js +16 -20
- package/esm2015/modules/mutation/mutation-observer-service.js +11 -11
- package/esm2015/modules/numeric/numeric-symbol.js +2 -1
- package/esm2015/modules/numeric/numeric.module.js +30 -21
- package/esm2015/modules/numeric/numeric.options.js +6 -1
- package/esm2015/modules/numeric/numeric.pipe.js +14 -16
- package/esm2015/modules/numeric/numeric.service.js +34 -32
- package/esm2015/modules/overlay/overlay-adapter.service.js +13 -15
- package/esm2015/modules/overlay/overlay-config.js +2 -1
- package/esm2015/modules/overlay/overlay-context.js +1 -1
- package/esm2015/modules/overlay/overlay-instance.js +1 -1
- package/esm2015/modules/overlay/overlay.component.js +41 -44
- package/esm2015/modules/overlay/overlay.module.js +22 -17
- package/esm2015/modules/overlay/overlay.service.js +18 -26
- package/esm2015/modules/percent-pipe/percent-pipe.module.js +30 -21
- package/esm2015/modules/percent-pipe/percent.pipe.js +15 -15
- package/esm2015/modules/shared/number-format/number-format-utility.js +4 -3
- package/esm2015/modules/shared/sky-core-resources.module.js +41 -0
- package/esm2015/modules/title/set-title-args.js +2 -1
- package/esm2015/modules/title/title.service.js +11 -15
- package/esm2015/modules/ui-config/ui-config.service.js +11 -11
- package/esm2015/modules/viewkeeper/viewkeeper-boundary-info.js +2 -1
- package/esm2015/modules/viewkeeper/viewkeeper-fixed-styles.js +2 -1
- package/esm2015/modules/viewkeeper/viewkeeper-host-options.js +9 -8
- package/esm2015/modules/viewkeeper/viewkeeper-offset.js +2 -1
- package/esm2015/modules/viewkeeper/viewkeeper-options.js +2 -1
- package/esm2015/modules/viewkeeper/viewkeeper.directive.js +17 -21
- package/esm2015/modules/viewkeeper/viewkeeper.js +1 -1
- package/esm2015/modules/viewkeeper/viewkeeper.module.js +18 -15
- package/esm2015/modules/viewkeeper/viewkeeper.service.js +13 -16
- package/esm2015/modules/window/window-ref.js +11 -11
- package/esm2015/public-api.js +59 -0
- package/esm2015/skyux-core.js +2 -12
- package/esm2015/testing/mock-media-query.service.js +9 -8
- package/esm2015/testing/mock-ui-config.service.js +9 -8
- package/esm2015/testing/public-api.js +3 -0
- package/esm2015/testing/skyux-core-testing.js +2 -2
- package/fesm2015/skyux-core-testing.js +15 -11
- package/fesm2015/skyux-core-testing.js.map +1 -1
- package/fesm2015/skyux-core.js +729 -562
- package/fesm2015/skyux-core.js.map +1 -1
- package/modules/adapter-service/adapter.module.d.ts +4 -0
- package/modules/adapter-service/adapter.service.d.ts +3 -0
- package/modules/affix/affix.directive.d.ts +3 -0
- package/modules/affix/affix.module.d.ts +6 -0
- package/modules/affix/affix.service.d.ts +3 -0
- package/modules/dock/dock-dom-adapter.service.d.ts +6 -0
- package/modules/dock/dock-location.d.ts +17 -0
- package/modules/dock/dock-options.d.ts +18 -0
- package/modules/dock/dock.component.d.ts +8 -3
- package/modules/dock/dock.module.d.ts +6 -0
- package/modules/dock/dock.service.d.ts +14 -1
- package/modules/dynamic-component/dynamic-component-location.d.ts +14 -2
- package/modules/dynamic-component/dynamic-component-options.d.ts +4 -0
- package/modules/dynamic-component/dynamic-component.module.d.ts +4 -0
- package/modules/dynamic-component/dynamic-component.service.d.ts +3 -0
- package/modules/format/app-format.d.ts +3 -0
- package/modules/id/id.directive.d.ts +3 -0
- package/modules/id/id.module.d.ts +5 -0
- package/modules/log/log.module.d.ts +4 -0
- package/modules/log/log.service.d.ts +3 -0
- package/modules/media-query/media-query.module.d.ts +4 -0
- package/modules/media-query/media-query.service.d.ts +3 -0
- package/modules/mutation/mutation-observer-service.d.ts +3 -0
- package/modules/numeric/numeric.module.d.ts +7 -0
- package/modules/numeric/numeric.options.d.ts +5 -0
- package/modules/numeric/numeric.pipe.d.ts +3 -0
- package/modules/numeric/numeric.service.d.ts +3 -0
- package/modules/overlay/overlay-adapter.service.d.ts +3 -0
- package/modules/overlay/overlay.component.d.ts +3 -0
- package/modules/overlay/overlay.module.d.ts +6 -0
- package/modules/overlay/overlay.service.d.ts +3 -0
- package/modules/percent-pipe/percent-pipe.module.d.ts +7 -0
- package/modules/percent-pipe/percent.pipe.d.ts +3 -0
- package/modules/shared/number-format/number-format-utility.d.ts +1 -1
- package/modules/shared/sky-core-resources.module.d.ts +14 -0
- package/modules/title/title.service.d.ts +3 -0
- package/modules/ui-config/ui-config.service.d.ts +3 -0
- package/modules/viewkeeper/viewkeeper-host-options.d.ts +3 -0
- package/modules/viewkeeper/viewkeeper.directive.d.ts +3 -0
- package/modules/viewkeeper/viewkeeper.module.d.ts +5 -0
- package/modules/viewkeeper/viewkeeper.service.d.ts +3 -0
- package/modules/window/window-ref.d.ts +3 -0
- package/package.json +8 -23
- package/{public_api.d.ts → public-api.d.ts} +5 -0
- package/skyux-core.d.ts +2 -11
- package/testing/mock-media-query.service.d.ts +3 -0
- package/testing/mock-ui-config.service.d.ts +3 -0
- package/testing/package.json +2 -5
- package/testing/{public_api.d.ts → public-api.d.ts} +0 -0
- package/testing/skyux-core-testing.d.ts +2 -1
- package/CHANGELOG.md +0 -280
- package/bundles/skyux-core-testing.umd.min.js +0 -16
- package/bundles/skyux-core-testing.umd.min.js.map +0 -1
- package/bundles/skyux-core.umd.min.js +0 -16
- package/bundles/skyux-core.umd.min.js.map +0 -1
- package/esm2015/modules/shared/core-resources.module.js +0 -17
- package/esm2015/plugin-resources/core-resources-provider.js +0 -16
- package/esm2015/public_api.js +0 -36
- package/esm2015/testing/public_api.js +0 -3
- package/esm5/modules/adapter-service/adapter.module.js +0 -16
- package/esm5/modules/adapter-service/adapter.service.js +0 -221
- package/esm5/modules/adapter-service/focusable-children-options.js +0 -1
- package/esm5/modules/affix/affix-auto-fit-context.js +0 -12
- package/esm5/modules/affix/affix-config.js +0 -1
- package/esm5/modules/affix/affix-horizontal-alignment.js +0 -1
- package/esm5/modules/affix/affix-offset-change.js +0 -1
- package/esm5/modules/affix/affix-offset.js +0 -1
- package/esm5/modules/affix/affix-placement-change.js +0 -1
- package/esm5/modules/affix/affix-placement.js +0 -1
- package/esm5/modules/affix/affix-utils.js +0 -23
- package/esm5/modules/affix/affix-vertical-alignment.js +0 -1
- package/esm5/modules/affix/affix.directive.js +0 -113
- package/esm5/modules/affix/affix.module.js +0 -24
- package/esm5/modules/affix/affix.service.js +0 -28
- package/esm5/modules/affix/affixer.js +0 -368
- package/esm5/modules/affix/dom-utils.js +0 -79
- package/esm5/modules/dock/dock-dom-adapter.service.js +0 -72
- package/esm5/modules/dock/dock-insert-component-config.js +0 -1
- package/esm5/modules/dock/dock-item-config.js +0 -1
- package/esm5/modules/dock/dock-item-reference.js +0 -1
- package/esm5/modules/dock/dock-item.js +0 -35
- package/esm5/modules/dock/dock.component.js +0 -87
- package/esm5/modules/dock/dock.module.js +0 -24
- package/esm5/modules/dock/dock.service.js +0 -69
- package/esm5/modules/dock/sort-by-stack-order.js +0 -13
- package/esm5/modules/dynamic-component/dynamic-component-location.js +0 -15
- package/esm5/modules/dynamic-component/dynamic-component-options.js +0 -1
- package/esm5/modules/dynamic-component/dynamic-component.module.js +0 -17
- package/esm5/modules/dynamic-component/dynamic-component.service.js +0 -79
- package/esm5/modules/format/app-format.js +0 -25
- package/esm5/modules/id/id.directive.js +0 -41
- package/esm5/modules/id/id.module.js +0 -20
- package/esm5/modules/log/log.module.js +0 -16
- package/esm5/modules/log/log.service.js +0 -29
- package/esm5/modules/media-query/media-breakpoints.js +0 -20
- package/esm5/modules/media-query/media-query-listener.js +0 -1
- package/esm5/modules/media-query/media-query.module.js +0 -16
- package/esm5/modules/media-query/media-query.service.js +0 -128
- package/esm5/modules/mutation/mutation-observer-service.js +0 -19
- package/esm5/modules/numeric/numeric-symbol.js +0 -1
- package/esm5/modules/numeric/numeric.module.js +0 -29
- package/esm5/modules/numeric/numeric.options.js +0 -38
- package/esm5/modules/numeric/numeric.pipe.js +0 -70
- package/esm5/modules/numeric/numeric.service.js +0 -191
- package/esm5/modules/overlay/overlay-adapter.service.js +0 -44
- package/esm5/modules/overlay/overlay-config.js +0 -1
- package/esm5/modules/overlay/overlay-context.js +0 -12
- package/esm5/modules/overlay/overlay-instance.js +0 -66
- package/esm5/modules/overlay/overlay.component.js +0 -168
- package/esm5/modules/overlay/overlay.module.js +0 -24
- package/esm5/modules/overlay/overlay.service.js +0 -128
- package/esm5/modules/percent-pipe/percent-pipe.module.js +0 -29
- package/esm5/modules/percent-pipe/percent.pipe.js +0 -49
- package/esm5/modules/shared/core-resources.module.js +0 -20
- package/esm5/modules/shared/number-format/number-format-utility.js +0 -75
- package/esm5/modules/title/set-title-args.js +0 -1
- package/esm5/modules/title/title.service.js +0 -35
- package/esm5/modules/ui-config/ui-config.service.js +0 -24
- package/esm5/modules/viewkeeper/viewkeeper-boundary-info.js +0 -1
- package/esm5/modules/viewkeeper/viewkeeper-fixed-styles.js +0 -1
- package/esm5/modules/viewkeeper/viewkeeper-host-options.js +0 -12
- package/esm5/modules/viewkeeper/viewkeeper-offset.js +0 -1
- package/esm5/modules/viewkeeper/viewkeeper-options.js +0 -1
- package/esm5/modules/viewkeeper/viewkeeper.directive.js +0 -134
- package/esm5/modules/viewkeeper/viewkeeper.js +0 -219
- package/esm5/modules/viewkeeper/viewkeeper.module.js +0 -20
- package/esm5/modules/viewkeeper/viewkeeper.service.js +0 -42
- package/esm5/modules/window/window-ref.js +0 -37
- package/esm5/plugin-resources/core-resources-provider.js +0 -17
- package/esm5/public_api.js +0 -36
- package/esm5/skyux-core.js +0 -15
- package/esm5/testing/mock-media-query.service.js +0 -47
- package/esm5/testing/mock-ui-config.service.js +0 -66
- package/esm5/testing/public_api.js +0 -3
- package/esm5/testing/skyux-core-testing.js +0 -5
- package/fesm5/skyux-core-testing.js +0 -114
- package/fesm5/skyux-core-testing.js.map +0 -1
- package/fesm5/skyux-core.js +0 -2895
- package/fesm5/skyux-core.js.map +0 -1
- package/modules/shared/core-resources.module.d.ts +0 -2
- package/plugin-resources/core-resources-provider.d.ts +0 -5
- package/skyux-core.metadata.json +0 -1
- package/src/assets/locales/resources_en_US.json +0 -18
- package/testing/skyux-core-testing.metadata.json +0 -1
@@ -1,128 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Injectable, NgZone, OnDestroy } from '@angular/core';
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
4
|
-
import { SkyMediaBreakpoints } from './media-breakpoints';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
var SkyMediaQueryService = /** @class */ (function () {
|
7
|
-
function SkyMediaQueryService(zone) {
|
8
|
-
this.zone = zone;
|
9
|
-
this.currentSubject = new BehaviorSubject(this.current);
|
10
|
-
this._current = SkyMediaBreakpoints.md;
|
11
|
-
this.breakpoints = [
|
12
|
-
{
|
13
|
-
mediaQueryString: SkyMediaQueryService_1.xs,
|
14
|
-
name: SkyMediaBreakpoints.xs
|
15
|
-
},
|
16
|
-
{
|
17
|
-
mediaQueryString: SkyMediaQueryService_1.sm,
|
18
|
-
name: SkyMediaBreakpoints.sm
|
19
|
-
},
|
20
|
-
{
|
21
|
-
mediaQueryString: SkyMediaQueryService_1.md,
|
22
|
-
name: SkyMediaBreakpoints.md
|
23
|
-
},
|
24
|
-
{
|
25
|
-
mediaQueryString: SkyMediaQueryService_1.lg,
|
26
|
-
name: SkyMediaBreakpoints.lg
|
27
|
-
}
|
28
|
-
];
|
29
|
-
this.mediaQueries = [];
|
30
|
-
this.addListeners();
|
31
|
-
}
|
32
|
-
SkyMediaQueryService_1 = SkyMediaQueryService;
|
33
|
-
Object.defineProperty(SkyMediaQueryService.prototype, "current", {
|
34
|
-
/**
|
35
|
-
* Returns the current breakpoint.
|
36
|
-
*/
|
37
|
-
get: function () {
|
38
|
-
return this._current;
|
39
|
-
},
|
40
|
-
enumerable: true,
|
41
|
-
configurable: true
|
42
|
-
});
|
43
|
-
SkyMediaQueryService.prototype.ngOnDestroy = function () {
|
44
|
-
this.removeListeners();
|
45
|
-
this.currentSubject.complete();
|
46
|
-
};
|
47
|
-
/**
|
48
|
-
* Suscribes to screen size changes.
|
49
|
-
* @param listener Specifies a function that is called when breakpoints change.
|
50
|
-
*/
|
51
|
-
SkyMediaQueryService.prototype.subscribe = function (listener) {
|
52
|
-
return this.currentSubject.subscribe({
|
53
|
-
next: function (breakpoints) {
|
54
|
-
listener(breakpoints);
|
55
|
-
}
|
56
|
-
});
|
57
|
-
};
|
58
|
-
/**
|
59
|
-
* @internal
|
60
|
-
*/
|
61
|
-
SkyMediaQueryService.prototype.destroy = function () {
|
62
|
-
this.removeListeners();
|
63
|
-
this.currentSubject.complete();
|
64
|
-
};
|
65
|
-
SkyMediaQueryService.prototype.addListeners = function () {
|
66
|
-
var _this = this;
|
67
|
-
this.mediaQueries = this.breakpoints.map(function (breakpoint) {
|
68
|
-
var mq = matchMedia(breakpoint.mediaQueryString);
|
69
|
-
var listener = function (event) {
|
70
|
-
// Run the check outside of Angular's change detection since Angular
|
71
|
-
// does not wrap matchMedia listeners in NgZone.
|
72
|
-
// See: https://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
|
73
|
-
_this.zone.run(function () {
|
74
|
-
if (event.matches) {
|
75
|
-
_this.notifyBreakpointChange(breakpoint.name);
|
76
|
-
}
|
77
|
-
});
|
78
|
-
};
|
79
|
-
mq.addListener(listener);
|
80
|
-
if (mq.matches) {
|
81
|
-
_this.notifyBreakpointChange(breakpoint.name);
|
82
|
-
}
|
83
|
-
return {
|
84
|
-
mediaQueryList: mq,
|
85
|
-
listener: listener
|
86
|
-
};
|
87
|
-
});
|
88
|
-
};
|
89
|
-
SkyMediaQueryService.prototype.removeListeners = function () {
|
90
|
-
this.mediaQueries.forEach(function (mediaQuery) {
|
91
|
-
mediaQuery.mediaQueryList.removeListener(mediaQuery.listener);
|
92
|
-
});
|
93
|
-
this.mediaQueries = [];
|
94
|
-
};
|
95
|
-
SkyMediaQueryService.prototype.notifyBreakpointChange = function (breakpoint) {
|
96
|
-
this._current = breakpoint;
|
97
|
-
this.currentSubject.next(breakpoint);
|
98
|
-
};
|
99
|
-
var SkyMediaQueryService_1;
|
100
|
-
/**
|
101
|
-
* The size for the `xs` breakpoint.
|
102
|
-
*/
|
103
|
-
SkyMediaQueryService.xs = '(max-width: 767px)';
|
104
|
-
/**
|
105
|
-
* The size for the `sm` breakpoint.
|
106
|
-
*/
|
107
|
-
SkyMediaQueryService.sm = '(min-width: 768px) and (max-width: 991px)';
|
108
|
-
/**
|
109
|
-
* The size for the `md` breakpoint.
|
110
|
-
*/
|
111
|
-
SkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
|
112
|
-
/**
|
113
|
-
* The size for the `lg` breakpoint.
|
114
|
-
*/
|
115
|
-
SkyMediaQueryService.lg = '(min-width: 1200px)';
|
116
|
-
SkyMediaQueryService.ctorParameters = function () { return [
|
117
|
-
{ type: NgZone }
|
118
|
-
]; };
|
119
|
-
SkyMediaQueryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkyMediaQueryService_Factory() { return new SkyMediaQueryService(i0.ɵɵinject(i0.NgZone)); }, token: SkyMediaQueryService, providedIn: "root" });
|
120
|
-
SkyMediaQueryService = SkyMediaQueryService_1 = __decorate([
|
121
|
-
Injectable({
|
122
|
-
providedIn: 'root'
|
123
|
-
})
|
124
|
-
], SkyMediaQueryService);
|
125
|
-
return SkyMediaQueryService;
|
126
|
-
}());
|
127
|
-
export { SkyMediaQueryService };
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9jb3JlLyIsInNvdXJjZXMiOlsibW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGVBQWUsRUFFaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ3BCLE1BQU0scUJBQXFCLENBQUM7O0FBUzdCO0lBNERFLDhCQUNVLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBaENkLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4RSxhQUFRLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBRWxDLGdCQUFXLEdBR2I7WUFDSjtnQkFDRSxnQkFBZ0IsRUFBRSxzQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLGdCQUFnQixFQUFFLHNCQUFvQixDQUFDLEVBQUU7Z0JBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsZ0JBQWdCLEVBQUUsc0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxnQkFBZ0IsRUFBRSxzQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtTQUNGLENBQUM7UUFFTSxpQkFBWSxHQUdkLEVBQUUsQ0FBQztRQUtQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzZCQWhFVSxvQkFBb0I7SUF5Qi9CLHNCQUFXLHlDQUFPO1FBSGxCOztXQUVHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUF1Q00sMENBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksd0NBQVMsR0FBaEIsVUFBaUIsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsVUFBQyxXQUFnQztnQkFDckMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQ0FBTyxHQUFkO1FBQ0UsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLDJDQUFZLEdBQXBCO1FBQUEsaUJBMEJDO1FBekJDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBQyxVQUFlO1lBQ3ZELElBQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVuRCxJQUFNLFFBQVEsR0FBRyxVQUFDLEtBQVU7Z0JBQzFCLG9FQUFvRTtnQkFDcEUsZ0RBQWdEO2dCQUNoRCw4RUFBOEU7Z0JBQzlFLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNaLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTt3QkFDakIsS0FBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDOUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFFRixFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXpCLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxLQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDO1lBRUQsT0FBTztnQkFDTCxjQUFjLEVBQUUsRUFBRTtnQkFDbEIsUUFBUSxVQUFBO2FBQ1QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLDhDQUFlLEdBQXZCO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBQyxVQUFVO1lBQ25DLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxxREFBc0IsR0FBOUIsVUFBK0IsVUFBK0I7UUFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7SUEvSEQ7O09BRUc7SUFDVyx1QkFBRSxHQUFHLG9CQUFvQixDQUFDO0lBRXhDOztPQUVHO0lBQ1csdUJBQUUsR0FBRywyQ0FBMkMsQ0FBQztJQUUvRDs7T0FFRztJQUNXLHVCQUFFLEdBQUcsNENBQTRDLENBQUM7SUFFaEU7O09BRUc7SUFDVyx1QkFBRSxHQUFHLHFCQUFxQixDQUFDOztnQkF5Q3pCLE1BQU07OztJQTdEWCxvQkFBb0I7UUFIaEMsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztPQUNXLG9CQUFvQixDQWtJaEM7K0JBeEpEO0NBd0pDLEFBbElELElBa0lDO1NBbElZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIFN1YnNjcmlwdGlvblxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50c1xufSBmcm9tICcuL21lZGlhLWJyZWFrcG9pbnRzJztcblxuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeUxpc3RlbmVyXG59IGZyb20gJy4vbWVkaWEtcXVlcnktbGlzdGVuZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc20gPSAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPih0aGlzLmN1cnJlbnQpO1xuXG4gIHByaXZhdGUgX2N1cnJlbnQgPSBTa3lNZWRpYUJyZWFrcG9pbnRzLm1kO1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludHM6IHtcbiAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBzdHJpbmcsXG4gICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50c1xuICB9W10gPSBbXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2UueHMsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5zbSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICB9LFxuICAgIHtcbiAgICAgIG1lZGlhUXVlcnlTdHJpbmc6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLm1kLFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5tZFxuICAgIH0sXG4gICAge1xuICAgICAgbWVkaWFRdWVyeVN0cmluZzogU2t5TWVkaWFRdWVyeVNlcnZpY2UubGcsXG4gICAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzLmxnXG4gICAgfVxuICBdO1xuXG4gIHByaXZhdGUgbWVkaWFRdWVyaWVzOiB7XG4gICAgbWVkaWFRdWVyeUxpc3Q6IE1lZGlhUXVlcnlMaXN0LFxuICAgIGxpc3RlbmVyOiAoKGV2ZW50OiBhbnkpID0+IHZvaWQpXG4gIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuYWRkTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3VzY3JpYmVzIHRvIHNjcmVlbiBzaXplIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBsaXN0ZW5lciBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIGJyZWFrcG9pbnRzIGNoYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xuICAgIHRoaXMuY3VycmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubWVkaWFRdWVyaWVzID0gdGhpcy5icmVha3BvaW50cy5tYXAoKGJyZWFrcG9pbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgbXEgPSBtYXRjaE1lZGlhKGJyZWFrcG9pbnQubWVkaWFRdWVyeVN0cmluZyk7XG5cbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgLy8gUnVuIHRoZSBjaGVjayBvdXRzaWRlIG9mIEFuZ3VsYXIncyBjaGFuZ2UgZGV0ZWN0aW9uIHNpbmNlIEFuZ3VsYXJcbiAgICAgICAgLy8gZG9lcyBub3Qgd3JhcCBtYXRjaE1lZGlhIGxpc3RlbmVycyBpbiBOZ1pvbmUuXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9ibG9nLmFzc2FmLmNvL2FuZ3VsYXItMi1jaGFuZ2UtZGV0ZWN0aW9uLXpvbmVzLWFuZC1hbi1leGFtcGxlL1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQubWF0Y2hlcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlCcmVha3BvaW50Q2hhbmdlKGJyZWFrcG9pbnQubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIG1xLmFkZExpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgaWYgKG1xLm1hdGNoZXMpIHtcbiAgICAgICAgdGhpcy5ub3RpZnlCcmVha3BvaW50Q2hhbmdlKGJyZWFrcG9pbnQubmFtZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lZGlhUXVlcnlMaXN0OiBtcSxcbiAgICAgICAgbGlzdGVuZXJcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcmllcy5mb3JFYWNoKChtZWRpYVF1ZXJ5KSA9PiB7XG4gICAgICBtZWRpYVF1ZXJ5Lm1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKG1lZGlhUXVlcnkubGlzdGVuZXIpO1xuICAgIH0pO1xuICAgIHRoaXMubWVkaWFRdWVyaWVzID0gW107XG4gIH1cblxuICBwcml2YXRlIG5vdGlmeUJyZWFrcG9pbnRDaGFuZ2UoYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbnQgPSBicmVha3BvaW50O1xuICAgIHRoaXMuY3VycmVudFN1YmplY3QubmV4dChicmVha3BvaW50KTtcbiAgfVxufVxuIl19
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
var MutationObserverService = /** @class */ (function () {
|
5
|
-
function MutationObserverService() {
|
6
|
-
}
|
7
|
-
MutationObserverService.prototype.create = function (callback) {
|
8
|
-
return new MutationObserver(callback);
|
9
|
-
};
|
10
|
-
MutationObserverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MutationObserverService_Factory() { return new MutationObserverService(); }, token: MutationObserverService, providedIn: "root" });
|
11
|
-
MutationObserverService = __decorate([
|
12
|
-
Injectable({
|
13
|
-
providedIn: 'root'
|
14
|
-
})
|
15
|
-
], MutationObserverService);
|
16
|
-
return MutationObserverService;
|
17
|
-
}());
|
18
|
-
export { MutationObserverService };
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9jb3JlLyIsInNvdXJjZXMiOlsibW9kdWxlcy9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDOztBQUt2QjtJQUFBO0tBSUM7SUFIUSx3Q0FBTSxHQUFiLFVBQWMsUUFBYTtRQUN6QixPQUFPLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7SUFIVSx1QkFBdUI7UUFIbkMsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztPQUNXLHVCQUF1QixDQUluQztrQ0FYRDtDQVdDLEFBSkQsSUFJQztTQUpZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGNyZWF0ZShjYWxsYmFjazogYW55KTogTXV0YXRpb25PYnNlcnZlciB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKTtcbiAgfVxufVxuIl19
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1zeW1ib2wuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvbnVtZXJpYy9udW1lcmljLXN5bWJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lOdW1lcmljU3ltYm9sIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbn1cbiJdfQ==
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { NgModule } from '@angular/core';
|
3
|
-
import { SkyI18nModule } from '@skyux/i18n';
|
4
|
-
import { SkyCoreResourcesModule } from '../shared/core-resources.module';
|
5
|
-
import { SkyNumericPipe } from './numeric.pipe';
|
6
|
-
var SkyNumericModule = /** @class */ (function () {
|
7
|
-
function SkyNumericModule() {
|
8
|
-
}
|
9
|
-
SkyNumericModule = __decorate([
|
10
|
-
NgModule({
|
11
|
-
declarations: [
|
12
|
-
SkyNumericPipe
|
13
|
-
],
|
14
|
-
providers: [
|
15
|
-
SkyNumericPipe
|
16
|
-
],
|
17
|
-
imports: [
|
18
|
-
SkyI18nModule,
|
19
|
-
SkyCoreResourcesModule
|
20
|
-
],
|
21
|
-
exports: [
|
22
|
-
SkyNumericPipe
|
23
|
-
]
|
24
|
-
})
|
25
|
-
], SkyNumericModule);
|
26
|
-
return SkyNumericModule;
|
27
|
-
}());
|
28
|
-
export { SkyNumericModule };
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvbnVtZXJpYy9udW1lcmljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsYUFBYSxFQUNkLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQ0wsY0FBYyxFQUNmLE1BQU0sZ0JBQWdCLENBQUM7QUFpQnhCO0lBQUE7SUFBZ0MsQ0FBQztJQUFwQixnQkFBZ0I7UUFmNUIsUUFBUSxDQUFDO1lBQ1IsWUFBWSxFQUFFO2dCQUNaLGNBQWM7YUFDZjtZQUNELFNBQVMsRUFBRTtnQkFDVCxjQUFjO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixzQkFBc0I7YUFDdkI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsY0FBYzthQUNmO1NBQ0YsQ0FBQztPQUNXLGdCQUFnQixDQUFJO0lBQUQsdUJBQUM7Q0FBQSxBQUFqQyxJQUFpQztTQUFwQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreUNvcmVSZXNvdXJjZXNNb2R1bGVcbn0gZnJvbSAnLi4vc2hhcmVkL2NvcmUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIFNreU51bWVyaWNQaXBlXG59IGZyb20gJy4vbnVtZXJpYy5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5TnVtZXJpY1BpcGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5TnVtZXJpY1BpcGVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIFNreUkxOG5Nb2R1bGUsXG4gICAgU2t5Q29yZVJlc291cmNlc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5TnVtZXJpY1BpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljTW9kdWxlIHsgfVxuIl19
|
@@ -1,38 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Provides arguments for the number to format.
|
3
|
-
*/
|
4
|
-
var NumericOptions = /** @class */ (function () {
|
5
|
-
function NumericOptions() {
|
6
|
-
/**
|
7
|
-
* Specifies the maximum number of digits after the decimal separator.
|
8
|
-
* @default 1
|
9
|
-
*/
|
10
|
-
this.digits = 1;
|
11
|
-
/**
|
12
|
-
* Specifies how to format the number. Options are `currency` or `number`.
|
13
|
-
* @default "number"
|
14
|
-
*/
|
15
|
-
this.format = 'number';
|
16
|
-
/**
|
17
|
-
* Specifies the ISO4217 currency code to use for currency formatting. If you do not specify a
|
18
|
-
* currency code, the component uses the browser's culture to determine the currency unless your
|
19
|
-
* SPA provides a different culture with `SkyAppLocaleProvider`.
|
20
|
-
* @default 'USD'
|
21
|
-
*/
|
22
|
-
this.iso = 'USD';
|
23
|
-
/**
|
24
|
-
* Indicates whether to shorten numbers to rounded numbers and abbreviation characters
|
25
|
-
* such as K for thousands, M for millions, B for billions, and T for trillion.
|
26
|
-
*/
|
27
|
-
this.truncate = true;
|
28
|
-
/**
|
29
|
-
* Specifies the starting point after which numbers are shortened to rounded numbers
|
30
|
-
* and abbreviation characters.
|
31
|
-
* @default 0
|
32
|
-
*/
|
33
|
-
this.truncateAfter = 0;
|
34
|
-
}
|
35
|
-
return NumericOptions;
|
36
|
-
}());
|
37
|
-
export { NumericOptions };
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0g7SUFBQTtRQUVFOzs7V0FHRztRQUNJLFdBQU0sR0FBWSxDQUFDLENBQUM7UUFFM0I7OztXQUdHO1FBQ0ksV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUVsQzs7Ozs7V0FLRztRQUNJLFFBQUcsR0FBWSxLQUFLLENBQUM7UUFjNUI7OztXQUdHO1FBQ0ksYUFBUSxHQUFhLElBQUksQ0FBQztRQUVqQzs7OztXQUlHO1FBQ0ksa0JBQWEsR0FBWSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUFELHFCQUFDO0FBQUQsQ0FBQyxBQTlDRCxJQThDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvdmlkZXMgYXJndW1lbnRzIGZvciB0aGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIE51bWVyaWNPcHRpb25zIHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgc2VwYXJhdG9yLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBwdWJsaWMgZGlnaXRzPzogbnVtYmVyID0gMTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyB0byBmb3JtYXQgdGhlIG51bWJlci4gT3B0aW9ucyBhcmUgYGN1cnJlbmN5YCBvciBgbnVtYmVyYC5cbiAgICogQGRlZmF1bHQgXCJudW1iZXJcIlxuICAgKi9cbiAgcHVibGljIGZvcm1hdD86IHN0cmluZyA9ICdudW1iZXInO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIElTTzQyMTcgY3VycmVuY3kgY29kZSB0byB1c2UgZm9yIGN1cnJlbmN5IGZvcm1hdHRpbmcuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhXG4gICAqIGN1cnJlbmN5IGNvZGUsIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYnJvd3NlcidzIGN1bHR1cmUgdG8gZGV0ZXJtaW5lIHRoZSBjdXJyZW5jeSB1bmxlc3MgeW91clxuICAgKiBTUEEgcHJvdmlkZXMgYSBkaWZmZXJlbnQgY3VsdHVyZSB3aXRoIGBTa3lBcHBMb2NhbGVQcm92aWRlcmAuXG4gICAqIEBkZWZhdWx0ICdVU0QnXG4gICAqL1xuICBwdWJsaWMgaXNvPzogc3RyaW5nID0gJ1VTRCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbG9jYWxlIGNvZGUgdG8gdXNlIHdoZW4gZm9ybWF0dGluZy5cbiAgICovXG4gIHB1YmxpYyBsb2NhbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHNlcGFyYXRvci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXNcbiAgICogd2hlbiB0aGUgYHRydW5jYXRlYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYGZhbHNlYC4gSWYgYGRpZ2l0c2Agc3BlY2lmaWVzIGEgbWF4aW11bSBudW1iZXIgb2ZcbiAgICogZGlnaXRzLCB0aGVuIGBtaW5EaWdpdHNgIG11c3QgYmUgbGVzcyB0aGFuIHRoYXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgbWluRGlnaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBzaG9ydGVuIG51bWJlcnMgdG8gcm91bmRlZCBudW1iZXJzIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVyc1xuICAgKiBzdWNoIGFzIEsgZm9yIHRob3VzYW5kcywgTSBmb3IgbWlsbGlvbnMsIEIgZm9yIGJpbGxpb25zLCBhbmQgVCBmb3IgdHJpbGxpb24uXG4gICAqL1xuICBwdWJsaWMgdHJ1bmNhdGU/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyBwb2ludCBhZnRlciB3aGljaCBudW1iZXJzIGFyZSBzaG9ydGVuZWQgdG8gcm91bmRlZCBudW1iZXJzXG4gICAqIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVycy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgcHVibGljIHRydW5jYXRlQWZ0ZXI/OiBudW1iZXIgPSAwO1xufVxuIl19
|
@@ -1,70 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Pipe } from '@angular/core';
|
3
|
-
import { SkyAppLocaleProvider } from '@skyux/i18n';
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
5
|
-
import { Subject } from 'rxjs';
|
6
|
-
import { SkyNumericService } from './numeric.service';
|
7
|
-
import { NumericOptions } from './numeric.options';
|
8
|
-
/**
|
9
|
-
* Shorten numbers to rounded numbers and abbreviation characters such as K for thousands,
|
10
|
-
* M for millions, B for billions, and T for trillion. The pipe also formats for currency.
|
11
|
-
* Be sure you have a space after the two curly brackets opening the pipe and
|
12
|
-
* a space before the two curly brackets closing the pipe or it will not work.
|
13
|
-
* Usage:
|
14
|
-
* ```
|
15
|
-
* {{ value | skyNumeric(config) }}
|
16
|
-
* ```
|
17
|
-
*/
|
18
|
-
var SkyNumericPipe = /** @class */ (function () {
|
19
|
-
function SkyNumericPipe(localeProvider, numericService) {
|
20
|
-
this.localeProvider = localeProvider;
|
21
|
-
this.numericService = numericService;
|
22
|
-
this.ngUnsubscribe = new Subject();
|
23
|
-
this.localeProvider.getLocaleInfo()
|
24
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
25
|
-
.subscribe(function (localeInfo) {
|
26
|
-
numericService.currentLocale = localeInfo.locale;
|
27
|
-
});
|
28
|
-
}
|
29
|
-
SkyNumericPipe.prototype.ngOnDestroy = function () {
|
30
|
-
this.ngUnsubscribe.next();
|
31
|
-
this.ngUnsubscribe.complete();
|
32
|
-
};
|
33
|
-
SkyNumericPipe.prototype.transform = function (value, config) {
|
34
|
-
var options = new NumericOptions();
|
35
|
-
// The default number of digits is `1`. When truncate is disabled, set digits
|
36
|
-
// to `0` to avoid the unnecessary addition of `.0` at the end of the formatted number.
|
37
|
-
if (config &&
|
38
|
-
config.truncate === false &&
|
39
|
-
config.digits === undefined) {
|
40
|
-
config.digits = 0;
|
41
|
-
}
|
42
|
-
// If the minimum digits is less than the set maximum digits then throw an error
|
43
|
-
if (config &&
|
44
|
-
config.minDigits &&
|
45
|
-
config.digits &&
|
46
|
-
config.minDigits > config.digits) {
|
47
|
-
throw new Error('The `digits` property must be greater than or equal to the `minDigits` property');
|
48
|
-
// If there is a minimum digits given but not a maximum then default the maximum to the minimum
|
49
|
-
}
|
50
|
-
else if (config &&
|
51
|
-
config.minDigits &&
|
52
|
-
!config.digits) {
|
53
|
-
config.digits = config.minDigits;
|
54
|
-
}
|
55
|
-
Object.assign(options, config);
|
56
|
-
return this.numericService.formatNumber(value, options);
|
57
|
-
};
|
58
|
-
SkyNumericPipe.ctorParameters = function () { return [
|
59
|
-
{ type: SkyAppLocaleProvider },
|
60
|
-
{ type: SkyNumericService }
|
61
|
-
]; };
|
62
|
-
SkyNumericPipe = __decorate([
|
63
|
-
Pipe({
|
64
|
-
name: 'skyNumeric'
|
65
|
-
})
|
66
|
-
], SkyNumericPipe);
|
67
|
-
return SkyNumericPipe;
|
68
|
-
}());
|
69
|
-
export { SkyNumericPipe };
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsSUFBSSxFQUdMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDckIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLG1CQUFtQixDQUFDO0FBRTNCOzs7Ozs7Ozs7R0FTRztBQUlIO0lBSUUsd0JBQ1UsY0FBb0MsRUFDM0IsY0FBaUM7UUFEMUMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUo1QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFNMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7YUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLFVBQUMsVUFBVTtZQUNwQixjQUFjLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sb0NBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGtDQUFTLEdBQWhCLFVBQWlCLEtBQWEsRUFBRSxNQUF1QjtRQUNyRCxJQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRXJDLDZFQUE2RTtRQUM3RSx1RkFBdUY7UUFDdkYsSUFDRSxNQUFNO1lBQ04sTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLO1lBQ3pCLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUMzQjtZQUNBLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO1FBRUQsZ0ZBQWdGO1FBQ2hGLElBQ0UsTUFBTTtZQUNOLE1BQU0sQ0FBQyxTQUFTO1lBQ2hCLE1BQU0sQ0FBQyxNQUFNO1lBQ2IsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUNoQztZQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUZBQWlGLENBQ2xGLENBQUM7WUFFSiwrRkFBK0Y7U0FDOUY7YUFBTSxJQUNMLE1BQU07WUFDTixNQUFNLENBQUMsU0FBUztZQUNoQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ2Q7WUFDQSxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDbEM7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDOztnQkFuRHlCLG9CQUFvQjtnQkFDWCxpQkFBaUI7O0lBTnpDLGNBQWM7UUFIMUIsSUFBSSxDQUFDO1lBQ0osSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQztPQUNXLGNBQWMsQ0F5RDFCO0lBQUQscUJBQUM7Q0FBQSxBQXpERCxJQXlEQztTQXpEWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUGlwZSxcbiAgUGlwZVRyYW5zZm9ybSxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lBcHBMb2NhbGVQcm92aWRlclxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIHRha2VVbnRpbFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFN1YmplY3Rcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFNreU51bWVyaWNTZXJ2aWNlXG59IGZyb20gJy4vbnVtZXJpYy5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgTnVtZXJpY09wdGlvbnNcbn0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG4vKipcbiAqIFNob3J0ZW4gbnVtYmVycyB0byByb3VuZGVkIG51bWJlcnMgYW5kIGFiYnJldmlhdGlvbiBjaGFyYWN0ZXJzIHN1Y2ggYXMgSyBmb3IgdGhvdXNhbmRzLFxuICogTSBmb3IgbWlsbGlvbnMsIEIgZm9yIGJpbGxpb25zLCBhbmQgVCBmb3IgdHJpbGxpb24uIFRoZSBwaXBlIGFsc28gZm9ybWF0cyBmb3IgY3VycmVuY3kuXG4gKiBCZSBzdXJlIHlvdSBoYXZlIGEgc3BhY2UgYWZ0ZXIgdGhlIHR3byBjdXJseSBicmFja2V0cyBvcGVuaW5nIHRoZSBwaXBlIGFuZFxuICogYSBzcGFjZSBiZWZvcmUgdGhlIHR3byBjdXJseSBicmFja2V0cyBjbG9zaW5nIHRoZSBwaXBlIG9yIGl0IHdpbGwgbm90IHdvcmsuXG4gKiBVc2FnZTpcbiAqIGBgYFxuICoge3sgdmFsdWUgfCBza3lOdW1lcmljKGNvbmZpZykgfX1cbiAqIGBgYFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lOdW1lcmljJ1xufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWVyaWNTZXJ2aWNlOiBTa3lOdW1lcmljU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxvY2FsZVByb3ZpZGVyLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGVJbmZvKSA9PiB7XG4gICAgICAgIG51bWVyaWNTZXJ2aWNlLmN1cnJlbnRMb2NhbGUgPSBsb2NhbGVJbmZvLmxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIGNvbmZpZz86IE51bWVyaWNPcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zID0gbmV3IE51bWVyaWNPcHRpb25zKCk7XG5cbiAgICAvLyBUaGUgZGVmYXVsdCBudW1iZXIgb2YgZGlnaXRzIGlzIGAxYC4gV2hlbiB0cnVuY2F0ZSBpcyBkaXNhYmxlZCwgc2V0IGRpZ2l0c1xuICAgIC8vIHRvIGAwYCB0byBhdm9pZCB0aGUgdW5uZWNlc3NhcnkgYWRkaXRpb24gb2YgYC4wYCBhdCB0aGUgZW5kIG9mIHRoZSBmb3JtYXR0ZWQgbnVtYmVyLlxuICAgIGlmIChcbiAgICAgIGNvbmZpZyAmJlxuICAgICAgY29uZmlnLnRydW5jYXRlID09PSBmYWxzZSAmJlxuICAgICAgY29uZmlnLmRpZ2l0cyA9PT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25maWcuZGlnaXRzID0gMDtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgbWluaW11bSBkaWdpdHMgaXMgbGVzcyB0aGFuIHRoZSBzZXQgbWF4aW11bSBkaWdpdHMgdGhlbiB0aHJvdyBhbiBlcnJvclxuICAgIGlmIChcbiAgICAgIGNvbmZpZyAmJlxuICAgICAgY29uZmlnLm1pbkRpZ2l0cyAmJlxuICAgICAgY29uZmlnLmRpZ2l0cyAmJlxuICAgICAgY29uZmlnLm1pbkRpZ2l0cyA+IGNvbmZpZy5kaWdpdHNcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBgZGlnaXRzYCBwcm9wZXJ0eSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgYG1pbkRpZ2l0c2AgcHJvcGVydHknXG4gICAgICApO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgYSBtaW5pbXVtIGRpZ2l0cyBnaXZlbiBidXQgbm90IGEgbWF4aW11bSB0aGVuIGRlZmF1bHQgdGhlIG1heGltdW0gdG8gdGhlIG1pbmltdW1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgY29uZmlnICYmXG4gICAgICBjb25maWcubWluRGlnaXRzICYmXG4gICAgICAhY29uZmlnLmRpZ2l0c1xuICAgICkge1xuICAgICAgY29uZmlnLmRpZ2l0cyA9IGNvbmZpZy5taW5EaWdpdHM7XG4gICAgfVxuXG4gICAgT2JqZWN0LmFzc2lnbihvcHRpb25zLCBjb25maWcpO1xuXG4gICAgcmV0dXJuIHRoaXMubnVtZXJpY1NlcnZpY2UuZm9ybWF0TnVtYmVyKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
|
@@ -1,191 +0,0 @@
|
|
1
|
-
import { __decorate, __read } from "tslib";
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { SkyIntlNumberFormatStyle, SkyLibResourcesService } from '@skyux/i18n';
|
4
|
-
import { SkyNumberFormatUtility } from '../shared/number-format/number-format-utility';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@skyux/i18n";
|
7
|
-
var SkyNumericService = /** @class */ (function () {
|
8
|
-
function SkyNumericService(resourcesService) {
|
9
|
-
this.resourcesService = resourcesService;
|
10
|
-
this.symbolIndex = [
|
11
|
-
{ value: 1E12, label: this.getSymbol('skyux_numeric_trillions_symbol') },
|
12
|
-
{ value: 1E9, label: this.getSymbol('skyux_numeric_billions_symbol') },
|
13
|
-
{ value: 1E6, label: this.getSymbol('skyux_numeric_millions_symbol') },
|
14
|
-
{ value: 1E3, label: this.getSymbol('skyux_numeric_thousands_symbol') }
|
15
|
-
];
|
16
|
-
}
|
17
|
-
Object.defineProperty(SkyNumericService.prototype, "currentLocale", {
|
18
|
-
get: function () {
|
19
|
-
return this._locale || 'en-US';
|
20
|
-
},
|
21
|
-
/**
|
22
|
-
* The browser's current locale.
|
23
|
-
* @internal
|
24
|
-
*/
|
25
|
-
set: function (value) {
|
26
|
-
this._locale = value;
|
27
|
-
},
|
28
|
-
enumerable: true,
|
29
|
-
configurable: true
|
30
|
-
});
|
31
|
-
/**
|
32
|
-
* Shortens with or without symbol (K/M/B/T) depending on value of number.
|
33
|
-
* @param value The number to format.
|
34
|
-
* @param options Format options.
|
35
|
-
*/
|
36
|
-
SkyNumericService.prototype.formatNumber = function (value, options) {
|
37
|
-
/* tslint:disable-next-line:no-null-keyword */
|
38
|
-
if (isNaN(value) || value === null) {
|
39
|
-
return '';
|
40
|
-
}
|
41
|
-
var decimalPlaceRegExp = /\.0+$|(\.[0-9]*[1-9])0+$/;
|
42
|
-
var symbol = this.symbolIndex.find(function (si) {
|
43
|
-
// Checks both positive and negative of value to ensure
|
44
|
-
// negative numbers are shortened.
|
45
|
-
return options.truncate &&
|
46
|
-
((value >= options.truncateAfter && value >= si.value) ||
|
47
|
-
(-value >= options.truncateAfter && -value >= si.value));
|
48
|
-
});
|
49
|
-
var output;
|
50
|
-
if (symbol) {
|
51
|
-
var roundedNumber = this.roundNumber((value / symbol.value), options.digits);
|
52
|
-
output = roundedNumber.toString().replace(decimalPlaceRegExp, '$1') + symbol.label;
|
53
|
-
}
|
54
|
-
else {
|
55
|
-
var roundedNumber = this.roundNumber(value, options.digits);
|
56
|
-
output = roundedNumber.toString().replace(decimalPlaceRegExp, '$1');
|
57
|
-
}
|
58
|
-
this.storeShortenSymbol(output);
|
59
|
-
var locale = options.locale || this.currentLocale;
|
60
|
-
var digits;
|
61
|
-
// Checks the string entered for format. Using toLowerCase to ignore case.
|
62
|
-
switch (options.format.toLowerCase()) {
|
63
|
-
// In a case where a decimal value was not shortened and
|
64
|
-
// the digit input is 2 or higher, it forces 2 digits.
|
65
|
-
// For example, this prevents a value like $15.50 from displaying as $15.5.
|
66
|
-
// Note: This will need to be reviewed if we support currencies with
|
67
|
-
// three decimal digits.
|
68
|
-
case 'currency':
|
69
|
-
var isDecimal = (value % 1 !== 0);
|
70
|
-
if (options.minDigits) {
|
71
|
-
digits = "1." + options.minDigits + "-" + options.digits;
|
72
|
-
}
|
73
|
-
else if (isDecimal && options.digits >= 2) {
|
74
|
-
digits = "1.2-" + options.digits;
|
75
|
-
}
|
76
|
-
else {
|
77
|
-
digits = "1.0-" + options.digits;
|
78
|
-
}
|
79
|
-
// Angular 5+ needs a string for this parameter, but Angular 4 needs a boolean.
|
80
|
-
// To support both versions we can supply 'symbol' which will evaluate truthy for Angular 4
|
81
|
-
// and the appropriate string value for Angular 5+.
|
82
|
-
// See: https://angular.io/api/common/CurrencyPipe#parameters
|
83
|
-
var symbolDisplay = 'symbol';
|
84
|
-
output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso, symbolDisplay);
|
85
|
-
break;
|
86
|
-
// The following is a catch-all to ensure that if
|
87
|
-
// anything but currency (or a future option) are entered,
|
88
|
-
// it will be treated like a number.
|
89
|
-
default:
|
90
|
-
// Ensures localization of the number to ensure comma and
|
91
|
-
// decimal separator
|
92
|
-
if (options.minDigits) {
|
93
|
-
digits = "1." + options.minDigits + "-" + options.digits;
|
94
|
-
}
|
95
|
-
else if (options.truncate) {
|
96
|
-
digits = "1.0-" + options.digits;
|
97
|
-
}
|
98
|
-
else {
|
99
|
-
digits = "1." + options.digits + "-" + options.digits;
|
100
|
-
}
|
101
|
-
output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Decimal, digits);
|
102
|
-
break;
|
103
|
-
}
|
104
|
-
if (options.truncate) {
|
105
|
-
output = this.replaceShortenSymbol(output);
|
106
|
-
}
|
107
|
-
return output;
|
108
|
-
};
|
109
|
-
/**
|
110
|
-
* Rounds a given number
|
111
|
-
*
|
112
|
-
* JS's limitation - numbers bigger than Number.MIN_SAFE_INTEGER or Number.MAX_SAFE_INTEGER
|
113
|
-
* are not guaranteed to be represented or rounded correctly
|
114
|
-
* @param value - value to round
|
115
|
-
* @param precision - what precision to round with, defaults to 0 decimal places
|
116
|
-
*/
|
117
|
-
SkyNumericService.prototype.roundNumber = function (value, precision) {
|
118
|
-
if (precision === void 0) { precision = 0; }
|
119
|
-
if (precision < 0) {
|
120
|
-
throw new Error('SkyInvalidArgument: precision must be >= 0');
|
121
|
-
}
|
122
|
-
/* tslint:disable-next-line:no-null-keyword */
|
123
|
-
/* Sanity check - ignoring coverage but should not ignore if we make this method public */
|
124
|
-
/* istanbul ignore next */
|
125
|
-
if (isNaN(value) || value === null) {
|
126
|
-
return 0;
|
127
|
-
}
|
128
|
-
var scaledValue = this.scaleNumberByPowerOfTen(value, precision, true);
|
129
|
-
var scaledRoundedValue = Math.round(scaledValue);
|
130
|
-
var unscaledRoundedValue = this.scaleNumberByPowerOfTen(scaledRoundedValue, precision, false);
|
131
|
-
return unscaledRoundedValue;
|
132
|
-
};
|
133
|
-
/**
|
134
|
-
* Scales a given number by a power of 10
|
135
|
-
* @param value - value to scale
|
136
|
-
* @param scalar - 10^scalar
|
137
|
-
* @param scaleUp - whether to increase or decrease the value
|
138
|
-
*/
|
139
|
-
SkyNumericService.prototype.scaleNumberByPowerOfTen = function (value, scalar, scaleUp) {
|
140
|
-
var valueStr = value.toString().toLowerCase();
|
141
|
-
var isExponentFormat = valueStr.includes('e');
|
142
|
-
if (isExponentFormat) {
|
143
|
-
var _a = __read(valueStr.split('e'), 2), base = _a[0], exp = _a[1];
|
144
|
-
var newExp = scaleUp ? (Number(exp) + scalar) : (Number(exp) - scalar);
|
145
|
-
return Number(base + "e" + newExp);
|
146
|
-
}
|
147
|
-
else {
|
148
|
-
var e = scaleUp ? 'e' : 'e-';
|
149
|
-
return Number("" + value + e + scalar);
|
150
|
-
}
|
151
|
-
};
|
152
|
-
/**
|
153
|
-
* Stores the symbol added from shortening to reapply later.
|
154
|
-
* @param value The string to derive the shorten symbol from.
|
155
|
-
*/
|
156
|
-
SkyNumericService.prototype.storeShortenSymbol = function (value) {
|
157
|
-
var symbols = this.symbolIndex.map(function (s) { return s.label; });
|
158
|
-
var regexp = new RegExp(symbols.join('|'), 'ig');
|
159
|
-
var match = value.match(regexp);
|
160
|
-
this.shortSymbol = (match) ? match.toString() : '';
|
161
|
-
};
|
162
|
-
/**
|
163
|
-
* Must have previously called storeShortenSymbol to have something to replace.
|
164
|
-
* Finds the last number in the formatted number, gets the index of the position
|
165
|
-
* after that character and re-inserts the symbol.
|
166
|
-
* Works regardless of currency symbol position.
|
167
|
-
* @param value The string to modify.
|
168
|
-
*/
|
169
|
-
SkyNumericService.prototype.replaceShortenSymbol = function (value) {
|
170
|
-
var result = /(\d)(?!.*\d)/g.exec(value);
|
171
|
-
var pos = result.index + result.length;
|
172
|
-
var output = value.substring(0, pos) + this.shortSymbol + value.substring(pos);
|
173
|
-
return output;
|
174
|
-
};
|
175
|
-
SkyNumericService.prototype.getSymbol = function (key) {
|
176
|
-
// TODO: Need to implement the async `getString` method in a breaking change.
|
177
|
-
return this.resourcesService.getStringForLocale({ locale: 'en_US' }, key);
|
178
|
-
};
|
179
|
-
SkyNumericService.ctorParameters = function () { return [
|
180
|
-
{ type: SkyLibResourcesService }
|
181
|
-
]; };
|
182
|
-
SkyNumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkyNumericService_Factory() { return new SkyNumericService(i0.ɵɵinject(i1.SkyLibResourcesService)); }, token: SkyNumericService, providedIn: "root" });
|
183
|
-
SkyNumericService = __decorate([
|
184
|
-
Injectable({
|
185
|
-
providedIn: 'root'
|
186
|
-
})
|
187
|
-
], SkyNumericService);
|
188
|
-
return SkyNumericService;
|
189
|
-
}());
|
190
|
-
export { SkyNumericService };
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBYXZEO0lBNEJFLDJCQUNVLGdCQUF3QztRQUF4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBVjFDLGdCQUFXLEdBQXVCO1lBQ3hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3hFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3hFLENBQUM7SUFNRSxDQUFDO0lBeEJMLHNCQUFXLDRDQUFhO2FBSXhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQztRQUNqQyxDQUFDO1FBVkQ7OztXQUdHO2FBQ0gsVUFBeUIsS0FBYTtZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDOzs7T0FBQTtJQXdCRDs7OztPQUlHO0lBQ0ksd0NBQVksR0FBbkIsVUFDRSxLQUFhLEVB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QUFDLENBQUM7UUFDbkQsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxnREFBb0IsR0FBNUIsVUFBNkIsS0FBYTtRQUN4QyxJQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHFDQUFTLEdBQWpCLFVBQWtCLEdBQVc7UUFDM0IsNkVBQTZFO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUM3QyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFDbkIsR0FBRyxDQUNKLENBQUM7SUFDSixDQUFDOztnQkFyTTJCLHNCQUFzQjs7O0lBN0J2QyxpQkFBaUI7UUFIN0IsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztPQUNXLGlCQUFpQixDQW1PN0I7NEJBM1BEO0NBMlBDLEFBbk9ELElBbU9DO1NBbk9ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreU51bWJlckZvcm1hdFV0aWxpdHlcbn0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuaW1wb3J0IHtcbiAgTnVtZXJpY09wdGlvbnNcbn0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lOdW1lcmljU3ltYm9sXG59IGZyb20gJy4vbnVtZXJpYy1zeW1ib2wnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljU2VydmljZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBicm93c2VyJ3MgY3VycmVudCBsb2NhbGUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNldCBjdXJyZW50TG9jYWxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sb2NhbGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGUgfHwgJ2VuLVVTJztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzaG9ydFN5bWJvbDogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3ltYm9sSW5kZXg6IFNreU51bWVyaWNTeW1ib2xbXSA9IFtcbiAgICB7IHZhbHVlOiAxRTEyLCBsYWJlbDogdGhpcy5nZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdHJpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgeyB2YWx1ZTogMUU5LCBsYWJlbDogdGhpcy5nZXRTeW1ib2woJ3NreXV4X251bWVyaWNfYmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICB7IHZhbHVlOiAxRTYsIGxhYmVsOiB0aGlzLmdldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19taWxsaW9uc19zeW1ib2wnKSB9LFxuICAgIHsgdmFsdWU6IDFFMywgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3Rob3VzYW5kc19zeW1ib2wnKSB9XG4gIF07XG5cbiAgcHJpdmF0ZSBfbG9jYWxlOiBzdHJpbmc7XG7igItcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkgeyB9XG7igItcbiAgLyoqXG4gICAqIFNob3J0ZW5zIHdpdGggb3Igd2l0aG91dCBzeW1ib2wgKEsvTS9CL1QpIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBudW1iZXIuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAgICogQHBhcmFtIG9wdGlvbnMgRm9ybWF0IG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgZm9ybWF0TnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgb3B0aW9uczogTnVtZXJpY09wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbnVsbC1rZXl3b3JkICovXG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY2ltYWxQbGFjZVJlZ0V4cCA9IC9cXC4wKyR8KFxcLlswLTldKlsxLTldKTArJC87XG4gICAgY29uc3Qgc3ltYm9sOiBTa3lOdW1lcmljU3ltYm9sID0gdGhpcy5zeW1ib2xJbmRleC5maW5kKChzaSkgPT4ge1xuICAgICAgLy8gQ2hlY2tzIGJvdGggcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG9mIHZhbHVlIHRvIGVuc3VyZVxuICAgICAgLy8gbmVnYXRpdmUgbnVtYmVycyBhcmUgc2hvcnRlbmVkLlxuICAgICAgcmV0dXJuIG9wdGlvbnMudHJ1bmNhdGUgJiZcbiAgICAgICAgKFxuICAgICAgICAgICh2YWx1ZSA+PSBvcHRpb25zLnRydW5jYXRlQWZ0ZXIgJiYgdmFsdWUgPj0gc2kudmFsdWUpIHx8XG4gICAgICAgICAgKC12YWx1ZSA+PSBvcHRpb25zLnRydW5jYXRlQWZ0ZXIgJiYgLXZhbHVlID49IHNpLnZhbHVlKVxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgbGV0IG91dHB1dDogc3RyaW5nO1xuICAgIGlmIChzeW1ib2wpIHtcbiAgICAgIGNvbnN0IHJvdW5kZWROdW1iZXI6IG51bWJlciA9IHRoaXMucm91bmROdW1iZXIoKHZhbHVlIC8gc3ltYm9sLnZhbHVlKSwgb3B0aW9ucy5kaWdpdHMpO1xuICAgICAgb3V0cHV0ID0gcm91bmRlZE51bWJlci50b1N0cmluZygpLnJlcGxhY2UoZGVjaW1hbFBsYWNlUmVnRXhwLCAnJDEnKSArIHN5bWJvbC5sYWJlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgcm91bmRlZE51bWJlcjogbnVtYmVyID0gdGhpcy5yb3VuZE51bWJlcih2YWx1ZSwgb3B0aW9ucy5kaWdpdHMpO1xuICAgICAgb3V0cHV0ID0gcm91bmRlZE51bWJlci50b1N0cmluZygpLnJlcGxhY2UoZGVjaW1hbFBsYWNlUmVnRXhwLCAnJDEnKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlU2hvcnRlblN5bWJvbChvdXRwdXQpO1xuXG4gICAgY29uc3QgbG9jYWxlID0gb3B0aW9ucy5sb2NhbGUgfHwgdGhpcy5jdXJyZW50TG9jYWxlO1xuXG4gICAgbGV0IGRpZ2l0czogc3RyaW5nO1xuICAgIC8vIENoZWNrcyB0aGUgc3RyaW5nIGVudGVyZWQgZm9yIGZvcm1hdC4gVXNpbmcgdG9Mb3dlckNhc2UgdG8gaWdub3JlIGNhc2UuXG4gICAgc3dpdGNoIChvcHRpb25zLmZvcm1hdC50b0xvd2VyQ2FzZSgpKSB7XG5cbiAgICAgIC8vIEluIGEgY2FzZSB3aGVyZSBhIGRlY2ltYWwgdmFsdWUgd2FzIG5vdCBzaG9ydGVuZWQgYW5kXG4gICAgICAvLyB0aGUgZGlnaXQgaW5wdXQgaXMgMiBvciBoaWdoZXIsIGl0IGZvcmNlcyAyIGRpZ2l0cy5cbiAgICAgIC8vIEZvciBleGFtcGxlLCB0aGlzIHByZXZlbnRzIGEgdmFsdWUgbGlrZSAkMTUuNTAgZnJvbSBkaXNwbGF5aW5nIGFzICQxNS41LlxuICAgICAgLy8gTm90ZTogVGhpcyB3aWxsIG5lZWQgdG8gYmUgcmV2aWV3ZWQgaWYgd2Ugc3VwcG9ydCBjdXJyZW5jaWVzIHdpdGhcbiAgICAgIC8vIHRocmVlIGRlY2ltYWwgZGlnaXRzLlxuICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICBjb25zdCBpc0RlY2ltYWwgPSAodmFsdWUgJSAxICE9PSAwKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4ke29wdGlvbnMubWluRGlnaXRzfS0ke29wdGlvbnMuZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZWNpbWFsICYmIG9wdGlvbnMuZGlnaXRzID49IDIpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4yLSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4wLSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFuZ3VsYXIgNSsgbmVlZHMgYSBzdHJpbmcgZm9yIHRoaXMgcGFyYW1ldGVyLCBidXQgQW5ndWxhciA0IG5lZWRzIGEgYm9vbGVhbi5cbiAgICAgICAgLy8gVG8gc3VwcG9ydCBib3RoIHZlcnNpb25zIHdlIGNhbiBzdXBwbHkgJ3N5bWJvbCcgd2hpY2ggd2lsbCBldmFsdWF0ZSB0cnV0aHkgZm9yIEFuZ3VsYXIgNFxuICAgICAgICAvLyBhbmQgdGhlIGFwcHJvcHJpYXRlIHN0cmluZyB2YWx1ZSBmb3IgQW5ndWxhciA1Ky5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9DdXJyZW5jeVBpcGUjcGFyYW1ldGVyc1xuICAgICAgICBjb25zdCBzeW1ib2xEaXNwbGF5OiBhbnkgPSAnc3ltYm9sJztcblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSxcbiAgICAgICAgICBkaWdpdHMsXG4gICAgICAgICAgb3B0aW9ucy5pc28sXG4gICAgICAgICAgc3ltYm9sRGlzcGxheVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcblxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBhIGNhdGNoLWFsbCB0byBlbnN1cmUgdGhhdCBpZlxuICAgICAgLy8gYW55dGhpbmcgYnV0IGN1cnJlbmN5IChvciBhIGZ1dHVyZSBvcHRpb24pIGFyZSBlbnRlcmVkLFxuICAgICAgLy8gaXQgd2lsbCBiZSB0cmVhdGVkIGxpa2UgYSBudW1iZXIuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBFbnN1cmVzIGxvY2FsaXphdGlvbiBvZiB0aGUgbnVtYmVyIHRvIGVuc3VyZSBjb21tYSBhbmRcbiAgICAgICAgLy8gZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgICAgaWYgKG9wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzID0gYDEuJHtvcHRpb25zLm1pbkRpZ2l0c30tJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMudHJ1bmNhdGUpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4wLSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4ke29wdGlvbnMuZGlnaXRzfS0ke29wdGlvbnMuZGlnaXRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsLFxuICAgICAgICAgIGRpZ2l0c1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgb3V0cHV0ID0gdGhpcy5yZXBsYWNlU2hvcnRlblN5bWJvbChvdXRwdXQpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICAvKipcbiAgICogUm91bmRzIGEgZ2l2ZW4gbnVtYmVyXG4gICAqXG4gICAqIEpTJ3MgbGltaXRhdGlvbiAtIG51bWJlcnMgYmlnZ2VyIHRoYW4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIgb3IgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICogYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHJlcHJlc2VudGVkIG9yIHJvdW5kZWQgY29ycmVjdGx5XG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHJvdW5kXG4gICAqIEBwYXJhbSBwcmVjaXNpb24gLSB3aGF0IHByZWNpc2lvbiB0byByb3VuZCB3aXRoLCBkZWZhdWx0cyB0byAwIGRlY2ltYWwgcGxhY2VzXG4gICAqL1xuICBwcml2YXRlIHJvdW5kTnVtYmVyKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgcHJlY2lzaW9uOiBudW1iZXIgPSAwXG4gICk6IG51bWJlciB7XG4gICAgaWYgKHByZWNpc2lvbiA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2t5SW52YWxpZEFyZ3VtZW50OiBwcmVjaXNpb24gbXVzdCBiZSA+PSAwJyk7XG4gICAgfVxu4oCLXG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW51bGwta2V5d29yZCAqL1xuICAgIC8qIFNhbml0eSBjaGVjayAtIGlnbm9yaW5nIGNvdmVyYWdlIGJ1dCBzaG91bGQgbm90IGlnbm9yZSBpZiB3ZSBtYWtlIHRoaXMgbWV0aG9kIHB1YmxpYyAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxu4oCLXG4gICAgY29uc3Qgc2NhbGVkVmFsdWU6IG51bWJlciA9IHRoaXMuc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4odmFsdWUsIHByZWNpc2lvbiwgdHJ1ZSk7XG4gICAgY29uc3Qgc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSBNYXRoLnJvdW5kKHNjYWxlZFZhbHVlKTtcbiAgICBjb25zdCB1bnNjYWxlZFJvdW5kZWRWYWx1ZTogbnVtYmVyID0gdGhpcy5zY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICAgIHNjYWxlZFJvdW5kZWRWYWx1ZSxcbiAgICAgIHByZWNpc2lvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcbuKAi1xuICAgIHJldHVybiB1bnNjYWxlZFJvdW5kZWRWYWx1ZTtcbiAgfVxu4oCLXG4gIC8qKlxuICAgKiBTY2FsZXMgYSBnaXZlbiBudW1iZXIgYnkgYSBwb3dlciBvZiAxMFxuICAgKiBAcGFyYW0gdmFsdWUgLSB2YWx1ZSB0byBzY2FsZVxuICAgKiBAcGFyYW0gc2NhbGFyIC0gMTBec2NhbGFyXG4gICAqIEBwYXJhbSBzY2FsZVVwIC0gd2hldGhlciB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgdmFsdWVcbiAgICovXG4gIHByaXZhdGUgc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBzY2FsYXI6IG51bWJlcixcbiAgICBzY2FsZVVwOiBib29sZWFuXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWVTdHI6IHN0cmluZyA9IHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBpc0V4cG9uZW50Rm9ybWF0OiBib29sZWFuID0gdmFsdWVTdHIuaW5jbHVkZXMoJ2UnKTtcbuKAi1xuICAgIGlmIChpc0V4cG9uZW50Rm9ybWF0KSB7XG4gICAgICBjb25zdCBbYmFzZSwgZXhwXSA9IHZhbHVlU3RyLnNwbGl0KCdlJyk7XG4gICAgICBjb25zdCBuZXdFeHAgPSBzY2FsZVVwID8gKE51bWJlcihleHApICsgc2NhbGFyKSA6IChOdW1iZXIoZXhwKSAtIHNjYWxhcik7XG4gICAgICByZXR1cm4gTnVtYmVyKGAke2Jhc2V9ZSR7bmV3RXhwfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlID0gc2NhbGVVcCA/ICdlJyA6ICdlLSc7XG4gICAgICByZXR1cm4gTnVtYmVyKGAke3ZhbHVlfSR7ZX0ke3NjYWxhcn1gKTtcbiAgICB9XG4gIH1cbuKAi1xuICAvKipcbiAgICogU3RvcmVzIHRoZSBzeW1ib2wgYWRkZWQgZnJvbSBzaG9ydGVuaW5nIHRvIHJlYXBwbHkgbGF0ZXIuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIHRvIGRlcml2ZSB0aGUgc2hvcnRlbiBzeW1ib2wgZnJvbS5cbiAgICovXG4gIHByaXZhdGUgc3RvcmVTaG9ydGVuU3ltYm9sKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzeW1ib2xzOiBzdHJpbmdbXSA9IHRoaXMuc3ltYm9sSW5kZXgubWFwKHMgPT4gcy5sYWJlbCk7XG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChzeW1ib2xzLmpvaW4oJ3wnKSwgJ2lnJyk7XG4gICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChyZWdleHApO1xuICAgIHRoaXMuc2hvcnRTeW1ib2wgPSAobWF0Y2gpID8gbWF0Y2gudG9TdHJpbmcoKSA6ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIE11c3QgaGF2ZSBwcmV2aW91c2x5IGNhbGxlZCBzdG9yZVNob3J0ZW5TeW1ib2wgdG8gaGF2ZSBzb21ldGhpbmcgdG8gcmVwbGFjZS5cbiAgICogRmluZHMgdGhlIGxhc3QgbnVtYmVyIGluIHRoZSBmb3JtYXR0ZWQgbnVtYmVyLCBnZXRzIHRoZSBpbmRleCBvZiB0aGUgcG9zaXRpb25cbiAgICogYWZ0ZXIgdGhhdCBjaGFyYWN0ZXIgYW5kIHJlLWluc2VydHMgdGhlIHN5bWJvbC5cbiAgICogV29ya3MgcmVnYXJkbGVzcyBvZiBjdXJyZW5jeSBzeW1ib2wgcG9zaXRpb24uXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIHRvIG1vZGlmeS5cbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0ID0gLyhcXGQpKD8hLipcXGQpL2cuZXhlYyh2YWx1ZSk7XG4gICAgY29uc3QgcG9zID0gcmVzdWx0LmluZGV4ICsgcmVzdWx0Lmxlbmd0aDtcbiAgICBjb25zdCBvdXRwdXQgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgcG9zKSArIHRoaXMuc2hvcnRTeW1ib2wgKyB2YWx1ZS5zdWJzdHJpbmcocG9zKTtcblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICBwcml2YXRlIGdldFN5bWJvbChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW5fVVMnIH0sXG4gICAgICBrZXlcbiAgICApO1xuICB9XG59XG4iXX0=
|
@@ -1,44 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* @internal
|
6
|
-
*/
|
7
|
-
var SkyOverlayAdapterService = /** @class */ (function () {
|
8
|
-
function SkyOverlayAdapterService(rendererFactory) {
|
9
|
-
this.renderer = rendererFactory.createRenderer(undefined, undefined);
|
10
|
-
}
|
11
|
-
SkyOverlayAdapterService.prototype.restrictBodyScroll = function () {
|
12
|
-
// Create a style element to avoid overwriting any existing inline body styles.
|
13
|
-
var styleElement = this.renderer.createElement('style');
|
14
|
-
var textNode = this.renderer.createText('body { overflow: hidden }');
|
15
|
-
// Apply a `data-` attribute to make unit testing easier.
|
16
|
-
this.renderer.setAttribute(styleElement, 'data-test-selector', 'sky-overlay-restrict-scroll-styles');
|
17
|
-
this.renderer.appendChild(styleElement, textNode);
|
18
|
-
this.renderer.appendChild(document.head, styleElement);
|
19
|
-
if (this.styleElement) {
|
20
|
-
this.destroyStyleElement();
|
21
|
-
}
|
22
|
-
this.styleElement = styleElement;
|
23
|
-
};
|
24
|
-
SkyOverlayAdapterService.prototype.releaseBodyScroll = function () {
|
25
|
-
this.destroyStyleElement();
|
26
|
-
};
|
27
|
-
SkyOverlayAdapterService.prototype.destroyStyleElement = function () {
|
28
|
-
if (this.styleElement.parentElement === document.head) {
|
29
|
-
this.renderer.removeChild(document.head, this.styleElement);
|
30
|
-
}
|
31
|
-
};
|
32
|
-
SkyOverlayAdapterService.ctorParameters = function () { return [
|
33
|
-
{ type: RendererFactory2 }
|
34
|
-
]; };
|
35
|
-
SkyOverlayAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkyOverlayAdapterService_Factory() { return new SkyOverlayAdapterService(i0.ɵɵinject(i0.RendererFactory2)); }, token: SkyOverlayAdapterService, providedIn: "root" });
|
36
|
-
SkyOverlayAdapterService = __decorate([
|
37
|
-
Injectable({
|
38
|
-
providedIn: 'root'
|
39
|
-
})
|
40
|
-
], SkyOverlayAdapterService);
|
41
|
-
return SkyOverlayAdapterService;
|
42
|
-
}());
|
43
|
-
export { SkyOverlayAdapterService };
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDOztBQUV2Qjs7R0FFRztBQUlIO0lBTUUsa0NBQ0UsZUFBaUM7UUFFakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0scURBQWtCLEdBQXpCO1FBQ0UsK0VBQStFO1FBQy9FLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFdkUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLG9DQUFvQyxDQUNyQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFdkQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVNLG9EQUFpQixHQUF4QjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxzREFBbUIsR0FBM0I7UUFDRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOztnQkFuQ2tCLGdCQUFnQjs7O0lBUHhCLHdCQUF3QjtRQUhwQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csd0JBQXdCLENBMkNwQzttQ0F4REQ7Q0F3REMsQUEzQ0QsSUEyQ0M7U0EzQ1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlBZGFwdGVyU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIHByaXZhdGUgc3R5bGVFbGVtZW50OiBIVE1MU3R5bGVFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0cmljdEJvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIGEgc3R5bGUgZWxlbWVudCB0byBhdm9pZCBvdmVyd3JpdGluZyBhbnkgZXhpc3RpbmcgaW5saW5lIGJvZHkgc3R5bGVzLlxuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBjb25zdCB0ZXh0Tm9kZSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dCgnYm9keSB7IG92ZXJmbG93OiBoaWRkZW4gfScpO1xuXG4gICAgLy8gQXBwbHkgYSBgZGF0YS1gIGF0dHJpYnV0ZSB0byBtYWtlIHVuaXQgdGVzdGluZyBlYXNpZXIuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICBzdHlsZUVsZW1lbnQsXG4gICAgICAnZGF0YS10ZXN0LXNlbGVjdG9yJyxcbiAgICAgICdza3ktb3ZlcmxheS1yZXN0cmljdC1zY3JvbGwtc3R5bGVzJ1xuICAgICk7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCwgdGV4dE5vZGUpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuaGVhZCwgc3R5bGVFbGVtZW50KTtcblxuICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5kZXN0cm95U3R5bGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUVsZW1lbnQgPSBzdHlsZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZUJvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95U3R5bGVFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lTdHlsZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3R5bGVFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IGRvY3VtZW50LmhlYWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvY29yZS8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lPdmVybGF5Q29uZmlnIHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRoZSBvdmVybGF5IHNob3VsZCBiZSBjbG9zZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9uIGNoYW5nZS5cbiAgICovXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRoZSBvdmVybGF5IHNob3VsZCBiZSBjbG9zZWQgd2hlbiBhIHVzZXIgY2xpY2tzIG91dHNpZGUgdGhlIG92ZXJsYXkncyBjb250ZW50LlxuICAgKi9cbiAgZW5hYmxlQ2xvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgbW91c2UgaW50ZXJhY3Rpb25zIHNob3VsZCBiZSBhbGxvd2VkIGJlbG93IHRoZSBiYWNrZHJvcC5cbiAgICovXG4gIGVuYWJsZVBvaW50ZXJFdmVudHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgd2luZG93IHNjcm9sbGluZyBzaG91bGQgYmUgZW5hYmxlZCB3aGVuIHRoZSBvdmVybGF5IGlzIG9wZW5lZC5cbiAgICovXG4gIGVuYWJsZVNjcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIHNob3VsZCBiZSB2aXNpYmxlLlxuICAgKi9cbiAgc2hvd0JhY2tkcm9wPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGV4dHJhIENTUyBjbGFzc2VzIHRvIGJlIGFkZGVkIHRvIHRoZSBvdmVybGF5J3Mgd3JhcHBlciBlbGVtZW50LlxuICAgKi9cbiAgd3JhcHBlckNsYXNzPzogc3RyaW5nO1xuXG59XG4iXX0=
|
@@ -1,12 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Provides contextual information to each overlay created.
|
3
|
-
* @internal
|
4
|
-
*/
|
5
|
-
var SkyOverlayContext = /** @class */ (function () {
|
6
|
-
function SkyOverlayContext(config) {
|
7
|
-
this.config = config;
|
8
|
-
}
|
9
|
-
return SkyOverlayContext;
|
10
|
-
}());
|
11
|
-
export { SkyOverlayContext };
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL292ZXJsYXkvb3ZlcmxheS1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7R0FHRztBQUNIO0lBRUUsMkJBQ2tCLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQ3RDLENBQUM7SUFFUCx3QkFBQztBQUFELENBQUMsQUFORCxJQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2t5T3ZlcmxheUNvbmZpZ1xufSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcblxuLyoqXG4gKiBQcm92aWRlcyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRvIGVhY2ggb3ZlcmxheSBjcmVhdGVkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5Q29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZ1xuICApIHsgfVxuXG59XG4iXX0=
|