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.28 kB
{"version":3,"file":"index.cjs","sources":["../../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["// Modules\r\nimport cn from 'classnames';\r\n\r\n// Types\r\nimport type { TProgressBarProps } from './ProgressBar.type';\r\n\r\n// Styles\r\nimport styles from './styles.module.scss';\r\n\r\n// Helpers\r\nimport { snakeCase } from '../../helpers/typography';\r\n\r\n// Constants\r\nimport { PROGRESS_BAR_DEFAULT_PROPS } from './ProgressBar.constant';\r\n\r\nexport const ProgressBar = (props: TProgressBarProps) => {\r\n const {\r\n className,\r\n indicatorClassName,\r\n indicatorStyle,\r\n labelClassName,\r\n labelPosition = PROGRESS_BAR_DEFAULT_PROPS.labelPosition,\r\n labelStyle,\r\n trackClassName,\r\n trackStyle,\r\n value = PROGRESS_BAR_DEFAULT_PROPS.value,\r\n ...restProps\r\n } = props;\r\n const validValue = Math.min(Math.max(value, 0), 100);\r\n\r\n const progressBarCN = cn(styles.legion_progress_bar, className, styles[`label_${snakeCase(labelPosition)}`]);\r\n const trackCN = cn(styles.track, trackClassName);\r\n const indicatorCN = cn(styles.indicator, indicatorClassName);\r\n const labelCN = cn(styles.label, labelClassName);\r\n const floatLabelCN = cn(styles.float_label, labelClassName);\r\n\r\n return (\r\n <div className={progressBarCN} {...restProps}>\r\n <span className={trackCN} style={trackStyle}>\r\n <span\r\n className={indicatorCN}\r\n style={{\r\n ...indicatorStyle,\r\n width: `${validValue}%`\r\n }}\r\n >\r\n\t\t\t\t\t{labelPosition?.includes('float') && (\r\n <p className={floatLabelCN} style={labelStyle}>\r\n {`${validValue}%`}\r\n </p>\r\n )}\r\n\t\t\t\t</span>\r\n </span>\r\n {!labelPosition?.includes('float') && (\r\n <p className={labelCN} style={labelStyle}>{`${validValue}%`}</p>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ProgressBar;\r\n"],"names":["ProgressBar","props","className","indicatorClassName","indicatorStyle","labelClassName","labelPosition","PROGRESS_BAR_DEFAULT_PROPS","labelStyle","trackClassName","trackStyle","value","restProps","validValue","Math","min","max","progressBarCN","cn","styles","legion_progress_bar","snakeCase","trackCN","track","indicatorCN","indicator","labelCN","label","floatLabelCN","float_label","_jsxs","children","_jsx","style","width","includes"],"mappings":"qTAeO,MAAMA,EAAeC,IAC1B,MAAMC,UACJA,EAASC,mBACTA,EAAkBC,eAClBA,EAAcC,eACdA,EAAcC,cACdA,EAAgBC,EAAAA,2BAA2BD,cAAaE,WACxDA,EAAUC,eACVA,EAAcC,WACdA,EAAUC,MACVA,EAAQJ,EAAAA,2BAA2BI,SAChCC,GACDX,EACEY,EAAaC,KAAKC,IAAID,KAAKE,IAAIL,EAAO,GAAI,KAE1CM,EAAgBC,EAAAA,QAAGC,EAAAA,QAAOC,oBAAqBlB,EAAWiB,UAAO,SAASE,EAAAA,UAAUf,OACpFgB,EAAUJ,EAAAA,QAAGC,UAAOI,MAAOd,GAC3Be,EAAcN,EAAAA,QAAGC,UAAOM,UAAWtB,GACnCuB,EAAUR,EAAAA,QAAGC,UAAOQ,MAAOtB,GAC3BuB,EAAeV,EAAAA,QAAGC,UAAOU,YAAaxB,GAE5C,OACEyB,EAAAA,YAAK5B,UAAWe,KAAmBL,EAASmB,SAAA,CAC1CC,EAAAA,IAAA,OAAA,CAAM9B,UAAWoB,EAASW,MAAOvB,EAAUqB,SACzCC,MAAA,OAAA,CACE9B,UAAWsB,EACXS,MAAO,IACF7B,EACH8B,MAAO,GAAGrB,MACXkB,SAELzB,GAAe6B,SAAS,UAClBH,EAAAA,IAAA,IAAA,CAAG9B,UAAW0B,EAAcK,MAAOzB,EAAUuB,SAC1C,GAAGlB,YAKVP,GAAe6B,SAAS,UACxBH,MAAA,IAAA,CAAG9B,UAAWwB,EAASO,MAAOzB,EAAUuB,SAAG,GAAGlB"}