@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,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeRenderer = TreeRenderer;
4
- exports.createRenderedTreeNodeData = createRenderedTreeNodeData;
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 itwinui_react_1 = require("@itwin/itwinui-react");
12
- const UseSelectionHandler_js_1 = require("../UseSelectionHandler.js");
13
- const LocalizationContext_js_1 = require("./LocalizationContext.js");
14
- const TreeNodeRenderer_js_1 = require("./TreeNodeRenderer.js");
15
- /**
16
- * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes
17
- * are rendered using `TreeNodeRenderer` component from this package.
18
- *
19
- * @see https://itwinui.bentley.com/docs/tree
20
- * @public
21
- */
22
- function TreeRenderer({ rootNodes, expandNode, selectNodes, isNodeSelected, onFilterClick, getIcon, getLabel, getSublabel, getHierarchyLevelDetails, reloadTree, selectionMode, localizedStrings, size, filterButtonsVisibility, ...treeProps }) {
23
- const { onNodeClick, onNodeKeyDown } = (0, UseSelectionHandler_js_1.useSelectionHandler)({
24
- rootNodes,
25
- selectNodes: selectNodes ?? noopSelectNodes,
26
- selectionMode: selectionMode ?? "single",
27
- });
28
- const nodeRenderer = (0, react_1.useCallback)((nodeProps) => {
29
- return ((0, jsx_runtime_1.jsx)(TreeNodeRenderer_js_1.TreeNodeRenderer, { ...nodeProps, filterButtonsVisibility: filterButtonsVisibility, expandNode: expandNode, getHierarchyLevelDetails: getHierarchyLevelDetails, onFilterClick: onFilterClick, onNodeClick: onNodeClick, onNodeKeyDown: onNodeKeyDown, getIcon: getIcon, getLabel: getLabel, getSublabel: getSublabel, reloadTree: reloadTree, size: size }));
30
- }, [
31
- filterButtonsVisibility,
32
- expandNode,
33
- getHierarchyLevelDetails,
34
- onFilterClick,
35
- onNodeClick,
36
- onNodeKeyDown,
37
- getIcon,
38
- getLabel,
39
- getSublabel,
40
- reloadTree,
41
- size,
42
- ]);
43
- const getNode = (0, react_1.useCallback)((node) => createRenderedTreeNodeData(node, isNodeSelected ?? noopIsNodeSelected), [isNodeSelected]);
44
- return ((0, jsx_runtime_1.jsx)(LocalizationContext_js_1.LocalizationContextProvider, { localizedStrings: localizedStrings, children: (0, jsx_runtime_1.jsx)(itwinui_react_1.Tree, { ...treeProps, size: size, data: rootNodes, nodeRenderer: nodeRenderer, getNode: getNode, enableVirtualization: true }) }));
45
- }
46
- function noopSelectNodes() { }
47
- function noopIsNodeSelected() {
48
- return false;
49
- }
50
- /**
51
- * An utility function that creates an `@itwin/itwinui-react` `NodeData` object for the `Tree` component from a
52
- * `RenderedTreeNode` object.
53
- *
54
- * Usage example:
55
- * ```tsx
56
- * function MyComponent({ rootNodes, nodeRenderer }: MyComponentProps) {
57
- * const getNode = useCallback<TreeProps["getNode"]>((node) => createRenderedTreeNodeData(node, () => false), []);
58
- * return <Tree<RenderedTreeNode> data={rootNodes} getNode={getNode} nodeRenderer={nodeRenderer} />;
59
- * }
60
- * ```
61
- *
62
- * @public
63
- */
64
- function createRenderedTreeNodeData(node, isNodeSelected) {
65
- if ("type" in node) {
66
- return {
67
- nodeId: node.id,
68
- node,
69
- hasSubNodes: false,
70
- isExpanded: false,
71
- isSelected: false,
72
- isDisabled: true,
73
- };
74
- }
75
- return {
76
- nodeId: node.id,
77
- node,
78
- hasSubNodes: node.children === true || node.children.length > 0,
79
- subNodes:
80
- // returns placeholder node to show as child while children is loading.
81
- node.children === true
82
- ? [
83
- {
84
- id: `Loading-${node.id}`,
85
- parentNodeId: node.id,
86
- type: "ChildrenPlaceholder",
87
- },
88
- ]
89
- : node.children,
90
- isExpanded: node.isExpanded,
91
- isSelected: isNodeSelected(node.id),
92
- };
93
- }
94
- //# sourceMappingURL=TreeRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeRenderer.tsx"],"names":[],"mappings":"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","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,11 +0,0 @@
1
- export { PresentationGenericInfoNode, PresentationHierarchyNode, PresentationInfoNode, PresentationResultSetTooLargeInfoNode, PresentationTreeNode, isPresentationHierarchyNode, } from "./presentation-hierarchies-react/TreeNode.js";
2
- export { UnifiedSelectionProvider } from "./presentation-hierarchies-react/UnifiedSelectionContext.js";
3
- export { useSelectionHandler } from "./presentation-hierarchies-react/UseSelectionHandler.js";
4
- export { HierarchyLevelDetails, useTree, useUnifiedSelectionTree } from "./presentation-hierarchies-react/UseTree.js";
5
- export { useIModelTree, useIModelUnifiedSelectionTree } from "./presentation-hierarchies-react/UseIModelTree.js";
6
- export { TreeNodeRenderer } from "./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js";
7
- export { RenderedTreeNode, TreeRenderer, createRenderedTreeNodeData } from "./presentation-hierarchies-react/itwinui/TreeRenderer.js";
8
- export { LocalizationContextProvider } from "./presentation-hierarchies-react/itwinui/LocalizationContext.js";
9
- export { GenericInstanceFilter, HierarchyNode, HierarchyProvider } from "@itwin/presentation-hierarchies";
10
- export { SelectionStorage } from "@itwin/unified-selection";
11
- //# sourceMappingURL=presentation-hierarchies-react.d.ts.map
@@ -1 +0,0 @@
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,30 +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.HierarchyNode = exports.GenericInstanceFilter = exports.LocalizationContextProvider = exports.createRenderedTreeNodeData = exports.TreeRenderer = exports.TreeNodeRenderer = exports.useIModelUnifiedSelectionTree = exports.useIModelTree = exports.useUnifiedSelectionTree = exports.useTree = exports.useSelectionHandler = exports.UnifiedSelectionProvider = exports.isPresentationHierarchyNode = void 0;
8
- var TreeNode_js_1 = require("./presentation-hierarchies-react/TreeNode.js");
9
- Object.defineProperty(exports, "isPresentationHierarchyNode", { enumerable: true, get: function () { return TreeNode_js_1.isPresentationHierarchyNode; } });
10
- var UnifiedSelectionContext_js_1 = require("./presentation-hierarchies-react/UnifiedSelectionContext.js");
11
- Object.defineProperty(exports, "UnifiedSelectionProvider", { enumerable: true, get: function () { return UnifiedSelectionContext_js_1.UnifiedSelectionProvider; } });
12
- var UseSelectionHandler_js_1 = require("./presentation-hierarchies-react/UseSelectionHandler.js");
13
- Object.defineProperty(exports, "useSelectionHandler", { enumerable: true, get: function () { return UseSelectionHandler_js_1.useSelectionHandler; } });
14
- var UseTree_js_1 = require("./presentation-hierarchies-react/UseTree.js");
15
- Object.defineProperty(exports, "useTree", { enumerable: true, get: function () { return UseTree_js_1.useTree; } });
16
- Object.defineProperty(exports, "useUnifiedSelectionTree", { enumerable: true, get: function () { return UseTree_js_1.useUnifiedSelectionTree; } });
17
- var UseIModelTree_js_1 = require("./presentation-hierarchies-react/UseIModelTree.js");
18
- Object.defineProperty(exports, "useIModelTree", { enumerable: true, get: function () { return UseIModelTree_js_1.useIModelTree; } });
19
- Object.defineProperty(exports, "useIModelUnifiedSelectionTree", { enumerable: true, get: function () { return UseIModelTree_js_1.useIModelUnifiedSelectionTree; } });
20
- var TreeNodeRenderer_js_1 = require("./presentation-hierarchies-react/itwinui/TreeNodeRenderer.js");
21
- Object.defineProperty(exports, "TreeNodeRenderer", { enumerable: true, get: function () { return TreeNodeRenderer_js_1.TreeNodeRenderer; } });
22
- var TreeRenderer_js_1 = require("./presentation-hierarchies-react/itwinui/TreeRenderer.js");
23
- Object.defineProperty(exports, "TreeRenderer", { enumerable: true, get: function () { return TreeRenderer_js_1.TreeRenderer; } });
24
- Object.defineProperty(exports, "createRenderedTreeNodeData", { enumerable: true, get: function () { return TreeRenderer_js_1.createRenderedTreeNodeData; } });
25
- var LocalizationContext_js_1 = require("./presentation-hierarchies-react/itwinui/LocalizationContext.js");
26
- Object.defineProperty(exports, "LocalizationContextProvider", { enumerable: true, get: function () { return LocalizationContext_js_1.LocalizationContextProvider; } });
27
- var presentation_hierarchies_1 = require("@itwin/presentation-hierarchies");
28
- Object.defineProperty(exports, "GenericInstanceFilter", { enumerable: true, get: function () { return presentation_hierarchies_1.GenericInstanceFilter; } });
29
- Object.defineProperty(exports, "HierarchyNode", { enumerable: true, get: function () { return presentation_hierarchies_1.HierarchyNode; } });
30
- //# sourceMappingURL=presentation-hierarchies-react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"presentation-hierarchies-react.js","sourceRoot":"","sources":["../../src/presentation-hierarchies-react.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,4EAOsD;AADpD,0HAAA,2BAA2B,OAAA;AAE7B,0GAAuG;AAA9F,sIAAA,wBAAwB,OAAA;AACjC,kGAA8F;AAArF,6HAAA,mBAAmB,OAAA;AAC5B,0EAAsH;AAAtF,qGAAA,OAAO,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AAChE,sFAAiH;AAAxG,iHAAA,aAAa,OAAA;AAAE,iIAAA,6BAA6B,OAAA;AACrD,oGAAgG;AAAvF,uHAAA,gBAAgB,OAAA;AACzB,4FAAsI;AAA3G,+GAAA,YAAY,OAAA;AAAE,6HAAA,0BAA0B,OAAA;AACnE,0GAA8G;AAArG,qIAAA,2BAA2B,OAAA;AAEpC,4EAA0G;AAAjG,iIAAA,qBAAqB,OAAA;AAAE,yHAAA,aAAa,OAAA","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,29 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- .stateless-tree-node {
7
- user-select: none;
8
- }
9
-
10
- .stateless-tree-node .action-buttons {
11
- visibility: hidden;
12
- }
13
-
14
- .stateless-tree-node:hover .action-buttons,
15
- .stateless-tree-node.filtered .action-buttons,
16
- .stateless-tree-node:focus-within .action-buttons {
17
- visibility: visible;
18
- }
19
-
20
- .stateless-tree-node:focus-within {
21
- outline: 1px solid var(--iui-color-border-accent);
22
- outline-offset: -1px;
23
- border-radius: var(--iui-border-radius-1);
24
- }
25
-
26
- .stateless-tree-node-small-spinner {
27
- height: var(--iui-size-s);
28
- width: var(--iui-size-s);
29
- }