@lautarobock/color-picker
Version:
Angular Material Color Picker
30 lines • 3.36 kB
JavaScript
import { Directive, HostListener } from '@angular/core';
import { NUMERIC_REGEX } from '../helpers';
import * as i0 from "@angular/core";
export class NumericColorInputDirective {
constructor() { }
onInput($event) {
this._formatInput($event.target);
}
/**
* Format input
* @param input
*/
_formatInput(input) {
let val = Number(input.value.replace(NUMERIC_REGEX, ''));
val = isNaN(val) ? 0 : val;
input.value = val;
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumericColorInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NumericColorInputDirective, selector: "[ngxMatNumericColorInput]", host: { listeners: { "input": "onInput($event)" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumericColorInputDirective, decorators: [{
type: Directive,
args: [{
selector: '[ngxMatNumericColorInput]'
}]
}], ctorParameters: () => [], propDecorators: { onInput: [{
type: HostListener,
args: ['input', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1jb2xvci1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xvci1waWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL251bWVyaWMtY29sb3ItaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBSzNDLE1BQU0sT0FBTywwQkFBMEI7SUFFckMsZ0JBQWdCLENBQUM7SUFHakIsT0FBTyxDQUFDLE1BQVc7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7SUFHQTtJQUNRLFlBQVksQ0FBQyxLQUFVO1FBQzdCLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMzQixLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNwQixDQUFDO2tJQWpCVSwwQkFBMEI7c0hBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzt3REFNQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTlVNRVJJQ19SRUdFWCB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmd4TWF0TnVtZXJpY0NvbG9ySW5wdXRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtZXJpY0NvbG9ySW5wdXREaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgb25JbnB1dCgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5fZm9ybWF0SW5wdXQoJGV2ZW50LnRhcmdldCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuKiBGb3JtYXQgaW5wdXRcclxuKiBAcGFyYW0gaW5wdXQgXHJcbiovXHJcbiAgcHJpdmF0ZSBfZm9ybWF0SW5wdXQoaW5wdXQ6IGFueSkge1xyXG4gICAgbGV0IHZhbCA9IE51bWJlcihpbnB1dC52YWx1ZS5yZXBsYWNlKE5VTUVSSUNfUkVHRVgsICcnKSk7XHJcbiAgICB2YWwgPSBpc05hTih2YWwpID8gMCA6IHZhbDtcclxuICAgIGlucHV0LnZhbHVlID0gdmFsO1xyXG4gIH1cclxuXHJcbn1cclxuIl19