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 @@
{{ item.class }}{{ item.applies }}{% endif %}{{ item.class }}
+ {{ item.applies }}{% endif %}
+ The base loader component displays three animated squares.
+ {% header "h2", "Examples" %} {% header "h3", "Base" %} ++ The base loader component displays three animated squares. +
- {% if size == "" %}
- .s-loader
- {% else %}
- .{{ size }}
- {% endif %}
-
-
- {% if size == "" %}
- N/A
- {% else %}
- .s-loader
- {% endif %}
-
-
+ {% if size == "" %} .s-loader {% else %} .{{ size }} {%
+ endif %}
+
+
+ {% if size == "" %}
+ N/A
+ {% else %} .s-loader {% endif %}
+
+