diff --git a/packages/stacks-classic/lib/components/loader/loader.less b/packages/stacks-classic/lib/components/loader/loader.less index 6faf984997..7f5b8665cd 100644 --- a/packages/stacks-classic/lib/components/loader/loader.less +++ b/packages/stacks-classic/lib/components/loader/loader.less @@ -15,20 +15,30 @@ --_ld-size: var(--su8); } - // CHILD ELEMENTS - & &--block, + // CHILD ELEMENTS – three blocks via pseudo-elements (::before, --sr-text::before, ::after) &:before, + & &--sr-text:before, &:after { background-color: currentColor; content: ""; display: block; height: var(--_ld-size); width: var(--_ld-size); - + animation: loader-animation .8s cubic-bezier(1, 1, 0, 1) infinite; } - & &--block { + & &--sr-text { + // Visible flex item so its ::before (middle block) shows; overflow visible so translateY isn't clipped + display: block; + flex-shrink: 0; + height: var(--_ld-size); + width: var(--_ld-size); + font-size: 0; + overflow: visible; + } + + & &--sr-text:before { animation-delay: .25s; } @@ -43,8 +53,8 @@ @media (prefers-reduced-motion:reduce){ .s-loader { - & &--block, &:before, + & &--sr-text:before, &:after { animation: loader-animation-reduced-motion 2s ease-in-out infinite; } diff --git a/packages/stacks-docs/_data/loader.json b/packages/stacks-docs/_data/loader.json index 0c37314c0e..05abfa09a8 100644 --- a/packages/stacks-docs/_data/loader.json +++ b/packages/stacks-docs/_data/loader.json @@ -1,25 +1,25 @@ { - "classes": [ - { - "class": ".s-loader", - "applies": "N/A", - "description": "Base class for the loader component" - }, - { - "class": ".s-loader--block", - "applies": ".s-loader", - "description": "Child necessary to render the center loader block" - }, - { - "class": ".s-loader__sm", - "applies": ".s-loader", - "description": "A small variant of the loader component" - }, - { - "class": ".s-loader__lg", - "applies": ".s-loader", - "description": "A large variant of the loader component" - } - ], - "sizes": ["s-loader__sm", "", "s-loader__lg"] + "classes": [ + { + "class": ".s-loader", + "applies": "N/A", + "description": "Base class for the loader component" + }, + { + "class": ".s-loader--sr-text", + "applies": ".s-loader", + "description": "Child necessary to render the center loader block and renders the accessible text" + }, + { + "class": ".s-loader__sm", + "applies": ".s-loader", + "description": "A small variant of the loader component" + }, + { + "class": ".s-loader__lg", + "applies": ".s-loader", + "description": "A large variant of the loader component" + } + ], + "sizes": ["s-loader__sm", "", "s-loader__lg"] } diff --git a/packages/stacks-docs/product/components/buttons.html b/packages/stacks-docs/product/components/buttons.html index 73ec2cdc65..b793edeaa0 100644 --- a/packages/stacks-docs/product/components/buttons.html +++ b/packages/stacks-docs/product/components/buttons.html @@ -273,8 +273,7 @@ {% highlight html %} @@ -309,22 +308,19 @@ diff --git a/packages/stacks-docs/product/components/loader.html b/packages/stacks-docs/product/components/loader.html index b6bca8c51f..bcb18cbc75 100644 --- a/packages/stacks-docs/product/components/loader.html +++ b/packages/stacks-docs/product/components/loader.html @@ -5,6 +5,7 @@ description: "The loader component indicates an active wait state for a page, section, or interactive element." tags: components --- +
{% header "h2", "Classes" %}
@@ -18,32 +19,41 @@ {% for item in loader.classes %} - - {{ item.class }} - {% if item.applies == "N/A" %}{{ item.applies }}{% else %}{{ item.applies }}{% endif %} - {{ item.description }} - + + + {{ item.class }} + + + {% if item.applies == "N/A" %}{{ item.applies }}{% else %}{{ item.applies }}{% endif %} + + {{ item.description }} + {% endfor %}
- {% header "h2", "Examples" %} - {% header "h3", "Base" %} -

The base loader component displays three animated squares.

+ {% header "h2", "Examples" %} {% header "h3", "Base" %} +

+ The base loader component displays three animated squares. +

-{% highlight html %} -
-
-
Loading…
-
-{% endhighlight %} + {% highlight html %} +
+
Loading…
+
+ {% endhighlight %}
-
-
Loading…
+
Loading…
@@ -62,33 +72,27 @@ {% for size in loader.sizes %} - - - - {% if size == "" %} - .s-loader - {% else %} - .{{ size }} - {% endif %} - - - - - {% if size == "" %} - N/A - {% else %} - .s-loader - {% endif %} - - - -
-
-
Loading…
-
- - + + + + {% if size == "" %} .s-loader {% else %} .{{ size }} {% + endif %} + + + + + {% if size == "" %} + N/A + {% else %} .s-loader {% endif %} + + + +
+
Loading…
+
+ + {% endfor %} -
\ No newline at end of file + diff --git a/packages/stacks-svelte/src/components/Loader/Loader.svelte b/packages/stacks-svelte/src/components/Loader/Loader.svelte index d0447e26b3..f9a804232d 100644 --- a/packages/stacks-svelte/src/components/Loader/Loader.svelte +++ b/packages/stacks-svelte/src/components/Loader/Loader.svelte @@ -31,6 +31,5 @@
-
-
{label}
+
{label}