@skyux/core 5.0.0-beta.8 → 5.1.1
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 +3303 -2916
- package/bundles/skyux-core.umd.js.map +1 -1
- package/documentation.json +8863 -0
- package/esm2015/modules/adapter-service/adapter.module.js +11 -8
- package/esm2015/modules/adapter-service/adapter.service.js +14 -15
- 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 -23
- 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 +15 -17
- 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/scrollable-host/scrollable-host.service.js +83 -0
- 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 +47 -32
- package/esm2015/modules/viewkeeper/viewkeeper.js +16 -11
- 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 +60 -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 +828 -570
- 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/scrollable-host/scrollable-host.service.d.ts +16 -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 +4 -0
- package/modules/viewkeeper/viewkeeper-options.d.ts +5 -0
- package/modules/viewkeeper/viewkeeper.d.ts +1 -0
- package/modules/viewkeeper/viewkeeper.directive.d.ts +7 -1
- 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} +6 -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 -320
- 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 -82
- 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 -195
- 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 -2902
- 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,195 +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
|
-
// Get the symbol for the number after rounding, since rounding could push the number
|
43
|
-
// into a different symbol range.
|
44
|
-
var roundedNumber = this.roundNumber(value, options.digits);
|
45
|
-
var roundedNumberAbs = Math.abs(roundedNumber);
|
46
|
-
var suffix = '';
|
47
|
-
for (var i = 0; i < this.symbolIndex.length; i++) {
|
48
|
-
var symbol = this.symbolIndex[i];
|
49
|
-
if (options.truncate &&
|
50
|
-
roundedNumberAbs >= options.truncateAfter && roundedNumberAbs >= symbol.value) {
|
51
|
-
roundedNumber = this.roundNumber((value / symbol.value), options.digits);
|
52
|
-
if (Math.abs(roundedNumber) === 1000 && i > 0) {
|
53
|
-
// Rounding caused the number to cross into the range of the next symbol.
|
54
|
-
symbol = this.symbolIndex[i - 1];
|
55
|
-
roundedNumber /= 1000;
|
56
|
-
}
|
57
|
-
suffix = symbol.label;
|
58
|
-
break;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
var output = roundedNumber.toString().replace(decimalPlaceRegExp, '$1') + suffix;
|
62
|
-
this.storeShortenSymbol(output);
|
63
|
-
var locale = options.locale || this.currentLocale;
|
64
|
-
var digits;
|
65
|
-
// Checks the string entered for format. Using toLowerCase to ignore case.
|
66
|
-
switch (options.format.toLowerCase()) {
|
67
|
-
// In a case where a decimal value was not shortened and
|
68
|
-
// the digit input is 2 or higher, it forces 2 digits.
|
69
|
-
// For example, this prevents a value like $15.50 from displaying as $15.5.
|
70
|
-
// Note: This will need to be reviewed if we support currencies with
|
71
|
-
// three decimal digits.
|
72
|
-
case 'currency':
|
73
|
-
var isDecimal = (value % 1 !== 0);
|
74
|
-
if (options.minDigits) {
|
75
|
-
digits = "1." + options.minDigits + "-" + options.digits;
|
76
|
-
}
|
77
|
-
else if (isDecimal && options.digits >= 2) {
|
78
|
-
digits = "1.2-" + options.digits;
|
79
|
-
}
|
80
|
-
else {
|
81
|
-
digits = "1.0-" + options.digits;
|
82
|
-
}
|
83
|
-
// Angular 5+ needs a string for this parameter, but Angular 4 needs a boolean.
|
84
|
-
// To support both versions we can supply 'symbol' which will evaluate truthy for Angular 4
|
85
|
-
// and the appropriate string value for Angular 5+.
|
86
|
-
// See: https://angular.io/api/common/CurrencyPipe#parameters
|
87
|
-
var symbolDisplay = 'symbol';
|
88
|
-
output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digits, options.iso, symbolDisplay);
|
89
|
-
break;
|
90
|
-
// The following is a catch-all to ensure that if
|
91
|
-
// anything but currency (or a future option) are entered,
|
92
|
-
// it will be treated like a number.
|
93
|
-
default:
|
94
|
-
// Ensures localization of the number to ensure comma and
|
95
|
-
// decimal separator
|
96
|
-
if (options.minDigits) {
|
97
|
-
digits = "1." + options.minDigits + "-" + options.digits;
|
98
|
-
}
|
99
|
-
else if (options.truncate) {
|
100
|
-
digits = "1.0-" + options.digits;
|
101
|
-
}
|
102
|
-
else {
|
103
|
-
digits = "1." + options.digits + "-" + options.digits;
|
104
|
-
}
|
105
|
-
output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Decimal, digits);
|
106
|
-
break;
|
107
|
-
}
|
108
|
-
if (options.truncate) {
|
109
|
-
output = this.replaceShortenSymbol(output);
|
110
|
-
}
|
111
|
-
return output;
|
112
|
-
};
|
113
|
-
/**
|
114
|
-
* Rounds a given number
|
115
|
-
*
|
116
|
-
* JS's limitation - numbers bigger than Number.MIN_SAFE_INTEGER or Number.MAX_SAFE_INTEGER
|
117
|
-
* are not guaranteed to be represented or rounded correctly
|
118
|
-
* @param value - value to round
|
119
|
-
* @param precision - what precision to round with, defaults to 0 decimal places
|
120
|
-
*/
|
121
|
-
SkyNumericService.prototype.roundNumber = function (value, precision) {
|
122
|
-
if (precision === void 0) { precision = 0; }
|
123
|
-
if (precision < 0) {
|
124
|
-
throw new Error('SkyInvalidArgument: precision must be >= 0');
|
125
|
-
}
|
126
|
-
/* tslint:disable-next-line:no-null-keyword */
|
127
|
-
/* Sanity check - ignoring coverage but should not ignore if we make this method public */
|
128
|
-
/* istanbul ignore next */
|
129
|
-
if (isNaN(value) || value === null) {
|
130
|
-
return 0;
|
131
|
-
}
|
132
|
-
var scaledValue = this.scaleNumberByPowerOfTen(value, precision, true);
|
133
|
-
var scaledRoundedValue = Math.round(scaledValue);
|
134
|
-
var unscaledRoundedValue = this.scaleNumberByPowerOfTen(scaledRoundedValue, precision, false);
|
135
|
-
return unscaledRoundedValue;
|
136
|
-
};
|
137
|
-
/**
|
138
|
-
* Scales a given number by a power of 10
|
139
|
-
* @param value - value to scale
|
140
|
-
* @param scalar - 10^scalar
|
141
|
-
* @param scaleUp - whether to increase or decrease the value
|
142
|
-
*/
|
143
|
-
SkyNumericService.prototype.scaleNumberByPowerOfTen = function (value, scalar, scaleUp) {
|
144
|
-
var valueStr = value.toString().toLowerCase();
|
145
|
-
var isExponentFormat = valueStr.includes('e');
|
146
|
-
if (isExponentFormat) {
|
147
|
-
var _a = __read(valueStr.split('e'), 2), base = _a[0], exp = _a[1];
|
148
|
-
var newExp = scaleUp ? (Number(exp) + scalar) : (Number(exp) - scalar);
|
149
|
-
return Number(base + "e" + newExp);
|
150
|
-
}
|
151
|
-
else {
|
152
|
-
var e = scaleUp ? 'e' : 'e-';
|
153
|
-
return Number("" + value + e + scalar);
|
154
|
-
}
|
155
|
-
};
|
156
|
-
/**
|
157
|
-
* Stores the symbol added from shortening to reapply later.
|
158
|
-
* @param value The string to derive the shorten symbol from.
|
159
|
-
*/
|
160
|
-
SkyNumericService.prototype.storeShortenSymbol = function (value) {
|
161
|
-
var symbols = this.symbolIndex.map(function (s) { return s.label; });
|
162
|
-
var regexp = new RegExp(symbols.join('|'), 'ig');
|
163
|
-
var match = value.match(regexp);
|
164
|
-
this.shortSymbol = (match) ? match.toString() : '';
|
165
|
-
};
|
166
|
-
/**
|
167
|
-
* Must have previously called storeShortenSymbol to have something to replace.
|
168
|
-
* Finds the last number in the formatted number, gets the index of the position
|
169
|
-
* after that character and re-inserts the symbol.
|
170
|
-
* Works regardless of currency symbol position.
|
171
|
-
* @param value The string to modify.
|
172
|
-
*/
|
173
|
-
SkyNumericService.prototype.replaceShortenSymbol = function (value) {
|
174
|
-
var result = /(\d)(?!.*\d)/g.exec(value);
|
175
|
-
var pos = result.index + result.length;
|
176
|
-
var output = value.substring(0, pos) + this.shortSymbol + value.substring(pos);
|
177
|
-
return output;
|
178
|
-
};
|
179
|
-
SkyNumericService.prototype.getSymbol = function (key) {
|
180
|
-
// TODO: Need to implement the async `getString` method in a breaking change.
|
181
|
-
return this.resourcesService.getStringForLocale({ locale: 'en_US' }, key);
|
182
|
-
};
|
183
|
-
SkyNumericService.ctorParameters = function () { return [
|
184
|
-
{ type: SkyLibResourcesService }
|
185
|
-
]; };
|
186
|
-
SkyNumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkyNumericService_Factory() { return new SkyNumericService(i0.ɵɵinject(i1.SkyLibResourcesService)); }, token: SkyNumericService, providedIn: "any" });
|
187
|
-
SkyNumericService = __decorate([
|
188
|
-
Injectable({
|
189
|
-
providedIn: 'any'
|
190
|
-
})
|
191
|
-
], SkyNumericService);
|
192
|
-
return SkyNumericService;
|
193
|
-
}());
|
194
|
-
export { SkyNumericService };
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2NvcmUvIiwic291cmNlcyI6WyJtb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBYXZEO0lBNEJFLDJCQUNVLGdCQUF3QztRQUF4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBVjFDLGdCQUFXLEdBQXVCO1lBQ3hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3hFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3hFLENBQUM7SUFNRSxDQUFDO0lBeEJMLHNCQUFXLDRDQUFhO2FBSXhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQztRQUNqQyxDQUFDO1FBVkQ7OztXQUdHO2FBQ0gsVUFBeUIsS0FBYTtZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDOzs7T0FBQTtJQXdCRDs7OztPQUlHO0lBQ0ksd0NBQVksR0FBbkIsVUFDRSxLQUFhLEVB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LEFBL09ELElBK09DO1NBL09ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreU51bWJlckZvcm1hdFV0aWxpdHlcbn0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuaW1wb3J0IHtcbiAgTnVtZXJpY09wdGlvbnNcbn0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTa3lOdW1lcmljU3ltYm9sXG59IGZyb20gJy4vbnVtZXJpYy1zeW1ib2wnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknXG59KVxuZXhwb3J0IGNsYXNzIFNreU51bWVyaWNTZXJ2aWNlIHtcblxuICAvKipcbiAgICogVGhlIGJyb3dzZXIncyBjdXJyZW50IGxvY2FsZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0IGN1cnJlbnRMb2NhbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xvY2FsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZSB8fCAnZW4tVVMnO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNob3J0U3ltYm9sOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzeW1ib2xJbmRleDogU2t5TnVtZXJpY1N5bWJvbFtdID0gW1xuICAgIHsgdmFsdWU6IDFFMTIsIGxhYmVsOiB0aGlzLmdldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190cmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICB7IHZhbHVlOiAxRTksIGxhYmVsOiB0aGlzLmdldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19iaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgIHsgdmFsdWU6IDFFNiwgbGFiZWw6IHRoaXMuZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX21pbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgeyB2YWx1ZTogMUUzLCBsYWJlbDogdGhpcy5nZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdGhvdXNhbmRzX3N5bWJvbCcpIH1cbiAgXTtcblxuICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZztcbuKAi1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2VcbiAgKSB7IH1cbuKAi1xuICAvKipcbiAgICogU2hvcnRlbnMgd2l0aCBvciB3aXRob3V0IHN5bWJvbCAoSy9NL0IvVCkgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIG51bWJlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBGb3JtYXQgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBmb3JtYXROdW1iZXIoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBvcHRpb25zOiBOdW1lcmljT3B0aW9uc1xuICApOiBzdHJpbmcge1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1udWxsLWtleXdvcmQgKi9cbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZGVjaW1hbFBsYWNlUmVnRXhwID0gL1xcLjArJHwoXFwuWzAtOV0qWzEtOV0pMCskLztcblxuICAgIC8vIEdldCB0aGUgc3ltYm9sIGZvciB0aGUgbnVtYmVyIGFmdGVyIHJvdW5kaW5nLCBzaW5jZSByb3VuZGluZyBjb3VsZCBwdXNoIHRoZSBudW1iZXJcbiAgICAvLyBpbnRvIGEgZGlmZmVyZW50IHN5bWJvbCByYW5nZS5cbiAgICBsZXQgcm91bmRlZE51bWJlciA9IHRoaXMucm91bmROdW1iZXIodmFsdWUsIG9wdGlvbnMuZGlnaXRzKTtcbiAgICBsZXQgcm91bmRlZE51bWJlckFicyA9IE1hdGguYWJzKHJvdW5kZWROdW1iZXIpO1xuXG4gICAgbGV0IHN1ZmZpeCA9ICcnO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN5bWJvbEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc3ltYm9sID0gdGhpcy5zeW1ib2xJbmRleFtpXTtcblxuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zLnRydW5jYXRlICYmXG4gICAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBvcHRpb25zLnRydW5jYXRlQWZ0ZXIgJiYgcm91bmRlZE51bWJlckFicyA+PSBzeW1ib2wudmFsdWVcbiAgICAgICkge1xuICAgICAgICByb3VuZGVkTnVtYmVyID0gdGhpcy5yb3VuZE51bWJlcigodmFsdWUgLyBzeW1ib2wudmFsdWUpLCBvcHRpb25zLmRpZ2l0cyk7XG5cbiAgICAgICAgaWYgKE1hdGguYWJzKHJvdW5kZWROdW1iZXIpID09PSAxMDAwICYmIGkgPiAwKSB7XG4gICAgICAgICAgLy8gUm91bmRpbmcgY2F1c2VkIHRoZSBudW1iZXIgdG8gY3Jvc3MgaW50byB0aGUgcmFuZ2Ugb2YgdGhlIG5leHQgc3ltYm9sLlxuICAgICAgICAgIHN5bWJvbCA9IHRoaXMuc3ltYm9sSW5kZXhbaSAtIDFdO1xuICAgICAgICAgIHJvdW5kZWROdW1iZXIgLz0gMTAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1ZmZpeCA9IHN5bWJvbC5sYWJlbDtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgb3V0cHV0ID0gcm91bmRlZE51bWJlci50b1N0cmluZygpLnJlcGxhY2UoZGVjaW1hbFBsYWNlUmVnRXhwLCAnJDEnKSArIHN1ZmZpeDtcblxuICAgIHRoaXMuc3RvcmVTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG5cbiAgICBjb25zdCBsb2NhbGUgPSBvcHRpb25zLmxvY2FsZSB8fCB0aGlzLmN1cnJlbnRMb2NhbGU7XG5cbiAgICBsZXQgZGlnaXRzOiBzdHJpbmc7XG4gICAgLy8gQ2hlY2tzIHRoZSBzdHJpbmcgZW50ZXJlZCBmb3IgZm9ybWF0LiBVc2luZyB0b0xvd2VyQ2FzZSB0byBpZ25vcmUgY2FzZS5cbiAgICBzd2l0Y2ggKG9wdGlvbnMuZm9ybWF0LnRvTG93ZXJDYXNlKCkpIHtcblxuICAgICAgLy8gSW4gYSBjYXNlIHdoZXJlIGEgZGVjaW1hbCB2YWx1ZSB3YXMgbm90IHNob3J0ZW5lZCBhbmRcbiAgICAgIC8vIHRoZSBkaWdpdCBpbnB1dCBpcyAyIG9yIGhpZ2hlciwgaXQgZm9yY2VzIDIgZGlnaXRzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoaXMgcHJldmVudHMgYSB2YWx1ZSBsaWtlICQxNS41MCBmcm9tIGRpc3BsYXlpbmcgYXMgJDE1LjUuXG4gICAgICAvLyBOb3RlOiBUaGlzIHdpbGwgbmVlZCB0byBiZSByZXZpZXdlZCBpZiB3ZSBzdXBwb3J0IGN1cnJlbmNpZXMgd2l0aFxuICAgICAgLy8gdGhyZWUgZGVjaW1hbCBkaWdpdHMuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIGNvbnN0IGlzRGVjaW1hbCA9ICh2YWx1ZSAlIDEgIT09IDApO1xuXG4gICAgICAgIGlmIChvcHRpb25zLm1pbkRpZ2l0cykge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5taW5EaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlY2ltYWwgJiYgb3B0aW9ucy5kaWdpdHMgPj0gMikge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjItJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5ndWxhciA1KyBuZWVkcyBhIHN0cmluZyBmb3IgdGhpcyBwYXJhbWV0ZXIsIGJ1dCBBbmd1bGFyIDQgbmVlZHMgYSBib29sZWFuLlxuICAgICAgICAvLyBUbyBzdXBwb3J0IGJvdGggdmVyc2lvbnMgd2UgY2FuIHN1cHBseSAnc3ltYm9sJyB3aGljaCB3aWxsIGV2YWx1YXRlIHRydXRoeSBmb3IgQW5ndWxhciA0XG4gICAgICAgIC8vIGFuZCB0aGUgYXBwcm9wcmlhdGUgc3RyaW5nIHZhbHVlIGZvciBBbmd1bGFyIDUrLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSNwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHN5bWJvbERpc3BsYXk6IGFueSA9ICdzeW1ib2wnO1xuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5LFxuICAgICAgICAgIGRpZ2l0cyxcbiAgICAgICAgICBvcHRpb25zLmlzbyxcbiAgICAgICAgICBzeW1ib2xEaXNwbGF5XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAob3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHMgPSBgMS4ke29wdGlvbnMubWluRGlnaXRzfS0ke29wdGlvbnMuZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLjAtJHtvcHRpb25zLmRpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0cyA9IGAxLiR7b3B0aW9ucy5kaWdpdHN9LSR7b3B0aW9ucy5kaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwsXG4gICAgICAgICAgZGlnaXRzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLnJlcGxhY2VTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3VuZHMgYSBnaXZlbiBudW1iZXJcbiAgICpcbiAgICogSlMncyBsaW1pdGF0aW9uIC0gbnVtYmVycyBiaWdnZXIgdGhhbiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiBvciBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgKiBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgcmVwcmVzZW50ZWQgb3Igcm91bmRlZCBjb3JyZWN0bHlcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gcm91bmRcbiAgICogQHBhcmFtIHByZWNpc2lvbiAtIHdoYXQgcHJlY2lzaW9uIHRvIHJvdW5kIHdpdGgsIGRlZmF1bHRzIHRvIDAgZGVjaW1hbCBwbGFjZXNcbiAgICovXG4gIHByaXZhdGUgcm91bmROdW1iZXIoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBwcmVjaXNpb246IG51bWJlciA9IDBcbiAgKTogbnVtYmVyIHtcbiAgICBpZiAocHJlY2lzaW9uIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTa3lJbnZhbGlkQXJndW1lbnQ6IHByZWNpc2lvbiBtdXN0IGJlID49IDAnKTtcbiAgICB9XG7igItcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbnVsbC1rZXl3b3JkICovXG4gICAgLyogU2FuaXR5IGNoZWNrIC0gaWdub3JpbmcgY292ZXJhZ2UgYnV0IHNob3VsZCBub3QgaWdub3JlIGlmIHdlIG1ha2UgdGhpcyBtZXRob2QgcHVibGljICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG7igItcbiAgICBjb25zdCBzY2FsZWRWYWx1ZTogbnVtYmVyID0gdGhpcy5zY2FsZU51bWJlckJ5UG93ZXJPZlRlbih2YWx1ZSwgcHJlY2lzaW9uLCB0cnVlKTtcbiAgICBjb25zdCBzY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IE1hdGgucm91bmQoc2NhbGVkVmFsdWUpO1xuICAgIGNvbnN0IHVuc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSB0aGlzLnNjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgc2NhbGVkUm91bmRlZFZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgZmFsc2VcbiAgICApO1xu4oCLXG4gICAgcmV0dXJuIHVuc2NhbGVkUm91bmRlZFZhbHVlO1xuICB9XG7igItcbiAgLyoqXG4gICAqIFNjYWxlcyBhIGdpdmVuIG51bWJlciBieSBhIHBvd2VyIG9mIDEwXG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHNjYWxlXG4gICAqIEBwYXJhbSBzY2FsYXIgLSAxMF5zY2FsYXJcbiAgICogQHBhcmFtIHNjYWxlVXAgLSB3aGV0aGVyIHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHNjYWxhcjogbnVtYmVyLFxuICAgIHNjYWxlVXA6IGJvb2xlYW5cbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZVN0cjogc3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXhwb25lbnRGb3JtYXQ6IGJvb2xlYW4gPSB2YWx1ZVN0ci5pbmNsdWRlcygnZScpO1xu4oCLXG4gICAgaWYgKGlzRXhwb25lbnRGb3JtYXQpIHtcbiAgICAgIGNvbnN0IFtiYXNlLCBleHBdID0gdmFsdWVTdHIuc3BsaXQoJ2UnKTtcbiAgICAgIGNvbnN0IG5ld0V4cCA9IHNjYWxlVXAgPyAoTnVtYmVyKGV4cCkgKyBzY2FsYXIpIDogKE51bWJlcihleHApIC0gc2NhbGFyKTtcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7YmFzZX1lJHtuZXdFeHB9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGUgPSBzY2FsZVVwID8gJ2UnIDogJ2UtJztcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7dmFsdWV9JHtlfSR7c2NhbGFyfWApO1xuICAgIH1cbiAgfVxu4oCLXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHN5bWJvbCBhZGRlZCBmcm9tIHNob3J0ZW5pbmcgdG8gcmVhcHBseSBsYXRlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gZGVyaXZlIHRoZSBzaG9ydGVuIHN5bWJvbCBmcm9tLlxuICAgKi9cbiAgcHJpdmF0ZSBzdG9yZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bWJvbHM6IHN0cmluZ1tdID0gdGhpcy5zeW1ib2xJbmRleC5tYXAocyA9PiBzLmxhYmVsKTtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKHN5bWJvbHMuam9pbignfCcpLCAnaWcnKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4cCk7XG4gICAgdGhpcy5zaG9ydFN5bWJvbCA9IChtYXRjaCkgPyBtYXRjaC50b1N0cmluZygpIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBoYXZlIHByZXZpb3VzbHkgY2FsbGVkIHN0b3JlU2hvcnRlblN5bWJvbCB0byBoYXZlIHNvbWV0aGluZyB0byByZXBsYWNlLlxuICAgKiBGaW5kcyB0aGUgbGFzdCBudW1iZXIgaW4gdGhlIGZvcm1hdHRlZCBudW1iZXIsIGdldHMgdGhlIGluZGV4IG9mIHRoZSBwb3NpdGlvblxuICAgKiBhZnRlciB0aGF0IGNoYXJhY3RlciBhbmQgcmUtaW5zZXJ0cyB0aGUgc3ltYm9sLlxuICAgKiBXb3JrcyByZWdhcmRsZXNzIG9mIGN1cnJlbmN5IHN5bWJvbCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQgPSAvKFxcZCkoPyEuKlxcZCkvZy5leGVjKHZhbHVlKTtcbiAgICBjb25zdCBwb3MgPSByZXN1bHQuaW5kZXggKyByZXN1bHQubGVuZ3RoO1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLnN1YnN0cmluZygwLCBwb3MpICsgdGhpcy5zaG9ydFN5bWJvbCArIHZhbHVlLnN1YnN0cmluZyhwb3MpO1xuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3ltYm9sKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbl9VUycgfSxcbiAgICAgIGtleVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -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=
|