UNPKG

@legion-ui-kit/react-core

Version:

To install the package into your project:

1 lines 3.3 kB
{"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 loadingClassName,\r\n loadingIconPosition = BUTTON_DEFAULT_PROPS.loadingIconPosition,\r\n loadingText,\r\n loadingTextClassName,\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, loadingClassName);\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 />\r\n {loadingText && (<span className={loadingTextCN}>{loadingText}</span>)}\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","loadingClassName","loadingIconPosition","loadingText","loadingTextClassName","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"],"mappings":"+TAegBA,IACd,MAAMC,MACJA,EAAKC,SACLA,EAAQC,UACRA,EAASC,MACTA,EAAQC,uBAAqBD,MAAKE,SAClCA,EAAQC,UACRA,EAASC,iBACTA,EAAgBC,oBAChBA,EAAsBJ,EAAAA,qBAAqBI,oBAAmBC,YAC9DA,EAAWC,qBACXA,EAAoBC,KACpBA,EAAOP,uBAAqBO,KAAIC,QAChCA,EAAUR,uBAAqBQ,WAC5BC,GACDd,EAEEe,EAAWC,EAAAA,QAAGC,EAAAA,QAAOC,cAAef,EAAWc,EAAAA,QAAOL,GAAQK,UAAOJ,GAAW,CACpF,CAACI,EAAAA,QAAOhB,OAAQA,EAChB,CAACgB,EAAAA,QAAOX,UAAWA,EACnB,CAACW,EAAAA,QAAOE,SAAUZ,EAClB,CAACU,EAAAA,QAAOb,KAAWE,EACnB,CAACW,UAAsB,eAAIR,IAAwBW,EAAAA,6BAA6BC,QAE5EC,EAAgBN,EAAAA,QAAGC,UAAOM,gBAAiBf,GAC3CgB,EAAgBR,EAAAA,QAAGC,UAAOQ,aAAcd,GAE9C,OACEe,EAAAA,IAAA,SAAA,CAAQvB,UAAWY,EAAUT,SAAUA,GAAYC,KAAeO,EAASZ,SACxEK,EACCoB,EAAAA,KAAAC,WAAA,CAAA1B,SAAA,CACEwB,EAAAA,IAACG,UAAO,CACN1B,UAAWmB,EACXQ,eAAgBb,EAAAA,QAAOc,sBACvBC,mBAAoBf,EAAAA,QAAOgB,4BAE5BvB,GAAgBgB,MAAA,OAAA,CAAMvB,UAAWqB,EAAatB,SAAGQ"}