@box/tree 2.1.36 → 2.1.37
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/chunks/error.js +1 -28
- package/dist/chunks/expander-with-loading.js +1 -30
- package/dist/chunks/expander.js +1 -24
- package/dist/chunks/inline-error.js +1 -27
- package/dist/chunks/loading-node.js +1 -20
- package/dist/chunks/node-icon.module.js +1 -2
- package/dist/chunks/node-label.js +1 -23
- package/dist/chunks/nodes.module.js +1 -318
- package/dist/chunks/reload-node.js +1 -40
- package/dist/chunks/skeleton.js +1 -14
- package/dist/chunks/tree.js +1 -78
- package/dist/esm/index.js +1 -6
- package/dist/esm/lib/components/content-node/content-node.js +1 -110
- package/dist/esm/lib/components/content-node/expander-with-loading.js +1 -2
- package/dist/esm/lib/components/content-node/index.js +1 -2
- package/dist/esm/lib/components/content-node/messages.js +1 -6
- package/dist/esm/lib/components/content-node/variant-icon.js +1 -16
- package/dist/esm/lib/components/error/error.js +1 -2
- package/dist/esm/lib/components/error/index.js +1 -2
- package/dist/esm/lib/components/error/messages.js +1 -16
- package/dist/esm/lib/components/expander/expander.js +1 -2
- package/dist/esm/lib/components/expander/index.js +1 -2
- package/dist/esm/lib/components/expander/messages.js +1 -12
- package/dist/esm/lib/components/index.js +1 -9
- package/dist/esm/lib/components/inline-error/index.js +1 -2
- package/dist/esm/lib/components/inline-error/inline-error.js +1 -2
- package/dist/esm/lib/components/inline-error/messages.js +1 -20
- package/dist/esm/lib/components/load-more-node/index.js +1 -2
- package/dist/esm/lib/components/load-more-node/load-more-node.js +1 -22
- package/dist/esm/lib/components/load-more-node/messages.js +1 -12
- package/dist/esm/lib/components/loading-node/index.js +1 -2
- package/dist/esm/lib/components/loading-node/loading-node.js +1 -2
- package/dist/esm/lib/components/loading-node/messages.js +1 -6
- package/dist/esm/lib/components/node-icon/index.js +1 -3
- package/dist/esm/lib/components/node-icon/messages.js +1 -6
- package/dist/esm/lib/components/node-icon/node-avatar.js +1 -29
- package/dist/esm/lib/components/node-icon/node-item-icon.js +1 -31
- package/dist/esm/lib/components/node-label/index.js +1 -2
- package/dist/esm/lib/components/node-label/node-label.js +1 -2
- package/dist/esm/lib/components/reload-node/index.js +1 -2
- package/dist/esm/lib/components/reload-node/messages.js +1 -20
- package/dist/esm/lib/components/reload-node/reload-node.js +1 -2
- package/dist/esm/lib/components/service-node-wrapper/index.js +1 -2
- package/dist/esm/lib/components/service-node-wrapper/service-node-wrapper.js +1 -11
- package/dist/esm/lib/components/skeleton/index.js +1 -2
- package/dist/esm/lib/components/skeleton/skeleton.js +1 -2
- package/dist/esm/lib/components/truncated-tooltip-text/index.js +1 -2
- package/dist/esm/lib/components/truncated-tooltip-text/truncated-tooltip-text.js +1 -26
- package/dist/esm/lib/constants.js +1 -2
- package/dist/esm/lib/hooks/index.js +1 -3
- package/dist/esm/lib/hooks/useIntersectionObserver.js +1 -14
- package/dist/esm/lib/hooks/useSelectionInheritance.js +1 -17
- package/dist/esm/lib/tree.js +1 -3
- package/dist/esm/lib/utils.js +1 -39
- package/package.json +8 -8
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useSelectionInheritance as t } from "./useSelectionInheritance.js";
|
|
3
|
-
export { e as useIntersectionObserver, t as useSelectionInheritance };
|
|
1
|
+
import{useIntersectionObserver}from"./useIntersectionObserver.js";import{useSelectionInheritance}from"./useSelectionInheritance.js";export{useIntersectionObserver,useSelectionInheritance};
|
|
@@ -1,14 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
var n = { rootMargin: "100px 0px" };
|
|
3
|
-
function r(r) {
|
|
4
|
-
let [i, a] = t(!1), o = (e) => {
|
|
5
|
-
e[0].isIntersecting ? a(!1) : a(!0);
|
|
6
|
-
};
|
|
7
|
-
return e(() => {
|
|
8
|
-
let e = new IntersectionObserver(o, n), t = r.current;
|
|
9
|
-
return t && e.observe(t), () => {
|
|
10
|
-
t && e.unobserve(t);
|
|
11
|
-
};
|
|
12
|
-
}, [r]), i;
|
|
13
|
-
}
|
|
14
|
-
export { r as useIntersectionObserver };
|
|
1
|
+
import{useEffect,useState}from"react";var intersectionObserverOptions={rootMargin:`100px 0px`};function useIntersectionObserver(nodeRef){let[isOutside,setOutside]=useState(!1),intersectionObserverCallback=entries=>{entries[0].isIntersecting?setOutside(!1):setOutside(!0)};return useEffect(()=>{let observer=new IntersectionObserver(intersectionObserverCallback,intersectionObserverOptions),currentNode=nodeRef.current;return currentNode&&observer.observe(currentNode),()=>{currentNode&&observer.unobserve(currentNode)}},[nodeRef]),isOutside}export{useIntersectionObserver};
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
var r = () => {
|
|
3
|
-
let [r, i] = n([]), a = e((e, t = []) => {
|
|
4
|
-
let n = [], r = t[0];
|
|
5
|
-
for (; r != null;) {
|
|
6
|
-
let t = e.find((e) => e.id === r);
|
|
7
|
-
if (!t || t.parent == null || t.parent === void 0) break;
|
|
8
|
-
r = t.parent, n.push(r);
|
|
9
|
-
}
|
|
10
|
-
i(n);
|
|
11
|
-
}, []);
|
|
12
|
-
return t(() => ({
|
|
13
|
-
selectionInheritors: r,
|
|
14
|
-
getSelectionInheritors: a
|
|
15
|
-
}), [r, a]);
|
|
16
|
-
};
|
|
17
|
-
export { r as useSelectionInheritance };
|
|
1
|
+
import{useCallback,useMemo,useState}from"react";var useSelectionInheritance=()=>{let[selectionInheritors,setSelectionInheritors]=useState([]),getSelectionInheritors=useCallback((data,selectedIds=[])=>{let inheritors=[],nodeId=selectedIds[0];for(;nodeId!=null;){let node=data.find(item=>item.id===nodeId);if(!node||node.parent==null||node.parent===void 0)break;nodeId=node.parent,inheritors.push(nodeId)}setSelectionInheritors(inheritors)},[]);return useMemo(()=>({selectionInheritors,getSelectionInheritors}),[selectionInheritors,getSelectionInheritors])};export{useSelectionInheritance};
|
package/dist/esm/lib/tree.js
CHANGED
package/dist/esm/lib/utils.js
CHANGED
|
@@ -1,39 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
var i = (e) => {
|
|
3
|
-
e.code === "ArrowRight" && e.target.getAttribute("aria-disabled") === "true" && e.stopPropagation();
|
|
4
|
-
}, a = (e) => e.closest("[data-contentnode=\"true\"]") || (e.firstChild?.dataset && e.firstChild.dataset.contentnode === "true" ? e.firstChild : null), o = (e) => e.closest("[data-servicenode=\"true\"]") || (e.firstChild?.dataset && e.firstChild.dataset.servicenode === "true" ? e.firstChild : null), s = (e) => e.dataset[n] === "true", c = (e) => e.dataset[r] === "true", l = (e) => e.dataset[t] === "true", u = (e) => {
|
|
5
|
-
e.dispatchEvent(new KeyboardEvent("keydown", {
|
|
6
|
-
code: "ArrowUp",
|
|
7
|
-
key: "ArrowUp",
|
|
8
|
-
bubbles: !0
|
|
9
|
-
}));
|
|
10
|
-
}, d = (e) => {
|
|
11
|
-
let t = document.querySelector("[role=\"tree\"] [tabindex=\"0\"]");
|
|
12
|
-
if (t) {
|
|
13
|
-
if (t === e || e.contains(t)) {
|
|
14
|
-
u(e);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
t.focus();
|
|
18
|
-
}
|
|
19
|
-
}, f = (t, n) => {
|
|
20
|
-
if (t.getAttribute("aria-disabled") === "true" || !s(t) && !c(t)) return;
|
|
21
|
-
let r = t.dataset[e];
|
|
22
|
-
r && n(r);
|
|
23
|
-
}, p = (e) => (t) => {
|
|
24
|
-
if (t.code !== "Enter" && t.code !== "Space" && t.code !== "ArrowRight" && t.code !== "ArrowLeft") return;
|
|
25
|
-
let n = o(t.target);
|
|
26
|
-
n && (t.stopPropagation(), !(t.code === "ArrowRight" || t.code === "ArrowLeft") && e && f(n, (t) => {
|
|
27
|
-
u(n), e(t);
|
|
28
|
-
}));
|
|
29
|
-
}, m = (e) => (t) => {
|
|
30
|
-
let n = o(t.target);
|
|
31
|
-
n && (t.stopPropagation(), e && f(n, (t) => {
|
|
32
|
-
d(n), e(t);
|
|
33
|
-
}));
|
|
34
|
-
}, h = (e) => {
|
|
35
|
-
if (e.code !== "ArrowRight") return;
|
|
36
|
-
let t = a(e.target);
|
|
37
|
-
t && l(t) && e.stopPropagation();
|
|
38
|
-
};
|
|
39
|
-
export { i as preventDisabledNodeExpanding, h as preventLoadingContentNodeExpanding, m as serviceNodeClickHandler, p as serviceNodeKeyboardHandler };
|
|
1
|
+
import{BRANCH_ID_DATA_ATTRIBUTE,CONTENT_NODE_LOADING,LOAD_MORE_NODE_DATA_ATTRIBUTE,RELOAD_NODE_DATA_ATTRIBUTE}from"./constants.js";var preventDisabledNodeExpanding=event=>{event.code===`ArrowRight`&&event.target.getAttribute(`aria-disabled`)===`true`&&event.stopPropagation()},closestContentNode=target=>target.closest(`[data-contentnode="true"]`)||(target.firstChild?.dataset&&target.firstChild.dataset.contentnode===`true`?target.firstChild:null),closestServiceNode=target=>target.closest(`[data-servicenode="true"]`)||(target.firstChild?.dataset&&target.firstChild.dataset.servicenode===`true`?target.firstChild:null),isLoadMoreNode=node=>node.dataset[LOAD_MORE_NODE_DATA_ATTRIBUTE]===`true`,isReloadNode=node=>node.dataset[RELOAD_NODE_DATA_ATTRIBUTE]===`true`,isContentNodeLoading=node=>node.dataset[CONTENT_NODE_LOADING]===`true`,resetFocusToClosestNode=node=>{node.dispatchEvent(new KeyboardEvent(`keydown`,{code:`ArrowUp`,key:`ArrowUp`,bubbles:!0}))},resetFocusToFocusedNode=node=>{let focusedNode=document.querySelector(`[role="tree"] [tabindex="0"]`);if(focusedNode){if(focusedNode===node||node.contains(focusedNode)){resetFocusToClosestNode(node);return}focusedNode.focus()}},loadDataOnServiceNodeInteraction=(serviceNode,loadData)=>{if(serviceNode.getAttribute(`aria-disabled`)===`true`||!isLoadMoreNode(serviceNode)&&!isReloadNode(serviceNode))return;let branchId=serviceNode.dataset[BRANCH_ID_DATA_ATTRIBUTE];branchId&&loadData(branchId)},serviceNodeKeyboardHandler=loadData=>event=>{if(event.code!==`Enter`&&event.code!==`Space`&&event.code!==`ArrowRight`&&event.code!==`ArrowLeft`)return;let serviceNode=closestServiceNode(event.target);serviceNode&&(event.stopPropagation(),!(event.code===`ArrowRight`||event.code===`ArrowLeft`)&&loadData&&loadDataOnServiceNodeInteraction(serviceNode,branchId=>{resetFocusToClosestNode(serviceNode),loadData(branchId)}))},serviceNodeClickHandler=loadData=>event=>{let serviceNode=closestServiceNode(event.target);serviceNode&&(event.stopPropagation(),loadData&&loadDataOnServiceNodeInteraction(serviceNode,branchId=>{resetFocusToFocusedNode(serviceNode),loadData(branchId)}))},preventLoadingContentNodeExpanding=event=>{if(event.code!==`ArrowRight`)return;let contentNode=closestContentNode(event.target);contentNode&&isContentNodeLoading(contentNode)&&event.stopPropagation()};export{preventDisabledNodeExpanding,preventLoadingContentNodeExpanding,serviceNodeClickHandler,serviceNodeKeyboardHandler};
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/tree",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.37",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@box/blueprint-web": "^16.13.
|
|
6
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
7
|
-
"@box/item-icon": "^3.2.
|
|
5
|
+
"@box/blueprint-web": "^16.13.1",
|
|
6
|
+
"@box/blueprint-web-assets": "^5.5.10",
|
|
7
|
+
"@box/item-icon": "^3.2.34",
|
|
8
8
|
"react": "^17.0.0 || ^18.0.0",
|
|
9
9
|
"react-accessible-treeview": "2.9.0",
|
|
10
10
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
11
11
|
"react-intl": "^6.4.2"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@box/blueprint-web": "^16.13.
|
|
15
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
16
|
-
"@box/item-icon": "^3.2.
|
|
17
|
-
"@box/storybook-utils": "^1.1.
|
|
14
|
+
"@box/blueprint-web": "^16.13.1",
|
|
15
|
+
"@box/blueprint-web-assets": "^5.5.10",
|
|
16
|
+
"@box/item-icon": "^3.2.34",
|
|
17
|
+
"@box/storybook-utils": "^1.1.34",
|
|
18
18
|
"@faker-js/faker": "^8.4.1",
|
|
19
19
|
"react": "^18.3.0",
|
|
20
20
|
"react-dom": "^18.3.0",
|