diff --git a/.changeset/nine-gifts-learn.md b/.changeset/nine-gifts-learn.md
new file mode 100644
index 0000000000..6e364509a9
--- /dev/null
+++ b/.changeset/nine-gifts-learn.md
@@ -0,0 +1,10 @@
+---
+"@stackoverflow/stacks": minor
+"@stackoverflow/stacks-svelte": minor
+---
+
+Update Loader (formerly known as Spinner) component to SHINE designs
+
+BREAKING CHANGES:
+
+- Spinner component has been replace with the Loader component
\ No newline at end of file
diff --git a/MIGRATION_GUIDE.md b/MIGRATION_GUIDE.md
index c173481b5c..379e87bb1b 100755
--- a/MIGRATION_GUIDE.md
+++ b/MIGRATION_GUIDE.md
@@ -72,6 +72,10 @@
- `s-input__xl` removed
- **Nested inputs** html will require slight tweaking on consumers' side
+#### Loader
+- `Spinner` component replaced with new `Loader` component
+- `xs` and `xl` sized have been removed, leaving only the default, `sm`, and `lg` sizes
+
#### Menu
The menu component has been updated to use new class names and structure. The following changes are breaking:
diff --git a/packages/stacks-classic/lib/components/spinner/spinner.a11y.test.ts b/packages/stacks-classic/lib/components/loader/loader.a11y.test.ts
similarity index 69%
rename from packages/stacks-classic/lib/components/spinner/spinner.a11y.test.ts
rename to packages/stacks-classic/lib/components/loader/loader.a11y.test.ts
index 51b9dbf0b7..498d9404a7 100644
--- a/packages/stacks-classic/lib/components/spinner/spinner.a11y.test.ts
+++ b/packages/stacks-classic/lib/components/loader/loader.a11y.test.ts
@@ -1,11 +1,11 @@
import { runA11yTests } from "../../test/a11y-test-utils";
import "../../index";
-describe("spinner", () => {
+describe("loader", () => {
runA11yTests({
- baseClass: "s-spinner",
+ baseClass: "s-loader",
modifiers: {
- primary: ["xs", "sm", "md", "lg"],
+ primary: ["sm", "lg"],
},
children: {
default: `
+
\ No newline at end of file
diff --git a/packages/stacks-docs/product/components/spinner.html b/packages/stacks-docs/product/components/spinner.html
deleted file mode 100644
index d794d8d4fd..0000000000
--- a/packages/stacks-docs/product/components/spinner.html
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: page
-title: Spinner
-svelte: https://beta.svelte.stackoverflow.design/?path=/docs/components-spinner--docs
-description: A loading spinner is used for indicating a loading state of a page or section. It is colored according to the currently applying font color.
-tags: components
----
-
- {% header "h2", "Classes" %}
-
The spinner’s colors are based on the font color of the element, which will usually be inherited from its parent. If you need to apply a color override, the font color classes can provide themability. In most situations, a black and white spinner based on the default font color will be appropriate.
-
For accessibility, it’s important to add fallback loading text that is visible to screen readers. Additionally, you should add aria-busy="true" to the component that triggered the loading state while the spinner is shown.
-
-{% highlight html %}
-
-
Loading…
-
-
-
Loading…
-
-
-
Loading…
-
-
-
Loading…
-
-
-
Loading…
-
-
- Loading…
-
-{% endhighlight %}
-
-
-
-
-
Loading…
-
-
-
-
-
Loading…
-
-
-
-
-
Loading…
-
-
-
-
-
Loading…
-
-
-
-
-
Loading…
-
-
-
-
- Loading…
-
-
-
-
-
-
diff --git a/packages/stacks-svelte/src/components/Button/Button.stories.svelte b/packages/stacks-svelte/src/components/Button/Button.stories.svelte
index bf6a5d9aa4..50181ac6cb 100644
--- a/packages/stacks-svelte/src/components/Button/Button.stories.svelte
+++ b/packages/stacks-svelte/src/components/Button/Button.stories.svelte
@@ -124,7 +124,7 @@
{#each [null, "selected", "disabled"] as state (state)}