jiro-ui
Version:
A Mithril.js UI library based from construct-ui
19 lines (18 loc) • 930 B
JavaScript
import { __assign, __rest } from "tslib";
import m from 'mithril';
import classnames from 'classnames';
import { Classes } from '../../_shared';
import { IconContents } from './generated';
var Icon = /** @class */ (function () {
function Icon() {
}
Icon.prototype.view = function (_a) {
var attrs = _a.attrs;
var className = attrs.class, intent = attrs.intent, name = attrs.name, onclick = attrs.onclick, size = attrs.size, htmlAttrs = __rest(attrs, ["class", "intent", "name", "onclick", "size"]);
var classes = classnames(Classes.ICON, Classes.ICON + "-" + name, intent && "cui-" + intent, size && "cui-" + size, onclick && Classes.ICON_ACTION, className);
var svg = m.trust("<svg viewBox='0 0 24 24'>" + IconContents[name] + "</svg>");
return m('', __assign(__assign({}, htmlAttrs), { class: classes, onclick: onclick }), svg);
};
return Icon;
}());
export { Icon };