The spinner alone, in currentColor: inside a button it takes the label color; alone, give it a text level.
$ pnpm dlx shadcn@latest add @pavo/spinnersize 16 · 20 · 24 · 32
Use isLoading, not a Spinner child: the label keeps the width; the spinner shows at least 800ms.