@itwin/presentation-hierarchies-react 2.0.0-alpha.2 → 2.0.0-alpha.20

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 (77) hide show
  1. package/CHANGELOG.md +313 -0
  2. package/README.md +24 -24
  3. package/lib/esm/presentation-hierarchies-react/TreeNode.d.ts +0 -4
  4. package/lib/esm/presentation-hierarchies-react/TreeNode.d.ts.map +1 -1
  5. package/lib/esm/presentation-hierarchies-react/TreeNode.js.map +1 -1
  6. package/lib/esm/presentation-hierarchies-react/UseSelectionHandler.js +1 -1
  7. package/lib/esm/presentation-hierarchies-react/UseSelectionHandler.js.map +1 -1
  8. package/lib/esm/presentation-hierarchies-react/UseTree.d.ts.map +1 -1
  9. package/lib/esm/presentation-hierarchies-react/UseTree.js +1 -8
  10. package/lib/esm/presentation-hierarchies-react/UseTree.js.map +1 -1
  11. package/lib/esm/presentation-hierarchies-react/Utils.d.ts +5 -0
  12. package/lib/esm/presentation-hierarchies-react/Utils.d.ts.map +1 -0
  13. package/lib/esm/presentation-hierarchies-react/Utils.js +23 -0
  14. package/lib/esm/presentation-hierarchies-react/Utils.js.map +1 -0
  15. package/lib/esm/presentation-hierarchies-react/internal/UseUnifiedSelection.d.ts +1 -5
  16. package/lib/esm/presentation-hierarchies-react/internal/UseUnifiedSelection.d.ts.map +1 -1
  17. package/lib/esm/presentation-hierarchies-react/internal/UseUnifiedSelection.js +0 -11
  18. package/lib/esm/presentation-hierarchies-react/internal/UseUnifiedSelection.js.map +1 -1
  19. package/lib/esm/presentation-hierarchies-react/stratakit/FilterAction.d.ts +18 -0
  20. package/lib/esm/presentation-hierarchies-react/stratakit/FilterAction.d.ts.map +1 -0
  21. package/lib/esm/presentation-hierarchies-react/stratakit/FilterAction.js +32 -0
  22. package/lib/esm/presentation-hierarchies-react/stratakit/FilterAction.js.map +1 -0
  23. package/lib/esm/presentation-hierarchies-react/stratakit/FlatTreeNode.d.ts +57 -0
  24. package/lib/esm/presentation-hierarchies-react/stratakit/FlatTreeNode.d.ts.map +1 -0
  25. package/lib/esm/presentation-hierarchies-react/stratakit/FlatTreeNode.js +78 -0
  26. package/lib/esm/presentation-hierarchies-react/stratakit/FlatTreeNode.js.map +1 -0
  27. package/lib/esm/presentation-hierarchies-react/{itwinui → stratakit}/LocalizationContext.d.ts +37 -7
  28. package/lib/esm/presentation-hierarchies-react/stratakit/LocalizationContext.d.ts.map +1 -0
  29. package/lib/esm/presentation-hierarchies-react/{itwinui → stratakit}/LocalizationContext.js +11 -5
  30. package/lib/esm/presentation-hierarchies-react/stratakit/LocalizationContext.js.map +1 -0
  31. package/lib/esm/presentation-hierarchies-react/stratakit/RootErrorRenderer.d.ts +16 -0
  32. package/lib/esm/presentation-hierarchies-react/stratakit/RootErrorRenderer.d.ts.map +1 -0
  33. package/lib/esm/presentation-hierarchies-react/stratakit/RootErrorRenderer.js +42 -0
  34. package/lib/esm/presentation-hierarchies-react/stratakit/RootErrorRenderer.js.map +1 -0
  35. package/lib/esm/presentation-hierarchies-react/stratakit/TreeErrorRenderer.d.ts +43 -0
  36. package/lib/esm/presentation-hierarchies-react/stratakit/TreeErrorRenderer.d.ts.map +1 -0
  37. package/lib/esm/presentation-hierarchies-react/stratakit/TreeErrorRenderer.js +70 -0
  38. package/lib/esm/presentation-hierarchies-react/stratakit/TreeErrorRenderer.js.map +1 -0
  39. package/lib/esm/presentation-hierarchies-react/stratakit/TreeNodeRenderer.d.ts +45 -0
  40. package/lib/esm/presentation-hierarchies-react/stratakit/TreeNodeRenderer.d.ts.map +1 -0
  41. package/lib/esm/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js +63 -0
  42. package/lib/esm/presentation-hierarchies-react/stratakit/TreeNodeRenderer.js.map +1 -0
  43. package/lib/esm/presentation-hierarchies-react/stratakit/TreeRenderer.d.ts +36 -0
  44. package/lib/esm/presentation-hierarchies-react/stratakit/TreeRenderer.d.ts.map +1 -0
  45. package/lib/esm/presentation-hierarchies-react/stratakit/TreeRenderer.js +106 -0
  46. package/lib/esm/presentation-hierarchies-react/stratakit/TreeRenderer.js.map +1 -0
  47. package/lib/esm/presentation-hierarchies-react.d.ts +7 -7
  48. package/lib/esm/presentation-hierarchies-react.d.ts.map +1 -1
  49. package/lib/esm/presentation-hierarchies-react.js +7 -7
  50. package/lib/esm/presentation-hierarchies-react.js.map +1 -1
  51. package/package.json +46 -38
  52. package/lib/esm/presentation-hierarchies-react/UnifiedSelectionContext.d.ts +0 -15
  53. package/lib/esm/presentation-hierarchies-react/UnifiedSelectionContext.d.ts.map +0 -1
  54. package/lib/esm/presentation-hierarchies-react/UnifiedSelectionContext.js +0 -22
  55. package/lib/esm/presentation-hierarchies-react/UnifiedSelectionContext.js.map +0 -1
  56. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.d.ts.map +0 -1
  57. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.js.map +0 -1
  58. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts +0 -12
  59. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts.map +0 -1
  60. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js +0 -19
  61. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js.map +0 -1
  62. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts +0 -12
  63. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts.map +0 -1
  64. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js +0 -72
  65. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js.map +0 -1
  66. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts +0 -12
  67. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts.map +0 -1
  68. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js +0 -10
  69. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js.map +0 -1
  70. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts +0 -42
  71. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts.map +0 -1
  72. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js +0 -56
  73. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js.map +0 -1
  74. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts +0 -30
  75. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts.map +0 -1
  76. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js +0 -22
  77. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js.map +0 -1
@@ -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,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"]}
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,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,gEAAgE,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAgB,MAAM,4DAA4D,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAEhH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAqB,SAAS,EAAE,SAAS,EAAE,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 { 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/stratakit/TreeNodeRenderer.js\";\nexport { FilterAction } from \"./presentation-hierarchies-react/stratakit/FilterAction.js\";\nexport { TreeRenderer } from \"./presentation-hierarchies-react/stratakit/TreeRenderer.js\";\nexport { TreeErrorRenderer } from \"./presentation-hierarchies-react/stratakit/TreeErrorRenderer.js\";\nexport { useFlatTreeNodeList, useErrorList, FlatTreeNode } from \"./presentation-hierarchies-react/stratakit/FlatTreeNode.js\";\nexport { LocalizationContextProvider } from \"./presentation-hierarchies-react/stratakit/LocalizationContext.js\";\n\nexport { GenericInstanceFilter, HierarchyNode, HierarchyProvider, getLogger, setLogger } 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": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.20",
4
4
  "description": "React components based on `@itwin/presentation-hierarchies`",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -37,66 +37,74 @@
37
37
  "./package.json": "./package.json"
38
38
  },
39
39
  "dependencies": {
40
- "@itwin/core-bentley": "^4.10.1",
41
- "@itwin/itwinui-illustrations-react": "^2.1.0",
40
+ "@itwin/core-bentley": "^4.11.1",
41
+ "@tanstack/react-virtual": "^3.13.0",
42
42
  "classnames": "^2.5.1",
43
43
  "immer": "^10.1.1",
44
44
  "react-error-boundary": "^4.0.13",
45
45
  "rxjs": "^7.8.1",
46
- "@itwin/presentation-shared": "^1.2.0",
47
- "@itwin/unified-selection": "^1.3.0",
48
- "@itwin/presentation-hierarchies": "^1.4.1"
46
+ "@itwin/presentation-hierarchies": "^2.0.0-alpha.0",
47
+ "@itwin/presentation-shared": "^2.0.0-alpha.0",
48
+ "@itwin/unified-selection": "^1.4.2-alpha.0"
49
49
  },
50
50
  "peerDependencies": {
51
- "@itwin/itwinui-icons": "^5.0.0-alpha.2",
52
- "@itwin/itwinui-react": "^5.0.0-alpha.4",
51
+ "@stratakit/bricks": "^0.2.0",
52
+ "@stratakit/foundations": "^0.1.3",
53
+ "@stratakit/structures": "^0.1.1",
54
+ "@stratakit/icons": "^0.1.0",
53
55
  "react": "^17.0.0 || ^18.0.0",
54
56
  "react-dom": "^17.0.0 || ^18.0.0"
55
57
  },
56
58
  "peerDependenciesMeta": {
57
- "@itwin/itwinui-icons": {
59
+ "@stratakit/bricks": {
58
60
  "optional": true
59
61
  },
60
- "@itwin/itwinui-react": {
62
+ "@stratakit/foundations": {
63
+ "optional": true
64
+ },
65
+ "@stratakit/structures": {
66
+ "optional": true
67
+ },
68
+ "@stratakit/icons": {
61
69
  "optional": true
62
70
  }
63
71
  },
64
72
  "devDependencies": {
65
- "@itwin/build-tools": "^4.10.1",
66
- "@itwin/itwinui-icons": "^5.0.0-alpha.2",
67
- "@itwin/itwinui-react": "^5.0.0-alpha.4",
68
- "@testing-library/dom": "^10.3.2",
69
- "@testing-library/react": "^16.0.0",
70
- "@testing-library/user-event": "^14.5.2",
71
- "@types/chai": "^4.3.16",
72
- "@types/chai-as-promised": "^7.1.8",
73
- "@types/chai-subset": "^1.3.5",
73
+ "@itwin/build-tools": "rc",
74
+ "@itwin/eslint-plugin": "5.1.0",
75
+ "@stratakit/bricks": "^0.2.0",
76
+ "@stratakit/foundations": "^0.1.3",
77
+ "@stratakit/structures": "^0.1.1",
78
+ "@stratakit/icons": "^0.1.0",
79
+ "@testing-library/dom": "^10.4.0",
80
+ "@testing-library/react": "^16.2.0",
81
+ "@testing-library/user-event": "^14.6.1",
82
+ "@types/chai": "^5.2.0",
83
+ "@types/chai-as-promised": "^8.0.2",
74
84
  "@types/jsdom": "^21.1.7",
75
- "@types/mocha": "^10.0.7",
85
+ "@types/mocha": "^10.0.10",
86
+ "@types/node": "^22.13.9",
76
87
  "@types/react": "^18.3.3",
77
88
  "@types/react-dom": "^18.3.0",
78
- "@types/sinon": "^17.0.3",
79
- "@types/sinon-chai": "^3.2.12",
80
- "c8": "^10.1.2",
81
- "chai": "^4.4.1",
82
- "chai-as-promised": "^7.1.2",
83
- "chai-subset": "^1.6.0",
89
+ "@types/sinon": "^17.0.4",
90
+ "@types/sinon-chai": "^4.0.0",
91
+ "c8": "^10.1.3",
92
+ "chai": "^5.2.0",
93
+ "chai-as-promised": "^8.0.1",
84
94
  "cpx2": "^7.0.1",
85
95
  "cross-env": "^7.0.3",
86
- "eslint": "^9.13.0",
87
- "eslint-plugin-react": "^7.37.2",
88
- "global-jsdom": "^25.0.0",
96
+ "eslint": "^9.25.1",
97
+ "eslint-plugin-react": "^7.37.4",
98
+ "global-jsdom": "^26.0.0",
89
99
  "ignore-styles": "^5.0.1",
90
- "jsdom": "^25.0.1",
91
- "mocha": "^10.7.3",
100
+ "jsdom": "^26.0.0",
101
+ "mocha": "^11.1.0",
92
102
  "react": "^18.3.1",
93
103
  "react-dom": "^18.3.1",
94
104
  "rimraf": "^6.0.1",
95
- "sinon": "^18.0.0",
96
- "sinon-chai": "^3.7.0",
97
- "testdouble": "^3.20.2",
98
- "typescript": "~5.6.3",
99
- "presentation-build-tools": "^0.0.0",
105
+ "sinon": "^19.0.4",
106
+ "sinon-chai": "^4.0.0",
107
+ "typescript": "~5.7.3",
100
108
  "presentation-test-utilities": "^0.0.0"
101
109
  },
102
110
  "scripts": {
@@ -106,9 +114,9 @@
106
114
  "clean": "rimraf lib build",
107
115
  "cover": "c8 npm -s test",
108
116
  "lint": "eslint ./src/**/*.{ts,tsx}",
109
- "test:dev": "cross-env NODE_OPTIONS=\"--import presentation-test-utilities/node-hooks/ignore-styles\" mocha --enable-source-maps --config ./.mocharc.json",
117
+ "test:dev": "node --experimental-test-module-mocks --enable-source-maps --import presentation-test-utilities/node-hooks/ignore-styles ./node_modules/mocha/bin/mocha.js --config ./.mocharc.json",
110
118
  "test": "npm run test:dev -- --parallel --jobs=4",
111
- "extract-api": "betools extract-api --entry=lib/esm/presentation-hierarchies-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api",
119
+ "extract-api": "betools extract-api --entry=lib/esm/presentation-hierarchies-react --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api --includeUnexportedApis",
112
120
  "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-hierarchies-react.api.md",
113
121
  "update-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md",
114
122
  "check-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md --check",
@@ -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,22 +0,0 @@
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 { createContext, useContext } from "react";
7
- const deprecatedUnifiedSelectionContext = createContext(undefined);
8
- /**
9
- * A React context provider that makes given selection storage available to all child components. This
10
- * is a requirement for `useUnifiedSelectionTree` to work with unified selection.
11
- *
12
- * @public
13
- * @deprecated in 1.5.0. Use `UnifiedSelectionContextProvider` from `@itwin/unified-selection-react` instead.
14
- */
15
- export function UnifiedSelectionProvider({ storage, children }) {
16
- return _jsx(deprecatedUnifiedSelectionContext.Provider, { value: storage, children: children });
17
- }
18
- /** @internal */
19
- export function useUnifiedSelectionStorage() {
20
- return useContext(deprecatedUnifiedSelectionContext);
21
- }
22
- //# sourceMappingURL=UnifiedSelectionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnifiedSelectionContext.js","sourceRoot":"","sources":["../../../src/presentation-hierarchies-react/UnifiedSelectionContext.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,MAAM,OAAO,CAAC;AAGrE,MAAM,iCAAiC,GAAG,aAAa,CAA+B,SAAS,CAAC,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAoD;IAC9G,OAAO,KAAC,iCAAiC,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAAG,QAAQ,GAA8C,CAAC;AAC7H,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,0BAA0B;IACxC,OAAO,UAAU,CAAC,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 +0,0 @@
1
- {"version":3,"file":"LocalizationContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/LocalizationContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,iBAAiB,EAAmC,MAAM,OAAO,CAAC;AAE1F;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,gCAAgC,EAAE,MAAM,CAAC;IACzC;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,mCAAmC,EAAE,MAAM,CAAC;IAC5C;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAgBD;;;GAGG;AACH,UAAU,gCAAgC;IACxC,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,gCAAgC,CAAC,2CAQ9H;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,wBAErC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalizationContext.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/LocalizationContext.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA2D1F,MAAM,uBAAuB,GAAqB;IAChD,OAAO,EAAE,YAAY;IACrB,oBAAoB,EAAE,cAAc;IACpC,yBAAyB,EAAE,qBAAqB;IAChD,kBAAkB,EAAE,qCAAqC;IACzD,mBAAmB,EAAE,uDAAuD;IAC5E,gCAAgC,EAAE,0GAA0G;IAC5I,sBAAsB,EAAE,oEAAoE;IAC5F,mCAAmC,EAAE,wEAAwE;IAC7G,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,mBAAmB,GAAG,aAAa,CAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAW9G;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAuD;IAC7H,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAAE,GAAG,uBAAuB,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE9G,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAAE,GAAG,uBAAuB,EAAE,GAAG,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAgC,CAAC;AAC/F,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,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, useEffect, useState } from \"react\";\n\n/**\n * Localized strings used in the components.\n * @public\n */\nexport interface LocalizedStrings {\n /**\n * Message displayed when nodes are loading.\n * Default value: `Loading...`.\n */\n loading: string;\n /**\n * Title for apply hierarchy filter button.\n * Default value: `Apply filter`.\n */\n filterHierarchyLevel: string;\n /**\n * Title for clear hierarchy filter button.\n * Default value: `Clear active filter`.\n */\n clearHierarchyLevelFilter: string;\n /**\n * Message displayed when no nodes matching filter are found.\n * Default value: `No child nodes match current filter`.\n */\n noFilteredChildren: string;\n /**\n * Message displayed when result limit exceeds hierarchy size limit.\n * Default value: `There are more items than allowed limit of {{limit}}.`.\n */\n resultLimitExceeded: string;\n /**\n * Message displayed when result limit exceeds hierarchy size limit and hierarchy filtering is enabled.\n * Default value: `Please provide <link>additional filtering</link> - there are more items than allowed limit of {{limit}}.`.\n */\n resultLimitExceededWithFiltering: string;\n /**\n * Message displayed when hierarchy size limit can be overridden.\n * Default value: `<link>Increase the hierarchy level size limit to {{limit}}.</link>`.\n */\n increaseHierarchyLimit: string;\n /**\n * Message displayed when hierarchy size limit can be overridden and hierarchy filtering is enabled.\n * Default value: `Or, <link>increase the hierarchy level size limit to {{limit}}.</link>`.\n */\n increaseHierarchyLimitWithFiltering: string;\n /**\n * Label for retry action.\n * Default value: `Retry`.\n */\n retry: string;\n}\n\n/** @internal */\nexport interface LocalizationContext {\n localizedStrings: LocalizedStrings;\n}\n\nconst defaultLocalizedStrings: LocalizedStrings = {\n loading: \"Loading...\",\n filterHierarchyLevel: \"Apply filter\",\n clearHierarchyLevelFilter: \"Clear active filter\",\n noFilteredChildren: \"No child nodes match current filter\",\n resultLimitExceeded: \"There are more items than allowed limit of {{limit}}.\",\n resultLimitExceededWithFiltering: \"Please provide <link>additional filtering</link> - there are more items than allowed limit of {{limit}}.\",\n increaseHierarchyLimit: \"<link>Increase the hierarchy level size limit to {{limit}}.</link>\",\n increaseHierarchyLimitWithFiltering: \"Or, <link>increase the hierarchy level size limit to {{limit}}.</link>\",\n retry: \"Retry\",\n};\n\nconst localizationContext = createContext<LocalizationContext>({ localizedStrings: defaultLocalizedStrings });\n\n/**\n * Properties for `LocalizationContextProvider`.\n * @public\n */\ninterface LocalizationContextProviderProps {\n /** Localized strings used in the components. */\n localizedStrings?: Partial<LocalizedStrings>;\n}\n\n/**\n * Context provider for localized strings used in the components.\n * @public\n */\nexport function LocalizationContextProvider({ localizedStrings, children }: PropsWithChildren<LocalizationContextProviderProps>) {\n const [state, setState] = useState({ localizedStrings: { ...defaultLocalizedStrings, ...localizedStrings } });\n\n useEffect(() => {\n setState({ localizedStrings: { ...defaultLocalizedStrings, ...localizedStrings } });\n }, [localizedStrings]);\n\n return <localizationContext.Provider value={state}>{children}</localizationContext.Provider>;\n}\n\n/** @internal */\nexport function useLocalizationContext() {\n return useContext(localizationContext);\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { PresentationHierarchyNode } from "../TreeNode.js";
2
- import { HierarchyLevelDetails, useTree } from "../UseTree.js";
3
- /** @internal */
4
- export type ActionButtonProps = {
5
- /** Node on which action is going to be performed */
6
- node: PresentationHierarchyNode;
7
- /** Action to perform when the filter button is clicked for this node. */
8
- onClick?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;
9
- } & Partial<Pick<ReturnType<typeof useTree>, "getHierarchyLevelDetails">>;
10
- /** @internal */
11
- export declare function FilterActionButton({ node, onClick, getHierarchyLevelDetails }: ActionButtonProps): import("react/jsx-runtime").JSX.Element | undefined;
12
- //# sourceMappingURL=TreeActionButtons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeActionButtons.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM/D,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oDAAoD;IACpD,IAAI,EAAE,yBAAyB,CAAC;IAChC,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAClE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAE1E,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,iBAAiB,uDAgBhG"}
@@ -1,19 +0,0 @@
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 { IconButton } from "@itwin/itwinui-react/bricks";
7
- import { useLocalizationContext } from "./LocalizationContext.js";
8
- const filterIcon = new URL("@itwin/itwinui-icons/filter.svg", import.meta.url).href;
9
- const activeFilterIcon = new URL("@itwin/itwinui-icons/placeholder.svg", import.meta.url).href; // Placeholder
10
- /** @internal */
11
- export function FilterActionButton({ node, onClick, getHierarchyLevelDetails }) {
12
- const { localizedStrings } = useLocalizationContext();
13
- return onClick && node.isFilterable ? (_jsx(IconButton, { variant: "ghost", className: "filtering-action-button", label: localizedStrings.filterHierarchyLevel, onClick: (e) => {
14
- e.stopPropagation();
15
- const hierarchyLevelDetails = getHierarchyLevelDetails?.(node.id);
16
- hierarchyLevelDetails && onClick(hierarchyLevelDetails);
17
- }, icon: node.isFiltered ? activeFilterIcon : filterIcon })) : undefined;
18
- }
19
- //# sourceMappingURL=TreeActionButtons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeActionButtons.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeActionButtons.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACpF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc;AAU9G,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAqB;IAC/F,MAAM,EAAE,gBAAgB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAEtD,OAAO,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACpC,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,EAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClE,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC1D,CAAC,EACD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,GACrD,CACH,CAAC,CAAC,CAAC,SAAS,CAAC;AAChB,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 { IconButton } from \"@itwin/itwinui-react/bricks\";\nimport { PresentationHierarchyNode } from \"../TreeNode.js\";\nimport { HierarchyLevelDetails, useTree } from \"../UseTree.js\";\nimport { useLocalizationContext } from \"./LocalizationContext.js\";\n\nconst filterIcon = new URL(\"@itwin/itwinui-icons/filter.svg\", import.meta.url).href;\nconst activeFilterIcon = new URL(\"@itwin/itwinui-icons/placeholder.svg\", import.meta.url).href; // Placeholder\n\n/** @internal */\nexport type ActionButtonProps = {\n /** Node on which action is going to be performed */\n node: PresentationHierarchyNode;\n /** Action to perform when the filter button is clicked for this node. */\n onClick?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;\n} & Partial<Pick<ReturnType<typeof useTree>, \"getHierarchyLevelDetails\">>;\n\n/** @internal */\nexport function FilterActionButton({ node, onClick, getHierarchyLevelDetails }: ActionButtonProps) {\n const { localizedStrings } = useLocalizationContext();\n\n return onClick && node.isFilterable ? (\n <IconButton\n variant={\"ghost\"}\n className=\"filtering-action-button\"\n label={localizedStrings.filterHierarchyLevel}\n onClick={(e) => {\n e.stopPropagation();\n const hierarchyLevelDetails = getHierarchyLevelDetails?.(node.id);\n hierarchyLevelDetails && onClick(hierarchyLevelDetails);\n }}\n icon={node.isFiltered ? activeFilterIcon : filterIcon}\n />\n ) : undefined;\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { RefAttributes } from "react";
2
- import { PresentationInfoNode } from "../TreeNode.js";
3
- import { useTree } from "../UseTree.js";
4
- import { TreeNodeRendererOwnProps } from "./TreeNodeRenderer.js";
5
- interface TreeErrorRendererOwnProps {
6
- node: PresentationInfoNode;
7
- }
8
- type TreeErrorRendererProps = TreeErrorRendererOwnProps & Pick<TreeNodeRendererOwnProps, "onFilterClick" | "reloadTree"> & Partial<Pick<ReturnType<typeof useTree>, "getHierarchyLevelDetails">>;
9
- /** @alpha */
10
- export declare const TreeErrorRenderer: React.ForwardRefExoticComponent<TreeErrorRendererProps & RefAttributes<HTMLDivElement>>;
11
- export {};
12
- //# sourceMappingURL=TreeErrorRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeErrorRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeErrorRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAwC,aAAa,EAAE,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,UAAU,yBAAyB;IACjC,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,KAAK,sBAAsB,GAAG,yBAAyB,GACrD,IAAI,CAAC,wBAAwB,EAAE,eAAe,GAAG,YAAY,CAAC,GAC9D,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAExE,aAAa;AACb,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,yBAAyB,CAAC,sBAAsB,GAAG,aAAa,CAAC,cAAc,CAAC,CA4BrH,CAAC"}
@@ -1,72 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } 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 { forwardRef } from "react";
7
- import { Anchor, Text, Tree } from "@itwin/itwinui-react/bricks";
8
- import { MAX_LIMIT_OVERRIDE } from "../internal/Utils.js";
9
- import { useLocalizationContext } from "./LocalizationContext.js";
10
- /** @alpha */
11
- export const TreeErrorRenderer = forwardRef(({ node, getHierarchyLevelDetails, onFilterClick, reloadTree }, forwardedRef) => {
12
- const { localizedStrings } = useLocalizationContext();
13
- if (node.type === "ResultSetTooLarge") {
14
- return (_jsx(ResultSetTooLargeNode, { ref: forwardedRef, limit: node.resultSetSizeLimit, onOverrideLimit: getHierarchyLevelDetails ? (limit) => getHierarchyLevelDetails(node.parentNodeId)?.setSizeLimit(limit) : undefined, onFilterClick: onFilterClick
15
- ? () => {
16
- const hierarchyLevelDetails = getHierarchyLevelDetails?.(node.parentNodeId);
17
- hierarchyLevelDetails && onFilterClick(hierarchyLevelDetails);
18
- }
19
- : undefined }));
20
- }
21
- if (node.type === "NoFilterMatches") {
22
- return _jsx(Tree.Item, { ref: forwardedRef, label: localizedStrings.noFilteredChildren, "aria-disabled": true });
23
- }
24
- const onRetry = reloadTree ? () => reloadTree({ parentNodeId: node.parentNodeId, state: "reset" }) : undefined;
25
- return _jsx(Tree.Item, { ref: forwardedRef, label: _jsx(ErrorNodeLabel, { message: node.message, onRetry: onRetry }), "aria-disabled": true });
26
- });
27
- TreeErrorRenderer.displayName = "TreeErrorRenderer";
28
- const ResultSetTooLargeNode = forwardRef(({ onFilterClick, onOverrideLimit, limit, ...props }, forwardedRef) => {
29
- return (_jsx(Tree.Item, { ...props, ref: forwardedRef, className: "stateless-tree-node", label: _jsx(ResultSetTooLargeNodeLabel, { limit: limit, onFilterClick: onFilterClick, onOverrideLimit: onOverrideLimit }) }));
30
- });
31
- ResultSetTooLargeNode.displayName = "ResultSetTooLargeNode";
32
- function ResultSetTooLargeNodeLabel({ onFilterClick, onOverrideLimit, limit }) {
33
- const { localizedStrings } = useLocalizationContext();
34
- const supportsFiltering = !!onFilterClick;
35
- const supportsLimitOverride = !!onOverrideLimit && limit < MAX_LIMIT_OVERRIDE;
36
- const limitExceededMessage = createLocalizedMessage(supportsFiltering ? localizedStrings.resultLimitExceededWithFiltering : localizedStrings.resultLimitExceeded, limit, onFilterClick);
37
- const increaseLimitMessage = supportsLimitOverride
38
- ? createLocalizedMessage(supportsFiltering ? localizedStrings.increaseHierarchyLimitWithFiltering : localizedStrings.increaseHierarchyLimit, MAX_LIMIT_OVERRIDE, () => onOverrideLimit(MAX_LIMIT_OVERRIDE))
39
- : { title: "", element: null };
40
- const title = `${limitExceededMessage.title} ${increaseLimitMessage.title}`;
41
- return (_jsxs("div", { style: { display: "flex", alignItems: "start" }, title: title, children: [limitExceededMessage.element, increaseLimitMessage.element] }));
42
- }
43
- function ErrorNodeLabel({ message, onRetry }) {
44
- const { localizedStrings } = useLocalizationContext();
45
- return (_jsxs("div", { style: { display: "flex" }, children: [_jsx(Text, { children: message }), onRetry ? _jsx(Anchor, { onClick: onRetry, children: localizedStrings?.retry }) : null] }));
46
- }
47
- function createLocalizedMessage(message, limit, onClick) {
48
- const limitStr = limit.toLocaleString(undefined, { useGrouping: true });
49
- const messageWithLimit = message.replace("{{limit}}", limitStr);
50
- const exp = new RegExp("<link>(.*)</link>");
51
- const match = messageWithLimit.match(exp);
52
- if (!match) {
53
- return {
54
- title: messageWithLimit,
55
- element: (_jsx("div", { style: { display: "flex" }, children: _jsx(Text, { children: messageWithLimit }) })),
56
- };
57
- }
58
- const [fullText, innerText] = match;
59
- const [textBefore, textAfter] = messageWithLimit.split(fullText);
60
- return {
61
- title: messageWithLimit.replace(fullText, innerText),
62
- element: (_jsxs("div", { style: { display: "flex" }, children: [textBefore ? _jsx(Text, { children: textBefore }) : null, _jsx(Anchor
63
- // underline props does not exist in v5
64
- , {
65
- // underline props does not exist in v5
66
- onClick: (e) => {
67
- e.stopPropagation();
68
- onClick?.();
69
- }, children: innerText }), textAfter ? _jsx(Text, { children: textAfter }) : null] })),
70
- };
71
- }
72
- //# sourceMappingURL=TreeErrorRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeErrorRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeErrorRenderer.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, forwardRef, RefAttributes } from \"react\";\nimport { Anchor, Text, Tree } from \"@itwin/itwinui-react/bricks\";\nimport { MAX_LIMIT_OVERRIDE } from \"../internal/Utils.js\";\nimport { PresentationInfoNode } from \"../TreeNode.js\";\nimport { useTree } from \"../UseTree.js\";\nimport { useLocalizationContext } from \"./LocalizationContext.js\";\nimport { TreeNodeRendererOwnProps } from \"./TreeNodeRenderer.js\";\n\ninterface TreeErrorRendererOwnProps {\n node: PresentationInfoNode;\n}\n\ntype TreeErrorRendererProps = TreeErrorRendererOwnProps &\n Pick<TreeNodeRendererOwnProps, \"onFilterClick\" | \"reloadTree\"> &\n Partial<Pick<ReturnType<typeof useTree>, \"getHierarchyLevelDetails\">>;\n\n/** @alpha */\nexport const TreeErrorRenderer: React.ForwardRefExoticComponent<TreeErrorRendererProps & RefAttributes<HTMLDivElement>> = forwardRef(\n ({ node, getHierarchyLevelDetails, onFilterClick, reloadTree }, forwardedRef) => {\n const { localizedStrings } = useLocalizationContext();\n if (node.type === \"ResultSetTooLarge\") {\n return (\n <ResultSetTooLargeNode\n ref={forwardedRef}\n limit={node.resultSetSizeLimit}\n onOverrideLimit={getHierarchyLevelDetails ? (limit) => getHierarchyLevelDetails(node.parentNodeId)?.setSizeLimit(limit) : undefined}\n onFilterClick={\n onFilterClick\n ? () => {\n const hierarchyLevelDetails = getHierarchyLevelDetails?.(node.parentNodeId);\n hierarchyLevelDetails && onFilterClick(hierarchyLevelDetails);\n }\n : undefined\n }\n />\n );\n }\n\n if (node.type === \"NoFilterMatches\") {\n return <Tree.Item ref={forwardedRef} label={localizedStrings.noFilteredChildren} aria-disabled={true} />;\n }\n\n const onRetry = reloadTree ? () => reloadTree({ parentNodeId: node.parentNodeId, state: \"reset\" }) : undefined;\n return <Tree.Item ref={forwardedRef} label={<ErrorNodeLabel message={node.message} onRetry={onRetry} />} aria-disabled={true} />;\n },\n);\nTreeErrorRenderer.displayName = \"TreeErrorRenderer\";\n\nconst ResultSetTooLargeNode = forwardRef<\n HTMLDivElement,\n Omit<ComponentPropsWithoutRef<typeof Tree.Item>, \"onExpanded\" | \"label\"> & ResultSetTooLargeNodeLabelProps\n>(({ onFilterClick, onOverrideLimit, limit, ...props }, forwardedRef) => {\n return (\n <Tree.Item\n {...props}\n ref={forwardedRef}\n className=\"stateless-tree-node\"\n label={<ResultSetTooLargeNodeLabel limit={limit} onFilterClick={onFilterClick} onOverrideLimit={onOverrideLimit} />}\n />\n );\n});\nResultSetTooLargeNode.displayName = \"ResultSetTooLargeNode\";\n\ninterface ResultSetTooLargeNodeLabelProps {\n limit: number;\n onFilterClick?: () => void;\n onOverrideLimit?: (limit: number) => void;\n}\n\nfunction ResultSetTooLargeNodeLabel({ onFilterClick, onOverrideLimit, limit }: ResultSetTooLargeNodeLabelProps) {\n const { localizedStrings } = useLocalizationContext();\n const supportsFiltering = !!onFilterClick;\n const supportsLimitOverride = !!onOverrideLimit && limit < MAX_LIMIT_OVERRIDE;\n\n const limitExceededMessage = createLocalizedMessage(\n supportsFiltering ? localizedStrings.resultLimitExceededWithFiltering : localizedStrings.resultLimitExceeded,\n limit,\n onFilterClick,\n );\n const increaseLimitMessage = supportsLimitOverride\n ? createLocalizedMessage(\n supportsFiltering ? localizedStrings.increaseHierarchyLimitWithFiltering : localizedStrings.increaseHierarchyLimit,\n MAX_LIMIT_OVERRIDE,\n () => onOverrideLimit(MAX_LIMIT_OVERRIDE),\n )\n : { title: \"\", element: null };\n\n const title = `${limitExceededMessage.title} ${increaseLimitMessage.title}`;\n\n return (\n <div style={{ display: \"flex\", alignItems: \"start\" }} title={title}>\n {limitExceededMessage.element}\n {increaseLimitMessage.element}\n </div>\n );\n}\n\nfunction ErrorNodeLabel({ message, onRetry }: { message: string; onRetry?: () => void }) {\n const { localizedStrings } = useLocalizationContext();\n return (\n <div style={{ display: \"flex\" }}>\n <Text>{message}</Text>\n {onRetry ? <Anchor onClick={onRetry}>{localizedStrings?.retry}</Anchor> : null}\n </div>\n );\n}\n\nfunction createLocalizedMessage(message: string, limit: number, onClick?: () => void) {\n const limitStr = limit.toLocaleString(undefined, { useGrouping: true });\n const messageWithLimit = message.replace(\"{{limit}}\", limitStr);\n const exp = new RegExp(\"<link>(.*)</link>\");\n const match = messageWithLimit.match(exp);\n\n if (!match) {\n return {\n title: messageWithLimit,\n element: (\n <div style={{ display: \"flex\" }}>\n <Text>{messageWithLimit}</Text>\n </div>\n ),\n };\n }\n\n const [fullText, innerText] = match;\n const [textBefore, textAfter] = messageWithLimit.split(fullText);\n\n return {\n title: messageWithLimit.replace(fullText, innerText),\n element: (\n <div style={{ display: \"flex\" }}>\n {textBefore ? <Text>{textBefore}</Text> : null}\n <Anchor\n // underline props does not exist in v5\n onClick={(e) => {\n e.stopPropagation();\n onClick?.();\n }}\n >\n {innerText}\n </Anchor>\n {textAfter ? <Text>{textAfter}</Text> : null}\n </div>\n ),\n };\n}\n"]}
@@ -1,12 +0,0 @@
1
- import { ReactElement } from "react";
2
- import { PresentationTreeNode } from "../TreeNode.js";
3
- import { useTree } from "../UseTree.js";
4
- import { TreeNodeRendererProps } from "./TreeRenderer.js";
5
- type TreeNodesRendererProps = Omit<TreeNodeRendererProps, "node"> & Partial<Pick<ReturnType<typeof useTree>, "isNodeSelected">> & TreeLevelRendererOwnProps;
6
- interface TreeLevelRendererOwnProps {
7
- nodes: PresentationTreeNode[];
8
- }
9
- /** @alpha */
10
- export declare const TreeLevelRenderer: ({ nodes, isNodeSelected, ...rest }: TreeNodesRendererProps) => ReactElement[];
11
- export {};
12
- //# sourceMappingURL=TreeLevelRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeLevelRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeLevelRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAA0D,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,KAAK,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,yBAAyB,CAAC;AAE5J,UAAU,yBAAyB;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,aAAa;AACb,eAAO,MAAM,iBAAiB,uCAAwC,sBAAsB,KAAG,YAAY,EAKvG,CAAC"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createElement as _createElement } from "react";
3
- import { isPresentationHierarchyNode } from "../TreeNode.js";
4
- import { TreeNodeRenderer } from "./TreeNodeRenderer.js";
5
- /** @alpha */
6
- export const TreeLevelRenderer = ({ nodes, isNodeSelected, ...rest }) => nodes.map((node) => (_createElement(TreeNodeRenderer, { ...rest, node: node, key: node.id, selected: isNodeSelected?.(node.id) }, renderChildren(node) && _jsx(TreeLevelRenderer, { ...rest, nodes: node.children, isNodeSelected: isNodeSelected }))));
7
- function renderChildren(node) {
8
- return isPresentationHierarchyNode(node) && node.children !== true && node.isExpanded === true;
9
- }
10
- //# sourceMappingURL=TreeLevelRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeLevelRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeLevelRenderer.tsx"],"names":[],"mappings":";;AAMA,OAAO,EAAE,2BAA2B,EAAmD,MAAM,gBAAgB,CAAC;AAE9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AASzD,aAAa;AACb,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAA0B,EAAkB,EAAE,CAC9G,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,eAAC,gBAAgB,OAAK,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IACtF,cAAc,CAAC,IAAI,CAAC,IAAI,KAAC,iBAAiB,OAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,GAAI,CAC7F,CACpB,CAAC,CAAC;AAEL,SAAS,cAAc,CAAC,IAA0B;IAChD,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;AACjG,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 { ReactElement } from \"react\";\nimport { isPresentationHierarchyNode, PresentationHierarchyNode, PresentationTreeNode } from \"../TreeNode.js\";\nimport { useTree } from \"../UseTree.js\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer.js\";\nimport { TreeNodeRendererProps } from \"./TreeRenderer.js\";\n\ntype TreeNodesRendererProps = Omit<TreeNodeRendererProps, \"node\"> & Partial<Pick<ReturnType<typeof useTree>, \"isNodeSelected\">> & TreeLevelRendererOwnProps;\n\ninterface TreeLevelRendererOwnProps {\n nodes: PresentationTreeNode[];\n}\n\n/** @alpha */\nexport const TreeLevelRenderer = ({ nodes, isNodeSelected, ...rest }: TreeNodesRendererProps): ReactElement[] =>\n nodes.map((node) => (\n <TreeNodeRenderer {...rest} node={node} key={node.id} selected={isNodeSelected?.(node.id)}>\n {renderChildren(node) && <TreeLevelRenderer {...rest} nodes={node.children} isNodeSelected={isNodeSelected} />}\n </TreeNodeRenderer>\n ));\n\nfunction renderChildren(node: PresentationTreeNode): node is PresentationHierarchyNode & { children: PresentationTreeNode[] } {\n return isPresentationHierarchyNode(node) && node.children !== true && node.isExpanded === true;\n}\n"]}
@@ -1,42 +0,0 @@
1
- import { ComponentPropsWithoutRef, ReactElement, RefAttributes } from "react";
2
- import { Tree } from "@itwin/itwinui-react/bricks";
3
- import { PresentationHierarchyNode, PresentationTreeNode } from "../TreeNode.js";
4
- import { HierarchyLevelDetails, useTree } from "../UseTree.js";
5
- /** @alpha */
6
- type TreeNodeProps = Omit<ComponentPropsWithoutRef<typeof Tree.Item>, "actions">;
7
- /** @alpha */
8
- export interface TreeNodeRendererOwnProps {
9
- /** Node that is rendered. */
10
- node: PresentationTreeNode;
11
- /** Action to perform when the filter button is clicked for this node. */
12
- onFilterClick?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;
13
- /** Returns an icon or icon href for a given node. */
14
- getIcon?: (node: PresentationHierarchyNode) => string | ReactElement | undefined;
15
- /** Returns a label for a given node. */
16
- getLabel?: (node: PresentationHierarchyNode) => ReactElement | undefined;
17
- /** Returns sublabel for a given node. */
18
- getSublabel?: (node: PresentationHierarchyNode) => ReactElement | undefined;
19
- /** Action to perform when the node is clicked. */
20
- onNodeClick?: (node: PresentationHierarchyNode, isSelected: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
21
- /** Action to perform when a key is pressed when the node is hovered on. */
22
- onNodeKeyDown?: (node: PresentationHierarchyNode, isSelected: boolean, event: React.KeyboardEvent<HTMLElement>) => void;
23
- /** A callback to reload a hierarchy level when an error occurs and `retry` button is clicked. */
24
- reloadTree?: (options: {
25
- parentNodeId: string | undefined;
26
- state: "reset";
27
- }) => void;
28
- /** Renderer for additional tree items actions */
29
- actionsRenderer?: (node: PresentationHierarchyNode) => ReactElement;
30
- }
31
- /** @alpha */
32
- type TreeNodeRendererProps = Pick<ReturnType<typeof useTree>, "expandNode"> & Partial<Pick<ReturnType<typeof useTree>, "getHierarchyLevelDetails">> & Omit<TreeNodeProps, "label" | "icon"> & TreeNodeRendererOwnProps;
33
- /**
34
- * A component that renders `RenderedTreeNode` using the `TreeNode` component from `@itwin/itwinui-react`.
35
- *
36
- * @see `TreeRenderer`
37
- * @see https://itwinui.bentley.com/docs/tree
38
- * @public
39
- */
40
- export declare const TreeNodeRenderer: React.ForwardRefExoticComponent<TreeNodeRendererProps & RefAttributes<HTMLDivElement>>;
41
- export {};
42
- //# sourceMappingURL=TreeNodeRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeNodeRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAA2C,YAAY,EAAO,aAAa,EAAuB,MAAM,OAAO,CAAC;AACjJ,OAAO,EAAW,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAA+B,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK/D,aAAa;AACb,KAAK,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAEjF,aAAa;AACb,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACvE,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACjF,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,YAAY,GAAG,SAAS,CAAC;IACzE,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,YAAY,GAAG,SAAS,CAAC;IAC5E,kDAAkD;IAClD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC/H,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACxH,iGAAiG;IACjG,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,iDAAiD;IACjD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,YAAY,CAAC;CACrE;AAED,aAAa;AACb,KAAK,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,YAAY,CAAC,GACzE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC,GACrE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC,GACrC,wBAAwB,CAAC;AAE3B;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,qBAAqB,GAAG,aAAa,CAAC,cAAc,CAAC,CA6DnH,CAAC"}
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } 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 { forwardRef, useCallback, useRef } from "react";
7
- import { Spinner, Tree } from "@itwin/itwinui-react/bricks";
8
- import { isPresentationHierarchyNode } from "../TreeNode.js";
9
- import { useLocalizationContext } from "./LocalizationContext.js";
10
- import { FilterActionButton } from "./TreeActionButtons.js";
11
- import { TreeErrorRenderer } from "./TreeErrorRenderer.js";
12
- /**
13
- * A component that renders `RenderedTreeNode` using the `TreeNode` component from `@itwin/itwinui-react`.
14
- *
15
- * @see `TreeRenderer`
16
- * @see https://itwinui.bentley.com/docs/tree
17
- * @public
18
- */
19
- export const TreeNodeRenderer = forwardRef(({ node, expandNode, getIcon, getLabel, onFilterClick, onNodeClick, onNodeKeyDown, selected, getHierarchyLevelDetails, reloadTree, children, actionsRenderer, ...treeItemProps }, forwardedRef) => {
20
- const nodeRef = useRef(null);
21
- const ref = useMergedRefs(forwardedRef, nodeRef);
22
- if (!isPresentationHierarchyNode(node)) {
23
- return (_jsx(TreeErrorRenderer, { node: node, getHierarchyLevelDetails: getHierarchyLevelDetails, reloadTree: reloadTree, onFilterClick: onFilterClick, ref: ref }));
24
- }
25
- const ActionButtons = () => (_jsxs(_Fragment, { children: [actionsRenderer && actionsRenderer(node), _jsx(FilterActionButton, { node: node, onClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails })] }));
26
- return (_jsx(Tree.Item, { ...treeItemProps, ref: ref, label: getLabel ? getLabel(node) : node.label, selected: selected, expanded: node.isExpanded || node.children === true || node.children.length > 0 ? node.isExpanded : undefined, onExpandedChange: (isExpanded) => {
27
- expandNode(node.id, isExpanded);
28
- }, onClick: (event) => {
29
- !treeItemProps["aria-disabled"] && onNodeClick?.(node, !selected, event);
30
- }, onKeyDown: (event) => {
31
- // Ignore if it is called on the element inside, e.g. checkbox or expander
32
- if (!treeItemProps["aria-disabled"] && event.target === nodeRef.current) {
33
- onNodeKeyDown?.(node, !selected, event);
34
- }
35
- }, icon: getIcon ? getIcon(node) : undefined, actions: _jsx(ActionButtons, {}), children: node.isExpanded && node.children === true ? _jsx(PlaceholderNode, { ...treeItemProps, ref: ref }) : children }));
36
- });
37
- TreeNodeRenderer.displayName = "TreeNodeRenderer";
38
- const PlaceholderNode = forwardRef(({ ...props }, forwardedRef) => {
39
- const { localizedStrings } = useLocalizationContext();
40
- return _jsx(Tree.Item, { ...props, ref: forwardedRef, label: localizedStrings.loading, icon: _jsx(Spinner, { size: "small", title: localizedStrings.loading }) });
41
- });
42
- PlaceholderNode.displayName = "PlaceholderNode";
43
- function useMergedRefs(...refs) {
44
- return useCallback((instance) => {
45
- refs.forEach((ref) => {
46
- if (typeof ref === "function") {
47
- ref(instance);
48
- }
49
- else if (ref) {
50
- ref.current = instance;
51
- }
52
- });
53
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
54
- [...refs]);
55
- }
56
- //# sourceMappingURL=TreeNodeRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../src/presentation-hierarchies-react/itwinui/TreeNodeRenderer.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, forwardRef, LegacyRef, MutableRefObject, ReactElement, Ref, RefAttributes, useCallback, useRef } from \"react\";\nimport { Spinner, Tree } from \"@itwin/itwinui-react/bricks\";\nimport { isPresentationHierarchyNode, PresentationHierarchyNode, PresentationTreeNode } from \"../TreeNode.js\";\nimport { HierarchyLevelDetails, useTree } from \"../UseTree.js\";\nimport { useLocalizationContext } from \"./LocalizationContext.js\";\nimport { FilterActionButton } from \"./TreeActionButtons.js\";\nimport { TreeErrorRenderer } from \"./TreeErrorRenderer.js\";\n\n/** @alpha */\ntype TreeNodeProps = Omit<ComponentPropsWithoutRef<typeof Tree.Item>, \"actions\">;\n\n/** @alpha */\nexport interface TreeNodeRendererOwnProps {\n /** Node that is rendered. */\n node: PresentationTreeNode;\n /** Action to perform when the filter button is clicked for this node. */\n onFilterClick?: (hierarchyLevelDetails: HierarchyLevelDetails) => void;\n /** Returns an icon or icon href for a given node. */\n getIcon?: (node: PresentationHierarchyNode) => string | ReactElement | undefined;\n /** Returns a label for a given node. */\n getLabel?: (node: PresentationHierarchyNode) => ReactElement | undefined;\n /** Returns sublabel for a given node. */\n getSublabel?: (node: PresentationHierarchyNode) => ReactElement | undefined;\n /** Action to perform when the node is clicked. */\n onNodeClick?: (node: PresentationHierarchyNode, isSelected: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Action to perform when a key is pressed when the node is hovered on. */\n onNodeKeyDown?: (node: PresentationHierarchyNode, isSelected: boolean, event: React.KeyboardEvent<HTMLElement>) => void;\n /** A callback to reload a hierarchy level when an error occurs and `retry` button is clicked. */\n reloadTree?: (options: { parentNodeId: string | undefined; state: \"reset\" }) => void;\n /** Renderer for additional tree items actions */\n actionsRenderer?: (node: PresentationHierarchyNode) => ReactElement;\n}\n\n/** @alpha */\ntype TreeNodeRendererProps = Pick<ReturnType<typeof useTree>, \"expandNode\"> &\n Partial<Pick<ReturnType<typeof useTree>, \"getHierarchyLevelDetails\">> &\n Omit<TreeNodeProps, \"label\" | \"icon\"> &\n TreeNodeRendererOwnProps;\n\n/**\n * A component that renders `RenderedTreeNode` using the `TreeNode` component from `@itwin/itwinui-react`.\n *\n * @see `TreeRenderer`\n * @see https://itwinui.bentley.com/docs/tree\n * @public\n */\nexport const TreeNodeRenderer: React.ForwardRefExoticComponent<TreeNodeRendererProps & RefAttributes<HTMLDivElement>> = forwardRef(\n (\n {\n node,\n expandNode,\n getIcon,\n getLabel,\n onFilterClick,\n onNodeClick,\n onNodeKeyDown,\n selected,\n getHierarchyLevelDetails,\n reloadTree,\n children,\n actionsRenderer,\n ...treeItemProps\n },\n forwardedRef,\n ) => {\n const nodeRef = useRef<HTMLDivElement>(null);\n const ref = useMergedRefs(forwardedRef, nodeRef);\n\n if (!isPresentationHierarchyNode(node)) {\n return (\n <TreeErrorRenderer node={node} getHierarchyLevelDetails={getHierarchyLevelDetails} reloadTree={reloadTree} onFilterClick={onFilterClick} ref={ref} />\n );\n }\n\n const ActionButtons = () => (\n <>\n {actionsRenderer && actionsRenderer(node)}\n <FilterActionButton node={node} onClick={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} />\n </>\n );\n\n return (\n <Tree.Item\n {...treeItemProps}\n ref={ref}\n label={getLabel ? getLabel(node) : node.label}\n selected={selected}\n expanded={node.isExpanded || node.children === true || node.children.length > 0 ? node.isExpanded : undefined}\n onExpandedChange={(isExpanded) => {\n expandNode(node.id, isExpanded);\n }}\n onClick={(event) => {\n !treeItemProps[\"aria-disabled\"] && onNodeClick?.(node, !selected, event);\n }}\n onKeyDown={(event) => {\n // Ignore if it is called on the element inside, e.g. checkbox or expander\n if (!treeItemProps[\"aria-disabled\"] && event.target === nodeRef.current) {\n onNodeKeyDown?.(node, !selected, event);\n }\n }}\n icon={getIcon ? getIcon(node) : undefined}\n actions={<ActionButtons />}\n >\n {node.isExpanded && node.children === true ? <PlaceholderNode {...treeItemProps} ref={ref} /> : children}\n </Tree.Item>\n );\n },\n);\nTreeNodeRenderer.displayName = \"TreeNodeRenderer\";\n\nconst PlaceholderNode = forwardRef<HTMLDivElement, Omit<TreeNodeProps, \"onExpanded\" | \"label\">>(({ ...props }, forwardedRef) => {\n const { localizedStrings } = useLocalizationContext();\n return <Tree.Item {...props} ref={forwardedRef} label={localizedStrings.loading} icon={<Spinner size={\"small\"} title={localizedStrings.loading} />} />;\n});\nPlaceholderNode.displayName = \"PlaceholderNode\";\n\nfunction useMergedRefs<T>(...refs: ReadonlyArray<Ref<T> | LegacyRef<T> | undefined | null>) {\n return useCallback(\n (instance: T | null) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref) {\n (ref as MutableRefObject<T | null>).current = instance;\n }\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...refs],\n );\n}\n"]}
@@ -1,30 +0,0 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- import { Tree } from "@itwin/itwinui-react/bricks";
3
- import { PresentationTreeNode } from "../TreeNode.js";
4
- import { SelectionMode } from "../UseSelectionHandler.js";
5
- import { useTree } from "../UseTree.js";
6
- import { LocalizationContextProvider } from "./LocalizationContext.js";
7
- import { TreeNodeRenderer } from "./TreeNodeRenderer.js";
8
- /** @alpha */
9
- export type TreeProps = ComponentPropsWithoutRef<typeof Tree.Root>;
10
- /** @alpha */
11
- export type TreeNodeRendererProps = ComponentPropsWithoutRef<typeof TreeNodeRenderer>;
12
- /** @alpha */
13
- interface TreeRendererOwnProps {
14
- /** Root nodes of the tree. */
15
- rootNodes: PresentationTreeNode[];
16
- /** Active selection mode used by the tree. Defaults to `"single"`. */
17
- selectionMode?: SelectionMode;
18
- }
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
- /**
22
- * A component that renders a tree using the `Tree` component from `@itwin/itwinui-react`. The tree nodes
23
- * are rendered using `TreeNodeRenderer` component from this package.
24
- *
25
- * @see https://itwinui.bentley.com/docs/tree
26
- * @alpha
27
- */
28
- export declare function TreeRenderer({ rootNodes, expandNode, localizedStrings, selectNodes, isNodeSelected, selectionMode, ...treeProps }: TreeRendererProps): import("react/jsx-runtime").JSX.Element;
29
- export {};
30
- //# sourceMappingURL=TreeRenderer.d.ts.map
@@ -1 +0,0 @@
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"}