@vipstorage/material-color-picker
Version:
Angular Material Color Picker
30 lines • 3.41 kB
JavaScript
import { Injectable } from '@angular/core';
import { stringInputToObject } from '../helpers';
import { Color } from '../models';
import * as i0 from "@angular/core";
export class ColorAdapter {
constructor() { }
sameColor(a, b) {
if (a == null && b == null)
return true;
if (a != null && b != null)
return a.rgba === b.rgba;
return false;
}
format(c, format) {
return c.toString(format);
}
parse(value) {
const obj = stringInputToObject(value);
if (obj) {
return new Color(obj.r, obj.g, obj.b, obj.a);
}
return null;
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ColorAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ColorAdapter }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ColorAdapter, decorators: [{
type: Injectable
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbG9yLXBpY2tlci9zcmMvbGliL3NlcnZpY2VzL2NvbG9yLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBb0IsTUFBTSxXQUFXLENBQUM7O0FBR3BELE1BQU0sT0FBTyxZQUFZO0lBRXZCLGdCQUFnQixDQUFDO0lBRWpCLFNBQVMsQ0FBQyxDQUFRLEVBQUUsQ0FBUTtRQUMxQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUk7WUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBUSxFQUFFLE1BQXdCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWE7UUFDakIsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztpSUFwQlUsWUFBWTtxSUFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RyaW5nSW5wdXRUb09iamVjdCB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9ySW5wdXRGb3JtYXQgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29sb3JBZGFwdGVyIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHNhbWVDb2xvcihhOiBDb2xvciwgYjogQ29sb3IpIHtcbiAgICBpZiAoYSA9PSBudWxsICYmIGIgPT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKGEgIT0gbnVsbCAmJiBiICE9IG51bGwpIHJldHVybiBhLnJnYmEgPT09IGIucmdiYTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3JtYXQoYzogQ29sb3IsIGZvcm1hdDogQ29sb3JJbnB1dEZvcm1hdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGMudG9TdHJpbmcoZm9ybWF0KTtcbiAgfVxuXG4gIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBDb2xvciB8IG51bGwge1xuICAgIGNvbnN0IG9iaiA9IHN0cmluZ0lucHV0VG9PYmplY3QodmFsdWUpO1xuICAgIGlmIChvYmopIHtcbiAgICAgIHJldHVybiBuZXcgQ29sb3Iob2JqLnIsIG9iai5nLCBvYmouYiwgb2JqLmEpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG59XG4iXX0=