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

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 (38) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/lib/esm/presentation-hierarchies-react/itwinui/FlatTreeNode.d.ts +28 -0
  3. package/lib/esm/presentation-hierarchies-react/itwinui/FlatTreeNode.d.ts.map +1 -0
  4. package/lib/esm/presentation-hierarchies-react/itwinui/FlatTreeNode.js +66 -0
  5. package/lib/esm/presentation-hierarchies-react/itwinui/FlatTreeNode.js.map +1 -0
  6. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.d.ts +22 -7
  7. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.d.ts.map +1 -1
  8. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.js +8 -5
  9. package/lib/esm/presentation-hierarchies-react/itwinui/LocalizationContext.js.map +1 -1
  10. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButton.d.ts +31 -0
  11. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButton.d.ts.map +1 -0
  12. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButton.js +38 -0
  13. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButton.js.map +1 -0
  14. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts +19 -8
  15. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.d.ts.map +1 -1
  16. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js +32 -57
  17. package/lib/esm/presentation-hierarchies-react/itwinui/TreeErrorRenderer.js.map +1 -1
  18. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts +23 -18
  19. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.d.ts.map +1 -1
  20. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js +31 -13
  21. package/lib/esm/presentation-hierarchies-react/itwinui/TreeNodeRenderer.js.map +1 -1
  22. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts +3 -2
  23. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.d.ts.map +1 -1
  24. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js +61 -4
  25. package/lib/esm/presentation-hierarchies-react/itwinui/TreeRenderer.js.map +1 -1
  26. package/lib/esm/presentation-hierarchies-react.d.ts +2 -2
  27. package/lib/esm/presentation-hierarchies-react.d.ts.map +1 -1
  28. package/lib/esm/presentation-hierarchies-react.js +2 -2
  29. package/lib/esm/presentation-hierarchies-react.js.map +1 -1
  30. package/package.json +36 -34
  31. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts +0 -12
  32. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.d.ts.map +0 -1
  33. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js +0 -19
  34. package/lib/esm/presentation-hierarchies-react/itwinui/TreeActionButtons.js.map +0 -1
  35. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts +0 -12
  36. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.d.ts.map +0 -1
  37. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js +0 -10
  38. package/lib/esm/presentation-hierarchies-react/itwinui/TreeLevelRenderer.js.map +0 -1
@@ -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 { 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"]}