diff --git a/apps/dev/src/app/ui/page-client.tsx b/apps/dev/src/app/ui/page-client.tsx
index 21d7d0eaf..86b47a2cd 100644
--- a/apps/dev/src/app/ui/page-client.tsx
+++ b/apps/dev/src/app/ui/page-client.tsx
@@ -66,6 +66,21 @@ export default function PageClient() {
+
diff --git a/packages/stack/package.json b/packages/stack/package.json
index 467f0ee34..8ea9709c4 100644
--- a/packages/stack/package.json
+++ b/packages/stack/package.json
@@ -27,6 +27,7 @@
"next-themes": "^0.2.1",
"oauth4webapi": "^2.10.3",
"react-icons": "^5.0.1",
+ "react-spinners-kit": "^1.9.1",
"server-only": "^0.0.1",
"styled-components": "^6.1.8",
"tailwindcss-scoped-preflight": "^2.1.0"
diff --git a/packages/stack/src/components-core/button.tsx b/packages/stack/src/components-core/button.tsx
index 4631b5d7f..333f93eb6 100644
--- a/packages/stack/src/components-core/button.tsx
+++ b/packages/stack/src/components-core/button.tsx
@@ -5,6 +5,7 @@ import { useDesign } from "../providers/design-provider";
import Color from 'color';
import styled from 'styled-components';
import { BORDER_RADIUS, FONT_FAMILY, FONT_SIZES, LINK_COLORS } from "../utils/constants";
+import { PulseSpinner } from "react-spinners-kit";
function getColors({
propsColor,
@@ -106,6 +107,7 @@ const StyledButton = styled.button<{
$activeBgColor: string,
$textColor: string,
$underline: boolean,
+ $loading: boolean,
}>`
border: 0;
border-radius: ${BORDER_RADIUS};
@@ -143,6 +145,7 @@ const StyledButton = styled.button<{
}
font-family: ${FONT_FAMILY};
text-decoration: ${props => props.$underline ? 'underline' : 'none'};
+ position: relative;
`;
const Button = React.forwardRef
(
@@ -150,7 +153,6 @@ const Button = React.forwardRef(
variant='primary',
size='md',
loading=false,
- disabled=false,
...props
}, ref) => {
const { colors, colorMode } = useDesign();
@@ -168,12 +170,17 @@ const Button = React.forwardRef(
$bgColor={buttonColors.bgColor}
$hoverBgColor={buttonColors.hoverBgColor}
$activeBgColor={buttonColors.activeBgColor}
- $textColor={buttonColors.textColor}
+ $textColor={buttonColors.textColor}
$underline={variant === 'link'}
- disabled={disabled || loading}
+ $loading={loading}
{...props}
>
- {props.children}
+
+
+ {props.children}
+
);
}
diff --git a/packages/stack/src/components-page/account-settings.tsx b/packages/stack/src/components-page/account-settings.tsx
index 265386c05..b8741e5c1 100644
--- a/packages/stack/src/components-page/account-settings.tsx
+++ b/packages/stack/src/components-page/account-settings.tsx
@@ -14,7 +14,6 @@ function SettingSection(props: {
desc: string,
buttonText?: string,
buttonDisabled?: boolean,
- buttonLoading?: boolean,
onButtonClick?: React.ComponentProps["onClick"],
buttonVariant?: 'primary' | 'secondary',
children?: React.ReactNode,
@@ -35,7 +34,6 @@ function SettingSection(props: {