@itwin/presentation-hierarchies-react 1.6.1 → 2.0.0-alpha.1

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 (90) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/README.md +1 -21
  3. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts +12 -0
  4. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts.map +1 -0
  5. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js +19 -0
  6. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js.map +1 -0
  7. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts +12 -0
  8. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts.map +1 -0
  9. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js +72 -0
  10. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js.map +1 -0
  11. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts +12 -0
  12. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts.map +1 -0
  13. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js +10 -0
  14. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js.map +1 -0
  15. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts +14 -28
  16. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts.map +1 -1
  17. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js +20 -84
  18. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js.map +1 -1
  19. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts +10 -40
  20. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts.map +1 -1
  21. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js +5 -73
  22. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js.map +1 -1
  23. package/lib/esm/presentation-hierarchies-react.d.ts +3 -1
  24. package/lib/esm/presentation-hierarchies-react.d.ts.map +1 -1
  25. package/lib/esm/presentation-hierarchies-react.js +3 -1
  26. package/lib/esm/presentation-hierarchies-react.js.map +1 -1
  27. package/package.json +9 -13
  28. package/lib/cjs/package.json +0 -1
  29. package/lib/cjs/presentation-hierarchies-react/TreeNode.d.ts +0 -75
  30. package/lib/cjs/presentation-hierarchies-react/TreeNode.d.ts.map +0 -1
  31. package/lib/cjs/presentation-hierarchies-react/TreeNode.js +0 -15
  32. package/lib/cjs/presentation-hierarchies-react/TreeNode.js.map +0 -1
  33. package/lib/cjs/presentation-hierarchies-react/UnifiedSelectionContext.d.ts +0 -15
  34. package/lib/cjs/presentation-hierarchies-react/UnifiedSelectionContext.d.ts.map +0 -1
  35. package/lib/cjs/presentation-hierarchies-react/UnifiedSelectionContext.js +0 -26
  36. package/lib/cjs/presentation-hierarchies-react/UnifiedSelectionContext.js.map +0 -1
  37. package/lib/cjs/presentation-hierarchies-react/UseIModelTree.d.ts +0 -55
  38. package/lib/cjs/presentation-hierarchies-react/UseIModelTree.d.ts.map +0 -1
  39. package/lib/cjs/presentation-hierarchies-react/UseIModelTree.js +0 -66
  40. package/lib/cjs/presentation-hierarchies-react/UseIModelTree.js.map +0 -1
  41. package/lib/cjs/presentation-hierarchies-react/UseSelectionHandler.d.ts +0 -46
  42. package/lib/cjs/presentation-hierarchies-react/UseSelectionHandler.d.ts.map +0 -1
  43. package/lib/cjs/presentation-hierarchies-react/UseSelectionHandler.js +0 -101
  44. package/lib/cjs/presentation-hierarchies-react/UseSelectionHandler.js.map +0 -1
  45. package/lib/cjs/presentation-hierarchies-react/UseTree.d.ts +0 -132
  46. package/lib/cjs/presentation-hierarchies-react/UseTree.d.ts.map +0 -1
  47. package/lib/cjs/presentation-hierarchies-react/UseTree.js +0 -246
  48. package/lib/cjs/presentation-hierarchies-react/UseTree.js.map +0 -1
  49. package/lib/cjs/presentation-hierarchies-react/internal/DisposePolyfill.d.ts +0 -1
  50. package/lib/cjs/presentation-hierarchies-react/internal/DisposePolyfill.d.ts.map +0 -1
  51. package/lib/cjs/presentation-hierarchies-react/internal/DisposePolyfill.js +0 -11
  52. package/lib/cjs/presentation-hierarchies-react/internal/DisposePolyfill.js.map +0 -1
  53. package/lib/cjs/presentation-hierarchies-react/internal/TreeActions.d.ts +0 -53
  54. package/lib/cjs/presentation-hierarchies-react/internal/TreeActions.d.ts.map +0 -1
  55. package/lib/cjs/presentation-hierarchies-react/internal/TreeActions.js +0 -311
  56. package/lib/cjs/presentation-hierarchies-react/internal/TreeActions.js.map +0 -1
  57. package/lib/cjs/presentation-hierarchies-react/internal/TreeLoader.d.ts +0 -44
  58. package/lib/cjs/presentation-hierarchies-react/internal/TreeLoader.d.ts.map +0 -1
  59. package/lib/cjs/presentation-hierarchies-react/internal/TreeLoader.js +0 -98
  60. package/lib/cjs/presentation-hierarchies-react/internal/TreeLoader.js.map +0 -1
  61. package/lib/cjs/presentation-hierarchies-react/internal/TreeModel.d.ts +0 -70
  62. package/lib/cjs/presentation-hierarchies-react/internal/TreeModel.d.ts.map +0 -1
  63. package/lib/cjs/presentation-hierarchies-react/internal/TreeModel.js +0 -158
  64. package/lib/cjs/presentation-hierarchies-react/internal/TreeModel.js.map +0 -1
  65. package/lib/cjs/presentation-hierarchies-react/internal/UseUnifiedSelection.d.ts +0 -28
  66. package/lib/cjs/presentation-hierarchies-react/internal/UseUnifiedSelection.d.ts.map +0 -1
  67. package/lib/cjs/presentation-hierarchies-react/internal/UseUnifiedSelection.js +0 -131
  68. package/lib/cjs/presentation-hierarchies-react/internal/UseUnifiedSelection.js.map +0 -1
  69. package/lib/cjs/presentation-hierarchies-react/internal/Utils.d.ts +0 -23
  70. package/lib/cjs/presentation-hierarchies-react/internal/Utils.d.ts.map +0 -1
  71. package/lib/cjs/presentation-hierarchies-react/internal/Utils.js +0 -64
  72. package/lib/cjs/presentation-hierarchies-react/internal/Utils.js.map +0 -1
  73. package/lib/cjs/presentation-hierarchies-react/itwinui/LocalizationContext.d.ts +0 -73
  74. package/lib/cjs/presentation-hierarchies-react/itwinui/LocalizationContext.d.ts.map +0 -1
  75. package/lib/cjs/presentation-hierarchies-react/itwinui/LocalizationContext.js +0 -38
  76. package/lib/cjs/presentation-hierarchies-react/itwinui/LocalizationContext.js.map +0 -1
  77. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeNodeRenderer.css +0 -29
  78. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts +0 -56
  79. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts.map +0 -1
  80. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js +0 -126
  81. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js.map +0 -1
  82. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts +0 -60
  83. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts.map +0 -1
  84. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeRenderer.js +0 -94
  85. package/lib/cjs/presentation-hierarchies-react/itwinui/TreeRenderer.js.map +0 -1
  86. package/lib/cjs/presentation-hierarchies-react.d.ts +0 -11
  87. package/lib/cjs/presentation-hierarchies-react.d.ts.map +0 -1
  88. package/lib/cjs/presentation-hierarchies-react.js +0 -30
  89. package/lib/cjs/presentation-hierarchies-react.js.map +0 -1
  90. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.css +0 -29
@@ -1,60 +1,30 @@
1
1
  import { ComponentPropsWithoutRef } from "react";
2
- import { NodeData, Tree } from "@itwin/itwinui-react";
2
+ import { Tree } from "@itwin/itwinui-react/bricks";
3
3
  import { PresentationTreeNode } from "../TreeNode.js";
4
4
  import { SelectionMode } from "../UseSelectionHandler.js";
5
5
  import { useTree } from "../UseTree.js";
6
6
  import { LocalizationContextProvider } from "./LocalizationContext.js";
7
7
  import { TreeNodeRenderer } from "./TreeNodeRenderer.js";
8
- /** @public */
9
- type TreeProps = ComponentPropsWithoutRef<typeof Tree<RenderedTreeNode>>;
10
- /** @public */
11
- type TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;
12
- /** @public */
8
+ /** @alpha */
9
+ export type TreeProps = ComponentPropsWithoutRef<typeof Tree.Root>;
10
+ /** @alpha */
11
+ export type TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;
12
+ /** @alpha */
13
13
  interface TreeRendererOwnProps {
14
14
  /** Root nodes of the tree. */
15
15
  rootNodes: PresentationTreeNode[];
16
16
  /** Active selection mode used by the tree. Defaults to `"single"`. */
17
17
  selectionMode?: SelectionMode;
18
18
  }
19
- /** @public */
20
- type TreeRendererProps = Pick<ReturnType<typeof useTree>, "rootNodes" | "expandNode"> & Partial<Pick<ReturnType<typeof useTree>, "selectNodes" | "isNodeSelected" | "getHierarchyLevelDetails" | "reloadTree">> & Pick<TreeNodeRendererProps, "onFilterClick" | "getIcon" | "getLabel" | "getSublabel" | "filterButtonsVisibility"> & TreeRendererOwnProps & Omit<TreeProps, "data" | "nodeRenderer" | "getNode" | "enableVirtualization"> & ComponentPropsWithoutRef<typeof LocalizationContextProvider>;
19
+ /** @alpha */
20
+ type TreeRendererProps = Pick<ReturnType<typeof useTree>, "expandNode"> & Partial<Pick<ReturnType<typeof useTree>, "selectNodes" | "isNodeSelected" | "getHierarchyLevelDetails" | "reloadTree">> & Omit<TreeNodeRendererProps, "node" | "reloadTree"> & TreeRendererOwnProps & ComponentPropsWithoutRef<typeof LocalizationContextProvider>;
21
21
  /**
22
22
  * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes
23
23
  * are rendered using `TreeNodeRenderer` component from this package.
24
24
  *
25
25
  * @see https://itwinui.bentley.com/docs/tree
26
- * @public
26
+ * @alpha
27
27
  */
28
- export declare function TreeRenderer({ rootNodes, expandNode, selectNodes, isNodeSelected, onFilterClick, getIcon, getLabel, getSublabel, getHierarchyLevelDetails, reloadTree, selectionMode, localizedStrings, size, filterButtonsVisibility, ...treeProps }: TreeRendererProps): import("react/jsx-runtime").JSX.Element;
29
- /**
30
- * A data structure for a tree node that is rendered using the `TreeRenderer` component.
31
- *
32
- * In addition to the `PresentationTreeNode` union, this type may have one additional variation - an informational
33
- * type of node with `ChildrenPlaceholder` type. This type of node is returned as the single child node of a parent
34
- * while its children are being loaded. This allows the node renderer to show a placeholder under the parent during
35
- * the process.
36
- *
37
- * @public
38
- */
39
- export type RenderedTreeNode = PresentationTreeNode | {
40
- id: string;
41
- parentNodeId: string | undefined;
42
- type: "ChildrenPlaceholder";
43
- };
44
- /**
45
- * An utility function that creates an `@itwin/itwinui-react` `NodeData` object for the `Tree` component from a
46
- * `RenderedTreeNode` object.
47
- *
48
- * Usage example:
49
- * ```tsx
50
- * function MyComponent({ rootNodes, nodeRenderer }: MyComponentProps) {
51
- * const getNode = useCallback<TreeProps["getNode"]>((node) => createRenderedTreeNodeData(node, () => false), []);
52
- * return <Tree<RenderedTreeNode> data={rootNodes} getNode={getNode} nodeRenderer={nodeRenderer} />;
53
- * }
54
- * ```
55
- *
56
- * @public
57
- */
58
- export declare function createRenderedTreeNodeData(node: RenderedTreeNode, isNodeSelected: (nodeId: string) => boolean): NodeData<RenderedTreeNode>;
28
+ export declare function TreeRenderer({ rootNodes, expandNode, localizedStrings, selectNodes, isNodeSelected, selectionMode, ...treeProps }: TreeRendererProps): import("react/jsx-runtime").JSX.Element;
59
29
  export {};
60
30
  //# sourceMappingURL=TreeRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAe,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAuB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,cAAc;AACd,KAAK,SAAS,GAAG,wBAAwB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEzE,cAAc;AACd,KAAK,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/E,cAAc;AACd,UAAU,oBAAoB;IAC5B,8BAA8B;IAC9B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,cAAc;AACd,KAAK,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,GACnF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,0BAA0B,GAAG,YAAY,CAAC,CAAC,GACvH,IAAI,CAAC,qBAAqB,EAAE,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,yBAAyB,CAAC,GACjH,oBAAoB,GACpB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,sBAAsB,CAAC,GAC7E,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,uBAAuB,EACvB,GAAG,SAAS,EACb,EAAE,iBAAiB,2CA+CnB;AAOD;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB;IACE,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEN;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CA6B1I"}
1
+ {"version":3,"file":"TreeRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAuB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,aAAa;AACb,MAAM,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnE,aAAa;AACb,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACtF,aAAa;AACb,UAAU,oBAAoB;IAC5B,8BAA8B;IAC9B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,aAAa;AACb,KAAK,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,YAAY,CAAC,GACrE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,0BAA0B,GAAG,YAAY,CAAC,CAAC,GACvH,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,YAAY,CAAC,GAClD,oBAAoB,GACpB,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,EAAE,iBAAiB,2CAqBpJ"}
@@ -1,90 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- import { useCallback } from "react";
7
- import { Tree } from "@itwin/itwinui-react";
2
+ import { Tree } from "@itwin/itwinui-react/bricks";
8
3
  import { useSelectionHandler } from "../UseSelectionHandler.js";
9
4
  import { LocalizationContextProvider } from "./LocalizationContext.js";
10
- import { TreeNodeRenderer } from "./TreeNodeRenderer.js";
5
+ import { TreeLevelRenderer } from "./TreeLevelRenderer.js";
11
6
  /**
12
7
  * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes
13
8
  * are rendered using `TreeNodeRenderer` component from this package.
14
9
  *
15
10
  * @see https://itwinui.bentley.com/docs/tree
16
- * @public
11
+ * @alpha
17
12
  */
18
- export function TreeRenderer({ rootNodes, expandNode, selectNodes, isNodeSelected, onFilterClick, getIcon, getLabel, getSublabel, getHierarchyLevelDetails, reloadTree, selectionMode, localizedStrings, size, filterButtonsVisibility, ...treeProps }) {
13
+ export function TreeRenderer({ rootNodes, expandNode, localizedStrings, selectNodes, isNodeSelected, selectionMode, ...treeProps }) {
19
14
  const { onNodeClick, onNodeKeyDown } = useSelectionHandler({
20
15
  rootNodes,
21
16
  selectNodes: selectNodes ?? noopSelectNodes,
22
17
  selectionMode: selectionMode ?? "single",
23
18
  });
24
- const nodeRenderer = useCallback((nodeProps) => {
25
- return (_jsx(TreeNodeRenderer, { ...nodeProps, filterButtonsVisibility: filterButtonsVisibility, expandNode: expandNode, getHierarchyLevelDetails: getHierarchyLevelDetails, onFilterClick: onFilterClick, onNodeClick: onNodeClick, onNodeKeyDown: onNodeKeyDown, getIcon: getIcon, getLabel: getLabel, getSublabel: getSublabel, reloadTree: reloadTree, size: size }));
26
- }, [
27
- filterButtonsVisibility,
28
- expandNode,
29
- getHierarchyLevelDetails,
30
- onFilterClick,
31
- onNodeClick,
32
- onNodeKeyDown,
33
- getIcon,
34
- getLabel,
35
- getSublabel,
36
- reloadTree,
37
- size,
38
- ]);
39
- const getNode = useCallback((node) => createRenderedTreeNodeData(node, isNodeSelected ?? noopIsNodeSelected), [isNodeSelected]);
40
- return (_jsx(LocalizationContextProvider, { localizedStrings: localizedStrings, children: _jsx(Tree, { ...treeProps, size: size, data: rootNodes, nodeRenderer: nodeRenderer, getNode: getNode, enableVirtualization: true }) }));
19
+ return (_jsx(LocalizationContextProvider, { localizedStrings: localizedStrings, children: _jsx(Tree.Root, { style: { height: "100%", width: "100%" }, children: _jsx(TreeLevelRenderer, { ...treeProps, nodes: rootNodes, expandNode: expandNode, onNodeClick: onNodeClick, onNodeKeyDown: onNodeKeyDown, isNodeSelected: isNodeSelected }) }) }));
41
20
  }
42
21
  function noopSelectNodes() { }
43
- function noopIsNodeSelected() {
44
- return false;
45
- }
46
- /**
47
- * An utility function that creates an `@itwin/itwinui-react` `NodeData` object for the `Tree` component from a
48
- * `RenderedTreeNode` object.
49
- *
50
- * Usage example:
51
- * ```tsx
52
- * function MyComponent({ rootNodes, nodeRenderer }: MyComponentProps) {
53
- * const getNode = useCallback<TreeProps["getNode"]>((node) => createRenderedTreeNodeData(node, () => false), []);
54
- * return <Tree<RenderedTreeNode> data={rootNodes} getNode={getNode} nodeRenderer={nodeRenderer} />;
55
- * }
56
- * ```
57
- *
58
- * @public
59
- */
60
- export function createRenderedTreeNodeData(node, isNodeSelected) {
61
- if ("type" in node) {
62
- return {
63
- nodeId: node.id,
64
- node,
65
- hasSubNodes: false,
66
- isExpanded: false,
67
- isSelected: false,
68
- isDisabled: true,
69
- };
70
- }
71
- return {
72
- nodeId: node.id,
73
- node,
74
- hasSubNodes: node.children === true || node.children.length > 0,
75
- subNodes:
76
- // returns placeholder node to show as child while children is loading.
77
- node.children === true
78
- ? [
79
- {
80
- id: `Loading-${node.id}`,
81
- parentNodeId: node.id,
82
- type: "ChildrenPlaceholder",
83
- },
84
- ]
85
- : node.children,
86
- isExpanded: node.isExpanded,
87
- isSelected: isNodeSelected(node.id),
88
- };
89
- }
90
22
  //# sourceMappingURL=TreeRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAA4B,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAY,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAiB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBzD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,uBAAuB,EACvB,GAAG,SAAS,EACM;IAClB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC;QACzD,SAAS;QACT,WAAW,EAAE,WAAW,IAAI,eAAe;QAC3C,aAAa,EAAE,aAAa,IAAI,QAAQ;KACzC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,SAAS,EAAE,EAAE;QACZ,OAAO,CACL,KAAC,gBAAgB,OACX,SAAS,EACb,uBAAuB,EAAE,uBAAuB,EAChD,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,GACV,CACH,CAAC;IACJ,CAAC,EACD;QACE,uBAAuB;QACvB,UAAU;QACV,wBAAwB;QACxB,aAAa;QACb,WAAW;QACX,aAAa;QACb,OAAO;QACP,QAAQ;QACR,WAAW;QACX,UAAU;QACV,IAAI;KACL,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,cAAc,IAAI,kBAAkB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAEtJ,OAAO,CACL,KAAC,2BAA2B,IAAC,gBAAgB,EAAE,gBAAgB,YAC7D,KAAC,IAAI,OAAuB,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,GAAI,GACpH,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,KAAI,CAAC;AAC7B,SAAS,kBAAkB;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAoBD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAsB,EAAE,cAA2C;IAC5G,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI;YACJ,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC/D,QAAQ;QACN,uEAAuE;QACvE,IAAI,CAAC,QAAQ,KAAK,IAAI;YACpB,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,WAAW,IAAI,CAAC,EAAE,EAAE;oBACxB,YAAY,EAAE,IAAI,CAAC,EAAE;oBACrB,IAAI,EAAE,qBAAqB;iBAC5B;aACF;YACH,CAAC,CAAC,IAAI,CAAC,QAAQ;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { ComponentPropsWithoutRef, useCallback } from \"react\";\nimport { NodeData, Tree } from \"@itwin/itwinui-react\";\nimport { PresentationTreeNode } from \"../TreeNode.js\";\nimport { SelectionMode, useSelectionHandler } from \"../UseSelectionHandler.js\";\nimport { useTree } from \"../UseTree.js\";\nimport { LocalizationContextProvider } from \"./LocalizationContext.js\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer.js\";\n\n/** @public */\ntype TreeProps = ComponentPropsWithoutRef<typeof Tree<RenderedTreeNode>>;\n\n/** @public */\ntype TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;\n\n/** @public */\ninterface TreeRendererOwnProps {\n /** Root nodes of the tree. */\n rootNodes: PresentationTreeNode[];\n /** Active selection mode used by the tree. Defaults to `\"single\"`. */\n selectionMode?: SelectionMode;\n}\n\n/** @public */\ntype TreeRendererProps = Pick<ReturnType<typeof useTree>, \"rootNodes\" | \"expandNode\"> &\n Partial<Pick<ReturnType<typeof useTree>, \"selectNodes\" | \"isNodeSelected\" | \"getHierarchyLevelDetails\" | \"reloadTree\">> &\n Pick<TreeNodeRendererProps, \"onFilterClick\" | \"getIcon\" | \"getLabel\" | \"getSublabel\" | \"filterButtonsVisibility\"> &\n TreeRendererOwnProps &\n Omit<TreeProps, \"data\" | \"nodeRenderer\" | \"getNode\" | \"enableVirtualization\"> &\n ComponentPropsWithoutRef<typeof LocalizationContextProvider>;\n\n/**\n * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes\n * are rendered using `TreeNodeRenderer` component from this package.\n *\n * @see https://itwinui.bentley.com/docs/tree\n * @public\n */\nexport function TreeRenderer({\n rootNodes,\n expandNode,\n selectNodes,\n isNodeSelected,\n onFilterClick,\n getIcon,\n getLabel,\n getSublabel,\n getHierarchyLevelDetails,\n reloadTree,\n selectionMode,\n localizedStrings,\n size,\n filterButtonsVisibility,\n ...treeProps\n}: TreeRendererProps) {\n const { onNodeClick, onNodeKeyDown } = useSelectionHandler({\n rootNodes,\n selectNodes: selectNodes ?? noopSelectNodes,\n selectionMode: selectionMode ?? \"single\",\n });\n const nodeRenderer = useCallback<TreeProps[\"nodeRenderer\"]>(\n (nodeProps) => {\n return (\n <TreeNodeRenderer\n {...nodeProps}\n filterButtonsVisibility={filterButtonsVisibility}\n expandNode={expandNode}\n getHierarchyLevelDetails={getHierarchyLevelDetails}\n onFilterClick={onFilterClick}\n onNodeClick={onNodeClick}\n onNodeKeyDown={onNodeKeyDown}\n getIcon={getIcon}\n getLabel={getLabel}\n getSublabel={getSublabel}\n reloadTree={reloadTree}\n size={size}\n />\n );\n },\n [\n filterButtonsVisibility,\n expandNode,\n getHierarchyLevelDetails,\n onFilterClick,\n onNodeClick,\n onNodeKeyDown,\n getIcon,\n getLabel,\n getSublabel,\n reloadTree,\n size,\n ],\n );\n\n const getNode = useCallback<TreeProps[\"getNode\"]>((node) => createRenderedTreeNodeData(node, isNodeSelected ?? noopIsNodeSelected), [isNodeSelected]);\n\n return (\n <LocalizationContextProvider localizedStrings={localizedStrings}>\n <Tree<RenderedTreeNode> {...treeProps} size={size} data={rootNodes} nodeRenderer={nodeRenderer} getNode={getNode} enableVirtualization={true} />\n </LocalizationContextProvider>\n );\n}\n\nfunction noopSelectNodes() {}\nfunction noopIsNodeSelected() {\n return false;\n}\n\n/**\n * A data structure for a tree node that is rendered using the `TreeRenderer` component.\n *\n * In addition to the `PresentationTreeNode` union, this type may have one additional variation - an informational\n * type of node with `ChildrenPlaceholder` type. This type of node is returned as the single child node of a parent\n * while its children are being loaded. This allows the node renderer to show a placeholder under the parent during\n * the process.\n *\n * @public\n */\nexport type RenderedTreeNode =\n | PresentationTreeNode\n | {\n id: string;\n parentNodeId: string | undefined;\n type: \"ChildrenPlaceholder\";\n };\n\n/**\n * An utility function that creates an `@itwin/itwinui-react` `NodeData` object for the `Tree` component from a\n * `RenderedTreeNode` object.\n *\n * Usage example:\n * ```tsx\n * function MyComponent({ rootNodes, nodeRenderer }: MyComponentProps) {\n * const getNode = useCallback<TreeProps[\"getNode\"]>((node) => createRenderedTreeNodeData(node, () => false), []);\n * return <Tree<RenderedTreeNode> data={rootNodes} getNode={getNode} nodeRenderer={nodeRenderer} />;\n * }\n * ```\n *\n * @public\n */\nexport function createRenderedTreeNodeData(node: RenderedTreeNode, isNodeSelected: (nodeId: string) => boolean): NodeData<RenderedTreeNode> {\n if (\"type\" in node) {\n return {\n nodeId: node.id,\n node,\n hasSubNodes: false,\n isExpanded: false,\n isSelected: false,\n isDisabled: true,\n };\n }\n return {\n nodeId: node.id,\n node,\n hasSubNodes: node.children === true || node.children.length > 0,\n subNodes:\n // returns placeholder node to show as child while children is loading.\n node.children === true\n ? [\n {\n id: `Loading-${node.id}`,\n parentNodeId: node.id,\n type: \"ChildrenPlaceholder\",\n },\n ]\n : node.children,\n isExpanded: node.isExpanded,\n isSelected: isNodeSelected(node.id),\n };\n}\n"]}
1
+ {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeRenderer.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAiB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAuB3D;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAAqB;IACnJ,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC;QACzD,SAAS;QACT,WAAW,EAAE,WAAW,IAAI,eAAe;QAC3C,aAAa,EAAE,aAAa,IAAI,QAAQ;KACzC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,2BAA2B,IAAC,gBAAgB,EAAE,gBAAgB,YAC7D,KAAC,IAAI,CAAC,IAAI,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YACjD,KAAC,iBAAiB,OACZ,SAAS,EACb,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC9B,GACQ,GACgB,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,KAAI,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { ComponentPropsWithoutRef } from \"react\";\nimport { Tree } from \"@itwin/itwinui-react/bricks\";\nimport { PresentationTreeNode } from \"../TreeNode.js\";\nimport { SelectionMode, useSelectionHandler } from \"../UseSelectionHandler.js\";\nimport { useTree } from \"../UseTree.js\";\nimport { LocalizationContextProvider } from \"./LocalizationContext.js\";\nimport { TreeLevelRenderer } from \"./TreeLevelRenderer.js\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer.js\";\n\n/** @alpha */\nexport type TreeProps = ComponentPropsWithoutRef<typeof Tree.Root>;\n\n/** @alpha */\nexport type TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;\n/** @alpha */\ninterface TreeRendererOwnProps {\n /** Root nodes of the tree. */\n rootNodes: PresentationTreeNode[];\n /** Active selection mode used by the tree. Defaults to `\"single\"`. */\n selectionMode?: SelectionMode;\n}\n\n/** @alpha */\ntype TreeRendererProps = Pick<ReturnType<typeof useTree>, \"expandNode\"> &\n Partial<Pick<ReturnType<typeof useTree>, \"selectNodes\" | \"isNodeSelected\" | \"getHierarchyLevelDetails\" | \"reloadTree\">> &\n Omit<TreeNodeRendererProps, \"node\" | \"reloadTree\"> &\n TreeRendererOwnProps &\n ComponentPropsWithoutRef<typeof LocalizationContextProvider>;\n\n/**\n * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes\n * are rendered using `TreeNodeRenderer` component from this package.\n *\n * @see https://itwinui.bentley.com/docs/tree\n * @alpha\n */\nexport function TreeRenderer({ rootNodes, expandNode, localizedStrings, selectNodes, isNodeSelected, selectionMode, ...treeProps }: TreeRendererProps) {\n const { onNodeClick, onNodeKeyDown } = useSelectionHandler({\n rootNodes,\n selectNodes: selectNodes ?? noopSelectNodes,\n selectionMode: selectionMode ?? \"single\",\n });\n\n return (\n <LocalizationContextProvider localizedStrings={localizedStrings}>\n <Tree.Root style={{ height: \"100%\", width: \"100%\" }}>\n <TreeLevelRenderer\n {...treeProps}\n nodes={rootNodes}\n expandNode={expandNode}\n onNodeClick={onNodeClick}\n onNodeKeyDown={onNodeKeyDown}\n isNodeSelected={isNodeSelected}\n />\n </Tree.Root>\n </LocalizationContextProvider>\n );\n}\n\nfunction noopSelectNodes() {}\n"]}
@@ -3,8 +3,10 @@ export { UnifiedSelectionProvider } from "./presentation-hierarchies-react/Unifi
3
3
  export { useSelectionHandler } from "./presentation-hierarchies-react/UseSelectionHandler.js";
4
4
  export { HierarchyLevelDetails, useTree, useUnifiedSelectionTree } from "./presentation-hierarchies-react/UseTree.js";
5
5
  export { useIModelTree, useIModelUnifiedSelectionTree } from "./presentation-hierarchies-react/UseIModelTree.js";
6
+ export { TreeErrorRenderer } from "./presentation-hierarchies-react/itwinui/TreeErrorRenderer.js";
7
+ export { TreeLevelRenderer } from "./presentation-hierarchies-react/itwinui/TreeLevelRenderer.js";
6
8
  export { TreeNodeRenderer } from "./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js";
7
- export { RenderedTreeNode, TreeRenderer, createRenderedTreeNodeData } from "./presentation-hierarchies-react/itwinui/TreeRenderer.js";
9
+ export { TreeRenderer } from "./presentation-hierarchies-react/itwinui/TreeRenderer.js";
8
10
  export { LocalizationContextProvider } from "./presentation-hierarchies-react/itwinui/LocalizationContext.js";
9
11
  export { GenericInstanceFilter, HierarchyNode, HierarchyProvider } from "@itwin/presentation-hierarchies";
10
12
  export { SelectionStorage } from "@itwin/unified-selection";
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-hierarchies-react.d.ts","sourceRoot":"","sources":["../../src/presentation-hierarchies-react.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,qCAAqC,EACrC,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtI,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"presentation-hierarchies-react.d.ts","sourceRoot":"","sources":["../../src/presentation-hierarchies-react.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,qCAAqC,EACrC,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -7,8 +7,10 @@ export { UnifiedSelectionProvider } from "./presentation-hierarchies-react/Unifi
7
7
  export { useSelectionHandler } from "./presentation-hierarchies-react/UseSelectionHandler.js";
8
8
  export { useTree, useUnifiedSelectionTree } from "./presentation-hierarchies-react/UseTree.js";
9
9
  export { useIModelTree, useIModelUnifiedSelectionTree } from "./presentation-hierarchies-react/UseIModelTree.js";
10
+ export { TreeErrorRenderer } from "./presentation-hierarchies-react/itwinui/TreeErrorRenderer.js";
11
+ export { TreeLevelRenderer } from "./presentation-hierarchies-react/itwinui/TreeLevelRenderer.js";
10
12
  export { TreeNodeRenderer } from "./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js";
11
- export { TreeRenderer, createRenderedTreeNodeData } from "./presentation-hierarchies-react/itwinui/TreeRenderer.js";
13
+ export { TreeRenderer } from "./presentation-hierarchies-react/itwinui/TreeRenderer.js";
12
14
  export { LocalizationContextProvider } from "./presentation-hierarchies-react/itwinui/LocalizationContext.js";
13
15
  export { GenericInstanceFilter, HierarchyNode } from "@itwin/presentation-hierarchies";
14
16
  //# sourceMappingURL=presentation-hierarchies-react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-hierarchies-react.js","sourceRoot":"","sources":["../../src/presentation-hierarchies-react.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAML,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAyB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAoB,YAAY,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtI,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAqB,MAAM,iCAAiC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nexport {\n PresentationGenericInfoNode,\n PresentationHierarchyNode,\n PresentationInfoNode,\n PresentationResultSetTooLargeInfoNode,\n PresentationTreeNode,\n isPresentationHierarchyNode,\n} from \"./presentation-hierarchies-react/TreeNode.js\";\nexport { UnifiedSelectionProvider } from \"./presentation-hierarchies-react/UnifiedSelectionContext.js\";\nexport { useSelectionHandler } from \"./presentation-hierarchies-react/UseSelectionHandler.js\";\nexport { HierarchyLevelDetails, useTree, useUnifiedSelectionTree } from \"./presentation-hierarchies-react/UseTree.js\";\nexport { useIModelTree, useIModelUnifiedSelectionTree } from \"./presentation-hierarchies-react/UseIModelTree.js\";\nexport { TreeNodeRenderer } from \"./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js\";\nexport { RenderedTreeNode, TreeRenderer, createRenderedTreeNodeData } from \"./presentation-hierarchies-react/itwinui/TreeRenderer.js\";\nexport { LocalizationContextProvider } from \"./presentation-hierarchies-react/itwinui/LocalizationContext.js\";\n\nexport { GenericInstanceFilter, HierarchyNode, HierarchyProvider } from \"@itwin/presentation-hierarchies\";\nexport { SelectionStorage } from \"@itwin/unified-selection\";\n"]}
1
+ {"version":3,"file":"presentation-hierarchies-react.js","sourceRoot":"","sources":["../../src/presentation-hierarchies-react.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAML,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAyB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAqB,MAAM,iCAAiC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nexport {\n PresentationGenericInfoNode,\n PresentationHierarchyNode,\n PresentationInfoNode,\n PresentationResultSetTooLargeInfoNode,\n PresentationTreeNode,\n isPresentationHierarchyNode,\n} from \"./presentation-hierarchies-react/TreeNode.js\";\nexport { UnifiedSelectionProvider } from \"./presentation-hierarchies-react/UnifiedSelectionContext.js\";\nexport { useSelectionHandler } from \"./presentation-hierarchies-react/UseSelectionHandler.js\";\nexport { HierarchyLevelDetails, useTree, useUnifiedSelectionTree } from \"./presentation-hierarchies-react/UseTree.js\";\nexport { useIModelTree, useIModelUnifiedSelectionTree } from \"./presentation-hierarchies-react/UseIModelTree.js\";\nexport { TreeErrorRenderer } from \"./presentation-hierarchies-react/itwinui/TreeErrorRenderer.js\";\nexport { TreeLevelRenderer } from \"./presentation-hierarchies-react/itwinui/TreeLevelRenderer.js\";\nexport { TreeNodeRenderer } from \"./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js\";\nexport { TreeRenderer } from \"./presentation-hierarchies-react/itwinui/TreeRenderer.js\";\nexport { LocalizationContextProvider } from \"./presentation-hierarchies-react/itwinui/LocalizationContext.js\";\n\nexport { GenericInstanceFilter, HierarchyNode, HierarchyProvider } from \"@itwin/presentation-hierarchies\";\nexport { SelectionStorage } from \"@itwin/unified-selection\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/presentation-hierarchies-react",
3
- "version": "1.6.1",
3
+ "version": "2.0.0-alpha.1",
4
4
  "description": "React components based on `@itwin/presentation-hierarchies`",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -28,19 +28,17 @@
28
28
  "Tree"
29
29
  ],
30
30
  "type": "module",
31
- "main": "lib/cjs/presentation-hierarchies-react.js",
32
- "types": "lib/cjs/presentation-hierarchies-react",
31
+ "types": "lib/esm/presentation-hierarchies-react.d.ts",
33
32
  "module": "lib/esm/presentation-hierarchies-react.js",
34
33
  "exports": {
35
34
  ".": {
36
- "import": "./lib/esm/presentation-hierarchies-react.js",
37
- "require": "./lib/cjs/presentation-hierarchies-react.js"
35
+ "import": "./lib/esm/presentation-hierarchies-react.js"
38
36
  },
39
37
  "./package.json": "./package.json"
40
38
  },
41
39
  "dependencies": {
42
- "@itwin/core-bentley": "^5.0.0-dev.49",
43
- "@itwin/itwinui-icons-react": "^2.9.0",
40
+ "@itwin/core-bentley": "^4.10.1",
41
+ "@itwin/itwinui-icons": "5.0.0-alpha.0",
44
42
  "@itwin/itwinui-illustrations-react": "^2.1.0",
45
43
  "classnames": "^2.5.1",
46
44
  "immer": "^10.1.1",
@@ -51,7 +49,7 @@
51
49
  "@itwin/unified-selection": "^1.3.0"
52
50
  },
53
51
  "peerDependencies": {
54
- "@itwin/itwinui-react": "^3.0.0",
52
+ "@itwin/itwinui-react": "^5.0.0-alpha.3",
55
53
  "react": "^17.0.0 || ^18.0.0",
56
54
  "react-dom": "^17.0.0 || ^18.0.0"
57
55
  },
@@ -62,7 +60,7 @@
62
60
  },
63
61
  "devDependencies": {
64
62
  "@itwin/build-tools": "^4.10.1",
65
- "@itwin/itwinui-react": "^3.16.2",
63
+ "@itwin/itwinui-react": "^5.0.0-alpha.3",
66
64
  "@testing-library/dom": "^10.3.2",
67
65
  "@testing-library/react": "^16.0.0",
68
66
  "@testing-library/user-event": "^14.5.2",
@@ -98,17 +96,15 @@
98
96
  "presentation-build-tools": "^0.0.0"
99
97
  },
100
98
  "scripts": {
101
- "build": "npm run -s build:cjs && npm run -s build:esm",
102
- "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && npm run -s copy:cjs && tsc -p tsconfig.cjs.json",
99
+ "build": "npm run -s build:esm",
103
100
  "build:esm": "npm run -s copy:esm && tsc -p tsconfig.esm.json",
104
- "copy:cjs": "cpx \"./src/**/*.{css,json}\" ./lib/cjs",
105
101
  "copy:esm": "cpx \"./src/**/*.{css,json}\" ./lib/esm",
106
102
  "clean": "rimraf lib build",
107
103
  "cover": "c8 npm -s test",
108
104
  "lint": "eslint ./src/**/*.{ts,tsx}",
109
105
  "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json",
110
106
  "test": "npm run test:dev -- --parallel --jobs=4",
111
- "extract-api": "extract-api --entry=presentation-hierarchies-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api",
107
+ "extract-api": "betools extract-api --entry=lib/esm/presentation-hierarchies-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api",
112
108
  "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-hierarchies-react.api.md",
113
109
  "update-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md",
114
110
  "check-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md --check",
@@ -1 +0,0 @@
1
- { "type": "commonjs" }
@@ -1,75 +0,0 @@
1
- import { HierarchyNode } from "@itwin/presentation-hierarchies";
2
- /**
3
- * A type that defines an actual expandable node in a UI tree component, built with `useTree` hook.
4
- * @public
5
- */
6
- export interface PresentationHierarchyNode {
7
- id: string;
8
- label: string;
9
- children: true | Array<PresentationTreeNode>;
10
- isExpanded: boolean;
11
- isLoading: boolean;
12
- isFilterable: boolean;
13
- isFiltered: boolean;
14
- /** UI-agnostic source of this node object. */
15
- nodeData: HierarchyNode;
16
- /** Additional data that may be assigned to this node. */
17
- extendedData?: {
18
- [key: string]: any;
19
- };
20
- }
21
- /**
22
- * A type of `PresentationInfoNode` that is returned as the single child of a filtered parent node,
23
- * when none of the child nodes match the filter.
24
- *
25
- * @public
26
- */
27
- export interface PresentationNoFilterMatchesInfoNode {
28
- id: string;
29
- parentNodeId: string | undefined;
30
- type: "NoFilterMatches";
31
- }
32
- /**
33
- * A type of `PresentationInfoNode` that is returned as the single child of a parent node, when the
34
- * number of child nodes exceeds the limit set on the tree nodes loader. The limit is also included
35
- * on this node as `resultSetSizeLimit` attribute.
36
- *
37
- * @public
38
- */
39
- export interface PresentationResultSetTooLargeInfoNode {
40
- id: string;
41
- parentNodeId: string | undefined;
42
- type: "ResultSetTooLarge";
43
- resultSetSizeLimit: number;
44
- }
45
- /**
46
- * A type of `PresentationInfoNode` that contains a user-friendly message to be displayed in the UI.
47
- * Generally, this is the only child of a parent node, created in cases like an error loading children. The
48
- * renderer may offer users to re-load the children or the whole component in such cases.
49
- *
50
- * @public
51
- */
52
- export interface PresentationGenericInfoNode {
53
- id: string;
54
- parentNodeId: string | undefined;
55
- type: "Unknown";
56
- message: string;
57
- }
58
- /**
59
- * A type that defines a non-expandable, non-selectable informational node in a UI tree component, built
60
- * with `useTree` hook.
61
- *
62
- * @public
63
- */
64
- export type PresentationInfoNode = PresentationGenericInfoNode | PresentationResultSetTooLargeInfoNode | PresentationNoFilterMatchesInfoNode;
65
- /**
66
- * A type that defines a node in a UI tree component, built with `useTree` hook.
67
- * @public
68
- */
69
- export type PresentationTreeNode = PresentationHierarchyNode | PresentationInfoNode;
70
- /**
71
- * An utility function to check if a node is a `PresentationHierarchyNode`.
72
- * @public
73
- */
74
- export declare function isPresentationHierarchyNode(node: PresentationTreeNode): node is PresentationHierarchyNode;
75
- //# sourceMappingURL=TreeNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/TreeNode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qCAAqC;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG,qCAAqC,GAAG,mCAAmC,CAAC;AAE7I;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,oBAAoB,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,IAAI,yBAAyB,CAEzG"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isPresentationHierarchyNode = isPresentationHierarchyNode;
8
- /**
9
- * An utility function to check if a node is a `PresentationHierarchyNode`.
10
- * @public
11
- */
12
- function isPresentationHierarchyNode(node) {
13
- return "children" in node;
14
- }
15
- //# sourceMappingURL=TreeNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeNode.js","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/TreeNode.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAgFhG,kEAEC;AAND;;;GAGG;AACH,SAAgB,2BAA2B,CAAC,IAA0B;IACpE,OAAO,UAAU,IAAI,IAAI,CAAC;AAC5B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { HierarchyNode } from \"@itwin/presentation-hierarchies\";\n\n/**\n * A type that defines an actual expandable node in a UI tree component, built with `useTree` hook.\n * @public\n */\nexport interface PresentationHierarchyNode {\n id: string;\n label: string;\n children: true | Array<PresentationTreeNode>;\n isExpanded: boolean;\n isLoading: boolean;\n isFilterable: boolean;\n isFiltered: boolean;\n /** UI-agnostic source of this node object. */\n nodeData: HierarchyNode;\n /** Additional data that may be assigned to this node. */\n extendedData?: { [key: string]: any };\n}\n\n/**\n * A type of `PresentationInfoNode` that is returned as the single child of a filtered parent node,\n * when none of the child nodes match the filter.\n *\n * @public\n */\nexport interface PresentationNoFilterMatchesInfoNode {\n id: string;\n parentNodeId: string | undefined;\n type: \"NoFilterMatches\";\n}\n\n/**\n * A type of `PresentationInfoNode` that is returned as the single child of a parent node, when the\n * number of child nodes exceeds the limit set on the tree nodes loader. The limit is also included\n * on this node as `resultSetSizeLimit` attribute.\n *\n * @public\n */\nexport interface PresentationResultSetTooLargeInfoNode {\n id: string;\n parentNodeId: string | undefined;\n type: \"ResultSetTooLarge\";\n resultSetSizeLimit: number;\n}\n\n/**\n * A type of `PresentationInfoNode` that contains a user-friendly message to be displayed in the UI.\n * Generally, this is the only child of a parent node, created in cases like an error loading children. The\n * renderer may offer users to re-load the children or the whole component in such cases.\n *\n * @public\n */\nexport interface PresentationGenericInfoNode {\n id: string;\n parentNodeId: string | undefined;\n type: \"Unknown\";\n message: string;\n}\n\n/**\n * A type that defines a non-expandable, non-selectable informational node in a UI tree component, built\n * with `useTree` hook.\n *\n * @public\n */\nexport type PresentationInfoNode = PresentationGenericInfoNode | PresentationResultSetTooLargeInfoNode | PresentationNoFilterMatchesInfoNode;\n\n/**\n * A type that defines a node in a UI tree component, built with `useTree` hook.\n * @public\n */\nexport type PresentationTreeNode = PresentationHierarchyNode | PresentationInfoNode;\n\n/**\n * An utility function to check if a node is a `PresentationHierarchyNode`.\n * @public\n */\nexport function isPresentationHierarchyNode(node: PresentationTreeNode): node is PresentationHierarchyNode {\n return \"children\" in node;\n}\n"]}
@@ -1,15 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
- import { SelectionStorage } from "@itwin/unified-selection";
3
- /**
4
- * A React context provider that makes given selection storage available to all child components. This
5
- * is a requirement for `useUnifiedSelectionTree` to work with unified selection.
6
- *
7
- * @public
8
- * @deprecated in 1.5.0. Use `UnifiedSelectionContextProvider` from `@itwin/unified-selection-react` instead.
9
- */
10
- export declare function UnifiedSelectionProvider({ storage, children }: PropsWithChildren<{
11
- storage: SelectionStorage;
12
- }>): import("react/jsx-runtime").JSX.Element;
13
- /** @internal */
14
- export declare function useUnifiedSelectionStorage(): SelectionStorage | undefined;
15
- //# sourceMappingURL=UnifiedSelectionContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnifiedSelectionContext.d.ts","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/UnifiedSelectionContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAC,2CAE/G;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,iCAEzC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnifiedSelectionProvider = UnifiedSelectionProvider;
4
- exports.useUnifiedSelectionStorage = useUnifiedSelectionStorage;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- /*---------------------------------------------------------------------------------------------
7
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
8
- * See LICENSE.md in the project root for license terms and full copyright notice.
9
- *--------------------------------------------------------------------------------------------*/
10
- const react_1 = require("react");
11
- const deprecatedUnifiedSelectionContext = (0, react_1.createContext)(undefined);
12
- /**
13
- * A React context provider that makes given selection storage available to all child components. This
14
- * is a requirement for `useUnifiedSelectionTree` to work with unified selection.
15
- *
16
- * @public
17
- * @deprecated in 1.5.0. Use `UnifiedSelectionContextProvider` from `@itwin/unified-selection-react` instead.
18
- */
19
- function UnifiedSelectionProvider({ storage, children }) {
20
- return (0, jsx_runtime_1.jsx)(deprecatedUnifiedSelectionContext.Provider, { value: storage, children: children });
21
- }
22
- /** @internal */
23
- function useUnifiedSelectionStorage() {
24
- return (0, react_1.useContext)(deprecatedUnifiedSelectionContext);
25
- }
26
- //# sourceMappingURL=UnifiedSelectionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnifiedSelectionContext.js","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/UnifiedSelectionContext.tsx"],"names":[],"mappings":";;AAiBA,4DAEC;AAGD,gEAEC;;AAxBD;;;gGAGgG;AAEhG,iCAAqE;AAGrE,MAAM,iCAAiC,GAAG,IAAA,qBAAa,EAA+B,SAAS,CAAC,CAAC;AAEjG;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAoD;IAC9G,OAAO,uBAAC,iCAAiC,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAAG,QAAQ,GAA8C,CAAC;AAC7H,CAAC;AAED,gBAAgB;AAChB,SAAgB,0BAA0B;IACxC,OAAO,IAAA,kBAAU,EAAC,iCAAiC,CAAC,CAAC;AACvD,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { createContext, PropsWithChildren, useContext } from \"react\";\nimport { SelectionStorage } from \"@itwin/unified-selection\";\n\nconst deprecatedUnifiedSelectionContext = createContext<SelectionStorage | undefined>(undefined);\n\n/**\n * A React context provider that makes given selection storage available to all child components. This\n * is a requirement for `useUnifiedSelectionTree` to work with unified selection.\n *\n * @public\n * @deprecated in 1.5.0. Use `UnifiedSelectionContextProvider` from `@itwin/unified-selection-react` instead.\n */\nexport function UnifiedSelectionProvider({ storage, children }: PropsWithChildren<{ storage: SelectionStorage }>) {\n return <deprecatedUnifiedSelectionContext.Provider value={storage}>{children}</deprecatedUnifiedSelectionContext.Provider>;\n}\n\n/** @internal */\nexport function useUnifiedSelectionStorage() {\n return useContext(deprecatedUnifiedSelectionContext);\n}\n"]}
@@ -1,55 +0,0 @@
1
- import { createIModelHierarchyProvider, HierarchyDefinition, HierarchyFilteringPath } from "@itwin/presentation-hierarchies";
2
- import { Props } from "@itwin/presentation-shared";
3
- import { UseUnifiedTreeSelectionProps } from "./internal/UseUnifiedSelection.js";
4
- import { UseTreeProps, UseTreeResult } from "./UseTree.js";
5
- /** @public */
6
- type IModelHierarchyProviderProps = Props<typeof createIModelHierarchyProvider>;
7
- /** @public */
8
- type IModelAccess = IModelHierarchyProviderProps["imodelAccess"];
9
- /**
10
- * Props for `useIModelTree` and `useIModelUnifiedSelectionTree` hooks.
11
- * @public
12
- */
13
- type UseIModelTreeProps = Omit<UseTreeProps, "getHierarchyProvider" | "getFilteredPaths"> & Pick<IModelHierarchyProviderProps, "localizedStrings" | "imodelAccess" | "imodelChanged"> & {
14
- /** Provides the hierarchy definition for the tree. */
15
- getHierarchyDefinition: (props: {
16
- imodelAccess: IModelAccess;
17
- }) => HierarchyDefinition;
18
- /** Provides paths to filtered nodes. */
19
- getFilteredPaths?: (props: {
20
- /** Object that provides access to the iModel schema and can run queries against the iModel. */
21
- imodelAccess: IModelAccess;
22
- }) => Promise<HierarchyFilteringPath[] | undefined>;
23
- };
24
- /**
25
- * A React hook that creates state for a tree component whose displayed hierarchy is based on
26
- * iModel data.
27
- *
28
- * The hook uses `@itwin/presentation-hierarchies` package to load the hierarchy data and returns a
29
- * component-agnostic result which may be used to render the hierarchy using any UI framework.
30
- *
31
- * See `README.md` for an example
32
- *
33
- * @see `useTree`
34
- * @see `useIModelUnifiedSelectionTree`
35
- * @public
36
- */
37
- export declare function useIModelTree(props: UseIModelTreeProps): UseTreeResult;
38
- /**
39
- * A React hook that creates state for a tree component whose displayed hierarchy is based on
40
- * iModel data and that is integrated with unified selection through the given selection
41
- * storage (previously the storage was provided through the, now deprecated, `UnifiedSelectionProvider`).
42
- *
43
- * The hook uses `@itwin/presentation-hierarchies` package to load the hierarchy data and returns a
44
- * component-agnostic result which may be used to render the hierarchy using any UI framework.
45
- *
46
- * See `README.md` for an example
47
- *
48
- * @see `useIModelTree`
49
- * @see `useUnifiedSelectionTree`
50
- * @see `UnifiedSelectionProvider`
51
- * @public
52
- */
53
- export declare function useIModelUnifiedSelectionTree(props: UseIModelTreeProps & UseUnifiedTreeSelectionProps): UseTreeResult;
54
- export {};
55
- //# sourceMappingURL=UseIModelTree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseIModelTree.d.ts","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/UseIModelTree.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC7H,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAW,YAAY,EAAE,aAAa,EAA2B,MAAM,cAAc,CAAC;AAE7F,cAAc;AACd,KAAK,4BAA4B,GAAG,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEhF,cAAc;AACd,KAAK,YAAY,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;AAEjE;;;GAGG;AACH,KAAK,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,sBAAsB,GAAG,kBAAkB,CAAC,GACvF,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,GAAG,cAAc,GAAG,eAAe,CAAC,GAAG;IAC1F,sDAAsD;IACtD,sBAAsB,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,YAAY,CAAA;KAAE,KAAK,mBAAmB,CAAC;IAEvF,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,+FAA+F;QAC/F,YAAY,EAAE,YAAY,CAAC;KAC5B,KAAK,OAAO,CAAC,sBAAsB,EAAE,GAAG,SAAS,CAAC,CAAC;CACrD,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAMtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,kBAAkB,GAAG,4BAA4B,GAAG,aAAa,CAMrH"}