diff --git a/src/shared/components/button/button.module.css b/src/shared/components/button/button.module.css index ca1663ffc..ef7521344 100644 --- a/src/shared/components/button/button.module.css +++ b/src/shared/components/button/button.module.css @@ -2,9 +2,24 @@ font-weight: 500; border: 1px solid transparent; transition: + opacity 0.2s ease, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out; + &[data-loading='true'] { + transform: none; + + &::before { + transition: none; + transition: opacity 0.1s ease; + } + + .inner { + opacity: 0; + transform: none; + } + } + &[data-disabled='true'] { opacity: 0.6; } @@ -143,7 +158,7 @@ } .loader { - display: none; + transition-duration: 0; } .section { diff --git a/src/shared/components/button/button.tsx b/src/shared/components/button/button.tsx index d31fd6e2d..c4c4292d5 100644 --- a/src/shared/components/button/button.tsx +++ b/src/shared/components/button/button.tsx @@ -6,7 +6,6 @@ import { forwardRef, useCallback, useEffect, useRef, useState } from 'react'; import styles from './button.module.css'; -import { Spinner } from '/@/shared/components/spinner/spinner'; import { Tooltip, TooltipProps } from '/@/shared/components/tooltip/tooltip'; import { useTimeout } from '/@/shared/hooks/use-timeout'; import { createPolymorphicComponent } from '/@/shared/utils/create-polymorphic-component'; @@ -48,6 +47,7 @@ export const _Button = forwardRef( ( section: styles.section, ...classNames, }} + loading={loading} ref={ref} size={size} style={style} @@ -63,11 +64,6 @@ export const _Button = forwardRef( {...props} > {children} - {loading && ( -
- -
- )}
); @@ -76,6 +72,7 @@ export const _Button = forwardRef( return ( ( section: styles.section, ...classNames, }} + loading={loading} ref={ref} size={size} style={style} @@ -91,11 +89,6 @@ export const _Button = forwardRef( {...props} > {children} - {loading && ( -
- -
- )}
); },