import { FlowComponent, JSX, mergeProps, onMount, splitProps } from "solid-js"; const Collapsible: FlowComponent< { activeTitleColor?: string; onChange?: JSX.EventHandler; value?: boolean; label: string | JSX.Element; } & JSX.HTMLAttributes > = (p) => { const mprops = mergeProps({ activeTitleColor: "text-black" }, p); let [props, rest] = splitProps(mprops, [ "activeTitleColor", "onChange", "value", "label", "class", "children", ]); let inputRef: HTMLInputElement = undefined!; return (
{ if (inputRef.checked) { return; } evt.currentTarget.blur(); inputRef.checked = true; inputRef.dispatchEvent(new InputEvent("change", { bubbles: true })); }} {...rest} > { evt.currentTarget.blur(); if (props.onChange) { props.onChange.call(this, evt); } }} />
{props.label}
{props.children}
); }; export default Collapsible;