jiro-ui
Version:
A Mithril.js UI library based from construct-ui
37 lines (32 loc) • 924 B
text/typescript
import m from 'mithril';
import { Switch, Popover, Button } from '@/';
import { Example } from '@shared/examples';
const EXAMPLE_SRC = 'components/popover/examples/controlled.ts';
export class PopoverControlledExample {
private isOpen = false;
public view() {
return m(Example, { options: this.renderOptions(), src: EXAMPLE_SRC }, [
m(Popover, {
closeOnContentClick: true,
closeOnEscapeKey: true,
content: m('', 'Popover content'),
trigger: m(Button, {
label: 'Popover Trigger',
intent: 'primary'
}),
position: 'bottom',
isOpen: this.isOpen,
onInteraction: (nextOpenState: boolean) => this.isOpen = nextOpenState
})
]);
}
private renderOptions() {
return [
m(Switch, {
label: 'Is open',
checked: this.isOpen,
onchange: () => this.isOpen = !this.isOpen
})
];
}
}