Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@react-aria/live-announcer

Package Overview
Dependencies
Maintainers
2
Versions
786
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-aria/live-announcer - npm Package Compare versions

Comparing version 3.0.0-nightly.3114 to 3.0.0-nightly-07431f4b1-241030

35

dist/LiveAnnouncer.main.js

@@ -20,5 +20,18 @@

*/ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $97cebfa4133ebec3$var$LIVEREGION_TIMEOUT_DELAY = 7000;
function $97cebfa4133ebec3$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $97cebfa4133ebec3$var$LIVEREGION_TIMEOUT_DELAY, mode = 'message') {
if (!$97cebfa4133ebec3$var$liveAnnouncer) $97cebfa4133ebec3$var$liveAnnouncer = new $97cebfa4133ebec3$var$LiveAnnouncer();
$97cebfa4133ebec3$var$liveAnnouncer.announce(message, assertiveness, timeout, mode);
let $97cebfa4133ebec3$var$liveAnnouncer = null;
function $97cebfa4133ebec3$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $97cebfa4133ebec3$var$LIVEREGION_TIMEOUT_DELAY) {
if (!$97cebfa4133ebec3$var$liveAnnouncer) {
$97cebfa4133ebec3$var$liveAnnouncer = new $97cebfa4133ebec3$var$LiveAnnouncer();
// wait for the live announcer regions to be added to the dom, then announce
// otherwise Safari won't announce the message if it's added too quickly
// found most times less than 100ms were not consistent when announcing with Safari
// IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.
// https://github.com/reactwg/react-18/discussions/102
// if we're in a test environment, announce without waiting
// @ts-ignore
if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{
if ($97cebfa4133ebec3$var$liveAnnouncer === null || $97cebfa4133ebec3$var$liveAnnouncer === void 0 ? void 0 : $97cebfa4133ebec3$var$liveAnnouncer.isAttached()) $97cebfa4133ebec3$var$liveAnnouncer === null || $97cebfa4133ebec3$var$liveAnnouncer === void 0 ? void 0 : $97cebfa4133ebec3$var$liveAnnouncer.announce(message, assertiveness, timeout);
}, 100);
else $97cebfa4133ebec3$var$liveAnnouncer.announce(message, assertiveness, timeout);
} else $97cebfa4133ebec3$var$liveAnnouncer.announce(message, assertiveness, timeout);
}

@@ -41,2 +54,6 @@ function $97cebfa4133ebec3$export$d10ae4f68404609a(assertiveness) {

class $97cebfa4133ebec3$var$LiveAnnouncer {
isAttached() {
var _this_node;
return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
}
createLog(ariaLive) {

@@ -54,12 +71,11 @@ let node = document.createElement('div');

}
announce(message, assertiveness = 'assertive', timeout = $97cebfa4133ebec3$var$LIVEREGION_TIMEOUT_DELAY, mode = 'message') {
announce(message, assertiveness = 'assertive', timeout = $97cebfa4133ebec3$var$LIVEREGION_TIMEOUT_DELAY) {
var _this_assertiveLog, _this_politeLog;
if (!this.node) return;
let node = document.createElement('div');
if (mode === 'message') node.textContent = message;
else {
if (typeof message === 'object') {
// To read an aria-labelledby, the element must have an appropriate role, such as img.
node.setAttribute('role', 'img');
node.setAttribute('aria-labelledby', message);
}
node.setAttribute('aria-labelledby', message['aria-labelledby']);
} else node.textContent = message;
if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);

@@ -104,7 +120,4 @@ else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);

}
// singleton, setup immediately so that the DOM is primed for the first announcement as soon as possible
// Safari has a race condition where the first announcement is not read if we wait until the first announce call
let $97cebfa4133ebec3$var$liveAnnouncer = new $97cebfa4133ebec3$var$LiveAnnouncer();
//# sourceMappingURL=LiveAnnouncer.main.js.map

@@ -12,5 +12,18 @@ /*

*/ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;
function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY, mode = 'message') {
if (!$319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
$319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout, mode);
let $319e236875307eab$var$liveAnnouncer = null;
function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
if (!$319e236875307eab$var$liveAnnouncer) {
$319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
// wait for the live announcer regions to be added to the dom, then announce
// otherwise Safari won't announce the message if it's added too quickly
// found most times less than 100ms were not consistent when announcing with Safari
// IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.
// https://github.com/reactwg/react-18/discussions/102
// if we're in a test environment, announce without waiting
// @ts-ignore
if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{
if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
}, 100);
else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
} else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
}

@@ -33,2 +46,6 @@ function $319e236875307eab$export$d10ae4f68404609a(assertiveness) {

class $319e236875307eab$var$LiveAnnouncer {
isAttached() {
var _this_node;
return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
}
createLog(ariaLive) {

@@ -46,12 +63,11 @@ let node = document.createElement('div');

}
announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY, mode = 'message') {
announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
var _this_assertiveLog, _this_politeLog;
if (!this.node) return;
let node = document.createElement('div');
if (mode === 'message') node.textContent = message;
else {
if (typeof message === 'object') {
// To read an aria-labelledby, the element must have an appropriate role, such as img.
node.setAttribute('role', 'img');
node.setAttribute('aria-labelledby', message);
}
node.setAttribute('aria-labelledby', message['aria-labelledby']);
} else node.textContent = message;
if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);

@@ -96,5 +112,2 @@ else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);

}
// singleton, setup immediately so that the DOM is primed for the first announcement as soon as possible
// Safari has a race condition where the first announcement is not read if we wait until the first announce call
let $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();

@@ -101,0 +114,0 @@

type Assertiveness = 'assertive' | 'polite';
type Message = string | {
'aria-labelledby': string;
};
/**
* Announces the message using screen reader technology.
*/
export function announce(message: string, assertiveness?: Assertiveness, timeout?: number, mode?: 'message' | 'ids'): void;
export function announce(message: Message, assertiveness?: Assertiveness, timeout?: number): void;
/**

@@ -7,0 +10,0 @@ * Stops all queued announcements.

{
"name": "@react-aria/live-announcer",
"version": "3.0.0-nightly.3114+68403fe55",
"version": "3.0.0-nightly-07431f4b1-241030",
"description": "Spectrum UI components in React",

@@ -30,3 +30,3 @@ "license": "Apache-2.0",

},
"gitHead": "68403fe55489dce3de1b3094c957d598ad719861"
}
"stableVersion": "3.4.0"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc