jiro-ui
Version:
A Mithril.js UI library based from construct-ui
23 lines (18 loc) • 573 B
text/typescript
import m from 'mithril';
import classnames from 'classnames';
import { Classes, IAttrs } from '../../_shared';
export interface ITreeAttrs extends IAttrs {
/** An array of child nodes */
nodes?: m.Vnode<ITreeAttrs, any>[];
[htmlAttrs: string]: any;
}
export class Tree implements m.Component<ITreeAttrs> {
public view({ attrs }: m.Vnode<ITreeAttrs>) {
const { nodes, class: className, ...htmlAttrs } = attrs;
const treeClasses = classnames(Classes.TREE, className);
return m('ul', {
...htmlAttrs,
class: treeClasses
}, nodes);
}
}