@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
30 lines (29 loc) • 1.06 kB
JavaScript
"use client";
import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
import { MenuCheckboxGroupContext } from "./MenuCheckboxGroup.context.mjs";
import { useCallback } from "react";
import { useUncontrolled } from "@mantine/hooks";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Menu/MenuCheckboxGroup/MenuCheckboxGroup.tsx
function MenuCheckboxGroup(_props) {
const { value, defaultValue, onChange, children } = useProps("MenuCheckboxGroup", null, _props);
const [_value, setValue] = useUncontrolled({
value,
defaultValue,
finalValue: [],
onChange
});
return /* @__PURE__ */ jsx(MenuCheckboxGroupContext, {
value: {
values: _value,
onChange: useCallback((next) => {
setValue(_value.includes(next) ? _value.filter((item) => item !== next) : [..._value, next]);
}, [_value, setValue])
},
children
});
}
MenuCheckboxGroup.displayName = "@mantine/core/MenuCheckboxGroup";
//#endregion
export { MenuCheckboxGroup };
//# sourceMappingURL=MenuCheckboxGroup.mjs.map