UNPKG

@lobehub/ui

Version:

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

1 lines 2.32 kB
{"version":3,"file":"Button.mjs","names":["Button","AntdButton"],"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 color={color || (defaultVariant === 'filled' ? 'default' : undefined)}\n danger={danger}\n ref={ref}\n type={type}\n variant={defaultVariant}\n className={cx(\n variants({\n glass,\n shadow,\n }),\n className,\n )}\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 spin\n size={iconProps?.size || { size: '1.2em' }}\n />\n ),\n }\n : false\n }\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,KAAA,IAAY,YAAY,aAAa,WAAW;AAE9E,QACE,oBAACC,QAAD;EACE,OAAO,UAAU,mBAAmB,WAAW,YAAY,KAAA;EACnD;EACH;EACC;EACN,SAAS;EACT,WAAW,GACT,SAAS;GACP;GACA;GACD,CAAC,EACF,UACD;EACD,MACE,SACC,eAAe,KAAK,GACnB,OAEA,oBAAC,MAAD;GAAY;GAAM,GAAI;GAAW,MAAM,WAAW,QAAQ,EAAE,MAAM,SAAS;GAAI,CAAA;EAGnF,SACE,UACI,EACE,MACE,oBAAC,MAAD;GACE,MAAM;GACN,GAAI;GACJ,MAAA;GACA,MAAM,WAAW,QAAQ,EAAE,MAAM,SAAS;GAC1C,CAAA,EAEL,GACD;EAEN,GAAI;EAEH;EACU,CAAA"}