ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
34 lines • 5.49 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
*/
function stripPercentToNumber(percent) {
return +percent.replace('%', '');
}
export const sortGradient = (gradients) => {
let tempArr = [];
Object.keys(gradients).forEach(key => {
const value = gradients[key];
const formatKey = stripPercentToNumber(key);
if (!isNaN(formatKey)) {
tempArr.push({
key: formatKey,
value
});
}
});
tempArr = tempArr.sort((a, b) => a.key - b.key);
return tempArr;
};
export const handleCircleGradient = (strokeColor) => sortGradient(strokeColor).map(({ key, value }) => ({ offset: `${key}%`, color: value }));
export const handleLinearGradient = (strokeColor) => {
const { from = '#1890ff', to = '#1890ff', direction = 'to right', ...rest } = strokeColor;
if (Object.keys(rest).length !== 0) {
const sortedGradients = sortGradient(rest)
.map(({ key, value }) => `${value} ${key}%`)
.join(', ');
return `linear-gradient(${direction}, ${sortedGradients})`;
}
return `linear-gradient(${direction}, ${from}, ${to})`;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3Byb2dyZXNzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUlILFNBQVMsb0JBQW9CLENBQUMsT0FBZTtJQUMzQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFNBQXFDLEVBQXlDLEVBQUU7SUFDM0csSUFBSSxPQUFPLEdBQTBDLEVBQUUsQ0FBQztJQUV4RCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNuQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEtBQUs7YUFDTixDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxXQUF1QyxFQUNHLEVBQUUsQ0FDNUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUUzRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFdBQW9DLEVBQVUsRUFBRTtJQUNuRixNQUFNLEVBQUUsSUFBSSxHQUFHLFNBQVMsRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUFFLFNBQVMsR0FBRyxVQUFVLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDMUYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDbEMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQWtDLENBQUM7YUFDckUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDO2FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNkLE9BQU8sbUJBQW1CLFNBQVMsS0FBSyxlQUFlLEdBQUcsQ0FBQztLQUM1RDtJQUNELE9BQU8sbUJBQW1CLFNBQVMsS0FBSyxJQUFJLEtBQUssRUFBRSxHQUFHLENBQUM7QUFDekQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgTnpQcm9ncmVzc0NvbG9yR3JhZGllbnQsIE56UHJvZ3Jlc3NHcmFkaWVudFByb2dyZXNzIH0gZnJvbSAnLi90eXBpbmdzJztcblxuZnVuY3Rpb24gc3RyaXBQZXJjZW50VG9OdW1iZXIocGVyY2VudDogc3RyaW5nKTogbnVtYmVyIHtcbiAgcmV0dXJuICtwZXJjZW50LnJlcGxhY2UoJyUnLCAnJyk7XG59XG5cbmV4cG9ydCBjb25zdCBzb3J0R3JhZGllbnQgPSAoZ3JhZGllbnRzOiBOelByb2dyZXNzR3JhZGllbnRQcm9ncmVzcyk6IEFycmF5PHsga2V5OiBudW1iZXI7IHZhbHVlOiBzdHJpbmcgfT4gPT4ge1xuICBsZXQgdGVtcEFycjogQXJyYXk8eyBrZXk6IG51bWJlcjsgdmFsdWU6IHN0cmluZyB9PiA9IFtdO1xuXG4gIE9iamVjdC5rZXlzKGdyYWRpZW50cykuZm9yRWFjaChrZXkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZ3JhZGllbnRzW2tleV07XG4gICAgY29uc3QgZm9ybWF0S2V5ID0gc3RyaXBQZXJjZW50VG9OdW1iZXIoa2V5KTtcbiAgICBpZiAoIWlzTmFOKGZvcm1hdEtleSkpIHtcbiAgICAgIHRlbXBBcnIucHVzaCh7XG4gICAgICAgIGtleTogZm9ybWF0S2V5LFxuICAgICAgICB2YWx1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICB0ZW1wQXJyID0gdGVtcEFyci5zb3J0KChhLCBiKSA9PiBhLmtleSAtIGIua2V5KTtcbiAgcmV0dXJuIHRlbXBBcnI7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlQ2lyY2xlR3JhZGllbnQgPSAoXG4gIHN0cm9rZUNvbG9yOiBOelByb2dyZXNzR3JhZGllbnRQcm9ncmVzc1xuKTogQXJyYXk8eyBvZmZzZXQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9PiA9PlxuICBzb3J0R3JhZGllbnQoc3Ryb2tlQ29sb3IpLm1hcCgoeyBrZXksIHZhbHVlIH0pID0+ICh7IG9mZnNldDogYCR7a2V5fSVgLCBjb2xvcjogdmFsdWUgfSkpO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTGluZWFyR3JhZGllbnQgPSAoc3Ryb2tlQ29sb3I6IE56UHJvZ3Jlc3NDb2xvckdyYWRpZW50KTogc3RyaW5nID0+IHtcbiAgY29uc3QgeyBmcm9tID0gJyMxODkwZmYnLCB0byA9ICcjMTg5MGZmJywgZGlyZWN0aW9uID0gJ3RvIHJpZ2h0JywgLi4ucmVzdCB9ID0gc3Ryb2tlQ29sb3I7XG4gIGlmIChPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggIT09IDApIHtcbiAgICBjb25zdCBzb3J0ZWRHcmFkaWVudHMgPSBzb3J0R3JhZGllbnQocmVzdCBhcyBOelByb2dyZXNzR3JhZGllbnRQcm9ncmVzcylcbiAgICAgIC5tYXAoKHsga2V5LCB2YWx1ZSB9KSA9PiBgJHt2YWx1ZX0gJHtrZXl9JWApXG4gICAgICAuam9pbignLCAnKTtcbiAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCgke2RpcmVjdGlvbn0sICR7c29ydGVkR3JhZGllbnRzfSlgO1xuICB9XG4gIHJldHVybiBgbGluZWFyLWdyYWRpZW50KCR7ZGlyZWN0aW9ufSwgJHtmcm9tfSwgJHt0b30pYDtcbn07XG4iXX0=