import m from 'mithril'; import { Button, Collapse, Card } from '@/'; import { Example } from '@shared/examples'; const EXAMPLE_SRC = 'components/collapse/examples/index.ts'; const SAMPLE_TEXT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum ex eu eros dictum.

'; export class CollapseExample { private isOpen = false; private content = [SAMPLE_TEXT]; public view() { return m(Example, { center: false, src: EXAMPLE_SRC }, [ m(Button, { label: this.isOpen ? 'Hide collapse' : 'Show collapse', intent: 'primary', onclick: this.toggleOpen, style: 'margin-right: 10px' }), m(Button, { label: 'Append content', onclick: this.appendContent }), m(Collapse, { duration: 200, isOpen: this.isOpen }, [ m(Card, { style: 'margin-top:20px' }, this.content.map((text) => m.trust(text))) ]) ]); } private appendContent = () => { this.content.push(SAMPLE_TEXT); }; private toggleOpen = () => { this.isOpen = !this.isOpen; }; }