import { mountComponent } from '../_util/component'; import { useMergedState, hasValue } from '../_util/hooks/useMergedState'; import { SwitchFunctionalProps } from './props'; import { useEvent } from 'functional-mini/component'; import { useComponentEvent } from '../_util/hooks/useComponentEvent'; var Switch = function (props) { var _a = useMergedState(props.defaultChecked, { value: props.checked, }), value = _a[0], updateValue = _a[1]; var triggerEvent = useComponentEvent(props).triggerEvent; useEvent('onChange', function (e) { var newValue = !value; if (!hasValue(props.checked)) { updateValue(newValue); } triggerEvent('change', newValue, e); }); return { mixin: { value: value }, }; }; mountComponent(Switch, SwitchFunctionalProps);