@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 2.4 kB
Source Map (JSON)
{"version":3,"file":"GradientButton.mjs","names":["borderRadius: string","Button"],"sources":["../../../src/awesome/GradientButton/GradientButton.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar, cx, useThemeMode } from 'antd-style';\nimport { memo, useMemo } from 'react';\n\nimport Button from '@/Button';\n\nimport { styles } from './style';\nimport type { GradientButtonProps } from './type';\n\nconst GradientButton = memo<GradientButtonProps>(\n ({ glow = true, children, className, size, disabled, style, ...rest }) => {\n const { isDarkMode } = useThemeMode();\n\n // Convert size prop to CSS variable for borderRadius\n const cssVariables = useMemo<Record<string, string>>(() => {\n if (!size || disabled) return {} as Record<string, string>;\n let borderRadius: string;\n switch (size) {\n case 'large': {\n borderRadius = cssVar.borderRadiusLG;\n break;\n }\n case 'small': {\n borderRadius = cssVar.borderRadiusSM;\n break;\n }\n default: {\n borderRadius = cssVar.borderRadius;\n break;\n }\n }\n return {\n '--gradient-button-border-radius': borderRadius,\n };\n }, [size, disabled]);\n\n return (\n <Button\n className={cx(\n !disabled && (isDarkMode ? styles.buttonDark : styles.buttonLight),\n className,\n )}\n disabled={disabled}\n size={size}\n style={{\n ...cssVariables,\n ...style,\n }}\n variant={disabled ? undefined : 'text'}\n {...rest}\n >\n {glow && <div className={styles.glow} />}\n {children}\n </Button>\n );\n },\n);\n\nGradientButton.displayName = 'GradientButton';\n\nexport default GradientButton;\n"],"mappings":";;;;;;;;;AAUA,MAAM,iBAAiB,MACpB,EAAE,OAAO,MAAM,UAAU,WAAW,MAAM,UAAU,OAAO,GAAG,WAAW;CACxE,MAAM,EAAE,eAAe,cAAc;CAGrC,MAAM,eAAe,cAAsC;AACzD,MAAI,CAAC,QAAQ,SAAU,QAAO,EAAE;EAChC,IAAIA;AACJ,UAAQ,MAAR;GACE,KAAK;AACH,mBAAe,OAAO;AACtB;GAEF,KAAK;AACH,mBAAe,OAAO;AACtB;GAEF;AACE,mBAAe,OAAO;AACtB;;AAGJ,SAAO,EACL,mCAAmC,cACpC;IACA,CAAC,MAAM,SAAS,CAAC;AAEpB,QACE,qBAACC;EACC,WAAW,GACT,CAAC,aAAa,aAAa,OAAO,aAAa,OAAO,cACtD,UACD;EACS;EACJ;EACN,OAAO;GACL,GAAG;GACH,GAAG;GACJ;EACD,SAAS,WAAW,SAAY;EAChC,GAAI;aAEH,QAAQ,oBAAC,SAAI,WAAW,OAAO,OAAQ,EACvC;GACM;EAGd;AAED,eAAe,cAAc;AAE7B,6BAAe"}