@coolon/angular-ui-powerups 16.1.0-aplpha.121 → 16.1.0-aplpha.122
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/esm2022/lib/animations/slide-animations.mjs +14 -14
- package/esm2022/lib/components/disposable-component.mjs +5 -2
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +5 -5
- package/fesm2022/coolon-angular-ui-powerups.mjs +21 -18
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/disposable-component.d.ts +1 -0
- package/lib/components/forms/number-input/number-input.component.d.ts +1 -1
- package/package.json +2 -2
|
@@ -6,25 +6,12 @@ const slideDownOnEnterDef = style({
|
|
|
6
6
|
paddingTop: '0',
|
|
7
7
|
paddingBottom: '0'
|
|
8
8
|
});
|
|
9
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10
|
-
export const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
11
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
12
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
13
|
-
]);
|
|
14
|
-
export const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
15
|
-
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
16
|
-
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
17
|
-
]);
|
|
18
9
|
const slideLeftOnEnterDef = style({
|
|
19
10
|
opacity: 0,
|
|
20
11
|
'width': '0',
|
|
21
12
|
paddingLeft: '0',
|
|
22
13
|
paddingRight: '0'
|
|
23
14
|
});
|
|
24
|
-
export const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
25
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
26
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
27
|
-
]);
|
|
28
15
|
const ZERO_WIDTH = {
|
|
29
16
|
opacity: 0,
|
|
30
17
|
width: '0',
|
|
@@ -37,6 +24,19 @@ const ZERO_HEIGHT = {
|
|
|
37
24
|
paddingTop: '0',
|
|
38
25
|
paddingBottom: '0',
|
|
39
26
|
};
|
|
27
|
+
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
28
|
+
export const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
29
|
+
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
30
|
+
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
31
|
+
]);
|
|
32
|
+
export const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
33
|
+
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
34
|
+
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
35
|
+
]);
|
|
36
|
+
export const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
37
|
+
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
38
|
+
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
39
|
+
]);
|
|
40
40
|
export const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
41
41
|
transition(':enter', [
|
|
42
42
|
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|
|
@@ -53,4 +53,4 @@ export const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnt
|
|
|
53
53
|
])
|
|
54
54
|
], { params: { duration: '100ms' } })
|
|
55
55
|
]);
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2FuaW1hdGlvbnMvc2xpZGUtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLEdBQUc7SUFDYixZQUFZLEVBQUUsR0FBRztJQUNqQixVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEdBQUc7SUFDWixXQUFXLEVBQUUsR0FBRztJQUNoQixZQUFZLEVBQUUsR0FBRztDQUNsQixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRztJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNWLEtBQUssRUFBRSxHQUFHO0lBQ1YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLEdBQUc7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUM7QUFHRixnR0FBZ0c7QUFDaEcsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ25FLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQ3hHLENBQUMsQ0FBQztBQUdILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUNyRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQy9HLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Q0FDaEgsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFO0lBQ3JFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3ZHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0NBQ3hHLENBQUMsQ0FBQztBQUdILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtJQUNuRixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ25CLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2xGLE9BQU8sQ0FBQyxjQUFjLENBQUM7S0FDeEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ3JDLFVBQVUsQ0FBQyxRQUFRLEVBQ2pCO1FBQ0UsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkQsS0FBSyxDQUFDO1lBQ0osT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0MscUhBQXFIO1lBQ3JILHFIQUFxSDtZQUNySCxzR0FBc0c7WUFDdEcsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEMsQ0FBQztLQUNILEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIGdyb3VwLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmNvbnN0IHNsaWRlRG93bk9uRW50ZXJEZWYgPSBzdHlsZSh7XG4gIG9wYWNpdHk6IDAsXG4gICdoZWlnaHQnOiAnMCcsXG4gICdtYXgtaGVpZ2h0JzogJzAnLFxuICBwYWRkaW5nVG9wOiAnMCcsXG4gIHBhZGRpbmdCb3R0b206ICcwJ1xufSk7XG5cbmNvbnN0IHNsaWRlTGVmdE9uRW50ZXJEZWYgPSBzdHlsZSh7XG4gIG9wYWNpdHk6IDAsXG4gICd3aWR0aCc6ICcwJyxcbiAgcGFkZGluZ0xlZnQ6ICcwJyxcbiAgcGFkZGluZ1JpZ2h0OiAnMCdcbn0pO1xuXG5jb25zdCBaRVJPX1dJRFRIID0ge1xuICBvcGFjaXR5OiAwLFxuICB3aWR0aDogJzAnLFxuICBwYWRkaW5nTGVmdDogJzAnLFxuICBwYWRkaW5nUmlnaHQ6ICcwJyxcbn07XG5cbmNvbnN0IFpFUk9fSEVJR0hUID0ge1xuICBvcGFjaXR5OiAwLFxuICBoZWlnaHQ6ICcwJyxcbiAgcGFkZGluZ1RvcDogJzAnLFxuICBwYWRkaW5nQm90dG9tOiAnMCcsXG59O1xuXG5cbi8vIFRPRE86IHBhcmFtcyBhcmVuJ3QgZ2V0dGluZyBjdXN0b21pc2VkIGluIHRoZSB2aWV3LiAgTmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjb3JyZWN0IGFwcHJvYWNoLlxuZXhwb3J0IGNvbnN0IHNsaWRlRG93bk9uRW50ZXJBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZURvd25PbkVudGVyJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc2xpZGVEb3duT25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc2xpZGVEb3duT25FbnRlckRlZildLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pXG5dKTtcblxuXG5leHBvcnQgY29uc3Qgc2xpZGVEb3duV2hlbk9wZW5BbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZURvd25XaGVuT3BlbicsIFtcbiAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbc2xpZGVEb3duT25FbnRlckRlZiwgYW5pbWF0ZSgne3tkdXJhdGlvbn19JyldLCB7IHBhcmFtczogeyBkdXJhdGlvbjogJzEwMG1zJyB9IH0pLFxuICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFthbmltYXRlKCd7e2R1cmF0aW9ufX0nLCBzbGlkZURvd25PbkVudGVyRGVmKV0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSlcbl0pO1xuXG5leHBvcnQgY29uc3Qgc2xpZGVSaWdodE9uRW50ZXJBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZVJpZ2h0T25FbnRlcicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW3NsaWRlTGVmdE9uRW50ZXJEZWYsIGFuaW1hdGUoJ3t7ZHVyYXRpb259fScpXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KSxcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJ3t7ZHVyYXRpb259fScsIHNsaWRlTGVmdE9uRW50ZXJEZWYpXSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICcxMDBtcycgfSB9KVxuXSk7XG5cblxuZXhwb3J0IGNvbnN0IHNsaWRlRG93bkFuZFJpZ2h0T25FbnRlckFuaW1hdGlvbiA9IHRyaWdnZXIoJ3NsaWRlRG93bkFuZFJpZ2h0T25FbnRlcicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgIHN0eWxlKHsgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsIC4uLlpFUk9fV0lEVEgsIC4uLlpFUk9fSEVJR0hUIH0pLFxuICAgIGFuaW1hdGUoJ3t7ZHVyYXRpb259fScpXG4gIF0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSksXG4gIHRyYW5zaXRpb24oJzpsZWF2ZScsXG4gICAgW1xuICAgICAgc3R5bGUoeyBvdmVyZmxvdzogXCJoaWRkZW5cIiwgd2hpdGVTcGFjZTogXCJub3dyYXBcIiB9KSxcbiAgICAgIGdyb3VwKFtcbiAgICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19Jywgc3R5bGUoWkVST19IRUlHSFQpKSxcbiAgICAgICAgLy8gSGFjazogMTAwbXMgaXMgdG9vIHF1aWNrIGFzIGl0IGFuaW1hdGVzIGZyb20gKiAtIDAgYXMgd2Ugb25seSBzZWUgaXQgYW5pbWF0ZSB0aGUgd2lkdGggaXMgZ3JlYXRlciB0aGFuIHRoZSBwYXJlbnQuXG4gICAgICAgIC8vIE5vdCBzdXJlIGhvdyB0byBhbmltYXRlIGZyb20gKiB0byBuYXR1cmFsIG5ldyB3aWR0aCBvZiBwYXJlbnQuICBUaGlzIGhhY2sgd29uJ3Qgd29yayBmb3IgdGV4dCB0aGF0J3MganVzdCBhIGxpdHRsZVxuICAgICAgICAvLyBiaXQgd2lkZXIgdGhhbiB0aGUgcGFyZW50IGFzIGl0J2xsIGZhbGwgd2l0aGluIHRoZSBwYXJlbnQgYm91bmRzIHZlcnkgZWFybHkgaW4gdGhlIGFuaW1hdGlvbiBjeWNsZS5cbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMnLCBzdHlsZShaRVJPX1dJRFRIKSksXG4gICAgICBdKVxuICAgIF0sIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnMTAwbXMnIH0gfSlcbl0pO1xuIl19
|
|
@@ -47,7 +47,10 @@ export class DisposableComponent extends GarbageCollector {
|
|
|
47
47
|
*/
|
|
48
48
|
viewStateDependsOn(...models) {
|
|
49
49
|
const { when } = Dsl.disposeWith(this);
|
|
50
|
-
when.anyOf(...models).changes(() => this.
|
|
50
|
+
when.anyOf(...models).changes(() => this.markForCheck());
|
|
51
|
+
}
|
|
52
|
+
markForCheck() {
|
|
53
|
+
this.cdr.markForCheck();
|
|
51
54
|
}
|
|
52
55
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
56
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: DisposableComponent, usesInheritance: true, ngImport: i0 });
|
|
@@ -55,4 +58,4 @@ export class DisposableComponent extends GarbageCollector {
|
|
|
55
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, decorators: [{
|
|
56
59
|
type: Directive
|
|
57
60
|
}], ctorParameters: function () { return []; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFrRCxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUMsR0FBRyxFQUFFLGdCQUFnQixFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFHOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQUU5QyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWxDLGdEQUFnRDtJQUNoRCxvQ0FBb0M7SUFDcEMsc0NBQXNDO0lBQ3RDLGNBQWMsR0FBbUIsRUFBRSxDQUFDO0lBQ3BDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFRixHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUU7UUFDOUUsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUE7SUFFRjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxrREFBa0Q7WUFDN0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1NBQ3JFO0lBQ0gsQ0FBQztJQUVTLE1BQU0sQ0FBQyxRQUFvQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsUUFBUSxFQUFFLENBQUM7U0FDWjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRVMsTUFBTSxDQUFJLEtBQXVCLEVBQUUsT0FBdUI7UUFDbEUsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxrQkFBa0IsQ0FBQyxHQUFHLE1BQXVCO1FBQ3JELE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVTLFlBQVk7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO3VHQXpEVSxtQkFBbUI7MkZBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3RPcHRpb25zLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUHJvdmlkZXJUb2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RzbCwgR2FyYmFnZUNvbGxlY3RvciwgSGFzVmFsdWV9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7SGlnaGxpZ2h0VGV4dE1vZGVsRGlyZWN0aXZlfSBmcm9tIFwiLi4vZGlyZWN0aXZlcy9oaWdobGlnaHQtdGV4dC1tb2RlbC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7VHJhY2t9IGZyb20gXCIuL3RyYWNrXCI7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIERpc3Bvc2FibGVDb21wb25lbnQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IHRyYWNrQnlJZCA9IFRyYWNrLmJ5SWQoKTtcblxuICAvLyAjX2xvYWRlZCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oKTtcbiAgLy8gI2FzeW5jTG9hZGFibGVzOiBMb2FkYWJsZVtdID0gW107XG4gIC8vICNhd2FpdGVkTG9hZGFibGVzOiBMb2FkYWJsZVtdID0gW107XG4gICNpbml0Q2FsbGJhY2tzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuICAjaW5pdGlhbGlzZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RyID0gdGhpcy5pbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGlnaGxpZ2h0Q29udGV4dD8gPSB0aGlzLmluamVjdChIaWdobGlnaHRUZXh0TW9kZWxEaXJlY3RpdmUsIHtcbiAgICBvcHRpb25hbDogdHJ1ZVxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0Q29udGV4dCkgeyAvLyB0aGUgY29tcG9uZW50IG1pZ2h0IGJlIHJlbmRlcmVkIG91dHNpZGUgYSB0YWJsZVxuICAgICAgdGhpcy52aWV3U3RhdGVEZXBlbmRzT24odGhpcy5oaWdobGlnaHRDb250ZXh0LmF1cEhpZ2hsaWdodFRleHRNb2RlbClcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Jbml0KGNhbGxiYWNrOiAoKSA9PiB2b2lkKSB7XG4gICAgaWYgKHRoaXMuI2luaXRpYWxpc2VkKSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNpbml0Q2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2luaXRDYWxsYmFja3MuZm9yRWFjaChpdCA9PiBpdCgpKTtcbiAgICB0aGlzLiNpbml0aWFsaXNlZCA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbmplY3Q8VD4odG9rZW46IFByb3ZpZGVyVG9rZW48VD4sIG9wdGlvbnM/OiBJbmplY3RPcHRpb25zKTogVCB7XG4gICAgcmV0dXJuIGluamVjdCh0b2tlbiwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvcnMgdGhlIHNwZWNpZmllZCBtb2RlbHMgZm9yIGFueSBjaGFuZ2UgYW5kIHRyaWdnZXJzIGFuZCBhbmd1bGFyIGNoYW5nZSBkZXRlY3QgY3ljbGUuICBUaGlzIGlzIGludGVuZGVkIGZvciB1c2VcbiAgICogd2hlbiB0aGUgY29tcG9uZW50IHVzZXMgdGhlIE9OX1BVU0ggY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneSBvciB3aGVuIGl0IGlzIGNvbnRhaW5lZCB3aXRoaW4gYW5vdGhlciBjb21wb25lbnQgdGhhdFxuICAgKiBkb2VzIChlLmcuIGF1cC10YWJsZSwgYXVwLXRyZWUtdGFibGUpXG4gICAqIEBwYXJhbSBtb2RlbHNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHZpZXdTdGF0ZURlcGVuZHNPbiguLi5tb2RlbHM6IEhhc1ZhbHVlPGFueT5bXSkge1xuICAgIGNvbnN0IHt3aGVufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB3aGVuLmFueU9mKC4uLm1vZGVscykuY2hhbmdlcygoKSA9PiB0aGlzLm1hcmtGb3JDaGVjaygpKVxuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -37,7 +37,7 @@ export class NumberInputComponent extends AbstractValueInputComponent {
|
|
|
37
37
|
super();
|
|
38
38
|
const { chain } = Dsl.disposeWith(this);
|
|
39
39
|
this.step$ = chain(this.significantDigits$).map(v => 10 ** (-v)).otherwise(1);
|
|
40
|
-
this.displayValue$ = chain(this.value$).map(v => this.
|
|
40
|
+
this.displayValue$ = chain(this.value$).map(v => this.clampSignificantDigits(v), {
|
|
41
41
|
dependsOn: this.significantDigits$
|
|
42
42
|
});
|
|
43
43
|
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
@@ -49,12 +49,12 @@ export class NumberInputComponent extends AbstractValueInputComponent {
|
|
|
49
49
|
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
50
50
|
}
|
|
51
51
|
increment(value) {
|
|
52
|
-
return this.
|
|
52
|
+
return this.clampSignificantDigits((value ?? 0) + this.step$.value);
|
|
53
53
|
}
|
|
54
54
|
decrement(value) {
|
|
55
|
-
return this.
|
|
55
|
+
return this.clampSignificantDigits((value ?? 0) - this.step$.value);
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
clampSignificantDigits(value) {
|
|
58
58
|
return Number(value.toFixed(this.significantDigits));
|
|
59
59
|
}
|
|
60
60
|
onValueChange(value) {
|
|
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
105
105
|
}], significantDigits: [{
|
|
106
106
|
type: Input
|
|
107
107
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQVMsVUFBVSxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7OztBQVE5RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsMkJBQW1DO0lBRWxFLFlBQVksQ0FBUztJQUdyQix5QkFBMkIsT0FBTyxDQUFDLENBQUEsVUFBa0IsQ0FBQSxDQUFDLENBQUM7SUFBdkQsSUFBQSxJQUFJLDBDQUFtRDtJQUF2RCxJQUFBLElBQUksZ0RBQW1EO0lBR3ZELHdCQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUE5QixJQUFBLEdBQUcseUNBQTJCO0lBQTlCLElBQUEsR0FBRywrQ0FBMkI7SUFHOUIseUJBQTJCLE9BQU8sQ0FBQyxDQUFBLFVBQWtCLENBQUEsQ0FBQyxDQUFDO0lBQXZELElBQUEsSUFBSSwwQ0FBbUQ7SUFBdkQsSUFBQSxJQUFJLGdEQUFtRDtJQUd2RCx3QkFBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFBOUIsSUFBQSxHQUFH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QixDQUFDO3VHQTlEVSxvQkFBb0I7MkZBQXBCLG9CQUFvQiwrUENWakMsaTlCQXlCQTs7QURWVztJQURDLE9BQU8sRUFBRTs4QkFDSixVQUFVO2dEQUF1QztBQUd2RDtJQURDLGlCQUFpQixFQUFFOzsrQ0FDVTtBQUc5QjtJQURDLE9BQU8sRUFBRTs4QkFDSixVQUFVO2dEQUF1QztBQUd2RDtJQURDLGlCQUFpQixFQUFFOzsrQ0FDVTtBQUc5QjtJQURDLE9BQU8sRUFBRTs4QkFDUyxVQUFVOzhEQUF1QztBQUdwRTtJQURDLGlCQUFpQixFQUFFOzs2REFDTTsyRkFwQnhCLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBTW5CLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csSUFBSTtzQkFEWixLQUFLO2dCQUlHLEdBQUc7c0JBRFgsS0FBSztnQkFJRyxJQUFJO3NCQURaLEtBQUs7Z0JBSUcsR0FBRztzQkFEWCxLQUFLO2dCQUlHLGtCQUFrQjtzQkFEMUIsS0FBSztnQkFJRyxpQkFBaUI7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tYW5kLCBEc2wsIFByb3hpZnksIHByb3hpZnksIFN0b3JlSW5WYWx1ZU1vZGVsLCBUcmFjZSwgVmFsdWVNb2RlbCwgVmFsdWVNb2RlbENoYWlufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7QWJzdHJhY3RWYWx1ZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC12YWx1ZS1pbnB1dC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1udW1iZXItaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFZhbHVlSW5wdXRDb21wb25lbnQ8bnVtYmVyPiB7XG5cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBtaW4kOiBWYWx1ZU1vZGVsPG51bWJlcj4gPSBwcm94aWZ5KFZhbHVlTW9kZWw8bnVtYmVyPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgbWluID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBtYXgkOiBWYWx1ZU1vZGVsPG51bWJlcj4gPSBwcm94aWZ5KFZhbHVlTW9kZWw8bnVtYmVyPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgbWF4ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBzaWduaWZpY2FudERpZ2l0cyQ6VmFsdWVNb2RlbDxudW1iZXI+ID0gcHJveGlmeShWYWx1ZU1vZGVsPG51bWJlcj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIHNpZ25pZmljYW50RGlnaXRzOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluY3JlbWVudENvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWNyZW1lbnRDb21tYW5kOiBDb21tYW5kPHZvaWQ+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzcGxheVZhbHVlJDogVmFsdWVNb2RlbDxudW1iZXI+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCQ6IFZhbHVlTW9kZWxDaGFpbjxudW1iZXI+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMuc3RlcCQgPSBjaGFpbih0aGlzLnNpZ25pZmljYW50RGlnaXRzJCkubWFwKHYgPT4gMTAgKiogKC12KSkub3RoZXJ3aXNlKDEpXG5cbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSQgPSBjaGFpbih0aGlzLnZhbHVlJCkubWFwKHYgPT4gdGhpcy5jbGFtcFNpZ25pZmljYW50RGlnaXRzKHYpLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuc2lnbmlmaWNhbnREaWdpdHMkXG4gICAgfSk7XG5cbiAgICBjb25zdCBub3JtYWxpc2VkVmFsdWUkID0gY2hhaW4odGhpcy52YWx1ZSQpLm90aGVyd2lzZSgwKTtcblxuICAgIHRoaXMuaW5jcmVtZW50Q29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUkLnZhbHVlID0gdGhpcy5pbmNyZW1lbnQodGhpcy52YWx1ZSQudmFsdWUpO1xuICAgIH0pLmVuYWJsZVdoaWxlKGNoYWluLm51bWVyaWNWYWx1ZShub3JtYWxpc2VkVmFsdWUkKS5pc0xlc3NUaGFuKHRoaXMubWF4JCkuYW5kKHRoaXMuZW5hYmxlZCQpKTtcblxuICAgIHRoaXMuZGVjcmVtZW50Q29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUkLnZhbHVlID0gdGhpcy5kZWNyZW1lbnQodGhpcy52YWx1ZSQudmFsdWUpO1xuICAgIH0pLmVuYWJsZVdoaWxlKGNoYWluLm51bWVyaWNWYWx1ZShub3JtYWxpc2VkVmFsdWUkKS5pc0dyZWF0ZXJUaGFuKHRoaXMubWluJCkuYW5kKHRoaXMuZW5hYmxlZCQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5jcmVtZW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5jbGFtcFNpZ25pZmljYW50RGlnaXRzKCh2YWx1ZSA/PyAwKSArIHRoaXMuc3RlcCQudmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGRlY3JlbWVudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xhbXBTaWduaWZpY2FudERpZ2l0cygodmFsdWUgPz8gMCkgLSB0aGlzLnN0ZXAkLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBjbGFtcFNpZ25pZmljYW50RGlnaXRzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBOdW1iZXIodmFsdWUudG9GaXhlZCh0aGlzLnNpZ25pZmljYW50RGlnaXRzKSk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlJC52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICBbbmdNb2RlbF09XCJkaXNwbGF5VmFsdWUkLnZhbHVlXCJcbiAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWQkLnZhbHVlXCJcbiAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm5vdGlmeUVudGVyS2V5KClcIlxuICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIm5vdGlmeUVzY2FwZUtleSgpXCJcbiAgICAgICAgIFtwZWN0aW5Gb2N1c0JpbmRpbmddPVwiZm9jdXNDb250ZXh0XCJcbiAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICBbc2l6ZV09XCI0XCJcbiAgICAgICAgIFtzdGVwXT1cInN0ZXAkLnZhbHVlXCJcbiAgPlxuICA8c2VjdGlvbiBtYXRJY29uU3VmZml4PlxuICAgIDxidXR0b24gW3BlY3RpbkNvbW1hbmRdPVwiZGVjcmVtZW50Q29tbWFuZFwiPi08L2J1dHRvbj5cbiAgICA8YnV0dG9uIFtwZWN0aW5Db21tYW5kXT1cImluY3JlbWVudENvbW1hbmRcIj4rPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbiAgPG1hdC1oaW50ICpuZ0lmPVwiaGludCAmJiAhZGVuc2VcIj57eyBoaW50IH19PC9tYXQtaGludD5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImhhc0Vycm9yc1wiPnt7IGZpcnN0RXJyb3IgfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
|
|
@@ -280,7 +280,10 @@ class DisposableComponent extends GarbageCollector {
|
|
|
280
280
|
*/
|
|
281
281
|
viewStateDependsOn(...models) {
|
|
282
282
|
const { when } = Dsl.disposeWith(this);
|
|
283
|
-
when.anyOf(...models).changes(() => this.
|
|
283
|
+
when.anyOf(...models).changes(() => this.markForCheck());
|
|
284
|
+
}
|
|
285
|
+
markForCheck() {
|
|
286
|
+
this.cdr.markForCheck();
|
|
284
287
|
}
|
|
285
288
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DisposableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
286
289
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: DisposableComponent, usesInheritance: true, ngImport: i0 });
|
|
@@ -2254,7 +2257,7 @@ class NumberInputComponent extends AbstractValueInputComponent {
|
|
|
2254
2257
|
super();
|
|
2255
2258
|
const { chain } = Dsl.disposeWith(this);
|
|
2256
2259
|
this.step$ = chain(this.significantDigits$).map(v => 10 ** (-v)).otherwise(1);
|
|
2257
|
-
this.displayValue$ = chain(this.value$).map(v => this.
|
|
2260
|
+
this.displayValue$ = chain(this.value$).map(v => this.clampSignificantDigits(v), {
|
|
2258
2261
|
dependsOn: this.significantDigits$
|
|
2259
2262
|
});
|
|
2260
2263
|
const normalisedValue$ = chain(this.value$).otherwise(0);
|
|
@@ -2266,12 +2269,12 @@ class NumberInputComponent extends AbstractValueInputComponent {
|
|
|
2266
2269
|
}).enableWhile(chain.numericValue(normalisedValue$).isGreaterThan(this.min$).and(this.enabled$));
|
|
2267
2270
|
}
|
|
2268
2271
|
increment(value) {
|
|
2269
|
-
return this.
|
|
2272
|
+
return this.clampSignificantDigits((value ?? 0) + this.step$.value);
|
|
2270
2273
|
}
|
|
2271
2274
|
decrement(value) {
|
|
2272
|
-
return this.
|
|
2275
|
+
return this.clampSignificantDigits((value ?? 0) - this.step$.value);
|
|
2273
2276
|
}
|
|
2274
|
-
|
|
2277
|
+
clampSignificantDigits(value) {
|
|
2275
2278
|
return Number(value.toFixed(this.significantDigits));
|
|
2276
2279
|
}
|
|
2277
2280
|
onValueChange(value) {
|
|
@@ -10903,25 +10906,12 @@ const slideDownOnEnterDef = style({
|
|
|
10903
10906
|
paddingTop: '0',
|
|
10904
10907
|
paddingBottom: '0'
|
|
10905
10908
|
});
|
|
10906
|
-
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10907
|
-
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10908
|
-
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10909
|
-
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10910
|
-
]);
|
|
10911
|
-
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10912
|
-
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10913
|
-
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10914
|
-
]);
|
|
10915
10909
|
const slideLeftOnEnterDef = style({
|
|
10916
10910
|
opacity: 0,
|
|
10917
10911
|
'width': '0',
|
|
10918
10912
|
paddingLeft: '0',
|
|
10919
10913
|
paddingRight: '0'
|
|
10920
10914
|
});
|
|
10921
|
-
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10922
|
-
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10923
|
-
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10924
|
-
]);
|
|
10925
10915
|
const ZERO_WIDTH = {
|
|
10926
10916
|
opacity: 0,
|
|
10927
10917
|
width: '0',
|
|
@@ -10934,6 +10924,19 @@ const ZERO_HEIGHT = {
|
|
|
10934
10924
|
paddingTop: '0',
|
|
10935
10925
|
paddingBottom: '0',
|
|
10936
10926
|
};
|
|
10927
|
+
// TODO: params aren't getting customised in the view. Need to figure out the correct approach.
|
|
10928
|
+
const slideDownOnEnterAnimation = trigger('slideDownOnEnter', [
|
|
10929
|
+
transition(':enter', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10930
|
+
transition(':leave', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10931
|
+
]);
|
|
10932
|
+
const slideDownWhenOpenAnimation = trigger('slideDownWhenOpen', [
|
|
10933
|
+
transition('closed => open', [slideDownOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10934
|
+
transition('open => closed', [animate('{{duration}}', slideDownOnEnterDef)], { params: { duration: '100ms' } })
|
|
10935
|
+
]);
|
|
10936
|
+
const slideRightOnEnterAnimation = trigger('slideRightOnEnter', [
|
|
10937
|
+
transition(':enter', [slideLeftOnEnterDef, animate('{{duration}}')], { params: { duration: '100ms' } }),
|
|
10938
|
+
transition(':leave', [animate('{{duration}}', slideLeftOnEnterDef)], { params: { duration: '100ms' } })
|
|
10939
|
+
]);
|
|
10937
10940
|
const slideDownAndRightOnEnterAnimation = trigger('slideDownAndRightOnEnter', [
|
|
10938
10941
|
transition(':enter', [
|
|
10939
10942
|
style({ overflow: "hidden", whiteSpace: "nowrap", ...ZERO_WIDTH, ...ZERO_HEIGHT }),
|