/** * notion-enhancer * (c) 2023 dragonwocky (https://dragonwocky.me/) * (https://notion-enhancer.github.io/) under the MIT license */ import { useState } from "../state.mjs"; function Toggle({ _get, _set, ...props }) { const { html, extendProps } = globalThis.__enhancerApi, $input = html``; extendProps($input, { onchange: () => _set?.($input.checked) }); useState(["rerender"], async () => { const checked = (await _get?.()) ?? $input.checked; $input.checked = checked; }); return html`
${$input}
{ if ([" ", "Enter"].includes(event.key)) { event.preventDefault(); $input.click(); } }} >
`; } export { Toggle };