@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
Source Map (JSON)
{"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"}