@box/tree 2.1.35 → 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.
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,78 +1 @@
1
- import { useSelectionInheritance as e } from "../esm/lib/hooks/useSelectionInheritance.js";
2
- import { ContentNode as t } from "../esm/lib/components/content-node/content-node.js";
3
- import { LoadMoreNode as n } from "../esm/lib/components/load-more-node/load-more-node.js";
4
- import { t as r } from "./loading-node.js";
5
- import { t as i } from "./reload-node.js";
6
- import { ServiceNodeWrapper as a } from "../esm/lib/components/service-node-wrapper/service-node-wrapper.js";
7
- import { preventDisabledNodeExpanding as o, preventLoadingContentNodeExpanding as s, serviceNodeClickHandler as c, serviceNodeKeyboardHandler as l } from "../esm/lib/utils.js";
8
- import u from "clsx";
9
- import { forwardRef as d, useCallback as f, useEffect as p, useRef as m } from "react";
10
- import { TooltipProvider as h, useForkRef as g } from "@box/blueprint-web";
11
- import { jsx as _ } from "react/jsx-runtime";
12
- import v from "react-accessible-treeview";
13
- import '../styles/tree.css';var y = { tree: "_tree_17956_1" }, b = (e, o, s) => (c) => {
14
- let { element: l, isDisabled: u } = c, { id: d, metadata: f, parent: p } = l, { variant: m } = f;
15
- return m === "content" || m === "user" || m === "labeled" ? /* @__PURE__ */ _(t, {
16
- ...c,
17
- size: e,
18
- withIcon: o,
19
- containsSelection: s.includes(d)
20
- }) : m === "loadMore" ? /* @__PURE__ */ _(a, {
21
- isDisabled: u,
22
- parentId: p,
23
- variant: "loadMore",
24
- children: /* @__PURE__ */ _(n, {
25
- ...c,
26
- size: e
27
- })
28
- }) : m === "reload" ? /* @__PURE__ */ _(a, {
29
- isDisabled: u,
30
- parentId: p,
31
- variant: "reload",
32
- children: /* @__PURE__ */ _(i, {
33
- ...c,
34
- size: e
35
- })
36
- }) : m === "loading" ? /* @__PURE__ */ _(a, {
37
- isDisabled: u,
38
- variant: "loading",
39
- children: /* @__PURE__ */ _(r, {
40
- ...c,
41
- size: e
42
- })
43
- }) : null;
44
- }, x = /*#__PURE__*/ d(function({ "aria-label": t, size: n = "small", data: r, withIcons: i = !1, onExpand: a, onSelect: d, onLoadData: x, className: S, multiSelect: C = !1, ...w }, T) {
45
- let E = m(null), { selectionInheritors: D, getSelectionInheritors: O } = e();
46
- p(() => {
47
- let e = E.current;
48
- return e && (e.addEventListener("keydown", o), e.addEventListener("keydown", s)), () => {
49
- e && (e.removeEventListener("keydown", o), e.removeEventListener("keydown", s));
50
- };
51
- }), p(() => {
52
- let e = E.current, t = l(x), n = c(x);
53
- return e && (e.addEventListener("keydown", t), e.addEventListener("click", n)), () => {
54
- e && (e.removeEventListener("keydown", t), e.removeEventListener("click", n));
55
- };
56
- }), p(() => {
57
- O(r, w.selectedIds || w.defaultSelectedIds);
58
- }, []);
59
- let k = f((e) => {
60
- O(r, Array.from(e.treeState.selectedIds)), d && d(e);
61
- }, [
62
- d,
63
- r,
64
- O
65
- ]);
66
- return /* @__PURE__ */ _(h, { children: /* @__PURE__ */ _(v, {
67
- ref: g(E, T),
68
- "aria-label": t,
69
- className: u(y.tree, S),
70
- data: r,
71
- multiSelect: C,
72
- nodeRenderer: b(n, i, D),
73
- onExpand: a,
74
- onSelect: k,
75
- ...w
76
- }) });
77
- });
78
- export { x as t };
1
+ import{useSelectionInheritance}from"../esm/lib/hooks/useSelectionInheritance.js";import{ContentNode}from"../esm/lib/components/content-node/content-node.js";import{LoadMoreNode}from"../esm/lib/components/load-more-node/load-more-node.js";import{t as LoadingNode}from"./loading-node.js";import{t as ReloadNode}from"./reload-node.js";import{ServiceNodeWrapper}from"../esm/lib/components/service-node-wrapper/service-node-wrapper.js";import{preventDisabledNodeExpanding,preventLoadingContentNodeExpanding,serviceNodeClickHandler,serviceNodeKeyboardHandler}from"../esm/lib/utils.js";import clsx from"clsx";import{forwardRef,useCallback,useEffect,useRef}from"react";import{TooltipProvider,useForkRef}from"@box/blueprint-web";import{jsx}from"react/jsx-runtime";import TreeView from"react-accessible-treeview";import '../styles/tree.css';var tree_module_default={tree:`_tree_17956_1`},getNodeRenderer=(size,withIcons,selectionInheritors)=>node=>{let{element,isDisabled}=node,{id,metadata,parent}=element,{variant}=metadata;return variant===`content`||variant===`user`||variant===`labeled`?jsx(ContentNode,{...node,size,withIcon:withIcons,containsSelection:selectionInheritors.includes(id)}):variant===`loadMore`?jsx(ServiceNodeWrapper,{isDisabled,parentId:parent,variant:`loadMore`,children:jsx(LoadMoreNode,{...node,size})}):variant===`reload`?jsx(ServiceNodeWrapper,{isDisabled,parentId:parent,variant:`reload`,children:jsx(ReloadNode,{...node,size})}):variant===`loading`?jsx(ServiceNodeWrapper,{isDisabled,variant:`loading`,children:jsx(LoadingNode,{...node,size})}):null},Tree=forwardRef(function({"aria-label":ariaLabel,size=`small`,data,withIcons=!1,onExpand,onSelect,onLoadData,className,multiSelect=!1,...restTreeProps},forwardedRef){let treeRef=useRef(null),{selectionInheritors,getSelectionInheritors}=useSelectionInheritance();useEffect(()=>{let currentTree=treeRef.current;return currentTree&&(currentTree.addEventListener(`keydown`,preventDisabledNodeExpanding),currentTree.addEventListener(`keydown`,preventLoadingContentNodeExpanding)),()=>{currentTree&&(currentTree.removeEventListener(`keydown`,preventDisabledNodeExpanding),currentTree.removeEventListener(`keydown`,preventLoadingContentNodeExpanding))}}),useEffect(()=>{let currentTree=treeRef.current,onServiceNodeKeyboardInteraction=serviceNodeKeyboardHandler(onLoadData),onServiceNodeClick=serviceNodeClickHandler(onLoadData);return currentTree&&(currentTree.addEventListener(`keydown`,onServiceNodeKeyboardInteraction),currentTree.addEventListener(`click`,onServiceNodeClick)),()=>{currentTree&&(currentTree.removeEventListener(`keydown`,onServiceNodeKeyboardInteraction),currentTree.removeEventListener(`click`,onServiceNodeClick))}}),useEffect(()=>{getSelectionInheritors(data,restTreeProps.selectedIds||restTreeProps.defaultSelectedIds)},[]);let selectHandler=useCallback(props=>{getSelectionInheritors(data,Array.from(props.treeState.selectedIds)),onSelect&&onSelect(props)},[onSelect,data,getSelectionInheritors]);return jsx(TooltipProvider,{children:jsx(TreeView,{ref:useForkRef(treeRef,forwardedRef),"aria-label":ariaLabel,className:clsx(tree_module_default.tree,className),data,multiSelect,nodeRenderer:getNodeRenderer(size,withIcons,selectionInheritors),onExpand,onSelect:selectHandler,...restTreeProps})})});export{Tree as t};
package/dist/esm/index.js CHANGED
@@ -1,6 +1 @@
1
- import { t as e } from "../chunks/error.js";
2
- import { t } from "../chunks/inline-error.js";
3
- import { t as n } from "../chunks/skeleton.js";
4
- import "./lib/components/index.js";
5
- import { t as r } from "../chunks/tree.js";
6
- export { t as InlineError, r as Tree, e as TreeError, n as TreeSkeleton };
1
+ import{t as Error}from"../chunks/error.js";import{t as InlineError}from"../chunks/inline-error.js";import{t as Skeleton}from"../chunks/skeleton.js";import"./lib/components/index.js";import{t as Tree}from"../chunks/tree.js";export{InlineError,Tree,Error as TreeError,Skeleton as TreeSkeleton};
@@ -1,110 +1 @@
1
- import { CONTENT_NODE as e, CONTENT_NODE_LOADING as t } from "../../constants.js";
2
- import { useIntersectionObserver as n } from "../../hooks/useIntersectionObserver.js";
3
- import { TruncatedTooltipText as r } from "../truncated-tooltip-text/truncated-tooltip-text.js";
4
- import { n as i, t as a } from "../../../../chunks/expander-with-loading.js";
5
- import { VariantIcon as o } from "./variant-icon.js";
6
- import { t as s } from "../../../../chunks/nodes.module.js";
7
- import { t as c } from "../../../../chunks/node-label.js";
8
- import l from "clsx";
9
- import { useMemo as u, useRef as d } from "react";
10
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
11
- function m({ element: { name: m, metadata: h }, level: g, getNodeProps: _, handleSelect: v, handleExpand: y, isBranch: b, isExpanded: x, isDisabled: S, isSelected: C, size: w, withIcon: T, containsSelection: E }) {
12
- let D = d(null), O = d(null), k = d(null), A = d(null), { isLoading: j = !1, selectable: M = !0, variant: N } = h, { labelName: P, labelValue: F, subtitle: I, withDivider: L } = N === "labeled" ? {
13
- labelName: h.labelName,
14
- labelValue: h.labelValue,
15
- subtitle: void 0,
16
- withDivider: !1
17
- } : {
18
- labelName: void 0,
19
- labelValue: void 0,
20
- subtitle: h.subtitle,
21
- withDivider: h.withDivider ?? !1
22
- }, R = u(() => _({ onClick: v }), [_, v]), z = n(D), B = !S && !x && E, V = {
23
- [`data-${e}`]: !0,
24
- [`data-${t}`]: j
25
- }, H = !!I || N === "labeled", U = [
26
- "node",
27
- s.node,
28
- s[`node-${w}-level${g - 1}`],
29
- s[`node--${w}`],
30
- {
31
- [s[`node--${w}-extraData`]]: H,
32
- [s["node--focused"]]: R.className.includes("tree-node--focused"),
33
- [s["node--disabled"]]: S,
34
- [s["node--nonselectable"]]: !M,
35
- "node--with-divider": L
36
- }
37
- ], W = /* @__PURE__ */ p("div", {
38
- ...R,
39
- className: l(U, { [s["node--selected"]]: C || B }),
40
- "data-target-id": h?.dataTargetId,
41
- children: [b && /* @__PURE__ */ f("div", {
42
- className: l(s.expander, s[`expander-level${g - 1}`], s[`expander-${w}`]),
43
- children: /* @__PURE__ */ f(a, {
44
- handleExpand: y,
45
- isDisabled: S,
46
- isExpanded: x,
47
- isLoading: j,
48
- metadata: h,
49
- size: w
50
- })
51
- }), /* @__PURE__ */ p("div", {
52
- className: l(i.content),
53
- children: [T && /* @__PURE__ */ f(o, {
54
- metadata: h,
55
- name: m,
56
- size: w
57
- }), /* @__PURE__ */ p("div", {
58
- className: i["title-wrapper"],
59
- ...!M && { onClick: y },
60
- children: [
61
- N === "labeled" && /* @__PURE__ */ f(c, {
62
- ref: A,
63
- labelName: P,
64
- labelValue: F
65
- }),
66
- /* @__PURE__ */ f("span", {
67
- ref: O,
68
- className: l(i.title, i[`title--${w}`], { [i["title--selected"]]: C || B }),
69
- children: m
70
- }),
71
- I && /* @__PURE__ */ f("span", {
72
- ref: k,
73
- className: i.subtitle,
74
- children: I
75
- })
76
- ]
77
- })]
78
- })]
79
- }), G = /* @__PURE__ */ f("div", {
80
- ...R,
81
- className: l(U, { [s["node--selected"]]: R.className.includes("tree-node--selected") }),
82
- "data-target-id": h?.dataTargetId,
83
- children: m
84
- });
85
- return /* @__PURE__ */ f("div", {
86
- ref: D,
87
- ...V,
88
- children: z ? G : /* @__PURE__ */ f(r, {
89
- labelElementRef: A,
90
- subtitleElementRef: k,
91
- textElementRef: O,
92
- tooltipContent: /* @__PURE__ */ p("div", {
93
- className: i.tooltip,
94
- children: [
95
- N === "labeled" && /* @__PURE__ */ f(c, {
96
- ref: A,
97
- color: "textOnDarkDefault",
98
- isInTooltip: !0,
99
- labelName: P,
100
- labelValue: F
101
- }),
102
- /* @__PURE__ */ f("span", { children: m }),
103
- I && /* @__PURE__ */ f("span", { children: I })
104
- ]
105
- }),
106
- children: W
107
- })
108
- });
109
- }
110
- export { m as ContentNode };
1
+ import{CONTENT_NODE,CONTENT_NODE_LOADING}from"../../constants.js";import{useIntersectionObserver}from"../../hooks/useIntersectionObserver.js";import{TruncatedTooltipText}from"../truncated-tooltip-text/truncated-tooltip-text.js";import{n as content_node_module_default,t as ExpanderWithLoading}from"../../../../chunks/expander-with-loading.js";import{VariantIcon}from"./variant-icon.js";import{t as nodes_module_default}from"../../../../chunks/nodes.module.js";import{t as NodeLabel}from"../../../../chunks/node-label.js";import clsx from"clsx";import{useMemo,useRef}from"react";import{jsx,jsxs}from"react/jsx-runtime";function ContentNode({element:{name,metadata},level,getNodeProps,handleSelect,handleExpand,isBranch,isExpanded,isDisabled,isSelected,size,withIcon,containsSelection}){let nodeRef=useRef(null),textElementRef=useRef(null),subtitleElementRef=useRef(null),labelElementRef=useRef(null),{isLoading=!1,selectable=!0,variant}=metadata,{labelName,labelValue,subtitle,withDivider}=variant===`labeled`?{labelName:metadata.labelName,labelValue:metadata.labelValue,subtitle:void 0,withDivider:!1}:{labelName:void 0,labelValue:void 0,subtitle:metadata.subtitle,withDivider:metadata.withDivider??!1},nodeProps=useMemo(()=>getNodeProps({onClick:handleSelect}),[getNodeProps,handleSelect]),isOutside=useIntersectionObserver(nodeRef),isSelectionInherited=!isDisabled&&!isExpanded&&containsSelection,dataProps={[`data-${CONTENT_NODE}`]:!0,[`data-${CONTENT_NODE_LOADING}`]:isLoading},hasExtraData=!!subtitle||variant===`labeled`,classNames=[`node`,nodes_module_default.node,nodes_module_default[`node-${size}-level${level-1}`],nodes_module_default[`node--${size}`],{[nodes_module_default[`node--${size}-extraData`]]:hasExtraData,[nodes_module_default[`node--focused`]]:nodeProps.className.includes(`tree-node--focused`),[nodes_module_default[`node--disabled`]]:isDisabled,[nodes_module_default[`node--nonselectable`]]:!selectable,"node--with-divider":withDivider}],fullNode=jsxs(`div`,{...nodeProps,className:clsx(classNames,{[nodes_module_default[`node--selected`]]:isSelected||isSelectionInherited}),"data-target-id":metadata?.dataTargetId,children:[isBranch&&jsx(`div`,{className:clsx(nodes_module_default.expander,nodes_module_default[`expander-level${level-1}`],nodes_module_default[`expander-${size}`]),children:jsx(ExpanderWithLoading,{handleExpand,isDisabled,isExpanded,isLoading,metadata,size})}),jsxs(`div`,{className:clsx(content_node_module_default.content),children:[withIcon&&jsx(VariantIcon,{metadata,name,size}),jsxs(`div`,{className:content_node_module_default[`title-wrapper`],...!selectable&&{onClick:handleExpand},children:[variant===`labeled`&&jsx(NodeLabel,{ref:labelElementRef,labelName,labelValue}),jsx(`span`,{ref:textElementRef,className:clsx(content_node_module_default.title,content_node_module_default[`title--${size}`],{[content_node_module_default[`title--selected`]]:isSelected||isSelectionInherited}),children:name}),subtitle&&jsx(`span`,{ref:subtitleElementRef,className:content_node_module_default.subtitle,children:subtitle})]})]})]}),shallowNode=jsx(`div`,{...nodeProps,className:clsx(classNames,{[nodes_module_default[`node--selected`]]:nodeProps.className.includes(`tree-node--selected`)}),"data-target-id":metadata?.dataTargetId,children:name});return jsx(`div`,{ref:nodeRef,...dataProps,children:isOutside?shallowNode:jsx(TruncatedTooltipText,{labelElementRef,subtitleElementRef,textElementRef,tooltipContent:jsxs(`div`,{className:content_node_module_default.tooltip,children:[variant===`labeled`&&jsx(NodeLabel,{ref:labelElementRef,color:`textOnDarkDefault`,isInTooltip:!0,labelName,labelValue}),jsx(`span`,{children:name}),subtitle&&jsx(`span`,{children:subtitle})]}),children:fullNode})})}export{ContentNode};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/expander-with-loading.js";
2
- export { e as ExpanderWithLoading };
1
+ import{t as ExpanderWithLoading}from"../../../../chunks/expander-with-loading.js";export{ExpanderWithLoading};
@@ -1,2 +1 @@
1
- import { ContentNode as e } from "./content-node.js";
2
- export { e as ContentNode };
1
+ import{ContentNode}from"./content-node.js";export{ContentNode};
@@ -1,6 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({ branchContentLoaderLabel: {
3
- id: "groupSharedFeatures.tree.branch.loaderLabel",
4
- defaultMessage: "Loading content for branch"
5
- } });
6
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({branchContentLoaderLabel:{id:`groupSharedFeatures.tree.branch.loaderLabel`,defaultMessage:`Loading content for branch`}});export{messages_default as default};
@@ -1,16 +1 @@
1
- import { NodeAvatar as e } from "../node-icon/node-avatar.js";
2
- import { NodeItemIcon as t } from "../node-icon/node-item-icon.js";
3
- import { jsx as n } from "react/jsx-runtime";
4
- var r = ({ name: r, metadata: i, size: a }) => {
5
- let { variant: o } = i;
6
- return o === "content" ? /* @__PURE__ */ n(t, {
7
- iconType: i.iconType,
8
- size: a
9
- }) : o === "user" ? /* @__PURE__ */ n(e, {
10
- avatarSrc: i.avatarSrc,
11
- badge: i.badge,
12
- nodeTitle: r,
13
- size: a
14
- }) : null;
15
- };
16
- export { r as VariantIcon };
1
+ import{NodeAvatar}from"../node-icon/node-avatar.js";import{NodeItemIcon}from"../node-icon/node-item-icon.js";import{jsx}from"react/jsx-runtime";var VariantIcon=({name,metadata,size})=>{let{variant}=metadata;return variant===`content`?jsx(NodeItemIcon,{iconType:metadata.iconType,size}):variant===`user`?jsx(NodeAvatar,{avatarSrc:metadata.avatarSrc,badge:metadata.badge,nodeTitle:name,size}):null};export{VariantIcon};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/error.js";
2
- export { e as Error };
1
+ import{t as Error}from"../../../../chunks/error.js";export{Error};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/error.js";
2
- export { e as TreeError };
1
+ import{t as Error}from"../../../../chunks/error.js";export{Error as TreeError};
@@ -1,16 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- errorTitle: {
4
- id: "groupSharedFeatures.tree.error.title",
5
- defaultMessage: "Unable to load tree"
6
- },
7
- errorBody: {
8
- id: "groupSharedFeatures.tree.error.body",
9
- defaultMessage: "Reload to try again."
10
- },
11
- reloadButton: {
12
- id: "groupSharedFeatures.tree.error.reload",
13
- defaultMessage: "Reload"
14
- }
15
- });
16
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({errorTitle:{id:`groupSharedFeatures.tree.error.title`,defaultMessage:`Unable to load tree`},errorBody:{id:`groupSharedFeatures.tree.error.body`,defaultMessage:`Reload to try again.`},reloadButton:{id:`groupSharedFeatures.tree.error.reload`,defaultMessage:`Reload`}});export{messages_default as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/expander.js";
2
- export { e as Expander };
1
+ import{t as Expander}from"../../../../chunks/expander.js";export{Expander};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/expander.js";
2
- export { e as Expander };
1
+ import{t as Expander}from"../../../../chunks/expander.js";export{Expander};
@@ -1,12 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- collapse: {
4
- id: "groupSharedFeatures.tree.expander.collapse",
5
- defaultMessage: "Collapse branch"
6
- },
7
- expand: {
8
- id: "groupSharedFeatures.tree.expander.expand",
9
- defaultMessage: "Expand branch"
10
- }
11
- });
12
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({collapse:{id:`groupSharedFeatures.tree.expander.collapse`,defaultMessage:`Collapse branch`},expand:{id:`groupSharedFeatures.tree.expander.expand`,defaultMessage:`Expand branch`}});export{messages_default as default};
@@ -1,9 +1 @@
1
- import { ContentNode as e } from "./content-node/content-node.js";
2
- import { t } from "../../../chunks/error.js";
3
- import { t as n } from "../../../chunks/inline-error.js";
4
- import { LoadMoreNode as r } from "./load-more-node/load-more-node.js";
5
- import { t as i } from "../../../chunks/loading-node.js";
6
- import { t as a } from "../../../chunks/reload-node.js";
7
- import { ServiceNodeWrapper as o } from "./service-node-wrapper/service-node-wrapper.js";
8
- import { t as s } from "../../../chunks/skeleton.js";
9
- export { e as ContentNode, n as InlineError, r as LoadMoreNode, i as LoadingNode, a as ReloadNode, o as ServiceNodeWrapper, s as Skeleton, t as TreeError };
1
+ import{ContentNode}from"./content-node/content-node.js";import{t as Error}from"../../../chunks/error.js";import{t as InlineError}from"../../../chunks/inline-error.js";import{LoadMoreNode}from"./load-more-node/load-more-node.js";import{t as LoadingNode}from"../../../chunks/loading-node.js";import{t as ReloadNode}from"../../../chunks/reload-node.js";import{ServiceNodeWrapper}from"./service-node-wrapper/service-node-wrapper.js";import{t as Skeleton}from"../../../chunks/skeleton.js";export{ContentNode,InlineError,LoadMoreNode,LoadingNode,ReloadNode,ServiceNodeWrapper,Skeleton,Error as TreeError};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/inline-error.js";
2
- export { e as InlineError };
1
+ import{t as InlineError}from"../../../../chunks/inline-error.js";export{InlineError};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/inline-error.js";
2
- export { e as InlineError };
1
+ import{t as InlineError}from"../../../../chunks/inline-error.js";export{InlineError};
@@ -1,20 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- reloadButtonText: {
4
- id: "groupSharedFeatures.tree.inlineError.reloadButtonText",
5
- defaultMessage: "Reload"
6
- },
7
- inlineNoticeText: {
8
- id: "groupSharedFeatures.tree.inlineError.inlineNoticeText",
9
- defaultMessage: "Loading failed"
10
- },
11
- inlineNoticeIconAriaLabel: {
12
- id: "groupSharedFeatures.tree.inlineError.inlineNoticeIconAriaLabel",
13
- defaultMessage: "Error"
14
- },
15
- reloadButtonAriaLabel: {
16
- id: "groupSharedFeatures.tree.inlineError.reloadButtonAriaLabel",
17
- defaultMessage: "Reload content tree"
18
- }
19
- });
20
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({reloadButtonText:{id:`groupSharedFeatures.tree.inlineError.reloadButtonText`,defaultMessage:`Reload`},inlineNoticeText:{id:`groupSharedFeatures.tree.inlineError.inlineNoticeText`,defaultMessage:`Loading failed`},inlineNoticeIconAriaLabel:{id:`groupSharedFeatures.tree.inlineError.inlineNoticeIconAriaLabel`,defaultMessage:`Error`},reloadButtonAriaLabel:{id:`groupSharedFeatures.tree.inlineError.reloadButtonAriaLabel`,defaultMessage:`Reload content tree`}});export{messages_default as default};
@@ -1,2 +1 @@
1
- import { LoadMoreNode as e } from "./load-more-node.js";
2
- export { e as LoadMoreNode };
1
+ import{LoadMoreNode}from"./load-more-node.js";export{LoadMoreNode};
@@ -1,22 +1 @@
1
- import { t as e } from "../../../../chunks/nodes.module.js";
2
- import t from "./messages.js";
3
- import n from "clsx";
4
- import { TextButton as r } from "@box/blueprint-web";
5
- import { jsx as i } from "react/jsx-runtime";
6
- import { useIntl as a } from "react-intl";
7
- function o({ level: o, size: s, isDisabled: c, getNodeProps: l, element: u }) {
8
- let d = a(), f = l();
9
- return /* @__PURE__ */ i("div", {
10
- ...f,
11
- className: n("node", e.node, e[`node-${s}-level${o - 1}`], e[`node--${s}`], {
12
- [e["node--focused"]]: f.className.includes("tree-node--focused"),
13
- [e["node--disabled"]]: c
14
- }),
15
- children: /* @__PURE__ */ i(r, {
16
- "aria-label": d.formatMessage(t.loadMoreButtonAriaLabel, { nodeName: u.name }),
17
- tabIndex: -1,
18
- children: d.formatMessage(t.loadMoreButtonTitle)
19
- })
20
- });
21
- }
22
- export { o as LoadMoreNode };
1
+ import{t as nodes_module_default}from"../../../../chunks/nodes.module.js";import messages_default from"./messages.js";import clsx from"clsx";import{TextButton}from"@box/blueprint-web";import{jsx}from"react/jsx-runtime";import{useIntl}from"react-intl";function LoadMoreNode({level,size,isDisabled,getNodeProps,element}){let intl=useIntl(),nodeProps=getNodeProps();return jsx(`div`,{...nodeProps,className:clsx(`node`,nodes_module_default.node,nodes_module_default[`node-${size}-level${level-1}`],nodes_module_default[`node--${size}`],{[nodes_module_default[`node--focused`]]:nodeProps.className.includes(`tree-node--focused`),[nodes_module_default[`node--disabled`]]:isDisabled}),children:jsx(TextButton,{"aria-label":intl.formatMessage(messages_default.loadMoreButtonAriaLabel,{nodeName:element.name}),tabIndex:-1,children:intl.formatMessage(messages_default.loadMoreButtonTitle)})})}export{LoadMoreNode};
@@ -1,12 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- loadMoreButtonTitle: {
4
- id: "groupSharedFeatures.tree.branch.loadMoreButtonTitle",
5
- defaultMessage: "Load More"
6
- },
7
- loadMoreButtonAriaLabel: {
8
- id: "groupSharedFeatures.tree.branch.loadMoreButtonAriaLabel",
9
- defaultMessage: "Load More for {nodeName}"
10
- }
11
- });
12
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({loadMoreButtonTitle:{id:`groupSharedFeatures.tree.branch.loadMoreButtonTitle`,defaultMessage:`Load More`},loadMoreButtonAriaLabel:{id:`groupSharedFeatures.tree.branch.loadMoreButtonAriaLabel`,defaultMessage:`Load More for {nodeName}`}});export{messages_default as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/loading-node.js";
2
- export { e as LoadingNode };
1
+ import{t as LoadingNode}from"../../../../chunks/loading-node.js";export{LoadingNode};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/loading-node.js";
2
- export { e as LoadingNode };
1
+ import{t as LoadingNode}from"../../../../chunks/loading-node.js";export{LoadingNode};
@@ -1,6 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({ loadingIndicatorAriaLabel: {
3
- id: "groupSharedFeatures.tree.branch.loadMore",
4
- defaultMessage: "Loading more content"
5
- } });
6
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({loadingIndicatorAriaLabel:{id:`groupSharedFeatures.tree.branch.loadMore`,defaultMessage:`Loading more content`}});export{messages_default as default};
@@ -1,3 +1 @@
1
- import { NodeAvatar as e } from "./node-avatar.js";
2
- import { NodeItemIcon as t } from "./node-item-icon.js";
3
- export { e as NodeAvatar, t as NodeItemIcon };
1
+ import{NodeAvatar}from"./node-avatar.js";import{NodeItemIcon}from"./node-item-icon.js";export{NodeAvatar,NodeItemIcon};
@@ -1,6 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({ iconLabel: {
3
- id: "groupSharedFeatures.tree.node.iconLabel",
4
- defaultMessage: "Icon for {iconType}"
5
- } });
6
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({iconLabel:{id:`groupSharedFeatures.tree.node.iconLabel`,defaultMessage:`Icon for {iconType}`}});export{messages_default as default};
@@ -1,29 +1 @@
1
- import { t as e } from "../../../../chunks/node-icon.module.js";
2
- import { useMemo as t } from "react";
3
- import { Avatar as n, IconBadge as r } from "@box/blueprint-web";
4
- import { jsx as i } from "react/jsx-runtime";
5
- var a = {
6
- admin: "collaborator-admin",
7
- coadmin: "collaborator-coadmin"
8
- };
9
- function o({ avatarSrc: o, badge: s, size: c, nodeTitle: l }) {
10
- let u = t(() => l.charAt(0).toUpperCase(), [l]), d = /* @__PURE__ */ i(n, {
11
- alt: l,
12
- color: "BoxBlue50",
13
- size: c === "small" ? "small" : "large",
14
- src: o,
15
- text: u
16
- });
17
- return s && a[s] ? /* @__PURE__ */ i("div", {
18
- className: e.icon,
19
- children: /* @__PURE__ */ i(r, {
20
- size: c === "small" ? "small" : "medium",
21
- variant: a[s],
22
- children: d
23
- })
24
- }) : /* @__PURE__ */ i("div", {
25
- className: e.icon,
26
- children: d
27
- });
28
- }
29
- export { o as NodeAvatar };
1
+ import{t as node_icon_module_default}from"../../../../chunks/node-icon.module.js";import{useMemo}from"react";import{Avatar,IconBadge}from"@box/blueprint-web";import{jsx}from"react/jsx-runtime";var BADGE_ICON_MAP={admin:`collaborator-admin`,coadmin:`collaborator-coadmin`};function NodeAvatar({avatarSrc,badge,size,nodeTitle}){let text=useMemo(()=>nodeTitle.charAt(0).toUpperCase(),[nodeTitle]),avatar=jsx(Avatar,{alt:nodeTitle,color:`BoxBlue50`,size:size===`small`?`small`:`large`,src:avatarSrc,text});return badge&&BADGE_ICON_MAP[badge]?jsx(`div`,{className:node_icon_module_default.icon,children:jsx(IconBadge,{size:size===`small`?`small`:`medium`,variant:BADGE_ICON_MAP[badge],children:avatar})}):jsx(`div`,{className:node_icon_module_default.icon,children:avatar})}export{NodeAvatar};
@@ -1,31 +1 @@
1
- import { t as e } from "../../../../chunks/node-icon.module.js";
2
- import t from "./messages.js";
3
- import { jsx as n } from "react/jsx-runtime";
4
- import { useIntl as r } from "react-intl";
5
- import { Trash as i } from "@box/blueprint-web-assets/icons/Fill";
6
- import { Size6 as a, Size8 as o } from "@box/blueprint-web-assets/tokens/px-tokens";
7
- import { ItemIcon as s, itemIconTable as c } from "@box/item-icon";
8
- var l = { trash: i };
9
- function u({ size: i, iconType: u }) {
10
- let d = r(), f = i === "small" ? a : o;
11
- if (u && l[u]) {
12
- let r = l[u];
13
- return /* @__PURE__ */ n(r, {
14
- ariaLabel: d.formatMessage(t.iconLabel, { iconType: u }),
15
- className: e.icon,
16
- height: f,
17
- width: f
18
- });
19
- }
20
- return u && c[u] ? /* @__PURE__ */ n(s, {
21
- ariaLabel: d.formatMessage(t.iconLabel, { iconType: u }),
22
- className: e.icon,
23
- dimension: f,
24
- iconType: u
25
- }) : /* @__PURE__ */ n(s, {
26
- className: e.icon,
27
- dimension: f,
28
- iconType: "default"
29
- });
30
- }
31
- export { u as NodeItemIcon };
1
+ import{t as node_icon_module_default}from"../../../../chunks/node-icon.module.js";import messages_default from"./messages.js";import{jsx}from"react/jsx-runtime";import{useIntl}from"react-intl";import{Trash}from"@box/blueprint-web-assets/icons/Fill";import{Size6,Size8}from"@box/blueprint-web-assets/tokens/px-tokens";import{ItemIcon,itemIconTable}from"@box/item-icon";var nodeIconTable={trash:Trash};function NodeItemIcon({size,iconType}){let intl=useIntl(),iconSize=size===`small`?Size6:Size8;if(iconType&&nodeIconTable[iconType]){let IconComponent=nodeIconTable[iconType];return jsx(IconComponent,{ariaLabel:intl.formatMessage(messages_default.iconLabel,{iconType}),className:node_icon_module_default.icon,height:iconSize,width:iconSize})}return iconType&&itemIconTable[iconType]?jsx(ItemIcon,{ariaLabel:intl.formatMessage(messages_default.iconLabel,{iconType}),className:node_icon_module_default.icon,dimension:iconSize,iconType}):jsx(ItemIcon,{className:node_icon_module_default.icon,dimension:iconSize,iconType:`default`})}export{NodeItemIcon};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/node-label.js";
2
- export { e as NodeLabel };
1
+ import{t as NodeLabel}from"../../../../chunks/node-label.js";export{NodeLabel};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/node-label.js";
2
- export { e as NodeLabel };
1
+ import{t as NodeLabel}from"../../../../chunks/node-label.js";export{NodeLabel};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/reload-node.js";
2
- export { e as ReloadNode };
1
+ import{t as ReloadNode}from"../../../../chunks/reload-node.js";export{ReloadNode};
@@ -1,20 +1 @@
1
- import { defineMessages as e } from "react-intl";
2
- var t = e({
3
- reloadButtonTitle: {
4
- id: "groupSharedFeatures.tree.branch.reloadButtonTitle",
5
- defaultMessage: "Reload"
6
- },
7
- reloadButtonAriaLabel: {
8
- id: "groupSharedFeatures.tree.branch.reloadButtonAriaLabel",
9
- defaultMessage: "Reload content for {nodeName}"
10
- },
11
- loadingError: {
12
- id: "groupSharedFeatures.tree.branch.loadingError",
13
- defaultMessage: "Loading Error"
14
- },
15
- iconAriaLabel: {
16
- id: "groupSharedFeatures.tree.branch.loadingErrorIconAriaLabel",
17
- defaultMessage: "Error"
18
- }
19
- });
20
- export { t as default };
1
+ import{defineMessages}from"react-intl";var messages_default=defineMessages({reloadButtonTitle:{id:`groupSharedFeatures.tree.branch.reloadButtonTitle`,defaultMessage:`Reload`},reloadButtonAriaLabel:{id:`groupSharedFeatures.tree.branch.reloadButtonAriaLabel`,defaultMessage:`Reload content for {nodeName}`},loadingError:{id:`groupSharedFeatures.tree.branch.loadingError`,defaultMessage:`Loading Error`},iconAriaLabel:{id:`groupSharedFeatures.tree.branch.loadingErrorIconAriaLabel`,defaultMessage:`Error`}});export{messages_default as default};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/reload-node.js";
2
- export { e as ReloadNode };
1
+ import{t as ReloadNode}from"../../../../chunks/reload-node.js";export{ReloadNode};
@@ -1,2 +1 @@
1
- import { ServiceNodeWrapper as e } from "./service-node-wrapper.js";
2
- export { e as ServiceNodeWrapper };
1
+ import{ServiceNodeWrapper}from"./service-node-wrapper.js";export{ServiceNodeWrapper};
@@ -1,11 +1 @@
1
- import { BRANCH_ID_DATA_ATTRIBUTE as e, LOAD_MORE_NODE_DATA_ATTRIBUTE as t, RELOAD_NODE_DATA_ATTRIBUTE as n, SERVICE_NODE_DATA_ATTRIBUTE as r } from "../../constants.js";
2
- import { jsx as i } from "react/jsx-runtime";
3
- function a({ isDisabled: a, parentId: o, variant: s, children: c }) {
4
- let l = { [`data-${r}`]: !0 };
5
- return s === "reload" && (l[`data-${n}`] = !0, l[`data-${e}`] = o), s === "loadMore" && (l[`data-${t}`] = !0, l[`data-${e}`] = o), /* @__PURE__ */ i("div", {
6
- "aria-disabled": a,
7
- ...l,
8
- children: c
9
- });
10
- }
11
- export { a as ServiceNodeWrapper };
1
+ import{BRANCH_ID_DATA_ATTRIBUTE,LOAD_MORE_NODE_DATA_ATTRIBUTE,RELOAD_NODE_DATA_ATTRIBUTE,SERVICE_NODE_DATA_ATTRIBUTE}from"../../constants.js";import{jsx}from"react/jsx-runtime";function ServiceNodeWrapper({isDisabled,parentId,variant,children}){let dataProps={[`data-${SERVICE_NODE_DATA_ATTRIBUTE}`]:!0};return variant===`reload`&&(dataProps[`data-${RELOAD_NODE_DATA_ATTRIBUTE}`]=!0,dataProps[`data-${BRANCH_ID_DATA_ATTRIBUTE}`]=parentId),variant===`loadMore`&&(dataProps[`data-${LOAD_MORE_NODE_DATA_ATTRIBUTE}`]=!0,dataProps[`data-${BRANCH_ID_DATA_ATTRIBUTE}`]=parentId),jsx(`div`,{"aria-disabled":isDisabled,...dataProps,children})}export{ServiceNodeWrapper};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/skeleton.js";
2
- export { e as Skeleton };
1
+ import{t as Skeleton}from"../../../../chunks/skeleton.js";export{Skeleton};
@@ -1,2 +1 @@
1
- import { t as e } from "../../../../chunks/skeleton.js";
2
- export { e as Skeleton };
1
+ import{t as Skeleton}from"../../../../chunks/skeleton.js";export{Skeleton};
@@ -1,2 +1 @@
1
- import { TruncatedTooltipText as e } from "./truncated-tooltip-text.js";
2
- export { e as TruncatedTooltipText };
1
+ import{TruncatedTooltipText}from"./truncated-tooltip-text.js";export{TruncatedTooltipText};
@@ -1,26 +1 @@
1
- import { useLayoutEffect as e, useState as t } from "react";
2
- import { Tooltip as n } from "@box/blueprint-web";
3
- import { jsx as r } from "react/jsx-runtime";
4
- function i({ labelElementRef: i, textElementRef: a, subtitleElementRef: o, tooltipContent: s, children: c }) {
5
- let [l, u] = t(!1);
6
- return e(() => {
7
- let e = () => {
8
- u([
9
- a.current,
10
- o.current,
11
- i.current
12
- ].some((e) => e && e.scrollWidth > e.offsetWidth));
13
- };
14
- return e(), window.addEventListener("resize", e), () => {
15
- window.removeEventListener("resize", e);
16
- };
17
- }, [
18
- a,
19
- o,
20
- i
21
- ]), l ? /* @__PURE__ */ r(n, {
22
- content: s,
23
- children: c
24
- }) : c;
25
- }
26
- export { i as TruncatedTooltipText };
1
+ import{useLayoutEffect,useState}from"react";import{Tooltip}from"@box/blueprint-web";import{jsx}from"react/jsx-runtime";function TruncatedTooltipText({labelElementRef,textElementRef,subtitleElementRef,tooltipContent,children}){let[isTruncated,setIsTruncated]=useState(!1);return useLayoutEffect(()=>{let checkIfTruncated=()=>{setIsTruncated([textElementRef.current,subtitleElementRef.current,labelElementRef.current].some(element=>element&&element.scrollWidth>element.offsetWidth))};return checkIfTruncated(),window.addEventListener(`resize`,checkIfTruncated),()=>{window.removeEventListener(`resize`,checkIfTruncated)}},[textElementRef,subtitleElementRef,labelElementRef]),isTruncated?jsx(Tooltip,{content:tooltipContent,children}):children}export{TruncatedTooltipText};
@@ -1,2 +1 @@
1
- var e = "servicenode", t = "loadmorenode", n = "reloadnode", r = "branchid", i = "contentnode", a = "contentnodeloading";
2
- export { r as BRANCH_ID_DATA_ATTRIBUTE, i as CONTENT_NODE, a as CONTENT_NODE_LOADING, t as LOAD_MORE_NODE_DATA_ATTRIBUTE, n as RELOAD_NODE_DATA_ATTRIBUTE, e as SERVICE_NODE_DATA_ATTRIBUTE };
1
+ var SERVICE_NODE_DATA_ATTRIBUTE=`servicenode`,LOAD_MORE_NODE_DATA_ATTRIBUTE=`loadmorenode`,RELOAD_NODE_DATA_ATTRIBUTE=`reloadnode`,BRANCH_ID_DATA_ATTRIBUTE=`branchid`,CONTENT_NODE=`contentnode`,CONTENT_NODE_LOADING=`contentnodeloading`;export{BRANCH_ID_DATA_ATTRIBUTE,CONTENT_NODE,CONTENT_NODE_LOADING,LOAD_MORE_NODE_DATA_ATTRIBUTE,RELOAD_NODE_DATA_ATTRIBUTE,SERVICE_NODE_DATA_ATTRIBUTE};