Spinners
Los spinners los utilizamos para decir que se está cargando un componente. Están creados con HTML y CSS, sin necesidad de utilizar JS. Sin embargo, si queremos customizarlo ahí sí debemos utilizar JS.
Los efectos de la animación de carga van a depender de las preferencias del usuario (prefers-reduced-motion) si decide "suavizar" la animación o no.
Para crear un spinner usaremos la clase .spinner-border si queremos que ese spinner tenga un color de los predefinidos por bootstrap, deberemos usar la clase .text-X
Si nos fijamos, cada uno de los spinners tiene el atributo role="status" acompañado de un span con un Loading... y la clase .visually-hidden, esto está pensado para propósitos de accesibilidad.
<div class="spinner-border text-primary" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-secondary" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-success" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-danger" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-warning" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-info" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-light" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-border text-dark" role="status">
<span class="visually-hidden">Loading...</span>
</div>

Podemos usar los spinners que "aparecen" y "desaparecen" usando la clase .spinner-grow en lugar de .spinner-border.
<div class="spinner-grow text-primary" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-secondary" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-success" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-danger" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-warning" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-info" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-light" role="status">
<span class="visually-hidden">Loading...</span>
</div>
<div class="spinner-grow text-dark" role="status">
<span class="visually-hidden">Loading...</span>
</div>
