@spicainternational/ngx-sds-components 5.29.0 → 5.30.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/README.md +14 -3
- package/esm2020/src/lib/number-box/number-box.component.mjs +3 -5
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -4
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -4
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,8 +4,12 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
|
|
|
4
4
|
|
|
5
5
|
## Code scaffolding
|
|
6
6
|
|
|
7
|
-
Create new module `ng generate module module-name --project ngx-sds-components`.
|
|
8
|
-
|
|
7
|
+
- Create new module `ng generate module module-name --project ngx-sds-components`.
|
|
8
|
+
- Add components/pipes/services to it.
|
|
9
|
+
|
|
10
|
+
Run `ng generate component component-name --project ngx-sds-components` to generate a new component.
|
|
11
|
+
You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-sds-components`.
|
|
12
|
+
|
|
9
13
|
> Note: Don't forget to add `--project ngx-sds-components` or else it will be added to the default project in your `angular.json` file.
|
|
10
14
|
|
|
11
15
|
## Build
|
|
@@ -14,7 +18,14 @@ Run `ng build ngx-sds-components` to build the project. The build artifacts will
|
|
|
14
18
|
|
|
15
19
|
## Publishing
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
Publish new package by running `npm run lib:publish` This script will take care of building and publishing the package. You must have login rights on the npmjs to approve the deploy.
|
|
22
|
+
- Changes should be included in the change.log file.
|
|
23
|
+
- Each published version should have a tag on the git repo.
|
|
24
|
+
|
|
25
|
+
**Creating tag**
|
|
26
|
+
- tag name equals the version number `git tag 5.29.0`
|
|
27
|
+
- push the tag to origin `git push origin 5.29.0`
|
|
28
|
+
|
|
18
29
|
|
|
19
30
|
## Running unit tests
|
|
20
31
|
|
|
@@ -84,7 +84,6 @@ export class SdsNumberBoxComponent {
|
|
|
84
84
|
}
|
|
85
85
|
startIncrement() {
|
|
86
86
|
this.increment();
|
|
87
|
-
console.log('startIncrement');
|
|
88
87
|
interval(this.burstInterval)
|
|
89
88
|
.pipe(takeUntil(this.destroy$))
|
|
90
89
|
.subscribe(() => {
|
|
@@ -92,7 +91,6 @@ export class SdsNumberBoxComponent {
|
|
|
92
91
|
});
|
|
93
92
|
}
|
|
94
93
|
stopIncrement() {
|
|
95
|
-
console.log('stopIncrement');
|
|
96
94
|
this.destroy$.next();
|
|
97
95
|
}
|
|
98
96
|
startDecrement() {
|
|
@@ -112,10 +110,10 @@ export class SdsNumberBoxComponent {
|
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
112
|
SdsNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
113
|
+
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
116
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, decorators: [{
|
|
117
115
|
type: Component,
|
|
118
|
-
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""] }]
|
|
116
|
+
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"] }]
|
|
119
117
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
120
118
|
type: Input
|
|
121
119
|
}], valueChange: [{
|
|
@@ -137,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
137
135
|
}], debounceTime: [{
|
|
138
136
|
type: Input
|
|
139
137
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItYm94L251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLWJveC9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBTyxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBT2hHLE1BQU0sT0FBTyxxQkFBcUI7SUFnRjlCO1FBL0VTLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUVoQzs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFrQm5DOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7Ozs7Ozs7V0FRRztRQUNNLFlBQU8sR0FBZ0MsWUFBWSxDQUFDO1FBRTdEOzs7OztXQUtHO1FBQ00sa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFFckM7Ozs7OztXQU1HO1FBQ00saUJBQVksR0FBVyxHQUFHLENBQUM7UUFFN0IsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQUNyQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLGNB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QVFHLEdBQUc7c0JBQVgsS0FBSztnQkFRRyxJQUFJO3NCQUFaLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQVFHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZhQ2hldnJvbkxlZnQsIGZhQ2hldnJvblJpZ2h0LCBmYU1pbnVzLCBmYVBsdXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXJlZ3VsYXItc3ZnLWljb25zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIGludGVydmFsLCBtYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLW51bWJlci1ib3gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWJveC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTnVtYmVyQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7XHJcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdpZHRoIG9mIGNvbXBvbmVudC4gQnkgZGVmYXVsdCA4cmVtLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICc4cmVtJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVSSBjb21wb25lbnQgcmVzcG9uZHMgdG8gdXNlciBpbnRlcmFjdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heGltdW0gdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGR1cmF0aW9uIGJveC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW5pbXVtIHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBkdXJhdGlvbiBib3guXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgaW5jcmVtZW50IGJ5IHdoaWNoIHRoZSB2YWx1ZSBpcyBpbmNyZWFzZWQgb3IgZGVjcmVhc2VkLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gMTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpY29uIHNldCB0byB1c2UgZm9yIHRoZSBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zLlxyXG4gICAgICogSWNvbnMgdXNlZCBhcmUgZnJvbSB0aGUgRnJvbnRBd2Vzb21lIGxpYnJhcnksIHNvIHlvdSBtdXN0IGluY2x1ZGUgdGhlbSBpbiB0aGUgcHJvamVjdCB0byB1c2UgdGhlbS4gXHJcbiAgICAgKiBZb3UgY2FuIGFkZCB0aGVtIHRvIEZBIGxpYnJhcnkgb24gdGhlIG1vZHVsZS9jb21wb25lbnQgbGV2ZWwuXHJcbiAgICAgKiBJY29uczogcmVndWxhciwgbWludXMvcGx1cywgY2hldnJvbi1sZWZ0L3JpZ2h0XHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeygncGx1cy1taW51cycgfCAnbGVmdC1yaWdodCcpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc051bWJlckJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpY29uU2V0OiAncGx1cy1taW51cycgfCAnbGVmdC1yaWdodCcgPSAncGx1cy1taW51cyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHZhbHVlIGNoYW5nZXMgd2hlbiB0aGUgaW5jcmVtZW50IG9yIGRlY3JlbWVudCBidXR0b24gaXMgaGVsZCBkb3duLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGJ1cnN0SW50ZXJ2YWw6IG51bWJlciA9IDEyMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEludGVydmFsIGluIHdoaWNoIG5ldyB2YWx1ZSBpcyBlbWl0dGVkIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxyXG4gICAgICogSXQgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIGJ1cnN0SW50ZXJ2YWwgdG8gcHJldmVudCBtdWx0aXBsZSB2YWx1ZSBjaGFuZ2VzIGluIGJ1cnN0IG1vZGUuXHJcbiAgICAgKiBcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRlYm91bmNlVGltZTogbnVtYmVyID0gMTUwO1xyXG5cclxuICAgIHB1YmxpYyBJQ09OX01JTlVTID0gZmFNaW51cztcclxuICAgIHB1YmxpYyBJQ09OX1BMVVMgPSBmYVBsdXM7XHJcbiAgICBwdWJsaWMgSUNPTl9MRUZUID0gZmFDaGV2cm9uTGVmdDtcclxuICAgIHB1YmxpYyBJQ09OX1JJR0hUID0gZmFDaGV2cm9uUmlnaHQ7XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIG5ld1ZhbHVlJDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5waXBlKFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluY3JlbWVudCgpIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUgKyB0aGlzLnN0ZXA7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1heCAhPT0gJ3VuZGVmaW5lZCcgJiYgbmV3VmFsdWUgPiB0aGlzLm1heCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5taW4gIT09ICd1bmRlZmluZWQnICYmIG5ld1ZhbHVlIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgdGhpcy5uZXdWYWx1ZSQubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydEluY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmluY3JlbWVudCgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdzdGFydEluY3JlbWVudCcpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BJbmNyZW1lbnQoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3N0b3BJbmNyZW1lbnQnKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydERlY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVjcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BEZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBcclxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcclxuPlxyXG5cclxuICAgIDxidXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYm9yZGVyXCIgXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERlY3JlbWVudCgpXCIgXHJcbiAgICAgICAgKG1vdXNldXApPVwic3RvcERlY3JlbWVudCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgPiBcclxuICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25TZXQgPT09ICdwbHVzLW1pbnVzJ1wiIFtpY29uXT1cIklDT05fTUlOVVNcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiPjwvZmEtaWNvbj5cclxuICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25TZXQgPT09ICdsZWZ0LXJpZ2h0J1wiIFtpY29uXT1cIklDT05fTEVGVFwiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICBcclxuICAgIDxpbnB1dCBcclxuICAgICAgICB0eXBlPVwidGV4dFwiIFxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHRleHQtY2VudGVyIGJnLXdoaXRlIHRleHQtbW9ub3NwYWNlXCIgXHJcbiAgICAgICAgW2NsYXNzLnRleHQtbXV0ZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXRvcC5yZW1dPVwiMC4zMVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCIwLjMxXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgIFtzdGVwXT1cInN0ZXBcIlxyXG4gICAgICAgID5cclxuICAgIFxyXG4gICAgPGJ1dHRvbiBcclxuICAgICAgICAjaW5jcmVtZW50QnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYm9yZGVyXCIgXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydEluY3JlbWVudCgpXCIgXHJcbiAgICAgICAgKG1vdXNldXApPVwic3RvcEluY3JlbWVudCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgPlxyXG4gICAgPGZhLWljb24gKm5nSWY9XCJpY29uU2V0ID09PSAncGx1cy1taW51cydcIiBbaWNvbl09XCJJQ09OX1BMVVNcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiPjwvZmEtaWNvbj5cclxuICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ2xlZnQtcmlnaHQnXCIgW2ljb25dPVwiSUNPTl9SSUdIVFwiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG48L2Rpdj4iXX0=
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItYm94L251bWJlci1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLWJveC9udW1iZXItYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBTyxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBT2hHLE1BQU0sT0FBTyxxQkFBcUI7SUFnRjlCO1FBL0VTLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUVoQzs7Ozs7V0FLRztRQUNNLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFrQm5DOzs7OztXQUtHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7Ozs7Ozs7V0FRRztRQUNNLFlBQU8sR0FBZ0MsWUFBWSxDQUFDO1FBRTdEOzs7OztXQUtHO1FBQ00sa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFFckM7Ozs7OztXQU1HO1FBQ00saUJBQVksR0FBVyxHQUFHLENBQUM7UUFFN0IsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQUNyQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLGNB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QUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFDaGV2cm9uTGVmdCwgZmFDaGV2cm9uUmlnaHQsIGZhTWludXMsIGZhUGx1cyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgaW50ZXJ2YWwsIG1hcCwgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbnVtYmVyLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9udW1iZXItYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOdW1iZXJCb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyID0gMDtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2lkdGggb2YgY29tcG9uZW50LiBCeSBkZWZhdWx0IDhyZW0uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzhyZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIFVJIGNvbXBvbmVudCByZXNwb25kcyB0byB1c2VyIGludGVyYWN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgZHVyYXRpb24gYm94LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1pbmltdW0gdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGR1cmF0aW9uIGJveC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1pbj86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpbmNyZW1lbnQgYnkgd2hpY2ggdGhlIHZhbHVlIGlzIGluY3JlYXNlZCBvciBkZWNyZWFzZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXIgPSAxO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGljb24gc2V0IHRvIHVzZSBmb3IgdGhlIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMuXHJcbiAgICAgKiBJY29ucyB1c2VkIGFyZSBmcm9tIHRoZSBGcm9udEF3ZXNvbWUgbGlicmFyeSwgc28geW91IG11c3QgaW5jbHVkZSB0aGVtIGluIHRoZSBwcm9qZWN0IHRvIHVzZSB0aGVtLiBcclxuICAgICAqIFlvdSBjYW4gYWRkIHRoZW0gdG8gRkEgbGlicmFyeSBvbiB0aGUgbW9kdWxlL2NvbXBvbmVudCBsZXZlbC5cclxuICAgICAqIEljb25zOiByZWd1bGFyLCBtaW51cy9wbHVzLCBjaGV2cm9uLWxlZnQvcmlnaHRcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KCdwbHVzLW1pbnVzJyB8ICdsZWZ0LXJpZ2h0Jyl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzTnVtYmVyQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGljb25TZXQ6ICdwbHVzLW1pbnVzJyB8ICdsZWZ0LXJpZ2h0JyA9ICdwbHVzLW1pbnVzJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEludGVydmFsIGJldHdlZW4gdmFsdWUgY2hhbmdlcyB3aGVuIHRoZSBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ1dHRvbiBpcyBoZWxkIGRvd24uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNOdW1iZXJCb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYnVyc3RJbnRlcnZhbDogbnVtYmVyID0gMTIwO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW50ZXJ2YWwgaW4gd2hpY2ggbmV3IHZhbHVlIGlzIGVtaXR0ZWQgdG8gdGhlIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICAgKiBJdCBzaG91bGQgYmUgaGlnaGVyIHRoYW4gYnVyc3RJbnRlcnZhbCB0byBwcmV2ZW50IG11bHRpcGxlIHZhbHVlIGNoYW5nZXMgaW4gYnVyc3QgbW9kZS5cclxuICAgICAqIFxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNOdW1iZXJCb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGVib3VuY2VUaW1lOiBudW1iZXIgPSAxNTA7XHJcblxyXG4gICAgcHVibGljIElDT05fTUlOVVMgPSBmYU1pbnVzO1xyXG4gICAgcHVibGljIElDT05fUExVUyA9IGZhUGx1cztcclxuICAgIHB1YmxpYyBJQ09OX0xFRlQgPSBmYUNoZXZyb25MZWZ0O1xyXG4gICAgcHVibGljIElDT05fUklHSFQgPSBmYUNoZXZyb25SaWdodDtcclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgbmV3VmFsdWUkOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLnBpcGUoXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSlcclxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5jcmVtZW50KCkge1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZSArIHRoaXMuc3RlcDtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWF4ICE9PSAndW5kZWZpbmVkJyAmJiBuZXdWYWx1ZSA+IHRoaXMubWF4KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlY3JlbWVudCgpIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXA7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1pbiAhPT0gJ3VuZGVmaW5lZCcgJiYgbmV3VmFsdWUgPCB0aGlzLm1pbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICB0aGlzLm5ld1ZhbHVlJC5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0SW5jcmVtZW50KCkge1xyXG4gICAgICAgIHRoaXMuaW5jcmVtZW50KCk7XHJcbiAgICAgICAgaW50ZXJ2YWwodGhpcy5idXJzdEludGVydmFsKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmNyZW1lbnQoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcEluY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydERlY3JlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmRlY3JlbWVudCgpO1xyXG4gICAgICAgIGludGVydmFsKHRoaXMuYnVyc3RJbnRlcnZhbClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVjcmVtZW50KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BEZWNyZW1lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubmV3VmFsdWUkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBcclxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcclxuPlxyXG5cclxuICAgIDxidXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gYm9yZGVyXCIgXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERlY3JlbWVudCgpXCIgXHJcbiAgICAgICAgKG1vdXNldXApPVwic3RvcERlY3JlbWVudCgpXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJzdG9wRGVjcmVtZW50KClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+IFxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9NSU5VU1wiIFtmaXhlZFdpZHRoXT1cInRydWVcIiBbc2l6ZV09XCInc20nXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ2xlZnQtcmlnaHQnXCIgW2ljb25dPVwiSUNPTl9MRUZUXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIFxyXG4gICAgPGlucHV0IFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1jZW50ZXIgYmctd2hpdGUgdGV4dC1tb25vc3BhY2VcIiBcclxuICAgICAgICBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLnJlbV09XCIwLjMxXCJcclxuICAgICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucmVtXT1cIjAuMzFcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcclxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgICAgPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAgICNpbmNyZW1lbnRCdXR0b25cclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBib3JkZXJcIiBcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0SW5jcmVtZW50KClcIiBcclxuICAgICAgICAobW91c2V1cCk9XCJzdG9wSW5jcmVtZW50KClcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInN0b3BJbmNyZW1lbnQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID5cclxuICAgIDxmYS1pY29uICpuZ0lmPVwiaWNvblNldCA9PT0gJ3BsdXMtbWludXMnXCIgW2ljb25dPVwiSUNPTl9QTFVTXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIj48L2ZhLWljb24+XHJcbiAgICA8ZmEtaWNvbiAqbmdJZj1cImljb25TZXQgPT09ICdsZWZ0LXJpZ2h0J1wiIFtpY29uXT1cIklDT05fUklHSFRcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiPjwvZmEtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuPC9kaXY+Il19
|
|
@@ -87,7 +87,6 @@ class SdsNumberBoxComponent {
|
|
|
87
87
|
}
|
|
88
88
|
startIncrement() {
|
|
89
89
|
this.increment();
|
|
90
|
-
console.log('startIncrement');
|
|
91
90
|
interval(this.burstInterval)
|
|
92
91
|
.pipe(takeUntil(this.destroy$))
|
|
93
92
|
.subscribe(() => {
|
|
@@ -95,7 +94,6 @@ class SdsNumberBoxComponent {
|
|
|
95
94
|
});
|
|
96
95
|
}
|
|
97
96
|
stopIncrement() {
|
|
98
|
-
console.log('stopIncrement');
|
|
99
97
|
this.destroy$.next();
|
|
100
98
|
}
|
|
101
99
|
startDecrement() {
|
|
@@ -115,10 +113,10 @@ class SdsNumberBoxComponent {
|
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
115
|
SdsNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
116
|
+
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
119
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, decorators: [{
|
|
120
118
|
type: Component,
|
|
121
|
-
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""] }]
|
|
119
|
+
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"] }]
|
|
122
120
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
123
121
|
type: Input
|
|
124
122
|
}], valueChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-number-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.ts","../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.html","../../../projects/ngx-sds-components/src/lib/number-box/number-box.module.ts","../../../projects/ngx-sds-components/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.ts"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { faChevronLeft, faChevronRight, faMinus, faPlus } from '@fortawesome/pro-regular-svg-icons';\r\nimport { Subject, debounceTime, fromEvent, interval, map, takeUntil, throttleTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sds-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n})\r\nexport class SdsNumberBoxComponent implements OnInit, OnDestroy {\r\n @Input() value: number = 0;\r\n @Output() valueChange = new EventEmitter<number>();\r\n\r\n /**\r\n * Width of component. By default 8rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '8rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() min?: number;\r\n\r\n /**\r\n * The increment by which the value is increased or decreased.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() step: number = 1;\r\n\r\n /**\r\n * The icon set to use for the increment and decrement buttons.\r\n * Icons used are from the FrontAwesome library, so you must include them in the project to use them. \r\n * You can add them to FA library on the module/component level.\r\n * Icons: regular, minus/plus, chevron-left/right\r\n *\r\n * @type {('plus-minus' | 'left-right')}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() iconSet: 'plus-minus' | 'left-right' = 'plus-minus';\r\n\r\n /**\r\n * Interval between value changes when the increment or decrement button is held down.\r\n *\r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() burstInterval: number = 120;\r\n\r\n /**\r\n * Interval in which new value is emitted to the parent component.\r\n * It should be higher than burstInterval to prevent multiple value changes in burst mode.\r\n * \r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() debounceTime: number = 150;\r\n\r\n public ICON_MINUS = faMinus;\r\n public ICON_PLUS = faPlus;\r\n public ICON_LEFT = faChevronLeft;\r\n public ICON_RIGHT = faChevronRight;\r\n\r\n private destroy$: Subject<void> = new Subject<void>();\r\n private newValue$: Subject<number> = new Subject<number>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.newValue$.pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe(() => {\r\n this.valueChange.emit(this.value);\r\n });\r\n }\r\n\r\n public increment() {\r\n const newValue = this.value + this.step;\r\n if (typeof this.max !== 'undefined' && newValue > this.max) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n public decrement() {\r\n const newValue = this.value - this.step;\r\n if (typeof this.min !== 'undefined' && newValue < this.min) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n startIncrement() {\r\n this.increment();\r\n console.log('startIncrement');\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.increment();\r\n });\r\n }\r\n\r\n stopIncrement() {\r\n console.log('stopIncrement');\r\n this.destroy$.next();\r\n }\r\n\r\n startDecrement() {\r\n this.decrement();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.decrement();\r\n });\r\n }\r\n\r\n stopDecrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.complete();\r\n this.newValue$.complete();\r\n }\r\n}\r\n","<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsNumberBoxComponent } from './number-box.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsNumberBoxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n SdsNumberBoxComponent\r\n ]\r\n})\r\nexport class SdsNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-number-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.ts","../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.html","../../../projects/ngx-sds-components/src/lib/number-box/number-box.module.ts","../../../projects/ngx-sds-components/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.ts"],"sourcesContent":["import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { faChevronLeft, faChevronRight, faMinus, faPlus } from '@fortawesome/pro-regular-svg-icons';\r\nimport { Subject, debounceTime, fromEvent, interval, map, takeUntil, throttleTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sds-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n})\r\nexport class SdsNumberBoxComponent implements OnInit, OnDestroy {\r\n @Input() value: number = 0;\r\n @Output() valueChange = new EventEmitter<number>();\r\n\r\n /**\r\n * Width of component. By default 8rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '8rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() min?: number;\r\n\r\n /**\r\n * The increment by which the value is increased or decreased.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() step: number = 1;\r\n\r\n /**\r\n * The icon set to use for the increment and decrement buttons.\r\n * Icons used are from the FrontAwesome library, so you must include them in the project to use them. \r\n * You can add them to FA library on the module/component level.\r\n * Icons: regular, minus/plus, chevron-left/right\r\n *\r\n * @type {('plus-minus' | 'left-right')}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() iconSet: 'plus-minus' | 'left-right' = 'plus-minus';\r\n\r\n /**\r\n * Interval between value changes when the increment or decrement button is held down.\r\n *\r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() burstInterval: number = 120;\r\n\r\n /**\r\n * Interval in which new value is emitted to the parent component.\r\n * It should be higher than burstInterval to prevent multiple value changes in burst mode.\r\n * \r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() debounceTime: number = 150;\r\n\r\n public ICON_MINUS = faMinus;\r\n public ICON_PLUS = faPlus;\r\n public ICON_LEFT = faChevronLeft;\r\n public ICON_RIGHT = faChevronRight;\r\n\r\n private destroy$: Subject<void> = new Subject<void>();\r\n private newValue$: Subject<number> = new Subject<number>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.newValue$.pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe(() => {\r\n this.valueChange.emit(this.value);\r\n });\r\n }\r\n\r\n public increment() {\r\n const newValue = this.value + this.step;\r\n if (typeof this.max !== 'undefined' && newValue > this.max) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n public decrement() {\r\n const newValue = this.value - this.step;\r\n if (typeof this.min !== 'undefined' && newValue < this.min) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n startIncrement() {\r\n this.increment();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.increment();\r\n });\r\n }\r\n\r\n stopIncrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n startDecrement() {\r\n this.decrement();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.decrement();\r\n });\r\n }\r\n\r\n stopDecrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.complete();\r\n this.newValue$.complete();\r\n }\r\n}\r\n","<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsNumberBoxComponent } from './number-box.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsNumberBoxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n SdsNumberBoxComponent\r\n ]\r\n})\r\nexport class SdsNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAiBa,qBAAqB,CAAA;AAgF9B,IAAA,WAAA,GAAA;AA/ES,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AAEnD;;;;;AAKG;AACM,QAAA,IAAK,CAAA,KAAA,GAAW,MAAM,CAAC;AAEhC;;;;;AAKG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAkBnC;;;;;AAKG;AACM,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AAE1B;;;;;;;;AAQG;AACM,QAAA,IAAO,CAAA,OAAA,GAAgC,YAAY,CAAC;AAE7D;;;;;AAKG;AACM,QAAA,IAAa,CAAA,aAAA,GAAW,GAAG,CAAC;AAErC;;;;;;AAMG;AACM,QAAA,IAAY,CAAA,YAAA,GAAW,GAAG,CAAC;AAE7B,QAAA,IAAU,CAAA,UAAA,GAAG,OAAO,CAAC;AACrB,QAAA,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,aAAa,CAAC;AAC1B,QAAA,IAAU,CAAA,UAAA,GAAG,cAAc,CAAC;AAE3B,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAQ,CAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAoB,IAAI,OAAO,EAAU,CAAC;KAE3C;IAEhB,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAClC,CAAC,SAAS,CAAC,MAAK;YACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACN;IAEM,SAAS,GAAA;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACxC,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;YACxD,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAEM,SAAS,GAAA;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACxC,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;YACxD,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,cAAc,GAAA;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;AACvB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACV;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,cAAc,GAAA;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;AACvB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACV;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC7B;;kHAzIQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yRCjBlC,8jDA2CM,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD1BO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACI,gBAAgB,EAAA,QAAA,EAAA,8jDAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA;0EAKjB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAQE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAQG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAWG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBASG,YAAY,EAAA,CAAA;sBAApB,KAAK;;;MEpEG,kBAAkB,CAAA;;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAV3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAGrB,YAAY;QACZ,iBAAiB,aAGjB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGZ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EARpB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,iBAAiB;SAClB,CAAA,EAAA,CAAA,CAAA;2FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;AACtB,qBAAA;iBACF,CAAA;;;AClBD;;AAEG;;;;"}
|
|
@@ -87,7 +87,6 @@ class SdsNumberBoxComponent {
|
|
|
87
87
|
}
|
|
88
88
|
startIncrement() {
|
|
89
89
|
this.increment();
|
|
90
|
-
console.log('startIncrement');
|
|
91
90
|
interval(this.burstInterval)
|
|
92
91
|
.pipe(takeUntil(this.destroy$))
|
|
93
92
|
.subscribe(() => {
|
|
@@ -95,7 +94,6 @@ class SdsNumberBoxComponent {
|
|
|
95
94
|
});
|
|
96
95
|
}
|
|
97
96
|
stopIncrement() {
|
|
98
|
-
console.log('stopIncrement');
|
|
99
97
|
this.destroy$.next();
|
|
100
98
|
}
|
|
101
99
|
startDecrement() {
|
|
@@ -115,10 +113,10 @@ class SdsNumberBoxComponent {
|
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
115
|
SdsNumberBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
116
|
+
SdsNumberBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNumberBoxComponent, selector: "sds-number-box", inputs: { value: "value", width: "width", disabled: "disabled", max: "max", min: "min", step: "step", iconSet: "iconSet", burstInterval: "burstInterval", debounceTime: "debounceTime" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
119
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNumberBoxComponent, decorators: [{
|
|
120
118
|
type: Component,
|
|
121
|
-
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: [""] }]
|
|
119
|
+
args: [{ selector: 'sds-number-box', template: "<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>", styles: ["input{pointer-events:none}\n"] }]
|
|
122
120
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
123
121
|
type: Input
|
|
124
122
|
}], valueChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-number-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.ts","../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.html","../../../projects/ngx-sds-components/src/lib/number-box/number-box.module.ts","../../../projects/ngx-sds-components/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.ts"],"sourcesContent":["import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { faChevronLeft, faChevronRight, faMinus, faPlus } from '@fortawesome/pro-regular-svg-icons';\r\nimport { Subject, debounceTime, fromEvent, interval, map, takeUntil, throttleTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sds-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n})\r\nexport class SdsNumberBoxComponent implements OnInit, OnDestroy {\r\n @Input() value: number = 0;\r\n @Output() valueChange = new EventEmitter<number>();\r\n\r\n /**\r\n * Width of component. By default 8rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '8rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() min?: number;\r\n\r\n /**\r\n * The increment by which the value is increased or decreased.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() step: number = 1;\r\n\r\n /**\r\n * The icon set to use for the increment and decrement buttons.\r\n * Icons used are from the FrontAwesome library, so you must include them in the project to use them. \r\n * You can add them to FA library on the module/component level.\r\n * Icons: regular, minus/plus, chevron-left/right\r\n *\r\n * @type {('plus-minus' | 'left-right')}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() iconSet: 'plus-minus' | 'left-right' = 'plus-minus';\r\n\r\n /**\r\n * Interval between value changes when the increment or decrement button is held down.\r\n *\r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() burstInterval: number = 120;\r\n\r\n /**\r\n * Interval in which new value is emitted to the parent component.\r\n * It should be higher than burstInterval to prevent multiple value changes in burst mode.\r\n * \r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() debounceTime: number = 150;\r\n\r\n public ICON_MINUS = faMinus;\r\n public ICON_PLUS = faPlus;\r\n public ICON_LEFT = faChevronLeft;\r\n public ICON_RIGHT = faChevronRight;\r\n\r\n private destroy$: Subject<void> = new Subject<void>();\r\n private newValue$: Subject<number> = new Subject<number>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.newValue$.pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe(() => {\r\n this.valueChange.emit(this.value);\r\n });\r\n }\r\n\r\n public increment() {\r\n const newValue = this.value + this.step;\r\n if (typeof this.max !== 'undefined' && newValue > this.max) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n public decrement() {\r\n const newValue = this.value - this.step;\r\n if (typeof this.min !== 'undefined' && newValue < this.min) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n startIncrement() {\r\n this.increment();\r\n console.log('startIncrement');\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.increment();\r\n });\r\n }\r\n\r\n stopIncrement() {\r\n console.log('stopIncrement');\r\n this.destroy$.next();\r\n }\r\n\r\n startDecrement() {\r\n this.decrement();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.decrement();\r\n });\r\n }\r\n\r\n stopDecrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.complete();\r\n this.newValue$.complete();\r\n }\r\n}\r\n","<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsNumberBoxComponent } from './number-box.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsNumberBoxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n SdsNumberBoxComponent\r\n ]\r\n})\r\nexport class SdsNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-number-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.ts","../../../projects/ngx-sds-components/src/lib/number-box/number-box.component.html","../../../projects/ngx-sds-components/src/lib/number-box/number-box.module.ts","../../../projects/ngx-sds-components/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.ts"],"sourcesContent":["import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { faChevronLeft, faChevronRight, faMinus, faPlus } from '@fortawesome/pro-regular-svg-icons';\r\nimport { Subject, debounceTime, fromEvent, interval, map, takeUntil, throttleTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sds-number-box',\r\n templateUrl: './number-box.component.html',\r\n styleUrls: ['./number-box.component.scss'],\r\n})\r\nexport class SdsNumberBoxComponent implements OnInit, OnDestroy {\r\n @Input() value: number = 0;\r\n @Output() valueChange = new EventEmitter<number>();\r\n\r\n /**\r\n * Width of component. By default 8rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '8rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() min?: number;\r\n\r\n /**\r\n * The increment by which the value is increased or decreased.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() step: number = 1;\r\n\r\n /**\r\n * The icon set to use for the increment and decrement buttons.\r\n * Icons used are from the FrontAwesome library, so you must include them in the project to use them. \r\n * You can add them to FA library on the module/component level.\r\n * Icons: regular, minus/plus, chevron-left/right\r\n *\r\n * @type {('plus-minus' | 'left-right')}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() iconSet: 'plus-minus' | 'left-right' = 'plus-minus';\r\n\r\n /**\r\n * Interval between value changes when the increment or decrement button is held down.\r\n *\r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() burstInterval: number = 120;\r\n\r\n /**\r\n * Interval in which new value is emitted to the parent component.\r\n * It should be higher than burstInterval to prevent multiple value changes in burst mode.\r\n * \r\n * @type {number}\r\n * @memberof SdsNumberBoxComponent\r\n */\r\n @Input() debounceTime: number = 150;\r\n\r\n public ICON_MINUS = faMinus;\r\n public ICON_PLUS = faPlus;\r\n public ICON_LEFT = faChevronLeft;\r\n public ICON_RIGHT = faChevronRight;\r\n\r\n private destroy$: Subject<void> = new Subject<void>();\r\n private newValue$: Subject<number> = new Subject<number>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.newValue$.pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe(() => {\r\n this.valueChange.emit(this.value);\r\n });\r\n }\r\n\r\n public increment() {\r\n const newValue = this.value + this.step;\r\n if (typeof this.max !== 'undefined' && newValue > this.max) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n public decrement() {\r\n const newValue = this.value - this.step;\r\n if (typeof this.min !== 'undefined' && newValue < this.min) {\r\n return;\r\n }\r\n this.value = newValue;\r\n this.newValue$.next(this.value);\r\n }\r\n\r\n startIncrement() {\r\n this.increment();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.increment();\r\n });\r\n }\r\n\r\n stopIncrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n startDecrement() {\r\n this.decrement();\r\n interval(this.burstInterval)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.decrement();\r\n });\r\n }\r\n\r\n stopDecrement() {\r\n this.destroy$.next();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.complete();\r\n this.newValue$.complete();\r\n }\r\n}\r\n","<div \r\n class=\"input-group\"\r\n [style.width]=\"width\"\r\n>\r\n\r\n <button \r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startDecrement()\" \r\n (mouseup)=\"stopDecrement()\"\r\n (mouseleave)=\"stopDecrement()\"\r\n [disabled]=\"disabled\"\r\n > \r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_MINUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_LEFT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n \r\n <input \r\n type=\"text\" \r\n class=\"form-control text-center bg-white text-monospace\" \r\n [class.text-muted]=\"disabled\"\r\n [style.padding-top.rem]=\"0.31\"\r\n [style.padding-bottom.rem]=\"0.31\"\r\n placeholder=\"\"\r\n [value]=\"value\"\r\n [max]=\"max\"\r\n [min]=\"min\"\r\n [step]=\"step\"\r\n >\r\n \r\n <button \r\n #incrementButton\r\n class=\"btn btn-secondary btn-sm border\" \r\n type=\"button\"\r\n (mousedown)=\"startIncrement()\" \r\n (mouseup)=\"stopIncrement()\"\r\n (mouseleave)=\"stopIncrement()\"\r\n [disabled]=\"disabled\"\r\n >\r\n <fa-icon *ngIf=\"iconSet === 'plus-minus'\" [icon]=\"ICON_PLUS\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n <fa-icon *ngIf=\"iconSet === 'left-right'\" [icon]=\"ICON_RIGHT\" [fixedWidth]=\"true\" [size]=\"'sm'\"></fa-icon>\r\n </button>\r\n\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsNumberBoxComponent } from './number-box.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsNumberBoxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n SdsNumberBoxComponent\r\n ]\r\n})\r\nexport class SdsNumberBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|