@zag-js/aria-hidden 1.24.2 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -4
- package/dist/index.mjs +15 -4
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var domQuery = require('@zag-js/dom-query');
|
|
4
|
+
|
|
3
5
|
// src/walk-tree-outside.ts
|
|
4
6
|
var counterMap = /* @__PURE__ */ new WeakMap();
|
|
5
7
|
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
@@ -23,7 +25,7 @@ var isIgnoredNode = (node) => {
|
|
|
23
25
|
return node.matches("[data-live-announcer]");
|
|
24
26
|
};
|
|
25
27
|
var walkTreeOutside = (originalTarget, props) => {
|
|
26
|
-
const { parentNode, markerName, controlAttribute} = props;
|
|
28
|
+
const { parentNode, markerName, controlAttribute, followControlledElements = true } = props;
|
|
27
29
|
const targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
28
30
|
markerMap[markerName] || (markerMap[markerName] = /* @__PURE__ */ new WeakMap());
|
|
29
31
|
const markerCounter = markerMap[markerName];
|
|
@@ -35,7 +37,14 @@ var walkTreeOutside = (originalTarget, props) => {
|
|
|
35
37
|
elementsToKeep.add(el);
|
|
36
38
|
keep(el.parentNode);
|
|
37
39
|
};
|
|
38
|
-
targets.forEach(
|
|
40
|
+
targets.forEach((target) => {
|
|
41
|
+
keep(target);
|
|
42
|
+
if (followControlledElements && domQuery.isHTMLElement(target)) {
|
|
43
|
+
domQuery.findControlledElements(target, (controlledElement) => {
|
|
44
|
+
keep(controlledElement);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
39
48
|
const deep = (parent) => {
|
|
40
49
|
if (!parent || elementsToStop.has(parent)) {
|
|
41
50
|
return;
|
|
@@ -102,12 +111,14 @@ var getParentNode = (originalTarget) => {
|
|
|
102
111
|
const target = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
|
|
103
112
|
return target.ownerDocument.body;
|
|
104
113
|
};
|
|
105
|
-
var hideOthers = (originalTarget, parentNode = getParentNode(originalTarget), markerName = "data-aria-hidden") => {
|
|
114
|
+
var hideOthers = (originalTarget, parentNode = getParentNode(originalTarget), markerName = "data-aria-hidden", followControlledElements = true) => {
|
|
106
115
|
if (!parentNode) return;
|
|
107
116
|
return walkTreeOutside(originalTarget, {
|
|
108
117
|
parentNode,
|
|
109
118
|
markerName,
|
|
110
|
-
controlAttribute: "aria-hidden"
|
|
119
|
+
controlAttribute: "aria-hidden",
|
|
120
|
+
followControlledElements
|
|
121
|
+
});
|
|
111
122
|
};
|
|
112
123
|
|
|
113
124
|
// src/index.ts
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isHTMLElement, findControlledElements } from '@zag-js/dom-query';
|
|
2
|
+
|
|
1
3
|
// src/walk-tree-outside.ts
|
|
2
4
|
var counterMap = /* @__PURE__ */ new WeakMap();
|
|
3
5
|
var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
|
|
@@ -21,7 +23,7 @@ var isIgnoredNode = (node) => {
|
|
|
21
23
|
return node.matches("[data-live-announcer]");
|
|
22
24
|
};
|
|
23
25
|
var walkTreeOutside = (originalTarget, props) => {
|
|
24
|
-
const { parentNode, markerName, controlAttribute} = props;
|
|
26
|
+
const { parentNode, markerName, controlAttribute, followControlledElements = true } = props;
|
|
25
27
|
const targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
|
|
26
28
|
markerMap[markerName] || (markerMap[markerName] = /* @__PURE__ */ new WeakMap());
|
|
27
29
|
const markerCounter = markerMap[markerName];
|
|
@@ -33,7 +35,14 @@ var walkTreeOutside = (originalTarget, props) => {
|
|
|
33
35
|
elementsToKeep.add(el);
|
|
34
36
|
keep(el.parentNode);
|
|
35
37
|
};
|
|
36
|
-
targets.forEach(
|
|
38
|
+
targets.forEach((target) => {
|
|
39
|
+
keep(target);
|
|
40
|
+
if (followControlledElements && isHTMLElement(target)) {
|
|
41
|
+
findControlledElements(target, (controlledElement) => {
|
|
42
|
+
keep(controlledElement);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
37
46
|
const deep = (parent) => {
|
|
38
47
|
if (!parent || elementsToStop.has(parent)) {
|
|
39
48
|
return;
|
|
@@ -100,12 +109,14 @@ var getParentNode = (originalTarget) => {
|
|
|
100
109
|
const target = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;
|
|
101
110
|
return target.ownerDocument.body;
|
|
102
111
|
};
|
|
103
|
-
var hideOthers = (originalTarget, parentNode = getParentNode(originalTarget), markerName = "data-aria-hidden") => {
|
|
112
|
+
var hideOthers = (originalTarget, parentNode = getParentNode(originalTarget), markerName = "data-aria-hidden", followControlledElements = true) => {
|
|
104
113
|
if (!parentNode) return;
|
|
105
114
|
return walkTreeOutside(originalTarget, {
|
|
106
115
|
parentNode,
|
|
107
116
|
markerName,
|
|
108
|
-
controlAttribute: "aria-hidden"
|
|
117
|
+
controlAttribute: "aria-hidden",
|
|
118
|
+
followControlledElements
|
|
119
|
+
});
|
|
109
120
|
};
|
|
110
121
|
|
|
111
122
|
// src/index.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zag-js/aria-hidden",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"description": "Hide targets from screen readers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"js",
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
},
|
|
24
24
|
"clean-package": "../../../clean-package.config.json",
|
|
25
25
|
"main": "dist/index.js",
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@zag-js/dom-query": "1.25.0"
|
|
28
|
+
},
|
|
26
29
|
"devDependencies": {
|
|
27
30
|
"clean-package": "2.2.0"
|
|
28
31
|
},
|