ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
67 lines • 6.35 kB
JavaScript
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { Component, Input } from '@angular/core';
import { generateColor } from '../util/util';
import * as i0 from "@angular/core";
export class GradientComponent {
constructor() {
this.colors = [];
this.direction = 'to right';
this.type = 'hue';
this.gradientColors = '';
}
ngOnInit() {
this.useMemo();
}
ngOnChanges(changes) {
const { colors, type } = changes;
if (colors || type) {
this.useMemo();
}
}
useMemo() {
this.gradientColors = this.colors
.map((color, idx) => {
const result = generateColor(color);
if (this.type === 'alpha' && idx === this.colors.length - 1) {
result.setAlpha(1);
}
return result.toRgbString();
})
.join(',');
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: GradientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: GradientComponent, isStandalone: true, selector: "color-gradient", inputs: { colors: "colors", direction: "direction", type: "type" }, usesOnChanges: true, ngImport: i0, template: `
<div
class="ant-color-picker-gradient"
[style.background]="'linear-gradient(' + direction + ', ' + gradientColors + ')'"
>
<ng-content></ng-content>
</div>
`, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: GradientComponent, decorators: [{
type: Component,
args: [{
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'color-gradient',
standalone: true,
template: `
<div
class="ant-color-picker-gradient"
[style.background]="'linear-gradient(' + direction + ', ' + gradientColors + ')'"
>
<ng-content></ng-content>
</div>
`
}]
}], ctorParameters: () => [], propDecorators: { colors: [{
type: Input
}], direction: [{
type: Input
}], type: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZGllbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb2xvci1waWNrZXIvc3JjL2NvbXBvbmVudHMvZ3JhZGllbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUluRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWU3QyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO1FBTlMsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFDaEMsY0FBUyxHQUFXLFVBQVUsQ0FBQztRQUMvQixTQUFJLEdBQWtCLEtBQUssQ0FBQztRQUVyQyxtQkFBYyxHQUFXLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2pDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNO2FBQzlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7OEdBOUJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1LQVRsQjs7Ozs7OztHQU9UOzsyRkFFVSxpQkFBaUI7a0JBYjdCLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7aUJBQ0Y7d0RBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbG9yJztcbmltcG9ydCB7IEhzYmFDb2xvclR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGUnO1xuaW1wb3J0IHsgZ2VuZXJhdGVDb2xvciB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2NvbG9yLWdyYWRpZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImFudC1jb2xvci1waWNrZXItZ3JhZGllbnRcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ2xpbmVhci1ncmFkaWVudCgnICsgZGlyZWN0aW9uICsgJywgJyArIGdyYWRpZW50Q29sb3JzICsgJyknXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgR3JhZGllbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbG9yczogQ29sb3JbXSB8IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogc3RyaW5nID0gJ3RvIHJpZ2h0JztcbiAgQElucHV0KCkgdHlwZTogSHNiYUNvbG9yVHlwZSA9ICdodWUnO1xuXG4gIGdyYWRpZW50Q29sb3JzOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VNZW1vKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb2xvcnMsIHR5cGUgfSA9IGNoYW5nZXM7XG4gICAgaWYgKGNvbG9ycyB8fCB0eXBlKSB7XG4gICAgICB0aGlzLnVzZU1lbW8oKTtcbiAgICB9XG4gIH1cblxuICB1c2VNZW1vKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JhZGllbnRDb2xvcnMgPSB0aGlzLmNvbG9yc1xuICAgICAgLm1hcCgoY29sb3IsIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBnZW5lcmF0ZUNvbG9yKGNvbG9yKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2FscGhhJyAmJiBpZHggPT09IHRoaXMuY29sb3JzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICByZXN1bHQuc2V0QWxwaGEoMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b1JnYlN0cmluZygpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cbn1cbiJdfQ==