import m from 'mithril' ; import { List , ListItem } from '@/' ; import { Example } from '@shared/examples' ; const EXAMPLE_SRC = 'components/list/examples/nested.ts' ; interface IDataType { label : string ; children : string [ ] ; } const data = [ { label : 'Header 1' , children : [ 'List item 1' , 'List item 2' , 'List item 3' ] } , { label : 'Header 2' , children : [ 'List item 4' , 'List item 5' , 'List item 6' ] } , { label : 'Header 3' , children : [ 'List item 7' , 'List item 8' , 'List item 9' ] } ] as IDataType [ ] ; export class ListNestedExample { public view ( ) { return m ( Example , { src : EXAMPLE_SRC } , [ m ( List , data . map ( item => m ( '' , [ m ( 'h4' , { style : { margin : 0 , padding : '20px 0 10px 10px' } } , item . label ) , m ( List , item . children . map ( nestedItem => m ( ListItem , { label : nestedItem } ) ) ) ] ) ) ) ] ) ; } }