File size: 683 Bytes
917af0c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * Build the shared three-bubble loading indicator.
 *
 * The caller owns status text and ARIA live-region behavior so this visual can
 * be reused inside an existing status container without duplicate announcements.
 */
export function createThreeBubbleLoader({ active = true } = {}) {
  const loader = document.createElement("span");
  loader.className = "three-bubble-loader";
  loader.classList.toggle("is-active", active);
  loader.setAttribute("aria-hidden", "true");

  for (let index = 0; index < 3; index += 1) {
    const bubble = document.createElement("span");
    bubble.className = "three-bubble-loader-dot";
    loader.appendChild(bubble);
  }

  return loader;
}