@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
185 lines (172 loc) • 6.46 kB
JavaScript
;
const iconClassMappings = {
'k-icon-add': 'k-icon k-i-plus',
'k-icon-group-add': 'k-icon k-i-plus',
'k-icon-minus': 'k-icon k-i-minus',
'k-icon-edit': 'k-icon k-i-pencil',
'k-icon-delete': 'k-icon k-i-trash',
'k-icon-search': 'k-icon k-i-search',
'k-icon-close': 'k-icon k-i-x',
'k-icon-cancel': 'k-icon k-i-x',
'k-icon-check': 'k-icon k-i-check',
'k-icon-save': 'k-icon k-i-save',
'k-icon-refresh': 'k-icon k-i-reload',
'k-icon-reload': 'k-icon k-i-reload',
'k-icon-filter': 'k-icon k-i-filter',
'k-icon-reorder': 'k-icon k-i-reorder',
'k-icon-download': 'k-icon k-i-download',
'k-icon-upload': 'k-icon k-i-upload',
'k-icon-excel': 'k-icon k-i-file-excel',
'k-icon-pdf': 'k-icon k-i-file-pdf',
'k-icon-print': 'k-icon k-i-print',
'k-icon-chevron-up': 'k-icon k-i-chevron-up',
'k-icon-chevron-down': 'k-icon k-i-chevron-down',
'k-icon-chevron-left': 'k-icon k-i-chevron-left',
'k-icon-chevron-right': 'k-icon k-i-chevron-right',
'k-icon-arrow-up': 'k-icon k-i-arrow-up',
'k-icon-arrow-down': 'k-icon k-i-arrow-down',
'k-icon-arrow-left': 'k-icon k-i-arrow-left',
'k-icon-arrow-right': 'k-icon k-i-arrow-right',
'k-icon-sort-asc': 'k-icon k-i-sort-asc',
'k-icon-sort-desc': 'k-icon k-i-sort-desc',
'k-icon-folder': 'k-icon k-i-folder',
'k-icon-folder-open': 'k-icon k-i-folder-open',
'k-icon-file': 'k-icon k-i-file',
'k-icon-file-txt': 'k-icon k-i-file',
'k-icon-file-img': 'k-icon k-i-file-image',
'k-icon-file-pdf': 'k-icon k-i-file-pdf',
'k-icon-calendar': 'k-icon k-i-calendar',
'k-icon-clock': 'k-icon k-i-clock',
'k-icon-timer': 'k-icon k-i-timer',
'k-icon-user': 'k-icon k-i-user',
'k-icon-bell': 'k-icon k-i-bell',
'k-icon-settings': 'k-icon k-i-gear',
'k-icon-gear': 'k-icon k-i-gear',
'k-icon-question': 'k-icon k-i-circle-question',
'k-icon-info': 'k-icon k-i-circle-info',
'k-icon-warning': 'k-icon k-i-triangle-exclamation',
'k-icon-error': 'k-icon k-i-circle-x',
'k-icon-success': 'k-icon k-i-circle-check',
'k-icon-star': 'k-icon k-i-star',
'k-icon-star-outline': 'k-icon k-i-star-outline',
'k-icon-heart': 'k-icon k-i-heart',
'k-icon-heart-outline': 'k-icon k-i-heart-outline',
'k-icon-share': 'k-icon k-i-share',
'k-icon-flag': 'k-icon k-i-flag',
'k-icon-home': 'k-icon k-i-home',
'k-icon-hamburger': 'k-icon k-i-menu',
'k-icon-menu': 'k-icon k-i-menu',
'k-icon-list': 'k-icon k-i-list-ul',
'k-icon-play': 'k-icon k-i-play',
'k-icon-pause': 'k-icon k-i-pause',
'k-icon-stop': 'k-icon k-i-stop',
'k-icon-expand': 'k-icon k-i-expand',
'k-icon-collapse': 'k-icon k-i-compress',
'k-icon-maximize': 'k-icon k-i-window-maximize',
'k-icon-minimize': 'k-icon k-i-window-minimize',
'k-icon-window': 'k-icon k-i-window',
'k-icon-power': 'k-icon k-i-power',
'k-icon-lock': 'k-icon k-i-lock',
'k-icon-unlock': 'k-icon k-i-unlock',
'k-icon-key': 'k-icon k-i-key',
'k-icon-cloud': 'k-icon k-i-cloud',
'k-icon-download-cloud': 'k-icon k-i-cloud-download',
'k-icon-upload-cloud': 'k-icon k-i-cloud-upload',
'k-icon-skip-back': 'k-icon k-i-step-backward',
'k-icon-skip-forward': 'k-icon k-i-step-forward',
'k-icon-previous': 'k-icon k-i-step-backward',
'k-icon-next': 'k-icon k-i-step-forward',
'k-icon-backwards': 'k-icon k-i-backward',
'k-icon-forwards': 'k-icon k-i-forward',
'k-icon-tree-expand': 'k-icon k-i-plus',
'k-icon-tree-collapse': 'k-icon k-i-minus',
'k-icon-map': 'k-icon k-i-map',
'k-icon-map-marker': 'k-icon k-i-map-marker',
'k-icon-inbox': 'k-icon k-i-inbox',
'k-icon-send': 'k-icon k-i-paper-plane',
'k-icon-reply': 'k-icon k-i-reply',
'k-icon-reply-all': 'k-icon k-i-reply-all',
'k-icon-forward': 'k-icon k-i-share',
'k-icon-edit-fields': 'k-icon k-i-pencil',
'k-icon-eye': 'k-icon k-i-eye',
'k-icon-eye-slash': 'k-icon k-i-eye-slash',
'k-icon-link': 'k-icon k-i-link',
'k-icon-unlink': 'k-icon k-i-unlink',
'k-icon-crop': 'k-icon k-i-crop',
'k-icon-zoom-in': 'k-icon k-i-zoom-in',
'k-icon-zoom-out': 'k-icon k-i-zoom-out',
'k-icon-sort': 'k-icon k-i-sort',
'k-icon-group': 'k-icon k-i-object-group',
'k-icon-ungroup': 'k-icon k-i-object-ungroup',
'k-icon-align-left': 'k-icon k-i-align-left',
'k-icon-align-center': 'k-icon k-i-align-center',
'k-icon-align-right': 'k-icon k-i-align-right',
'k-icon-align-justify': 'k-icon k-i-align-justify',
'k-icon-bold': 'k-icon k-i-bold',
'k-icon-italic': 'k-icon k-i-italic',
'k-icon-underline': 'k-icon k-i-underline',
'k-icon-strikethrough': 'k-icon k-i-strikethrough',
'k-icon-subscript': 'k-icon k-i-subscript',
'k-icon-superscript': 'k-icon k-i-superscript',
'k-icon-indent': 'k-icon k-i-indent',
'k-icon-outdent': 'k-icon k-i-outdent',
'k-icon-background-color': 'k-icon k-i-paint',
'k-icon-text-color': 'k-icon k-i-text-effects',
'k-icon-code': 'k-icon k-i-code',
'k-icon-html': 'k-icon k-i-html',
};
function applyIconClassRename(str) {
let result = str;
for (const [oldClass, newClass] of Object.entries(iconClassMappings)) {
const classRegex = new RegExp(`\\b${oldClass}\\b`, 'g');
result = result.replace(classRegex, newClass);
}
return result;
}
function transformStringLiterals(root, j, fn) {
let changed = false;
root.find(j.StringLiteral).forEach(path => {
const oldValue = path.value.value;
const newValue = fn(oldValue);
if (oldValue !== newValue) {
path.value.value = newValue;
if (path.value.extra) {
path.value.extra.rawValue = newValue;
}
changed = true;
}
});
root.find(j.Literal, n => typeof n.value === 'string').forEach(path => {
const oldValue = path.node.value;
const newValue = fn(oldValue);
if (oldValue !== newValue) {
path.node.value = newValue;
if (path.node.extra) {
path.node.extra.rawValue = newValue;
}
changed = true;
}
});
return changed;
}
function transformTemplateLiterals(root, j, fn) {
let changed = false;
root.find(j.TemplateLiteral).forEach(path => {
path.value.quasis.forEach(quasi => {
const oldValue = quasi.value.cooked;
const newValue = fn(oldValue);
if (oldValue !== newValue) {
quasi.value.cooked = newValue;
quasi.value.raw = newValue;
changed = true;
}
});
});
return changed;
}
module.exports = {
iconClassMappings,
applyIconClassRename,
transformStringLiterals,
transformTemplateLiterals,
};