UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 1.88 kB
{"version":3,"file":"RadioGroup.mjs","names":["RadioGroup","BaseRadioGroup"],"sources":["../../../src/base-ui/Radio/RadioGroup.tsx"],"sourcesContent":["'use client';\n\nimport { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';\nimport { memo, useMemo } from 'react';\n\nimport Radio from './Radio';\nimport type { RadioGroupOption, RadioGroupProps } from './type';\n\nconst RadioGroup = memo<RadioGroupProps>(\n ({ options, onChange, gap = 12, horizontal = true, size, textProps, style, ...rest }) => {\n const items = useMemo<RadioGroupOption[]>(\n () =>\n options.map((option) =>\n typeof option === 'string' ? { label: option, value: option } : option,\n ),\n [options],\n );\n\n return (\n <BaseRadioGroup\n style={{\n display: 'flex',\n flexDirection: horizontal ? 'row' : 'column',\n flexWrap: 'wrap',\n gap,\n ...style,\n }}\n onValueChange={onChange}\n {...rest}\n >\n {items.map((item) => (\n <Radio\n disabled={item.disabled}\n key={item.value}\n size={size}\n textProps={textProps}\n value={item.value}\n >\n {item.label}\n </Radio>\n ))}\n </BaseRadioGroup>\n );\n },\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n"],"mappings":";;;;;;AAQA,MAAMA,eAAa,MAChB,EAAE,SAAS,UAAU,MAAM,IAAI,aAAa,MAAM,MAAM,WAAW,OAAO,GAAG,WAAW;CACvF,MAAM,QAAQ,cAEV,QAAQ,KAAK,WACX,OAAO,WAAW,WAAW;EAAE,OAAO;EAAQ,OAAO;CAAO,IAAI,MAClE,GACF,CAAC,OAAO,CACV;CAEA,OACE,oBAACC,YAAD;EACE,OAAO;GACL,SAAS;GACT,eAAe,aAAa,QAAQ;GACpC,UAAU;GACV;GACA,GAAG;EACL;EACA,eAAe;EACf,GAAI;YAEH,MAAM,KAAK,SACV,oBAAC,OAAD;GACE,UAAU,KAAK;GAET;GACK;GACX,OAAO,KAAK;aAEX,KAAK;EACD,GANA,KAAK,KAML,CACR;CACa,CAAA;AAEpB,CACF;AAEA,aAAW,cAAc"}