UNPKG

@renderlesskit/react

Version:

Collection of headless components/hooks that are accessible, composable, customizable from low level to build your own UI & Design System powered by Reakit

49 lines (47 loc) 1.27 kB
import * as React from "react"; import { createEvent } from "reakit-utils"; import { warning } from "reakit-warning"; export function getChecked(options) { var { checked, value, state } = options; if (typeof checked !== "undefined") return checked; if (typeof value === "undefined") return !!state; var stateProp = Array.isArray(state) ? state : []; return stateProp.indexOf(value) !== -1; } export function fireChange(element, onChange) { var event = createEvent(element, "change"); Object.defineProperties(event, { type: { value: "change" }, target: { value: element }, currentTarget: { value: element } }); onChange === null || onChange === void 0 ? void 0 : onChange(event); } export function useIndeterminateState(ref, options) { var { state } = options; React.useEffect(() => { var element = ref.current; if (!element) { warning(state === "indeterminate", "Can't set indeterminate state because `ref` wasn't passed to component."); return; } if (state === "indeterminate") { element.indeterminate = true; } else if (element.indeterminate) { element.indeterminate = false; } }, [state, ref]); } //# sourceMappingURL=helpers.js.map