import { isDevMode } from '@angular/core'; import { generate as generateColor } from '@ant-design/colors'; export const ANT_ICON_ANGULAR_CONSOLE_PREFIX = '[@ant-design/icons-angular]:'; export function error(message) { console.error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`); } export function warn(message) { if (isDevMode()) { console.warn(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`); } } export function getSecondaryColor(primaryColor) { return generateColor(primaryColor)[0]; } export function withSuffix(name, theme) { switch (theme) { case 'fill': return `${name}-fill`; case 'outline': return `${name}-o`; case 'twotone': return `${name}-twotone`; case undefined: return name; default: throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Theme "${theme}" is not a recognized theme!`); } } export function withSuffixAndColor(name, theme, pri, sec) { return `${withSuffix(name, theme)}-${pri}-${sec}`; } export function mapAbbrToTheme(abbr) { return abbr === 'o' ? 'outline' : abbr; } export function alreadyHasAThemeSuffix(name) { return name.endsWith('-fill') || name.endsWith('-o') || name.endsWith('-twotone'); } export function isIconDefinition(target) { return (typeof target === 'object' && typeof target.name === 'string' && (typeof target.theme === 'string' || target.theme === undefined) && typeof target.icon === 'string'); } /** * Get an `IconDefinition` object from abbreviation type, like `account-book-fill`. * @param str */ export function getIconDefinitionFromAbbr(str) { const arr = str.split('-'); const theme = mapAbbrToTheme(arr.splice(arr.length - 1, 1)[0]); const name = arr.join('-'); return { name, theme, icon: '' }; } export function cloneSVG(svg) { return svg.cloneNode(true); } /** * Parse inline SVG string and replace colors with placeholders. For twotone icons only. */ export function replaceFillColor(raw) { return raw .replace(/['"]#333['"]/g, '"primaryColor"') .replace(/['"]#E6E6E6['"]/g, '"secondaryColor"') .replace(/['"]#D9D9D9['"]/g, '"secondaryColor"') .replace(/['"]#D8D8D8['"]/g, '"secondaryColor"'); } /** * Split a name with namespace in it into a tuple like [ name, namespace ]. */ export function getNameAndNamespace(type) { const split = type.split(':'); switch (split.length) { case 1: return [type, '']; case 2: return [split[1], split[0]]; default: throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}The icon type ${type} is not valid!`); } } export function hasNamespace(type) { return getNameAndNamespace(type)[1] !== ''; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxJQUFJLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSS9ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLDhCQUE4QixDQUFDO0FBRTlFLE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZTtJQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsK0JBQStCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FBQyxPQUFlO0lBQ2xDLElBQUksU0FBUyxFQUFFLEVBQUU7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsK0JBQStCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsWUFBb0I7SUFDcEQsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQTRCO0lBQ25FLFFBQVEsS0FBSyxFQUFFO1FBQ2IsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDbkMsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUM7UUFDbkMsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUM7UUFDekMsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsK0JBQStCLFVBQVUsS0FBSyw4QkFB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Q0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdlbmVyYXRlIGFzIGdlbmVyYXRlQ29sb3IgfSBmcm9tICdAYW50LWRlc2lnbi9jb2xvcnMnO1xuXG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiwgVGhlbWVUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBTlRfSUNPTl9BTkdVTEFSX0NPTlNPTEVfUFJFRklYID0gJ1tAYW50LWRlc2lnbi9pY29ucy1hbmd1bGFyXTonO1xuXG5leHBvcnQgZnVuY3Rpb24gZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnNvbGUuZXJyb3IoYCR7QU5UX0lDT05fQU5HVUxBUl9DT05TT0xFX1BSRUZJWH0gJHttZXNzYWdlfS5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChpc0Rldk1vZGUoKSkge1xuICAgIGNvbnNvbGUud2FybihgJHtBTlRfSUNPTl9BTkdVTEFSX0NPTlNPTEVfUFJFRklYfSAke21lc3NhZ2V9LmApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNvbmRhcnlDb2xvcihwcmltYXJ5Q29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBnZW5lcmF0ZUNvbG9yKHByaW1hcnlDb2xvcilbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoU3VmZml4KG5hbWU6IHN0cmluZywgdGhlbWU6IFRoZW1lVHlwZSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHN3aXRjaCAodGhlbWUpIHtcbiAgICBjYXNlICdmaWxsJzogcmV0dXJuIGAke25hbWV9LWZpbGxgO1xuICAgIGNhc2UgJ291dGxpbmUnOiByZXR1cm4gYCR7bmFtZX0tb2A7XG4gICAgY2FzZSAndHdvdG9uZSc6IHJldHVybiBgJHtuYW1lfS10d290b25lYDtcbiAgICBjYXNlIHVuZGVmaW5lZDogcmV0dXJuIG5hbWU7XG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKGAke0FOVF9JQ09OX0FOR1VMQVJfQ09OU09MRV9QUkVGSVh9VGhlbWUgXCIke3RoZW1lfVwiIGlzIG5vdCBhIHJlY29nbml6ZWQgdGhlbWUhYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTdWZmaXhBbmRDb2xvcihuYW1lOiBzdHJpbmcsIHRoZW1lOiBUaGVtZVR5cGUsIHByaTogc3RyaW5nLCBzZWM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHt3aXRoU3VmZml4KG5hbWUsIHRoZW1lKX0tJHtwcml9LSR7c2VjfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBBYmJyVG9UaGVtZShhYmJyOiBzdHJpbmcpOiBUaGVtZVR5cGUge1xuICByZXR1cm4gYWJiciA9PT0gJ28nID8gJ291dGxpbmUnIDogYWJiciBhcyBUaGVtZVR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbHJlYWR5SGFzQVRoZW1lU3VmZml4KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbmFtZS5lbmRzV2l0aCgnLWZpbGwnKSB8fCBuYW1lLmVuZHNXaXRoKCctbycpIHx8IG5hbWUuZW5kc1dpdGgoJy10d290b25lJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ljb25EZWZpbml0aW9uKHRhcmdldDogc3RyaW5nIHwgSWNvbkRlZmluaXRpb24pOiB0YXJnZXQgaXMgSWNvbkRlZmluaXRpb24ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB0YXJnZXQgPT09ICdvYmplY3QnICYmXG4gICAgdHlwZW9mIHRhcmdldC5uYW1lID09PSAnc3RyaW5nJyAmJlxuICAgICh0eXBlb2YgdGFyZ2V0LnRoZW1lID09PSAnc3RyaW5nJyB8fCB0YXJnZXQudGhlbWUgPT09IHVuZGVmaW5lZCkgJiZcbiAgICB0eXBlb2YgdGFyZ2V0Lmljb24gPT09ICdzdHJpbmcnXG4gICk7XG59XG5cbi8qKlxuICogR2V0IGFuIGBJY29uRGVmaW5pdGlvbmAgb2JqZWN0IGZyb20gYWJicmV2aWF0aW9uIHR5cGUsIGxpa2UgYGFjY291bnQtYm9vay1maWxsYC5cbiAqIEBwYXJhbSBzdHJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEljb25EZWZpbml0aW9uRnJvbUFiYnIoc3RyOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gIGNvbnN0IGFyciA9IHN0ci5zcGxpdCgnLScpO1xuICBjb25zdCB0aGVtZSA9IG1hcEFiYnJUb1RoZW1lKGFyci5zcGxpY2UoYXJyLmxlbmd0aCAtIDEsIDEpWzBdKTtcbiAgY29uc3QgbmFtZSA9IGFyci5qb2luKCctJyk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHRoZW1lLFxuICAgIGljb246ICcnXG4gIH0gYXMgSWNvbkRlZmluaXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZVNWRyhzdmc6IFNWR0VsZW1lbnQpOiBTVkdFbGVtZW50IHtcbiAgcmV0dXJuIHN2Zy5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHRWxlbWVudDtcbn1cblxuLyoqXG4gKiBQYXJzZSBpbmxpbmUgU1ZHIHN0cmluZyBhbmQgcmVwbGFjZSBjb2xvcnMgd2l0aCBwbGFjZWhvbGRlcnMuIEZvciB0d290b25lIGljb25zIG9ubHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlRmlsbENvbG9yKHJhdzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJhd1xuICAgIC5yZXBsYWNlKC9bJ1wiXSMzMzNbJ1wiXS9nLCAnXCJwcmltYXJ5Q29sb3JcIicpXG4gICAgLnJlcGxhY2UoL1snXCJdI0U2RTZFNlsnXCJdL2csICdcInNlY29uZGFyeUNvbG9yXCInKVxuICAgIC5yZXBsYWNlKC9bJ1wiXSNEOUQ5RDlbJ1wiXS9nLCAnXCJzZWNvbmRhcnlDb2xvclwiJylcbiAgICAucmVwbGFjZSgvWydcIl0jRDhEOEQ4WydcIl0vZywgJ1wic2Vjb25kYXJ5Q29sb3JcIicpO1xufVxuXG4vKipcbiAqIFNwbGl0IGEgbmFtZSB3aXRoIG5hbWVzcGFjZSBpbiBpdCBpbnRvIGEgdHVwbGUgbGlrZSBbIG5hbWUsIG5hbWVzcGFjZSBdLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZUFuZE5hbWVzcGFjZSh0eXBlOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgY29uc3Qgc3BsaXQgPSB0eXBlLnNwbGl0KCc6Jyk7XG4gIHN3aXRjaCAoc3BsaXQubGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gW3R5cGUsICcnXTtcbiAgICBjYXNlIDI6IHJldHVybiBbc3BsaXRbMV0sIHNwbGl0WzBdXTtcbiAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoYCR7QU5UX0lDT05fQU5HVUxBUl9DT05TT0xFX1BSRUZJWH1UaGUgaWNvbiB0eXBlICR7dHlwZX0gaXMgbm90IHZhbGlkIWApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNOYW1lc3BhY2UodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXROYW1lQW5kTmFtZXNwYWNlKHR5cGUpWzFdICE9PSAnJztcbn1cbiJdfQ==