@box/tree 2.1.36 → 2.1.38

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.
Files changed (55) hide show
  1. package/dist/chunks/error.js +1 -28
  2. package/dist/chunks/expander-with-loading.js +1 -30
  3. package/dist/chunks/expander.js +1 -24
  4. package/dist/chunks/inline-error.js +1 -27
  5. package/dist/chunks/loading-node.js +1 -20
  6. package/dist/chunks/node-icon.module.js +1 -2
  7. package/dist/chunks/node-label.js +1 -23
  8. package/dist/chunks/nodes.module.js +1 -318
  9. package/dist/chunks/reload-node.js +1 -40
  10. package/dist/chunks/skeleton.js +1 -14
  11. package/dist/chunks/tree.js +1 -78
  12. package/dist/esm/index.js +1 -6
  13. package/dist/esm/lib/components/content-node/content-node.js +1 -110
  14. package/dist/esm/lib/components/content-node/expander-with-loading.js +1 -2
  15. package/dist/esm/lib/components/content-node/index.js +1 -2
  16. package/dist/esm/lib/components/content-node/messages.js +1 -6
  17. package/dist/esm/lib/components/content-node/variant-icon.js +1 -16
  18. package/dist/esm/lib/components/error/error.js +1 -2
  19. package/dist/esm/lib/components/error/index.js +1 -2
  20. package/dist/esm/lib/components/error/messages.js +1 -16
  21. package/dist/esm/lib/components/expander/expander.js +1 -2
  22. package/dist/esm/lib/components/expander/index.js +1 -2
  23. package/dist/esm/lib/components/expander/messages.js +1 -12
  24. package/dist/esm/lib/components/index.js +1 -9
  25. package/dist/esm/lib/components/inline-error/index.js +1 -2
  26. package/dist/esm/lib/components/inline-error/inline-error.js +1 -2
  27. package/dist/esm/lib/components/inline-error/messages.js +1 -20
  28. package/dist/esm/lib/components/load-more-node/index.js +1 -2
  29. package/dist/esm/lib/components/load-more-node/load-more-node.js +1 -22
  30. package/dist/esm/lib/components/load-more-node/messages.js +1 -12
  31. package/dist/esm/lib/components/loading-node/index.js +1 -2
  32. package/dist/esm/lib/components/loading-node/loading-node.js +1 -2
  33. package/dist/esm/lib/components/loading-node/messages.js +1 -6
  34. package/dist/esm/lib/components/node-icon/index.js +1 -3
  35. package/dist/esm/lib/components/node-icon/messages.js +1 -6
  36. package/dist/esm/lib/components/node-icon/node-avatar.js +1 -29
  37. package/dist/esm/lib/components/node-icon/node-item-icon.js +1 -31
  38. package/dist/esm/lib/components/node-label/index.js +1 -2
  39. package/dist/esm/lib/components/node-label/node-label.js +1 -2
  40. package/dist/esm/lib/components/reload-node/index.js +1 -2
  41. package/dist/esm/lib/components/reload-node/messages.js +1 -20
  42. package/dist/esm/lib/components/reload-node/reload-node.js +1 -2
  43. package/dist/esm/lib/components/service-node-wrapper/index.js +1 -2
  44. package/dist/esm/lib/components/service-node-wrapper/service-node-wrapper.js +1 -11
  45. package/dist/esm/lib/components/skeleton/index.js +1 -2
  46. package/dist/esm/lib/components/skeleton/skeleton.js +1 -2
  47. package/dist/esm/lib/components/truncated-tooltip-text/index.js +1 -2
  48. package/dist/esm/lib/components/truncated-tooltip-text/truncated-tooltip-text.js +1 -26
  49. package/dist/esm/lib/constants.js +1 -2
  50. package/dist/esm/lib/hooks/index.js +1 -3
  51. package/dist/esm/lib/hooks/useIntersectionObserver.js +1 -14
  52. package/dist/esm/lib/hooks/useSelectionInheritance.js +1 -17
  53. package/dist/esm/lib/tree.js +1 -3
  54. package/dist/esm/lib/utils.js +1 -39
  55. package/package.json +8 -8
@@ -1,3 +1 @@
1
- import { useIntersectionObserver as e } from "./useIntersectionObserver.js";
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 { useEffect as e, useState as t } from "react";
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 { useCallback as e, useMemo as t, useState as n } from "react";
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};
@@ -1,3 +1 @@
1
- import "./components/index.js";
2
- import { t as e } from "../../chunks/tree.js";
3
- export { e as Tree, e as default };
1
+ import"./components/index.js";import{t as Tree}from"../../chunks/tree.js";export{Tree,Tree as default};
@@ -1,39 +1 @@
1
- import { BRANCH_ID_DATA_ATTRIBUTE as e, CONTENT_NODE_LOADING as t, LOAD_MORE_NODE_DATA_ATTRIBUTE as n, RELOAD_NODE_DATA_ATTRIBUTE as r } from "./constants.js";
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.36",
3
+ "version": "2.1.38",
4
4
  "peerDependencies": {
5
- "@box/blueprint-web": "^16.13.0",
6
- "@box/blueprint-web-assets": "^5.5.9",
7
- "@box/item-icon": "^3.2.33",
5
+ "@box/blueprint-web": "^16.13.2",
6
+ "@box/blueprint-web-assets": "^5.5.11",
7
+ "@box/item-icon": "^3.2.35",
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.0",
15
- "@box/blueprint-web-assets": "^5.5.9",
16
- "@box/item-icon": "^3.2.33",
17
- "@box/storybook-utils": "^1.1.33",
14
+ "@box/blueprint-web": "^16.13.2",
15
+ "@box/blueprint-web-assets": "^5.5.11",
16
+ "@box/item-icon": "^3.2.35",
17
+ "@box/storybook-utils": "^1.1.35",
18
18
  "@faker-js/faker": "^8.4.1",
19
19
  "react": "^18.3.0",
20
20
  "react-dom": "^18.3.0",