@skyux/core 6.16.0 → 7.0.0-alpha.0
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/documentation.json +1049 -899
- package/esm2020/lib/modules/adapter-service/adapter.module.mjs +4 -4
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +24 -25
- package/esm2020/lib/modules/affix/affix-offset.mjs +1 -1
- package/esm2020/lib/modules/affix/affix.directive.mjs +41 -26
- package/esm2020/lib/modules/affix/affix.module.mjs +5 -5
- package/esm2020/lib/modules/affix/affix.service.mjs +3 -3
- package/esm2020/lib/modules/affix/affixer.mjs +266 -260
- package/esm2020/lib/modules/affix/dom-utils.mjs +7 -7
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +51 -47
- package/esm2020/lib/modules/dock/dock-item.mjs +10 -5
- package/esm2020/lib/modules/dock/dock.component.mjs +58 -34
- package/esm2020/lib/modules/dock/dock.module.mjs +5 -5
- package/esm2020/lib/modules/dock/dock.service.mjs +43 -39
- package/esm2020/lib/modules/dynamic-component/dynamic-component.module.mjs +4 -4
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +40 -25
- package/esm2020/lib/modules/format/app-format.mjs +3 -3
- package/esm2020/lib/modules/id/id.directive.mjs +3 -3
- package/esm2020/lib/modules/id/id.module.mjs +4 -4
- package/esm2020/lib/modules/id/id.service.mjs +3 -3
- package/esm2020/lib/modules/log/log.module.mjs +4 -4
- package/esm2020/lib/modules/log/log.service.mjs +41 -41
- package/esm2020/lib/modules/media-query/media-query.module.mjs +4 -4
- package/esm2020/lib/modules/media-query/media-query.service.mjs +53 -50
- package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +6 -4
- package/esm2020/lib/modules/numeric/numeric.module.mjs +5 -5
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +29 -22
- package/esm2020/lib/modules/numeric/numeric.service.mjs +87 -102
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +26 -20
- package/esm2020/lib/modules/overlay/overlay-instance.mjs +18 -9
- package/esm2020/lib/modules/overlay/overlay.component.mjs +82 -58
- package/esm2020/lib/modules/overlay/overlay.module.mjs +5 -5
- package/esm2020/lib/modules/overlay/overlay.service.mjs +58 -52
- package/esm2020/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +35 -24
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +41 -49
- package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +3 -3
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +69 -70
- package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +4 -4
- package/esm2020/lib/modules/title/title.service.mjs +11 -7
- package/esm2020/lib/modules/trim/trim.directive.mjs +13 -14
- package/esm2020/lib/modules/trim/trim.module.mjs +4 -4
- package/esm2020/lib/modules/ui-config/ui-config.service.mjs +3 -3
- package/esm2020/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +1 -1
- package/esm2020/lib/modules/viewkeeper/viewkeeper-host-options.mjs +3 -3
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +78 -63
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +166 -156
- package/esm2020/lib/modules/viewkeeper/viewkeeper.module.mjs +4 -4
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +10 -6
- package/esm2020/lib/modules/window/window-ref.mjs +3 -3
- package/esm2020/testing/core-testing.module.mjs +8 -5
- package/esm2020/testing/mock-media-query.service.mjs +7 -4
- package/esm2020/testing/mock-ui-config.service.mjs +7 -4
- package/esm2020/testing/overlay/overlay-harness-filters.mjs +1 -1
- package/esm2020/testing/overlay/overlay-harness.mjs +2 -1
- package/esm2020/testing/shared/component-harness.mjs +4 -1
- package/esm2020/testing/shared/harness-filters.mjs +1 -1
- package/fesm2015/skyux-core-testing.mjs +23 -10
- package/fesm2015/skyux-core-testing.mjs.map +1 -1
- package/fesm2015/skyux-core.mjs +1416 -1291
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core-testing.mjs +23 -10
- package/fesm2020/skyux-core-testing.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +1418 -1290
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/adapter-service/adapter.service.d.ts +3 -5
- package/lib/modules/affix/affix-offset.d.ts +1 -1
- package/lib/modules/affix/affix.directive.d.ts +13 -14
- package/lib/modules/affix/affixer.d.ts +2 -34
- package/lib/modules/affix/dom-utils.d.ts +3 -3
- package/lib/modules/dock/dock-dom-adapter.service.d.ts +2 -9
- package/lib/modules/dock/dock-item.d.ts +1 -1
- package/lib/modules/dock/dock.component.d.ts +3 -11
- package/lib/modules/dock/dock.service.d.ts +2 -5
- package/lib/modules/dynamic-component/dynamic-component.service.d.ts +2 -7
- package/lib/modules/id/id.directive.d.ts +1 -1
- package/lib/modules/log/log.service.d.ts +2 -6
- package/lib/modules/media-query/media-query.service.d.ts +1 -8
- package/lib/modules/numeric/numeric.pipe.d.ts +3 -9
- package/lib/modules/numeric/numeric.service.d.ts +3 -36
- package/lib/modules/overlay/overlay-adapter.service.d.ts +1 -3
- package/lib/modules/overlay/overlay-instance.d.ts +1 -2
- package/lib/modules/overlay/overlay.component.d.ts +2 -15
- package/lib/modules/overlay/overlay.service.d.ts +1 -7
- package/lib/modules/percent-pipe/percent.pipe.d.ts +3 -10
- package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +2 -7
- package/lib/modules/scrollable-host/scrollable-host.service.d.ts +2 -11
- package/lib/modules/title/title.service.d.ts +2 -2
- package/lib/modules/trim/trim.directive.d.ts +1 -3
- package/lib/modules/viewkeeper/viewkeeper-boundary-info.d.ts +1 -1
- package/lib/modules/viewkeeper/viewkeeper.d.ts +2 -24
- package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +5 -17
- package/lib/modules/viewkeeper/viewkeeper.service.d.ts +1 -1
- package/package.json +10 -10
- package/testing/core-testing.module.d.ts +3 -0
- package/testing/{skyux-core-testing.d.ts → index.d.ts} +0 -0
- package/testing/mock-media-query.service.d.ts +3 -0
- package/testing/mock-ui-config.service.d.ts +3 -0
- package/testing/overlay/overlay-harness-filters.d.ts +1 -0
- package/testing/overlay/overlay-harness.d.ts +1 -0
- package/testing/shared/component-harness.d.ts +3 -0
- package/testing/shared/harness-filters.d.ts +1 -0
- package/skyux-core.d.ts +0 -5
- package/testing/package.json +0 -10
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
|
|
6
6
|
*/
|
7
7
|
export class SkyMediaQueryModule {
|
8
8
|
}
|
9
|
-
SkyMediaQueryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
10
|
-
SkyMediaQueryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
11
|
-
SkyMediaQueryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
9
|
+
SkyMediaQueryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
SkyMediaQueryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryModule });
|
11
|
+
SkyMediaQueryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryModule });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{}]
|
15
15
|
}] });
|
@@ -1,13 +1,16 @@
|
|
1
|
+
var _SkyMediaQueryService_instances, _SkyMediaQueryService_currentSubject, _SkyMediaQueryService_currentBreakpoint, _SkyMediaQueryService_breakpoints, _SkyMediaQueryService_mediaQueries, _SkyMediaQueryService_zone, _SkyMediaQueryService_addListeners, _SkyMediaQueryService_removeListeners, _SkyMediaQueryService_notifyBreakpointChange;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Injectable, NgZone } from '@angular/core';
|
2
4
|
import { BehaviorSubject } from 'rxjs';
|
3
5
|
import { SkyMediaBreakpoints } from './media-breakpoints';
|
4
6
|
import * as i0 from "@angular/core";
|
7
|
+
const DEFAULT_BREAKPOINT = SkyMediaBreakpoints.md;
|
5
8
|
export class SkyMediaQueryService {
|
6
9
|
constructor(zone) {
|
7
|
-
this
|
8
|
-
this
|
9
|
-
this
|
10
|
-
this
|
10
|
+
_SkyMediaQueryService_instances.add(this);
|
11
|
+
_SkyMediaQueryService_currentSubject.set(this, new BehaviorSubject(DEFAULT_BREAKPOINT));
|
12
|
+
_SkyMediaQueryService_currentBreakpoint.set(this, DEFAULT_BREAKPOINT);
|
13
|
+
_SkyMediaQueryService_breakpoints.set(this, [
|
11
14
|
{
|
12
15
|
mediaQueryString: SkyMediaQueryService.xs,
|
13
16
|
name: SkyMediaBreakpoints.xs,
|
@@ -24,26 +27,28 @@ export class SkyMediaQueryService {
|
|
24
27
|
mediaQueryString: SkyMediaQueryService.lg,
|
25
28
|
name: SkyMediaBreakpoints.lg,
|
26
29
|
},
|
27
|
-
];
|
28
|
-
this
|
29
|
-
|
30
|
+
]);
|
31
|
+
_SkyMediaQueryService_mediaQueries.set(this, []);
|
32
|
+
_SkyMediaQueryService_zone.set(this, void 0);
|
33
|
+
__classPrivateFieldSet(this, _SkyMediaQueryService_zone, zone, "f");
|
34
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_instances, "m", _SkyMediaQueryService_addListeners).call(this);
|
30
35
|
}
|
31
36
|
/**
|
32
37
|
* Returns the current breakpoint.
|
33
38
|
*/
|
34
39
|
get current() {
|
35
|
-
return this
|
40
|
+
return __classPrivateFieldGet(this, _SkyMediaQueryService_currentBreakpoint, "f");
|
36
41
|
}
|
37
42
|
ngOnDestroy() {
|
38
|
-
this.
|
39
|
-
this.
|
43
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_instances, "m", _SkyMediaQueryService_removeListeners).call(this);
|
44
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_currentSubject, "f").complete();
|
40
45
|
}
|
41
46
|
/**
|
42
47
|
* Subscribes to screen size changes.
|
43
48
|
* @param listener Specifies a function that is called when breakpoints change.
|
44
49
|
*/
|
45
50
|
subscribe(listener) {
|
46
|
-
return this.
|
51
|
+
return __classPrivateFieldGet(this, _SkyMediaQueryService_currentSubject, "f").subscribe({
|
47
52
|
next: (breakpoints) => {
|
48
53
|
listener(breakpoints);
|
49
54
|
},
|
@@ -53,43 +58,41 @@ export class SkyMediaQueryService {
|
|
53
58
|
* @internal
|
54
59
|
*/
|
55
60
|
destroy() {
|
56
|
-
this.
|
57
|
-
this.
|
58
|
-
}
|
59
|
-
addListeners() {
|
60
|
-
this.mediaQueries = this.breakpoints.map((breakpoint) => {
|
61
|
-
const mq = matchMedia(breakpoint.mediaQueryString);
|
62
|
-
const listener = (event) => {
|
63
|
-
// Run the check outside of Angular's change detection since Angular
|
64
|
-
// does not wrap matchMedia listeners in NgZone.
|
65
|
-
// See: https://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
|
66
|
-
this.zone.run(() => {
|
67
|
-
if (event.matches) {
|
68
|
-
this.notifyBreakpointChange(breakpoint.name);
|
69
|
-
}
|
70
|
-
});
|
71
|
-
};
|
72
|
-
mq.addListener(listener);
|
73
|
-
if (mq.matches) {
|
74
|
-
this.notifyBreakpointChange(breakpoint.name);
|
75
|
-
}
|
76
|
-
return {
|
77
|
-
mediaQueryList: mq,
|
78
|
-
listener,
|
79
|
-
};
|
80
|
-
});
|
81
|
-
}
|
82
|
-
removeListeners() {
|
83
|
-
this.mediaQueries.forEach((mediaQuery) => {
|
84
|
-
mediaQuery.mediaQueryList.removeListener(mediaQuery.listener);
|
85
|
-
});
|
86
|
-
this.mediaQueries = [];
|
87
|
-
}
|
88
|
-
notifyBreakpointChange(breakpoint) {
|
89
|
-
this._current = breakpoint;
|
90
|
-
this.currentSubject.next(breakpoint);
|
61
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_instances, "m", _SkyMediaQueryService_removeListeners).call(this);
|
62
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_currentSubject, "f").complete();
|
91
63
|
}
|
92
64
|
}
|
65
|
+
_SkyMediaQueryService_currentSubject = new WeakMap(), _SkyMediaQueryService_currentBreakpoint = new WeakMap(), _SkyMediaQueryService_breakpoints = new WeakMap(), _SkyMediaQueryService_mediaQueries = new WeakMap(), _SkyMediaQueryService_zone = new WeakMap(), _SkyMediaQueryService_instances = new WeakSet(), _SkyMediaQueryService_addListeners = function _SkyMediaQueryService_addListeners() {
|
66
|
+
__classPrivateFieldSet(this, _SkyMediaQueryService_mediaQueries, __classPrivateFieldGet(this, _SkyMediaQueryService_breakpoints, "f").map((breakpoint) => {
|
67
|
+
const mq = matchMedia(breakpoint.mediaQueryString);
|
68
|
+
const listener = (event) => {
|
69
|
+
// Run the check outside of Angular's change detection since Angular
|
70
|
+
// does not wrap matchMedia listeners in NgZone.
|
71
|
+
// See: https://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
|
72
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_zone, "f").run(() => {
|
73
|
+
if (event.matches) {
|
74
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_instances, "m", _SkyMediaQueryService_notifyBreakpointChange).call(this, breakpoint.name);
|
75
|
+
}
|
76
|
+
});
|
77
|
+
};
|
78
|
+
mq.addListener(listener);
|
79
|
+
if (mq.matches) {
|
80
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_instances, "m", _SkyMediaQueryService_notifyBreakpointChange).call(this, breakpoint.name);
|
81
|
+
}
|
82
|
+
return {
|
83
|
+
mediaQueryList: mq,
|
84
|
+
listener,
|
85
|
+
};
|
86
|
+
}), "f");
|
87
|
+
}, _SkyMediaQueryService_removeListeners = function _SkyMediaQueryService_removeListeners() {
|
88
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_mediaQueries, "f").forEach((mediaQuery) => {
|
89
|
+
mediaQuery.mediaQueryList.removeListener(mediaQuery.listener);
|
90
|
+
});
|
91
|
+
__classPrivateFieldSet(this, _SkyMediaQueryService_mediaQueries, [], "f");
|
92
|
+
}, _SkyMediaQueryService_notifyBreakpointChange = function _SkyMediaQueryService_notifyBreakpointChange(breakpoint) {
|
93
|
+
__classPrivateFieldSet(this, _SkyMediaQueryService_currentBreakpoint, breakpoint, "f");
|
94
|
+
__classPrivateFieldGet(this, _SkyMediaQueryService_currentSubject, "f").next(breakpoint);
|
95
|
+
};
|
93
96
|
/**
|
94
97
|
* The size for the `xs` breakpoint.
|
95
98
|
* @default "(max-width: 767px)"
|
@@ -110,12 +113,12 @@ SkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
|
|
110
113
|
* @default "(min-width: 1200px)"
|
111
114
|
*/
|
112
115
|
SkyMediaQueryService.lg = '(min-width: 1200px)';
|
113
|
-
SkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
114
|
-
SkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
116
|
+
SkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
117
|
+
SkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryService, providedIn: 'root' });
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyMediaQueryService, decorators: [{
|
116
119
|
type: Injectable,
|
117
120
|
args: [{
|
118
121
|
providedIn: 'root',
|
119
122
|
}]
|
120
123
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRzFELE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0FBS2xELE1BQU0sT0FBTyxvQkFBb0I7SUFtRS9CLFlBQVksSUFBWTs7UUFuQ3hCLCtDQUFrQixJQUFJLGVBQWUsQ0FDbkMsa0JBQWtCLENBQ25CLEVBQUM7UUFFRixrREFBcUIsa0JBQWtCLEVBQUM7UUFFeEMsNENBR007WUFDSjtnQkFDRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtTQUNGLEVBQUM7UUFFRiw2Q0FHTSxFQUFFLEVBQUM7UUFFVCw2Q0FBYztRQUdaLHVCQUFBLElBQUksOEJBQVMsSUFBSSxNQUFBLENB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c3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbmNvbnN0IERFRkFVTFRfQlJFQUtQT0lOVCA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWF4LXdpZHRoOiA3NjdweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNtID0gJyhtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50O1xuICB9XG5cbiAgI2N1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICBERUZBVUxUX0JSRUFLUE9JTlRcbiAgKTtcblxuICAjY3VycmVudEJyZWFrcG9pbnQgPSBERUZBVUxUX0JSRUFLUE9JTlQ7XG5cbiAgI2JyZWFrcG9pbnRzOiB7XG4gICAgbWVkaWFRdWVyeVN0cmluZzogc3RyaW5nO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS54cyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMueHMsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5zbSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5tZCxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5sZyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICAjbWVkaWFRdWVyaWVzOiB7XG4gICAgbWVkaWFRdWVyeUxpc3Q6IE1lZGlhUXVlcnlMaXN0O1xuICAgIGxpc3RlbmVyOiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgfVtdID0gW107XG5cbiAgI3pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3Rvcih6b25lOiBOZ1pvbmUpIHtcbiAgICB0aGlzLiN6b25lID0gem9uZTtcbiAgICB0aGlzLiNhZGRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiNjdXJyZW50U3ViamVjdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gc2NyZWVuIHNpemUgY2hhbmdlcy5cbiAgICogQHBhcmFtIGxpc3RlbmVyIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gYnJlYWtwb2ludHMgY2hhbmdlLlxuICAgKi9cbiAgcHVibGljIHN1YnNjcmliZShsaXN0ZW5lcjogU2t5TWVkaWFRdWVyeUxpc3RlbmVyKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudFN1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy4jY3VycmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gICNhZGRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbWVkaWFRdWVyaWVzID0gdGhpcy4jYnJlYWtwb2ludHMubWFwKChicmVha3BvaW50KSA9PiB7XG4gICAgICBjb25zdCBtcSA9IG1hdGNoTWVkaWEoYnJlYWtwb2ludC5tZWRpYVF1ZXJ5U3RyaW5nKTtcblxuICAgICAgY29uc3QgbGlzdGVuZXIgPSAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHtcbiAgICAgICAgLy8gUnVuIHRoZSBjaGVjayBvdXRzaWRlIG9mIEFuZ3VsYXIncyBjaGFuZ2UgZGV0ZWN0aW9uIHNpbmNlIEFuZ3VsYXJcbiAgICAgICAgLy8gZG9lcyBub3Qgd3JhcCBtYXRjaE1lZGlhIGxpc3RlbmVycyBpbiBOZ1pvbmUuXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9ibG9nLmFzc2FmLmNvL2FuZ3VsYXItMi1jaGFuZ2UtZGV0ZWN0aW9uLXpvbmVzLWFuZC1hbi1leGFtcGxlL1xuICAgICAgICB0aGlzLiN6b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50Lm1hdGNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuI25vdGlmeUJyZWFrcG9pbnRDaGFuZ2UoYnJlYWtwb2ludC5uYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgbXEuYWRkTGlzdGVuZXIobGlzdGVuZXIpO1xuXG4gICAgICBpZiAobXEubWF0Y2hlcykge1xuICAgICAgICB0aGlzLiNub3RpZnlCcmVha3BvaW50Q2hhbmdlKGJyZWFrcG9pbnQubmFtZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lZGlhUXVlcnlMaXN0OiBtcSxcbiAgICAgICAgbGlzdGVuZXIsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgI3JlbW92ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLiNtZWRpYVF1ZXJpZXMuZm9yRWFjaCgobWVkaWFRdWVyeSkgPT4ge1xuICAgICAgbWVkaWFRdWVyeS5tZWRpYVF1ZXJ5TGlzdC5yZW1vdmVMaXN0ZW5lcihtZWRpYVF1ZXJ5Lmxpc3RlbmVyKTtcbiAgICB9KTtcbiAgICB0aGlzLiNtZWRpYVF1ZXJpZXMgPSBbXTtcbiAgfVxuXG4gICNub3RpZnlCcmVha3BvaW50Q2hhbmdlKGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy4jY3VycmVudFN1YmplY3QubmV4dChicmVha3BvaW50KTtcbiAgfVxufVxuIl19
|
@@ -1,16 +1,18 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
+
// TODO: Prefix this service with `Sky` in a breaking change.
|
3
4
|
export class MutationObserverService {
|
5
|
+
// TODO: Give the `callback` parameter a stricter type in a breaking change.
|
4
6
|
create(callback) {
|
5
7
|
return new MutationObserver(callback);
|
6
8
|
}
|
7
9
|
}
|
8
|
-
MutationObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
9
|
-
MutationObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
10
|
+
MutationObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MutationObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
11
|
+
MutationObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MutationObserverService, providedIn: 'root' });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MutationObserverService, decorators: [{
|
11
13
|
type: Injectable,
|
12
14
|
args: [{
|
13
15
|
providedIn: 'root',
|
14
16
|
}]
|
15
17
|
}] });
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLDZEQUE2RDtBQUk3RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLDRFQUE0RTtJQUNyRSxNQUFNLENBQUMsUUFBYTtRQUN6QixPQUFPLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7b0hBSlUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBUT0RPOiBQcmVmaXggdGhpcyBzZXJ2aWNlIHdpdGggYFNreWAgaW4gYSBicmVha2luZyBjaGFuZ2UuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTXV0YXRpb25PYnNlcnZlclNlcnZpY2Uge1xuICAvLyBUT0RPOiBHaXZlIHRoZSBgY2FsbGJhY2tgIHBhcmFtZXRlciBhIHN0cmljdGVyIHR5cGUgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gIHB1YmxpYyBjcmVhdGUoY2FsbGJhY2s6IGFueSk6IE11dGF0aW9uT2JzZXJ2ZXIge1xuICAgIHJldHVybiBuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjayk7XG4gIH1cbn1cbiJdfQ==
|
@@ -5,10 +5,10 @@ import { SkyNumericPipe } from './numeric.pipe';
|
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export class SkyNumericModule {
|
7
7
|
}
|
8
|
-
SkyNumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
9
|
-
SkyNumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
10
|
-
SkyNumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
8
|
+
SkyNumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
SkyNumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericModule, declarations: [SkyNumericPipe], imports: [SkyI18nModule, SkyCoreResourcesModule], exports: [SkyNumericPipe] });
|
10
|
+
SkyNumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericModule, providers: [SkyNumericPipe], imports: [SkyI18nModule, SkyCoreResourcesModule] });
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericModule, decorators: [{
|
12
12
|
type: NgModule,
|
13
13
|
args: [{
|
14
14
|
declarations: [SkyNumericPipe],
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
17
17
|
exports: [SkyNumericPipe],
|
18
18
|
}]
|
19
19
|
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVFoRCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBTFosY0FBYyxhQUVuQixhQUFhLEVBQUUsc0JBQXNCLGFBQ3JDLGNBQWM7OEdBRWIsZ0JBQWdCLGFBSmhCLENBQUMsY0FBYyxDQUFDLFlBQ2pCLGFBQWEsRUFBRSxzQkFBc0I7MkZBR3BDLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDO29CQUNoRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUkxOG5Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUNvcmVSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreU51bWVyaWNQaXBlIH0gZnJvbSAnLi9udW1lcmljLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lOdW1lcmljUGlwZV0sXG4gIHByb3ZpZGVyczogW1NreU51bWVyaWNQaXBlXSxcbiAgaW1wb3J0czogW1NreUkxOG5Nb2R1bGUsIFNreUNvcmVSZXNvdXJjZXNNb2R1bGVdLFxuICBleHBvcnRzOiBbU2t5TnVtZXJpY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljTW9kdWxlIHt9XG4iXX0=
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyNumericPipe_cacheKey, _SkyNumericPipe_changeDetector, _SkyNumericPipe_formattedValue, _SkyNumericPipe_ngUnsubscribe, _SkyNumericPipe_numericSvc, _SkyNumericPipe_providerLocale;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ChangeDetectorRef, Pipe, } from '@angular/core';
|
2
4
|
import { SkyAppLocaleProvider } from '@skyux/i18n';
|
3
5
|
import { Subject } from 'rxjs';
|
@@ -14,34 +16,38 @@ import * as i2 from "./numeric.service";
|
|
14
16
|
* a space before the two curly brackets closing the pipe or it will not work.
|
15
17
|
*/
|
16
18
|
export class SkyNumericPipe {
|
17
|
-
constructor(localeProvider,
|
18
|
-
this
|
19
|
-
this
|
20
|
-
this
|
21
|
-
this
|
22
|
-
this
|
19
|
+
constructor(localeProvider, numericSvc, changeDetector) {
|
20
|
+
_SkyNumericPipe_cacheKey.set(this, void 0);
|
21
|
+
_SkyNumericPipe_changeDetector.set(this, void 0);
|
22
|
+
_SkyNumericPipe_formattedValue.set(this, void 0);
|
23
|
+
_SkyNumericPipe_ngUnsubscribe.set(this, new Subject());
|
24
|
+
_SkyNumericPipe_numericSvc.set(this, void 0);
|
25
|
+
_SkyNumericPipe_providerLocale.set(this, void 0);
|
26
|
+
__classPrivateFieldSet(this, _SkyNumericPipe_numericSvc, numericSvc, "f");
|
27
|
+
__classPrivateFieldSet(this, _SkyNumericPipe_changeDetector, changeDetector, "f");
|
28
|
+
localeProvider
|
23
29
|
.getLocaleInfo()
|
24
|
-
.pipe(takeUntil(this
|
30
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyNumericPipe_ngUnsubscribe, "f")))
|
25
31
|
.subscribe((localeInfo) => {
|
26
|
-
this
|
27
|
-
|
28
|
-
this.
|
32
|
+
__classPrivateFieldSet(this, _SkyNumericPipe_providerLocale, localeInfo.locale, "f");
|
33
|
+
numericSvc.currentLocale = __classPrivateFieldGet(this, _SkyNumericPipe_providerLocale, "f");
|
34
|
+
__classPrivateFieldGet(this, _SkyNumericPipe_changeDetector, "f").markForCheck();
|
29
35
|
});
|
30
36
|
}
|
31
37
|
ngOnDestroy() {
|
32
|
-
this.
|
33
|
-
this.
|
38
|
+
__classPrivateFieldGet(this, _SkyNumericPipe_ngUnsubscribe, "f").next();
|
39
|
+
__classPrivateFieldGet(this, _SkyNumericPipe_ngUnsubscribe, "f").complete();
|
34
40
|
}
|
35
41
|
/**
|
36
42
|
* Formats a number based on the provided options.
|
37
43
|
*/
|
38
44
|
transform(value, config) {
|
39
45
|
const newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
|
40
|
-
`${value}_${config?.locale || this
|
46
|
+
`${value}_${config?.locale || __classPrivateFieldGet(this, _SkyNumericPipe_providerLocale, "f")}`;
|
41
47
|
/* If the value and locale are the same as the last transform then return the previous value
|
42
48
|
instead of reformatting. */
|
43
|
-
if (this
|
44
|
-
return this
|
49
|
+
if (__classPrivateFieldGet(this, _SkyNumericPipe_formattedValue, "f") && __classPrivateFieldGet(this, _SkyNumericPipe_cacheKey, "f") === newCacheKey) {
|
50
|
+
return __classPrivateFieldGet(this, _SkyNumericPipe_formattedValue, "f");
|
45
51
|
}
|
46
52
|
const options = new NumericOptions();
|
47
53
|
// The default number of digits is `1`. When truncate is disabled, set digits
|
@@ -62,18 +68,19 @@ export class SkyNumericPipe {
|
|
62
68
|
}
|
63
69
|
Object.assign(options, config);
|
64
70
|
// Assign properties for proper result caching.
|
65
|
-
this
|
66
|
-
this
|
67
|
-
return this
|
71
|
+
__classPrivateFieldSet(this, _SkyNumericPipe_cacheKey, newCacheKey, "f");
|
72
|
+
__classPrivateFieldSet(this, _SkyNumericPipe_formattedValue, __classPrivateFieldGet(this, _SkyNumericPipe_numericSvc, "f").formatNumber(value, options), "f");
|
73
|
+
return __classPrivateFieldGet(this, _SkyNumericPipe_formattedValue, "f");
|
68
74
|
}
|
69
75
|
}
|
70
|
-
|
71
|
-
SkyNumericPipe.ɵ
|
72
|
-
i0.ɵɵ
|
76
|
+
_SkyNumericPipe_cacheKey = new WeakMap(), _SkyNumericPipe_changeDetector = new WeakMap(), _SkyNumericPipe_formattedValue = new WeakMap(), _SkyNumericPipe_ngUnsubscribe = new WeakMap(), _SkyNumericPipe_numericSvc = new WeakMap(), _SkyNumericPipe_providerLocale = new WeakMap();
|
77
|
+
SkyNumericPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericPipe, deps: [{ token: i1.SkyAppLocaleProvider }, { token: i2.SkyNumericService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
|
78
|
+
SkyNumericPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericPipe, name: "skyNumeric", pure: false });
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyNumericPipe, decorators: [{
|
73
80
|
type: Pipe,
|
74
81
|
args: [{
|
75
82
|
name: 'skyNumeric',
|
76
83
|
pure: false,
|
77
84
|
}]
|
78
85
|
}], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }, { type: i2.SkyNumericService }, { type: i0.ChangeDetectorRef }]; } });
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixJQUFJLEdBRUwsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFdEQ7Ozs7O0dBS0c7QUFLSCxNQUFNLE9BQU8sY0FBYztJQWF6QixZQUNFLGNBQW9DLEVBQ3BDLFVBQTZCLEVBQzdCLGNBQWlDO1FBZm5DLDJDQUE4QjtRQUU5QixpREFBbUM7UUFFbkMsaURBQW9DO1FBRXBDLHdDQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRXJDLDZDQUErQjtRQUUvQixpREFBb0M7UUFPbEMsdUJBQUEsSUFBSSw4QkFBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLGtDQUFtQixjQUFjLE1BQUEsQ0FBQztRQUV0QyxjQUFjO2FBQ1gsYUFBYSxFQUFFO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLHFDQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4Qix1QkFBQSxJQUFJLGtDQUFtQixVQUFVLENBQUMsTUFBTSxNQUFBLENBQUM7WUFDekMsVUFBVSxDQUFDLGFBQWEsR0FBRyx1QkFBQSxJQUFJLHNDQUFnQixDQUFDO1lBQ2hELHVCQUFBLElBQUksc0NBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQix1QkFBQSxJQUFJLHFDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBMEI7UUFDeEQsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xFLEdBQUcsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksdUJBQUEsSUFBSSxzQ0FBZ0IsRUFBRSxDQUFDO1FBRXZEO21DQUMyQjtRQUMzQixJQUFJLHVCQUFBLElBQUksc0NBQWdCLElBQUksdUJBQUEsSUFBSSxnQ0FBVSxLQUFLLFdBQVcsRUFBRTtZQUMxRCxPQUFPLHVCQUFBLElBQUksc0NBQWdCLENBQUM7U0FDN0I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRXJDLDZFQUE2RTtRQUM3RSx1RkFBdUY7UUFDdkYsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDdEUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFFRCxnRkFBZ0Y7UUFDaEYsSUFDRSxNQUFNO1lBQ04sTUFBTSxDQUFDLFNBQVM7WUFDaEIsTUFBTSxDQUFDLE1BQU07WUFDYixNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQ2hDO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYixpRkFBaUYsQ0FDbEYsQ0FBQztZQUVGLCtGQUErRjtTQUNoRzthQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNuQztRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLCtDQUErQztRQUMvQyx1QkFBQSxJQUFJLDRCQUFhLFdBQVcsTUFBQSxDQUFDO1FBRTdCLHVCQUFBLElBQUksa0NBQW1CLHVCQUFBLElBQUksa0NBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFBLENBQUM7UUFDckUsT0FBTyx1QkFBQSxJQUFJLHNDQUFnQixDQUFDO0lBQzlCLENBQUM7OzsyR0FqRlUsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uRGVzdHJveSxcbiAgUGlwZSxcbiAgUGlwZVRyYW5zZm9ybSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBMb2NhbGVQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOdW1lcmljT3B0aW9ucywgU2t5TnVtZXJpY09wdGlvbnMgfSBmcm9tICcuL251bWVyaWMub3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lOdW1lcmljU2VydmljZSB9IGZyb20gJy4vbnVtZXJpYy5zZXJ2aWNlJztcblxuLyoqXG4gKiBTaG9ydGVucyBudW1iZXJzIHRvIHJvdW5kZWQgbnVtYmVycyBhbmQgYWJicmV2aWF0aW9uIGNoYXJhY3RlcnMgc3VjaCBhcyBLIGZvciB0aG91c2FuZHMsXG4gKiBNIGZvciBtaWxsaW9ucywgQiBmb3IgYmlsbGlvbnMsIGFuZCBUIGZvciB0cmlsbGlvbnMuIFRoZSBwaXBlIGFsc28gZm9ybWF0cyBmb3IgY3VycmVuY3kuXG4gKiBCZSBzdXJlIHlvdSBoYXZlIGEgc3BhY2UgYWZ0ZXIgdGhlIHR3byBjdXJseSBicmFja2V0cyBvcGVuaW5nIHRoZSBwaXBlIGFuZFxuICogYSBzcGFjZSBiZWZvcmUgdGhlIHR3byBjdXJseSBicmFja2V0cyBjbG9zaW5nIHRoZSBwaXBlIG9yIGl0IHdpbGwgbm90IHdvcmsuXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3NreU51bWVyaWMnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICAjY2FjaGVLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNmb3JtYXR0ZWRWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjbnVtZXJpY1N2YzogU2t5TnVtZXJpY1NlcnZpY2U7XG5cbiAgI3Byb3ZpZGVyTG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9jYWxlUHJvdmlkZXI6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgIG51bWVyaWNTdmM6IFNreU51bWVyaWNTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNudW1lcmljU3ZjID0gbnVtZXJpY1N2YztcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuXG4gICAgbG9jYWxlUHJvdmlkZXJcbiAgICAgIC5nZXRMb2NhbGVJbmZvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZUluZm8pID0+IHtcbiAgICAgICAgdGhpcy4jcHJvdmlkZXJMb2NhbGUgPSBsb2NhbGVJbmZvLmxvY2FsZTtcbiAgICAgICAgbnVtZXJpY1N2Yy5jdXJyZW50TG9jYWxlID0gdGhpcy4jcHJvdmlkZXJMb2NhbGU7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdHMgYSBudW1iZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIGNvbmZpZz86IFNreU51bWVyaWNPcHRpb25zKTogc3RyaW5nIHtcbiAgICBjb25zdCBuZXdDYWNoZUtleSA9XG4gICAgICAoY29uZmlnID8gSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBPYmplY3Qua2V5cyhjb25maWcpLnNvcnQoKSkgOiAnJykgK1xuICAgICAgYCR7dmFsdWV9XyR7Y29uZmlnPy5sb2NhbGUgfHwgdGhpcy4jcHJvdmlkZXJMb2NhbGV9YDtcblxuICAgIC8qIElmIHRoZSB2YWx1ZSBhbmQgbG9jYWxlIGFyZSB0aGUgc2FtZSBhcyB0aGUgbGFzdCB0cmFuc2Zvcm0gdGhlbiByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlXG4gICAgaW5zdGVhZCBvZiByZWZvcm1hdHRpbmcuICovXG4gICAgaWYgKHRoaXMuI2Zvcm1hdHRlZFZhbHVlICYmIHRoaXMuI2NhY2hlS2V5ID09PSBuZXdDYWNoZUtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuI2Zvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSBuZXcgTnVtZXJpY09wdGlvbnMoKTtcblxuICAgIC8vIFRoZSBkZWZhdWx0IG51bWJlciBvZiBkaWdpdHMgaXMgYDFgLiBXaGVuIHRydW5jYXRlIGlzIGRpc2FibGVkLCBzZXQgZGlnaXRzXG4gICAgLy8gdG8gYDBgIHRvIGF2b2lkIHRoZSB1bm5lY2Vzc2FyeSBhZGRpdGlvbiBvZiBgLjBgIGF0IHRoZSBlbmQgb2YgdGhlIGZvcm1hdHRlZCBudW1iZXIuXG4gICAgaWYgKGNvbmZpZyAmJiBjb25maWcudHJ1bmNhdGUgPT09IGZhbHNlICYmIGNvbmZpZy5kaWdpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy5kaWdpdHMgPSAwO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBtaW5pbXVtIGRpZ2l0cyBpcyBsZXNzIHRoYW4gdGhlIHNldCBtYXhpbXVtIGRpZ2l0cyB0aGVuIHRocm93IGFuIGVycm9yXG4gICAgaWYgKFxuICAgICAgY29uZmlnICYmXG4gICAgICBjb25maWcubWluRGlnaXRzICYmXG4gICAgICBjb25maWcuZGlnaXRzICYmXG4gICAgICBjb25maWcubWluRGlnaXRzID4gY29uZmlnLmRpZ2l0c1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGBkaWdpdHNgIHByb3BlcnR5IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBgbWluRGlnaXRzYCBwcm9wZXJ0eSdcbiAgICAgICk7XG5cbiAgICAgIC8vIElmIHRoZXJlIGlzIGEgbWluaW11bSBkaWdpdHMgZ2l2ZW4gYnV0IG5vdCBhIG1heGltdW0gdGhlbiBkZWZhdWx0IHRoZSBtYXhpbXVtIHRvIHRoZSBtaW5pbXVtXG4gICAgfSBlbHNlIGlmIChjb25maWcgJiYgY29uZmlnLm1pbkRpZ2l0cyAmJiAhY29uZmlnLmRpZ2l0cykge1xuICAgICAgb3B0aW9ucy5kaWdpdHMgPSBjb25maWcubWluRGlnaXRzO1xuICAgIH1cblxuICAgIE9iamVjdC5hc3NpZ24ob3B0aW9ucywgY29uZmlnKTtcblxuICAgIC8vIEFzc2lnbiBwcm9wZXJ0aWVzIGZvciBwcm9wZXIgcmVzdWx0IGNhY2hpbmcuXG4gICAgdGhpcy4jY2FjaGVLZXkgPSBuZXdDYWNoZUtleTtcblxuICAgIHRoaXMuI2Zvcm1hdHRlZFZhbHVlID0gdGhpcy4jbnVtZXJpY1N2Yy5mb3JtYXROdW1iZXIodmFsdWUsIG9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLiNmb3JtYXR0ZWRWYWx1ZTtcbiAgfVxufVxuIl19
|