UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

1 lines 3.83 kB
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Checkbox/index.tsx"],"sourcesContent":["// Modules\r\nimport { useId } from 'react';\r\nimport cn from 'classnames';\r\n\r\n// Types\r\nimport type { TCheckboxProps } from './Checkbox.type';\r\n\r\n// Styles\r\nimport styles from './styles.module.scss';\r\n\r\n// Icons\r\nimport { CheckboxIconCheck, CheckboxIconIndeterminate } from './CheckboxIcons';\r\n\r\n// Constants\r\nimport { CHECKBOX_DEFAULT_PROPS, CHECKBOX_LABEL_POSITION } from './Checkbox.constant';\r\n\r\nconst Checkbox = (props: TCheckboxProps) => {\r\n const {\r\n block,\r\n checked,\r\n className,\r\n disabled,\r\n iconClassName,\r\n iconStyle,\r\n id,\r\n indeterminate,\r\n inputClassName,\r\n inputStyle,\r\n label,\r\n labelClassName,\r\n labelPosition = CHECKBOX_DEFAULT_PROPS.labelPosition,\r\n labelStyle,\r\n required,\r\n size = CHECKBOX_DEFAULT_PROPS.size,\r\n style,\r\n ...restProps\r\n } = props;\r\n const initId = useId();\r\n const inputId = id || `legion_checkbox_${initId}`;\r\n const isLeftLabel = labelPosition === CHECKBOX_LABEL_POSITION.left;\r\n\r\n const checkboxCN = cn(styles.legion_checkbox, 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.checkbox_input, inputClassName);\r\n const iconCN = cn(styles.checkbox_icon, iconClassName);\r\n const labelCN = cn(styles.checkbox_label, labelClassName);\r\n\r\n return (\r\n <div className={checkboxCN} style={style}>\r\n <input\r\n id={inputId}\r\n type=\"checkbox\"\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 <span className={iconCN} style={iconStyle}>\r\n {indeterminate ? <CheckboxIconIndeterminate/> : <CheckboxIconCheck/>}\r\n </span>\r\n {label && (\r\n <label htmlFor={inputId} className={labelCN} style={labelStyle}>\r\n {label}\r\n </label>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Checkbox;\r\n"],"names":["props","block","checked","className","disabled","iconClassName","iconStyle","id","indeterminate","inputClassName","inputStyle","label","labelClassName","labelPosition","CHECKBOX_DEFAULT_PROPS","labelStyle","required","size","style","restProps","initId","useId","inputId","isLeftLabel","CHECKBOX_LABEL_POSITION","left","checkboxCN","cn","styles","legion_checkbox","left_label","inputCN","checkbox_input","iconCN","checkbox_icon","labelCN","checkbox_label","_jsxs","children","_jsx","type","CheckboxIconIndeterminate","CheckboxIconCheck","htmlFor"],"mappings":"4UAgBkBA,IAChB,MAAMC,MACJA,EAAKC,QACLA,EAAOC,UACPA,EAASC,SACTA,EAAQC,cACRA,EAAaC,UACbA,EAASC,GACTA,EAAEC,cACFA,EAAaC,eACbA,EAAcC,WACdA,EAAUC,MACVA,EAAKC,eACLA,EAAcC,cACdA,EAAgBC,EAAAA,uBAAuBD,cAAaE,WACpDA,EAAUC,SACVA,EAAQC,KACRA,EAAOH,EAAAA,uBAAuBG,KAAIC,MAClCA,KACGC,GACDnB,EACEoB,EAASC,EAAAA,QACTC,EAAUf,GAAM,mBAAmBa,IACnCG,EAAcV,IAAkBW,EAAAA,wBAAwBC,KAExDC,EAAaC,EAAAA,QAAGC,EAAAA,QAAOC,gBAAiBD,UAAOX,GAAQd,EAAW,CACtE,CAACyB,EAAAA,QAAO3B,OAAQA,EAChB,CAAC2B,EAAAA,QAAOxB,UAAWA,EACnB,CAACwB,EAAAA,QAAOE,YAAaP,IAEjBQ,EAAUJ,EAAAA,QAAGC,UAAOI,eAAgBvB,GACpCwB,EAASN,EAAAA,QAAGC,UAAOM,cAAe7B,GAClC8B,EAAUR,EAAAA,QAAGC,UAAOQ,eAAgBxB,GAE1C,OACEyB,EAAAA,KAAA,MAAA,CAAKlC,UAAWuB,EAAYR,MAAOA,EAAKoB,SAAA,CACtCC,EAAAA,IAAA,QAAA,CACEhC,GAAIe,EACJkB,KAAK,WACLrC,UAAW4B,EACX3B,SAAUA,EACVF,QAASA,EACTc,SAAUA,EACVE,MAAOR,KACHS,IAENoB,EAAAA,IAAA,OAAA,CAAMpC,UAAW8B,EAAQf,MAAOZ,EAASgC,SACtC9B,EAAgB+B,MAACE,EAAAA,8BAA8BF,EAAAA,IAACG,EAAAA,wBAElD/B,GACC4B,EAAAA,IAAA,QAAA,CAAOI,QAASrB,EAASnB,UAAWgC,EAASjB,MAAOH,EAAUuB,SAC3D3B"}