import { Property } from '../state/Property'; import { View } from '../views/View'; import { Octicon } from './Octicon'; export const Dropdown = (view: View, icon: keyof typeof Octicon, entries: [string, string][], state: Property, watcher?: (value: string) => void) => { const dropdown = view.register(el => { el.addEventListener('change', () => { state.set((el as HTMLSelectElement).value) }) state.watchRun(v => (el as HTMLSelectElement).value = v, 'dropdown') watcher?.(state.get()) }) return ` ` }