Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions packages/stacks-classic/lib/components/loader/loader.less
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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;
}
Expand Down
46 changes: 23 additions & 23 deletions packages/stacks-docs/_data/loader.json
Original file line number Diff line number Diff line change
@@ -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"]
}
12 changes: 4 additions & 8 deletions packages/stacks-docs/product/components/buttons.html
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,7 @@
{% highlight html %}
<button class="s-btn" type="button">
<div class="s-loader s-loader__sm">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
<div class="s-loader--sr-text">Loading…</div>
</div>
Ask question
</button>
Expand Down Expand Up @@ -309,22 +308,19 @@
</td>
<td class="va-middle ta-center px4"><button class="ws-nowrap s-btn {{ btn.variant }} {{ btn.modifier }}" type="button">
<div class="s-loader s-loader__sm">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
<div class="s-loader--sr-text">Loading…</div>
</div>
Ask question
</button></td>
<td class="va-middle ta-center px4"><button class="ws-nowrap s-btn {{ btn.variant }} {{ btn.modifier }} is-selected" type="button" aria-pressed="true">
<div class="s-loader s-loader__sm">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
<div class="s-loader--sr-text">Loading…</div>
</div>
Ask question
</button></td>
<td class="va-middle ta-center px4"><button class="ws-nowrap s-btn {{ btn.variant }} {{ btn.modifier }}" type="button" disabled>
<div class="s-loader s-loader__sm">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
<div class="s-loader--sr-text">Loading…</div>
</div>
Ask question
</button></td>
Expand Down
90 changes: 47 additions & 43 deletions packages/stacks-docs/product/components/loader.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
description: "The loader component indicates an active wait state for a page, section, or interactive element."
tags: components
---

<section class="docs-section">
{% header "h2", "Classes" %}
<div class="overflow-x-auto mb32" tabindex="0">
Expand All @@ -18,32 +19,41 @@
</thead>
<tbody class="fs-caption">
{% for item in loader.classes %}
<tr>
<td><code class="docs-code ws-nowrap">{{ item.class }}</code></td>
<td>{% if item.applies == "N/A" %}<em class="fc-black-350">{{ item.applies }}</em>{% else %}<code class="docs-code">{{ item.applies }}</code>{% endif %}</td>
<td>{{ item.description }}</td>
</tr>
<tr>
<td>
<code class="docs-code ws-nowrap"
>{{ item.class }}</code
>
</td>
<td>
{% if item.applies == "N/A" %}<em class="fc-black-350"
>{{ item.applies }}</em
>{% else %}<code class="docs-code"
>{{ item.applies }}</code
>{% endif %}
</td>
<td>{{ item.description }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</section>
<section class="docs-section">
{% header "h2", "Examples" %}
{% header "h3", "Base" %}
<p class="docs-copy">The base loader component displays three animated squares.</p>
{% header "h2", "Examples" %} {% header "h3", "Base" %}
<p class="docs-copy">
The base loader component displays three animated squares.
</p>
<div class="docs-preview">
{% highlight html %}
<div class="s-loader">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
</div>
{% endhighlight %}
{% highlight html %}
<div class="s-loader">
<div class="s-loader--sr-text">Loading…</div>
</div>
{% endhighlight %}
<div class="docs-preview--example">
<div class="d-flex g16 fw-wrap ai-center">
<div class="s-loader">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
<div class="s-loader--sr-text">Loading…</div>
</div>
</div>
</div>
Expand All @@ -62,33 +72,27 @@
</thead>
<tbody class="fs-caption">
{% for size in loader.sizes %}
<tr>
<th scope="row">
<code class="docs-code">
{% if size == "" %}
.s-loader
{% else %}
.{{ size }}
{% endif %}
</code>
</th>
<td>
<code class="docs-code bg-white">
{% if size == "" %}
<em class="fc-black-400">N/A</em>
{% else %}
.s-loader
{% endif %}
</code>
</td>
<td class="p8">
<div class="s-loader {{ size }}">
<div class="s-loader--block"></div>
<div class="v-visible-sr">Loading…</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<code class="docs-code">
{% if size == "" %} .s-loader {% else %} .{{ size }} {%
endif %}
</code>
</th>
<td>
<code class="docs-code bg-white">
{% if size == "" %}
<em class="fc-black-400">N/A</em>
{% else %} .s-loader {% endif %}
</code>
</td>
<td class="p8">
<div class="s-loader {{ size }}">
<div class="s-loader--sr-text">Loading…</div>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</section>
</section>
3 changes: 1 addition & 2 deletions packages/stacks-svelte/src/components/Loader/Loader.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,5 @@
</script>

<div class={classes}>
<div class="s-loader--block"></div>
<div class="v-visible-sr">{label}</div>
<div class="s-loader--sr-text">{label}</div>
</div>