/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ (function (Drupal, debounce) { let liveElement; const announcements = []; Drupal.behaviors.drupalAnnounce = { attach(context) { if (!liveElement) { liveElement = document.createElement('div'); liveElement.id = 'drupal-live-announce'; liveElement.className = 'visually-hidden'; liveElement.setAttribute('aria-live', 'polite'); liveElement.setAttribute('aria-busy', 'false'); document.body.appendChild(liveElement); } } }; function announce() { const text = []; let priority = 'polite'; let announcement; const il = announcements.length; for (let i = 0; i < il; i++) { announcement = announcements.pop(); text.unshift(announcement.text); if (announcement.priority === 'assertive') { priority = 'assertive'; } } if (text.length) { liveElement.innerHTML = ''; liveElement.setAttribute('aria-busy', 'true'); liveElement.setAttribute('aria-live', priority); liveElement.innerHTML = text.join('\n'); liveElement.setAttribute('aria-busy', 'false'); } } Drupal.announce = function (text, priority) { announcements.push({ text, priority }); return debounce(announce, 200)(); }; })(Drupal, Drupal.debounce);