UNPKG

jiro-ui

Version:

A Mithril.js UI library based from construct-ui

23 lines (18 loc) 573 B
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); } }