@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
JavaScript
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