ember-cli-materialize
Version:
An ember-cli addon for using Materialize (CSS Framework based on Material Design) in Ember applications.
34 lines (30 loc) • 940 B
JavaScript
import Helper from '@ember/component/helper';
import { htmlSafe } from '@ember/string';
import { A } from '@ember/array';
export function isOldIcon(str) {
return (
str.split(' ').filter(c => {
return c.indexOf('mdi-') === 0;
}).length > 0
);
}
export function bwCompatIcon(params, hash) {
let [iconStr] = params;
let extraClassesString = (hash || {}).extraClasses || null;
let extraClasses = extraClassesString ? extraClassesString.split(' ') : [];
if (isOldIcon(iconStr)) {
return htmlSafe(
`<i class='${A([iconStr].concat(extraClasses))
.compact()
.join(' ')}'></i>`
);
} else {
let classes = iconStr.split(' ');
let icon = classes.shift();
let classString = A(['material-icons'].concat(classes).concat(extraClasses))
.compact()
.join(' ');
return htmlSafe(`<i class='${classString}'>${icon}</i>`);
}
}
export default Helper.helper(bwCompatIcon);