UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

46 lines (45 loc) 2.03 kB
"use client"; const require_use_props = require("../../../core/MantineProvider/use-props/use-props.cjs"); const require_factory = require("../../../core/factory/factory.cjs"); const require_Menu_context = require("../Menu.context.cjs"); const require_MenuSelectableItem = require("../MenuSelectableItem/MenuSelectableItem.cjs"); const require_Menu_module = require("../Menu.module.cjs"); const require_MenuRadioGroup_context = require("../MenuRadioGroup/MenuRadioGroup.context.cjs"); const require_RadioIcon = require("../../Radio/RadioIcon.cjs"); let react = require("react"); let react_jsx_runtime = require("react/jsx-runtime"); //#region packages/@mantine/core/src/components/Menu/MenuRadioItem/MenuRadioItem.tsx const MenuRadioItem = require_factory.factory((_props) => { const { classNames, className, style, styles, vars, color, closeMenuOnClick, rightSection, children, disabled, "data-disabled": dataDisabled, value, checked, onChange, checkIcon, ref, ...others } = require_use_props.useProps("MenuRadioItem", null, _props); const ctx = require_Menu_context.useMenuContext(); const groupCtx = (0, react.use)(require_MenuRadioGroup_context.MenuRadioGroupContext); const _checked = checked ?? (groupCtx ? groupCtx.value === value : false); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MenuSelectableItem.MenuSelectableItem, { role: "menuitemradio", checked: _checked, indicator: checkIcon ?? ctx.checkIcon ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_RadioIcon.RadioIcon, { size: 5 }), onSelect: () => { if (!_checked) { if (onChange) onChange(value); else if (groupCtx) groupCtx.onChange(value); } }, color, closeMenuOnClick, rightSection, disabled, dataDisabled, className, style, styles, classNames, buttonRef: ref, others, children }); }); MenuRadioItem.classes = require_Menu_module.default; MenuRadioItem.displayName = "@mantine/core/MenuRadioItem"; //#endregion exports.MenuRadioItem = MenuRadioItem; //# sourceMappingURL=MenuRadioItem.cjs.map