@ng-web-apis/canvas
Version:
A library for declarative use of Canvas API with Angular
29 lines • 4.91 kB
JavaScript
import { inject, Pipe } from '@angular/core';
import { CANVAS_2D_CONTEXT } from '../tokens/canvas-2d-context';
import * as i0 from "@angular/core";
class WaCanvasGradientPipe {
context = inject(CANVAS_2D_CONTEXT);
// eslint-disable-next-line @typescript-eslint/max-params
transform(stops, a1, a2, a3, a4, a5, a6) {
const gradient = a5 !== undefined && a6 !== undefined
? this.context.createRadialGradient(a1, a2, a3, a4, a5, a6)
: this.context.createLinearGradient(a1, a2, a3, a4);
Array.from(stops.keys()).forEach((stop) => gradient.addColorStop(stop, stops.get(stop) ?? ''));
return gradient;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasGradientPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasGradientPipe, isStandalone: true, name: "gradient" });
}
export { WaCanvasGradientPipe };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WaCanvasGradientPipe, decorators: [{
type: Pipe,
args: [{
standalone: true,
name: 'gradient',
}]
}] });
/**
* @deprecated: use {@link WaCanvasGradientPipe}
*/
export const GradientPipe = WaCanvasGradientPipe;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZGllbnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2FudmFzL3NyYy9waXBlcy9ncmFkaWVudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQUU5RCxNQUlhLG9CQUFvQjtJQUNaLE9BQU8sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWtCckQseURBQXlEO0lBQ2xELFNBQVMsQ0FDWixLQUEwQixFQUMxQixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVUsRUFDVixFQUFVLEVBQ1YsRUFBVyxFQUNYLEVBQVc7UUFFWCxNQUFNLFFBQVEsR0FDVixFQUFFLEtBQUssU0FBUyxJQUFJLEVBQUUsS0FBSyxTQUFTO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDdEMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDckQsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7d0dBdkNRLG9CQUFvQjtzR0FBcEIsb0JBQW9COztTQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFKaEMsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLFVBQVU7aUJBQ25COztBQTJDRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aW5qZWN0LCBQaXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDQU5WQVNfMkRfQ09OVEVYVH0gZnJvbSAnLi4vdG9rZW5zL2NhbnZhcy0yZC1jb250ZXh0JztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2dyYWRpZW50Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2FDYW52YXNHcmFkaWVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3QoQ0FOVkFTXzJEX0NPTlRFWFQpO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybShcbiAgICAgICAgc3RvcHM6IE1hcDxudW1iZXIsIHN0cmluZz4sXG4gICAgICAgIHgwOiBudW1iZXIsXG4gICAgICAgIHkwOiBudW1iZXIsXG4gICAgICAgIHgxOiBudW1iZXIsXG4gICAgICAgIHkxOiBudW1iZXIsXG4gICAgKTogQ2FudmFzR3JhZGllbnQ7XG4gICAgcHVibGljIHRyYW5zZm9ybShcbiAgICAgICAgc3RvcHM6IE1hcDxudW1iZXIsIHN0cmluZz4sXG4gICAgICAgIHgwOiBudW1iZXIsXG4gICAgICAgIHkwOiBudW1iZXIsXG4gICAgICAgIHIwOiBudW1iZXIsXG4gICAgICAgIHgxOiBudW1iZXIsXG4gICAgICAgIHkxOiBudW1iZXIsXG4gICAgICAgIHIxOiBudW1iZXIsXG4gICAgKTogQ2FudmFzR3JhZGllbnQ7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tYXgtcGFyYW1zXG4gICAgcHVibGljIHRyYW5zZm9ybShcbiAgICAgICAgc3RvcHM6IE1hcDxudW1iZXIsIHN0cmluZz4sXG4gICAgICAgIGExOiBudW1iZXIsXG4gICAgICAgIGEyOiBudW1iZXIsXG4gICAgICAgIGEzOiBudW1iZXIsXG4gICAgICAgIGE0OiBudW1iZXIsXG4gICAgICAgIGE1PzogbnVtYmVyLFxuICAgICAgICBhNj86IG51bWJlcixcbiAgICApOiBDYW52YXNHcmFkaWVudCB7XG4gICAgICAgIGNvbnN0IGdyYWRpZW50ID1cbiAgICAgICAgICAgIGE1ICE9PSB1bmRlZmluZWQgJiYgYTYgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdGhpcy5jb250ZXh0LmNyZWF0ZVJhZGlhbEdyYWRpZW50KGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoYTEsIGEyLCBhMywgYTQpO1xuXG4gICAgICAgIEFycmF5LmZyb20oc3RvcHMua2V5cygpKS5mb3JFYWNoKChzdG9wKSA9PlxuICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKHN0b3AsIHN0b3BzLmdldChzdG9wKSA/PyAnJyksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGdyYWRpZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBXYUNhbnZhc0dyYWRpZW50UGlwZX1cbiAqL1xuZXhwb3J0IGNvbnN0IEdyYWRpZW50UGlwZSA9IFdhQ2FudmFzR3JhZGllbnRQaXBlO1xuIl19