UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 2.33 kB
{"version":3,"file":"Button.mjs","names":["Button: FC<ButtonProps>","AntdButton","Icon","Button"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["'use client';\n\nimport { Button as AntdButton } from 'antd';\nimport { cx, useThemeMode } from 'antd-style';\nimport { Loader2Icon } from 'lucide-react';\nimport { type FC, isValidElement } from 'react';\n\nimport Icon from '@/Icon';\n\nimport { variants } from './style';\nimport type { ButtonProps } from './type';\n\nconst Button: FC<ButtonProps> = ({\n icon,\n variant,\n glass,\n shadow,\n loading,\n className,\n type,\n color,\n danger,\n children,\n iconProps,\n ref,\n ...rest\n}) => {\n const { isDarkMode } = useThemeMode();\n\n const defaultVariant = type ? undefined : variant || (isDarkMode ? 'filled' : 'outlined');\n\n return (\n <AntdButton\n className={cx(\n variants({\n glass,\n shadow,\n }),\n className,\n )}\n color={color || (defaultVariant === 'filled' ? 'default' : undefined)}\n danger={danger}\n icon={\n icon &&\n (isValidElement(icon) ? (\n icon\n ) : (\n <Icon icon={icon} {...iconProps} size={iconProps?.size || { size: '1.2em' }} />\n ))\n }\n loading={\n loading\n ? {\n icon: (\n <Icon\n icon={Loader2Icon}\n {...iconProps}\n size={iconProps?.size || { size: '1.2em' }}\n spin\n />\n ),\n }\n : false\n }\n ref={ref}\n type={type}\n variant={defaultVariant}\n {...rest}\n >\n {children}\n </AntdButton>\n );\n};\n\nexport default Button;\n"],"mappings":";;;;;;;;;;;AAYA,MAAMA,YAA2B,EAC/B,MACA,SACA,OACA,QACA,SACA,WACA,MACA,OACA,QACA,UACA,WACA,KACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,cAAc;CAErC,MAAM,iBAAiB,OAAO,SAAY,YAAY,aAAa,WAAW;AAE9E,QACE,oBAACC;EACC,WAAW,GACT,SAAS;GACP;GACA;GACD,CAAC,EACF,UACD;EACD,OAAO,UAAU,mBAAmB,WAAW,YAAY;EACnD;EACR,MACE,SACC,eAAe,KAAK,GACnB,OAEA,oBAACC;GAAW;GAAM,GAAI;GAAW,MAAM,WAAW,QAAQ,EAAE,MAAM,SAAS;IAAI;EAGnF,SACE,UACI,EACE,MACE,oBAACA;GACC,MAAM;GACN,GAAI;GACJ,MAAM,WAAW,QAAQ,EAAE,MAAM,SAAS;GAC1C;IACA,EAEL,GACD;EAED;EACC;EACN,SAAS;EACT,GAAI;EAEH;GACU;;AAIjB,qBAAeC"}