fix: update spinner to use svg instead

This commit is contained in:
Tobias Johansson
2025-04-24 11:32:54 +02:00
committed by Simon Emanuelsson
parent f56a1ece0f
commit d0c6d1d875
5 changed files with 69 additions and 155 deletions

View File

@@ -5,6 +5,7 @@ import { variants } from './variants'
import type { ButtonProps } from './types'
import { Spinner } from '../Spinner'
import styles from './button.module.css'
import { SpinnerProps } from '../Spinner/Spinner'
export function Button({
variant,
@@ -15,7 +16,6 @@ export function Button({
typography,
className,
children,
isPending,
...props
}: ButtonProps) {
const classNames = variants({
@@ -27,15 +27,28 @@ export function Button({
className,
})
let spinnerType: SpinnerProps['type'] = 'Dark'
switch (color) {
case 'Primary':
spinnerType = 'Dark'
break
case 'Inverted':
spinnerType = 'White'
break
default:
spinnerType = 'Dark'
}
return (
<ButtonRAC {...props} className={classNames} isPending={isPending}>
<ButtonRAC {...props} className={classNames}>
{({ isPending }) => {
return (
<>
{children}
{isPending && (
<div className={styles.spinnerWrapper}>
<Spinner size="Small" color="CurrentColor" />
<Spinner size={20} type={spinnerType} />
</div>
)}
</>