UNPKG

@legion-ui-kit/react-core

Version:

<div align="center"> <img height="108" width="116" src="https://legion.digitaltelkom.id/favicon.svg?v=4643a71fb65fa61a5f2b266b769ea7b1" /> <h1 align="center">Legion UI Kit - React Core</h1> </div>

1 lines 3.15 kB
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Radio/index.tsx"],"sourcesContent":["// Modules\r\nimport { useId } from 'react';\r\nimport cn from 'classnames';\r\n\r\n// Types\r\nimport type { TRadioProps } from './Radio.type';\r\n\r\n// Styles\r\nimport styles from './styles.module.scss';\r\n\r\n// Helpers\r\nimport { kebabCase } from '../../helpers/typography';\r\n\r\n// Constants\r\nimport { RADIO_DEFAULT_PROPS, RADIO_LABEL_POSITION } from './Radio.constant';\r\n\r\nconst Radio = (props: TRadioProps) => {\r\n const {\r\n block,\r\n checked,\r\n className,\r\n disabled,\r\n id,\r\n inputClassName,\r\n inputStyle,\r\n label,\r\n labelClassName,\r\n labelPosition,\r\n labelStyle,\r\n required,\r\n size = RADIO_DEFAULT_PROPS.size,\r\n style,\r\n ...restProps\r\n } = props;\r\n const initId = useId();\r\n const inputId = id || `legion_radio_${kebabCase(initId)}`;\r\n const isLeftLabel = labelPosition === RADIO_LABEL_POSITION.left;\r\n\r\n const radioCN = cn(styles.legion_radio, styles[size!], className, {\r\n [styles.block]: block,\r\n [styles.disabled]: disabled,\r\n [styles.left_label]: isLeftLabel\r\n });\r\n const inputCN = cn(styles.radio_input, inputClassName);\r\n const labelCN = cn(styles.radio_label, labelClassName, {\r\n [styles.disabled]: disabled\r\n });\r\n\r\n return (\r\n <div className={radioCN} style={style}>\r\n <input\r\n id={inputId}\r\n type={'radio'}\r\n className={inputCN}\r\n disabled={disabled}\r\n checked={checked}\r\n required={required}\r\n style={inputStyle}\r\n {...restProps}\r\n />\r\n {label && <label htmlFor={inputId} className={labelCN} style={labelStyle}>{label}</label>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Radio;\r\n"],"names":["props","block","checked","className","disabled","id","inputClassName","inputStyle","label","labelClassName","labelPosition","labelStyle","required","size","RADIO_DEFAULT_PROPS","style","restProps","initId","useId","inputId","kebabCase","isLeftLabel","RADIO_LABEL_POSITION","left","radioCN","cn","styles","legion_radio","left_label","inputCN","radio_input","labelCN","radio_label","_jsxs","children","_jsx","type","htmlFor"],"mappings":"kVAgBeA,IACb,MAAMC,MACJA,EAAKC,QACLA,EAAOC,UACPA,EAASC,SACTA,EAAQC,GACRA,EAAEC,eACFA,EAAcC,WACdA,EAAUC,MACVA,EAAKC,eACLA,EAAcC,cACdA,EAAaC,WACbA,EAAUC,SACVA,EAAQC,KACRA,EAAOC,EAAAA,oBAAoBD,KAAIE,MAC/BA,KACGC,GACDhB,EACEiB,EAASC,EAAAA,QACTC,EAAUd,GAAM,gBAAgBe,EAAAA,UAAUH,KAC1CI,EAAcX,IAAkBY,EAAAA,qBAAqBC,KAErDC,EAAUC,EAAAA,QAAGC,EAAAA,QAAOC,aAAcD,UAAOb,GAAQV,EAAW,CAChE,CAACuB,EAAAA,QAAOzB,OAAQA,EAChB,CAACyB,EAAAA,QAAOtB,UAAWA,EACnB,CAACsB,EAAAA,QAAOE,YAAaP,IAEjBQ,EAAUJ,EAAAA,QAAGC,UAAOI,YAAaxB,GACjCyB,EAAUN,EAAAA,QAAGC,UAAOM,YAAavB,EAAgB,CACrD,CAACiB,EAAAA,QAAOtB,UAAWA,IAGrB,OACE6B,EAAAA,KAAA,MAAA,CAAK9B,UAAWqB,EAAST,MAAOA,EAAKmB,SAAA,CACnCC,EAAAA,IAAA,QAAA,CACE9B,GAAIc,EACJiB,KAAM,QACNjC,UAAW0B,EACXzB,SAAUA,EACVF,QAASA,EACTU,SAAUA,EACVG,MAAOR,KACHS,IAELR,GAAS2B,EAAAA,IAAA,QAAA,CAAOE,QAASlB,EAAShB,UAAW4B,EAAShB,MAAOJ,EAAUuB,SAAG1B"}