UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.58 kB
{"version":3,"file":"MenuRadioGroup.mjs","names":[],"sources":["../../../../src/components/Menu/MenuRadioGroup/MenuRadioGroup.tsx"],"sourcesContent":["import { useUncontrolled } from '@mantine/hooks';\nimport { useProps } from '../../../core';\nimport { MenuRadioGroupContext } from './MenuRadioGroup.context';\n\nexport interface MenuRadioGroupProps {\n /** Controlled selected value */\n value?: string | null;\n\n /** Uncontrolled default selected value */\n defaultValue?: string | null;\n\n /** Called with the new value when a `Menu.RadioItem` is selected */\n onChange?: (value: string) => void;\n\n /** `Menu.RadioItem` components and other elements */\n children?: React.ReactNode;\n}\n\nexport function MenuRadioGroup(_props: MenuRadioGroupProps) {\n const props = useProps('MenuRadioGroup', null, _props);\n const { value, defaultValue, onChange, children } = props;\n\n const [_value, setValue] = useUncontrolled<string | null>({\n value,\n defaultValue,\n finalValue: null,\n onChange: onChange as (value: string | null) => void,\n });\n\n return (\n <MenuRadioGroupContext value={{ value: _value, onChange: (next) => setValue(next) }}>\n {children}\n </MenuRadioGroupContext>\n );\n}\n\nMenuRadioGroup.displayName = '@mantine/core/MenuRadioGroup';\n"],"mappings":";;;;;;AAkBA,SAAgB,eAAe,QAA6B;CAE1D,MAAM,EAAE,OAAO,cAAc,UAAU,aADzB,SAAS,kBAAkB,MAAM,MACS;CAExD,MAAM,CAAC,QAAQ,YAAY,gBAA+B;EACxD;EACA;EACA,YAAY;EACF;CACZ,CAAC;CAED,OACE,oBAAC,uBAAD;EAAuB,OAAO;GAAE,OAAO;GAAQ,WAAW,SAAS,SAAS,IAAI;EAAE;EAC/E;CACoB,CAAA;AAE3B;AAEA,eAAe,cAAc"}