@itwin/tree-widget-react 4.0.0-alpha.16 → 4.0.0-alpha.17

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.
@@ -1,7 +1,13 @@
1
+ import type { PresentationHierarchyNode } from "@itwin/presentation-hierarchies-react";
1
2
  import type { BaseTreeRendererProps } from "./BaseTreeRenderer.js";
3
+ /** @beta */
4
+ type TreeRendererProps = Omit<BaseTreeRendererProps, "getInlineActions" | "getMenuActions" | "getDecorations"> & {
5
+ [Property in keyof Pick<BaseTreeRendererProps, "getInlineActions" | "getMenuActions" | "getDecorations">]?: (node: PresentationHierarchyNode, treeRendererProps: TreeRendererProps) => ReturnType<NonNullable<BaseTreeRendererProps[Property]>>;
6
+ };
2
7
  /**
3
8
  * Default renderer for rendering tree data.
4
9
  * @beta
5
10
  */
6
- export declare function TreeRenderer({ getInlineActions, getHierarchyLevelDetails, onFilterClick, ...props }: BaseTreeRendererProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function TreeRenderer(props: TreeRendererProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
7
13
  //# sourceMappingURL=TreeRenderer.d.ts.map
@@ -10,12 +10,15 @@ import { BaseTreeRenderer } from "./BaseTreeRenderer.js";
10
10
  * Default renderer for rendering tree data.
11
11
  * @beta
12
12
  */
13
- export function TreeRenderer({ getInlineActions, getHierarchyLevelDetails, onFilterClick, ...props }) {
13
+ export function TreeRenderer(props) {
14
+ const { getInlineActions, getMenuActions, getDecorations, getHierarchyLevelDetails, onFilterClick, ...restProps } = props;
14
15
  const nodeInlineActions = useCallback((node) => {
15
16
  return getInlineActions
16
- ? getInlineActions(node)
17
+ ? getInlineActions(node, props)
17
18
  : [_jsx(FilterAction, { node: node, onFilter: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, reserveSpace: true }, "Filter")];
18
- }, [getInlineActions, onFilterClick, getHierarchyLevelDetails]);
19
- return _jsx(BaseTreeRenderer, { ...props, onFilterClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, getInlineActions: nodeInlineActions });
19
+ }, [getInlineActions, onFilterClick, getHierarchyLevelDetails, props]);
20
+ const nodeMenuActions = useCallback((node) => (getMenuActions ? getMenuActions(node, props) : []), [getMenuActions, props]);
21
+ const nodeDecorations = useCallback((node) => (getDecorations ? getDecorations(node, props) : []), [getDecorations, props]);
22
+ return (_jsx(BaseTreeRenderer, { ...restProps, onFilterClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, getInlineActions: nodeInlineActions, getMenuActions: nodeMenuActions, getDecorations: nodeDecorations }));
20
23
  }
21
24
  //# sourceMappingURL=TreeRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/common/components/TreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,KAAK,EAAyB;IACzH,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAA+B,EAAE,EAAE;QAClC,OAAO,gBAAgB;YACrB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC,KAAC,YAAY,IAAgB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,YAAY,UAA/G,QAAQ,CAA0G,CAAC,CAAC;IAC9I,CAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAC5D,CAAC;IAEF,OAAO,KAAC,gBAAgB,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,GAAI,CAAC;AAChK,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 { useCallback } from \"react\";\nimport { FilterAction } from \"@itwin/presentation-hierarchies-react\";\nimport { BaseTreeRenderer } from \"./BaseTreeRenderer.js\";\n\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\nimport type { BaseTreeRendererProps } from \"./BaseTreeRenderer.js\";\n/**\n * Default renderer for rendering tree data.\n * @beta\n */\nexport function TreeRenderer({ getInlineActions, getHierarchyLevelDetails, onFilterClick, ...props }: BaseTreeRendererProps) {\n const nodeInlineActions = useCallback(\n (node: PresentationHierarchyNode) => {\n return getInlineActions\n ? getInlineActions(node)\n : [<FilterAction key={\"Filter\"} node={node} onFilter={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} reserveSpace />];\n },\n [getInlineActions, onFilterClick, getHierarchyLevelDetails],\n );\n\n return <BaseTreeRenderer {...props} onFilterClick={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} getInlineActions={nodeInlineActions} />;\n}\n"]}
1
+ {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/common/components/TreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAazD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1H,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAA+B,EAAE,EAAE;QAClC,OAAO,gBAAgB;YACrB,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/B,CAAC,CAAC,CAAC,KAAC,YAAY,IAAgB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,YAAY,UAA/G,QAAQ,CAA0G,CAAC,CAAC;IAC9I,CAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,EAAE,KAAK,CAAC,CACnE,CAAC;IACF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACvJ,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvJ,OAAO,CACL,KAAC,gBAAgB,OACX,SAAS,EACb,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,gBAAgB,EAAE,iBAAiB,EACnC,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,GAC/B,CACH,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback } from \"react\";\nimport { FilterAction } from \"@itwin/presentation-hierarchies-react\";\nimport { BaseTreeRenderer } from \"./BaseTreeRenderer.js\";\n\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\nimport type { BaseTreeRendererProps } from \"./BaseTreeRenderer.js\";\n\n/** @beta */\ntype TreeRendererProps = Omit<BaseTreeRendererProps, \"getInlineActions\" | \"getMenuActions\" | \"getDecorations\"> & {\n [Property in keyof Pick<BaseTreeRendererProps, \"getInlineActions\" | \"getMenuActions\" | \"getDecorations\">]?: (\n node: PresentationHierarchyNode,\n treeRendererProps: TreeRendererProps,\n ) => ReturnType<NonNullable<BaseTreeRendererProps[Property]>>;\n};\n\n/**\n * Default renderer for rendering tree data.\n * @beta\n */\nexport function TreeRenderer(props: TreeRendererProps) {\n const { getInlineActions, getMenuActions, getDecorations, getHierarchyLevelDetails, onFilterClick, ...restProps } = props;\n\n const nodeInlineActions = useCallback(\n (node: PresentationHierarchyNode) => {\n return getInlineActions\n ? getInlineActions(node, props)\n : [<FilterAction key={\"Filter\"} node={node} onFilter={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} reserveSpace />];\n },\n [getInlineActions, onFilterClick, getHierarchyLevelDetails, props],\n );\n const nodeMenuActions = useCallback((node: PresentationHierarchyNode) => (getMenuActions ? getMenuActions(node, props) : []), [getMenuActions, props]);\n const nodeDecorations = useCallback((node: PresentationHierarchyNode) => (getDecorations ? getDecorations(node, props) : []), [getDecorations, props]);\n\n return (\n <BaseTreeRenderer\n {...restProps}\n onFilterClick={onFilterClick}\n getHierarchyLevelDetails={getHierarchyLevelDetails}\n getInlineActions={nodeInlineActions}\n getMenuActions={nodeMenuActions}\n getDecorations={nodeDecorations}\n />\n );\n}\n"]}
@@ -1,10 +1,13 @@
1
+ import type { PresentationHierarchyNode } from "@itwin/presentation-hierarchies-react";
1
2
  import type { BaseTreeRendererProps } from "./BaseTreeRenderer.js";
2
3
  import type { VisibilityContext } from "./TreeNodeVisibilityButton.js";
3
4
  /** @beta */
4
- export type VisibilityTreeRendererProps = BaseTreeRendererProps & VisibilityContext;
5
+ export type VisibilityTreeRendererProps = Omit<BaseTreeRendererProps, "getInlineActions" | "getMenuActions" | "getDecorations"> & {
6
+ [Property in keyof Pick<BaseTreeRendererProps, "getInlineActions" | "getMenuActions" | "getDecorations">]?: (node: PresentationHierarchyNode, treeRendererProps: VisibilityTreeRendererProps) => ReturnType<NonNullable<BaseTreeRendererProps[Property]>>;
7
+ } & VisibilityContext;
5
8
  /**
6
9
  * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
7
10
  * @beta
8
11
  */
9
- export declare function VisibilityTreeRenderer({ getVisibilityButtonState, onVisibilityButtonClick: onClick, getInlineActions, onFilterClick, getHierarchyLevelDetails, ...props }: VisibilityTreeRendererProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function VisibilityTreeRenderer(props: VisibilityTreeRendererProps): import("react/jsx-runtime").JSX.Element;
10
13
  //# sourceMappingURL=VisibilityTreeRenderer.d.ts.map
@@ -12,16 +12,19 @@ import { useVisibilityButtonHandler } from "./UseVisibilityButtonHandler.js";
12
12
  * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.
13
13
  * @beta
14
14
  */
15
- export function VisibilityTreeRenderer({ getVisibilityButtonState, onVisibilityButtonClick: onClick, getInlineActions, onFilterClick, getHierarchyLevelDetails, ...props }) {
15
+ export function VisibilityTreeRenderer(props) {
16
+ const { getVisibilityButtonState, onVisibilityButtonClick: onClick, getInlineActions, getMenuActions, getDecorations, onFilterClick, getHierarchyLevelDetails, ...restProps } = props;
16
17
  const { onVisibilityButtonClick } = useVisibilityButtonHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });
17
- const nodeActions = useCallback((node) => {
18
+ const nodeInlineActions = useCallback((node) => {
18
19
  return getInlineActions
19
- ? getInlineActions(node)
20
+ ? getInlineActions(node, props)
20
21
  : [
21
22
  _jsx(VisibilityAction, { node: node, reserveSpace: true }, "Visibility"),
22
23
  _jsx(FilterAction, { node: node, onFilter: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, reserveSpace: true }, "Filter"),
23
24
  ];
24
- }, [onFilterClick, getHierarchyLevelDetails, getInlineActions]);
25
- return (_jsx(VisibilityContextProvider, { onVisibilityButtonClick: onVisibilityButtonClick, getVisibilityButtonState: getVisibilityButtonState, children: _jsx(BaseTreeRenderer, { ...props, onFilterClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, getInlineActions: nodeActions }) }));
25
+ }, [onFilterClick, getHierarchyLevelDetails, getInlineActions, props]);
26
+ const nodeMenuActions = useCallback((node) => (getMenuActions ? getMenuActions(node, props) : []), [getMenuActions, props]);
27
+ const nodeDecorations = useCallback((node) => (getDecorations ? getDecorations(node, props) : []), [getDecorations, props]);
28
+ return (_jsx(VisibilityContextProvider, { onVisibilityButtonClick: onVisibilityButtonClick, getVisibilityButtonState: getVisibilityButtonState, children: _jsx(BaseTreeRenderer, { ...restProps, onFilterClick: onFilterClick, getHierarchyLevelDetails: getHierarchyLevelDetails, getInlineActions: nodeInlineActions, getMenuActions: nodeMenuActions, getDecorations: nodeDecorations }) }));
26
29
  }
27
30
  //# sourceMappingURL=VisibilityTreeRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAS7E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,wBAAwB,EACxB,uBAAuB,EAAE,OAAO,EAChC,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,GAAG,KAAK,EACoB;IAC5B,MAAM,EAAE,uBAAuB,EAAE,GAAG,0BAA0B,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9I,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,IAA+B,EAAE,EAAE;QAClC,OAAO,gBAAgB;YACrB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC;gBACE,KAAC,gBAAgB,IAAoB,IAAI,EAAE,IAAI,EAAE,YAAY,UAAtC,YAAY,CAA6B;gBAChE,KAAC,YAAY,IAAgB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,YAAY,UAA/G,QAAQ,CAA0G;aACtI,CAAC;IACR,CAAC,EACD,CAAC,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,CAC5D,CAAC;IAEF,OAAO,CACL,KAAC,yBAAyB,IAAC,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,YAC7H,KAAC,gBAAgB,OAAK,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,WAAW,GAAI,GACtH,CAC7B,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback } from \"react\";\nimport { FilterAction } from \"@itwin/presentation-hierarchies-react\";\nimport { BaseTreeRenderer } from \"./BaseTreeRenderer.js\";\nimport { VisibilityAction, VisibilityContextProvider } from \"./TreeNodeVisibilityButton.js\";\nimport { useVisibilityButtonHandler } from \"./UseVisibilityButtonHandler.js\";\n\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\nimport type { BaseTreeRendererProps } from \"./BaseTreeRenderer.js\";\nimport type { VisibilityContext } from \"./TreeNodeVisibilityButton.js\";\n\n/** @beta */\nexport type VisibilityTreeRendererProps = BaseTreeRendererProps & VisibilityContext;\n\n/**\n * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTreeRenderer({\n getVisibilityButtonState,\n onVisibilityButtonClick: onClick,\n getInlineActions,\n onFilterClick,\n getHierarchyLevelDetails,\n ...props\n}: VisibilityTreeRendererProps) {\n const { onVisibilityButtonClick } = useVisibilityButtonHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });\n\n const nodeActions = useCallback(\n (node: PresentationHierarchyNode) => {\n return getInlineActions\n ? getInlineActions(node)\n : [\n <VisibilityAction key={\"Visibility\"} node={node} reserveSpace />,\n <FilterAction key={\"Filter\"} node={node} onFilter={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} reserveSpace />,\n ];\n },\n [onFilterClick, getHierarchyLevelDetails, getInlineActions],\n );\n\n return (\n <VisibilityContextProvider onVisibilityButtonClick={onVisibilityButtonClick} getVisibilityButtonState={getVisibilityButtonState}>\n <BaseTreeRenderer {...props} onFilterClick={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} getInlineActions={nodeActions} />\n </VisibilityContextProvider>\n );\n}\n"]}
1
+ {"version":3,"file":"VisibilityTreeRenderer.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAc7E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EACJ,wBAAwB,EACxB,uBAAuB,EAAE,OAAO,EAChC,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,uBAAuB,EAAE,GAAG,0BAA0B,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9I,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAA+B,EAAE,EAAE;QAClC,OAAO,gBAAgB;YACrB,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/B,CAAC,CAAC;gBACE,KAAC,gBAAgB,IAAoB,IAAI,EAAE,IAAI,EAAE,YAAY,UAAtC,YAAY,CAA6B;gBAChE,KAAC,YAAY,IAAgB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,YAAY,UAA/G,QAAQ,CAA0G;aACtI,CAAC;IACR,CAAC,EACD,CAAC,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CACnE,CAAC;IACF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACvJ,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvJ,OAAO,CACL,KAAC,yBAAyB,IAAC,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,YAC7H,KAAC,gBAAgB,OACX,SAAS,EACb,aAAa,EAAE,aAAa,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,gBAAgB,EAAE,iBAAiB,EACnC,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,GAC/B,GACwB,CAC7B,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { useCallback } from \"react\";\nimport { FilterAction } from \"@itwin/presentation-hierarchies-react\";\nimport { BaseTreeRenderer } from \"./BaseTreeRenderer.js\";\nimport { VisibilityAction, VisibilityContextProvider } from \"./TreeNodeVisibilityButton.js\";\nimport { useVisibilityButtonHandler } from \"./UseVisibilityButtonHandler.js\";\n\nimport type { PresentationHierarchyNode } from \"@itwin/presentation-hierarchies-react\";\nimport type { BaseTreeRendererProps } from \"./BaseTreeRenderer.js\";\nimport type { VisibilityContext } from \"./TreeNodeVisibilityButton.js\";\n\n/** @beta */\nexport type VisibilityTreeRendererProps = Omit<BaseTreeRendererProps, \"getInlineActions\" | \"getMenuActions\" | \"getDecorations\"> & {\n [Property in keyof Pick<BaseTreeRendererProps, \"getInlineActions\" | \"getMenuActions\" | \"getDecorations\">]?: (\n node: PresentationHierarchyNode,\n treeRendererProps: VisibilityTreeRendererProps,\n ) => ReturnType<NonNullable<BaseTreeRendererProps[Property]>>;\n} & VisibilityContext;\n\n/**\n * Tree renderer that renders tree nodes with eye checkboxes for controlling visibility of instances represented by tree nodes.\n * @beta\n */\nexport function VisibilityTreeRenderer(props: VisibilityTreeRendererProps) {\n const {\n getVisibilityButtonState,\n onVisibilityButtonClick: onClick,\n getInlineActions,\n getMenuActions,\n getDecorations,\n onFilterClick,\n getHierarchyLevelDetails,\n ...restProps\n } = props;\n const { onVisibilityButtonClick } = useVisibilityButtonHandler({ rootNodes: props.rootNodes, isNodeSelected: props.isNodeSelected, onClick });\n\n const nodeInlineActions = useCallback(\n (node: PresentationHierarchyNode) => {\n return getInlineActions\n ? getInlineActions(node, props)\n : [\n <VisibilityAction key={\"Visibility\"} node={node} reserveSpace />,\n <FilterAction key={\"Filter\"} node={node} onFilter={onFilterClick} getHierarchyLevelDetails={getHierarchyLevelDetails} reserveSpace />,\n ];\n },\n [onFilterClick, getHierarchyLevelDetails, getInlineActions, props],\n );\n const nodeMenuActions = useCallback((node: PresentationHierarchyNode) => (getMenuActions ? getMenuActions(node, props) : []), [getMenuActions, props]);\n const nodeDecorations = useCallback((node: PresentationHierarchyNode) => (getDecorations ? getDecorations(node, props) : []), [getDecorations, props]);\n\n return (\n <VisibilityContextProvider onVisibilityButtonClick={onVisibilityButtonClick} getVisibilityButtonState={getVisibilityButtonState}>\n <BaseTreeRenderer\n {...restProps}\n onFilterClick={onFilterClick}\n getHierarchyLevelDetails={getHierarchyLevelDetails}\n getInlineActions={nodeInlineActions}\n getMenuActions={nodeMenuActions}\n getDecorations={nodeDecorations}\n />\n </VisibilityContextProvider>\n );\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/tree-widget-react",
3
- "version": "4.0.0-alpha.16",
3
+ "version": "4.0.0-alpha.17",
4
4
  "description": "Tree Widget React",
5
5
  "keywords": [
6
6
  "Bentley",