@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.57 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Button/index.tsx"],"sourcesContent":["// Modules\r\nimport cn from 'classnames';\r\n\r\n// Types\r\nimport type { TButtonProps } from './Button.type';\r\n\r\n// Styles\r\nimport styles from './styles/styles.module.scss';\r\n\r\n// Components\r\nimport Spinner from '../Spinner';\r\n\r\n// Constants\r\nimport { BUTTON_DEFAULT_PROPS, BUTTON_LOADING_ICON_POSITION } from './Button.constant';\r\n\r\nconst Button = (props: TButtonProps) => {\r\n const {\r\n block,\r\n children,\r\n className,\r\n color = BUTTON_DEFAULT_PROPS.color,\r\n disabled,\r\n isLoading,\r\n loadingIconClassName,\r\n loadingIconPosition = BUTTON_DEFAULT_PROPS.loadingIconPosition,\r\n loadingIconStyle,\r\n loadingText,\r\n loadingTextClassName,\r\n loadingTextStyle,\r\n size = BUTTON_DEFAULT_PROPS.size,\r\n variant = BUTTON_DEFAULT_PROPS.variant,\r\n ...restProps\r\n } = props;\r\n\r\n const buttonCN = cn(styles.legion_button, className, styles[size!], styles[variant!], {\r\n [styles.block]: block,\r\n [styles.disabled]: disabled,\r\n [styles.loading]: isLoading,\r\n [styles[color!]]: !disabled,\r\n [styles['loading_right']]: loadingIconPosition === BUTTON_LOADING_ICON_POSITION.right\r\n });\r\n const loadingIconCN = cn(styles.loading_spinner, loadingIconClassName);\r\n const loadingTextCN = cn(styles.loading_text, loadingTextClassName);\r\n\r\n return (\r\n <button className={buttonCN} disabled={disabled || isLoading} {...restProps}>\r\n {isLoading ? (\r\n <>\r\n <Spinner\r\n className={loadingIconCN}\r\n trackClassName={styles.loading_spinner_track}\r\n indicatorClassName={styles.loading_spinner_indicator}\r\n style={loadingIconStyle}\r\n />\r\n {loadingText && (\r\n <span className={loadingTextCN} style={loadingTextStyle}>{loadingText}</span>\r\n )}\r\n </>\r\n ) : (\r\n children\r\n )}\r\n </button>\r\n );\r\n};\r\n\r\nexport default Button;\r\n"],"names":["props","block","children","className","color","BUTTON_DEFAULT_PROPS","disabled","isLoading","loadingIconClassName","loadingIconPosition","loadingIconStyle","loadingText","loadingTextClassName","loadingTextStyle","size","variant","restProps","buttonCN","cn","styles","legion_button","loading","BUTTON_LOADING_ICON_POSITION","right","loadingIconCN","loading_spinner","loadingTextCN","loading_text","_jsx","_jsxs","_Fragment","Spinner","trackClassName","loading_spinner_track","indicatorClassName","loading_spinner_indicator","style"],"mappings":"+TAegBA,IACd,MAAMC,MACJA,EAAKC,SACLA,EAAQC,UACRA,EAASC,MACTA,EAAQC,EAAAA,qBAAqBD,MAAKE,SAClCA,EAAQC,UACRA,EAASC,qBACTA,EAAoBC,oBACpBA,EAAsBJ,EAAAA,qBAAqBI,oBAAmBC,iBAC9DA,EAAgBC,YAChBA,EAAWC,qBACXA,EAAoBC,iBACpBA,EAAgBC,KAChBA,EAAOT,EAAAA,qBAAqBS,KAAIC,QAChCA,EAAUV,EAAAA,qBAAqBU,WAC5BC,GACDhB,EAEEiB,EAAWC,EAAAA,QAAGC,EAAAA,QAAOC,cAAejB,EAAWgB,EAAAA,QAAOL,GAAQK,UAAOJ,GAAW,CACpF,CAACI,EAAAA,QAAOlB,OAAQA,EAChB,CAACkB,EAAAA,QAAOb,UAAWA,EACnB,CAACa,EAAAA,QAAOE,SAAUd,EAClB,CAACY,EAAAA,QAAOf,KAAWE,EACnB,CAACa,UAAsB,eAAIV,IAAwBa,EAAAA,6BAA6BC,QAE5EC,EAAgBN,EAAAA,QAAGC,UAAOM,gBAAiBjB,GAC3CkB,EAAgBR,EAAAA,QAAGC,UAAOQ,aAAcf,GAE9C,OACEgB,EAAAA,IAAA,SAAA,CAAQzB,UAAWc,EAAUX,SAAUA,GAAYC,KAAeS,WAC/DT,EACCsB,EAAAA,KAAAC,WAAA,CAAA5B,SAAA,CACE0B,MAACG,EAAAA,SACC5B,UAAWqB,EACXQ,eAAgBb,EAAAA,QAAOc,sBACvBC,mBAAoBf,UAAOgB,0BAC3BC,MAAO1B,IAERC,GACCiB,EAAAA,IAAA,OAAA,CAAMzB,UAAWuB,EAAeU,MAAOvB,EAAgBX,SAAGS"}