@itwin/presentation-common 5.3.0-dev.2 → 5.3.0-dev.23

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 (89) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/Ruleset.schema.json +18 -18
  3. package/lib/cjs/presentation-common/KeySet.d.ts +4 -4
  4. package/lib/cjs/presentation-common/KeySet.js +3 -3
  5. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  6. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +5 -5
  7. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  8. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +4 -4
  9. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  10. package/lib/cjs/presentation-common/Update.d.ts +7 -7
  11. package/lib/cjs/presentation-common/Update.js.map +1 -1
  12. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -1
  13. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  14. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +10 -10
  15. package/lib/cjs/presentation-common/hierarchy/Key.js +2 -2
  16. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  17. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +2 -2
  18. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  19. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +2 -2
  20. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  21. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +9 -9
  22. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +2 -2
  23. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  24. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +1 -1
  25. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  26. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +4 -4
  27. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +1 -1
  28. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  29. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +1 -1
  30. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  31. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +6 -6
  32. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +1 -1
  33. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  34. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +1 -1
  35. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  36. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +2 -2
  37. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  38. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +1 -1
  39. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  40. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +1 -1
  41. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  42. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +1 -1
  43. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  44. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +1 -1
  45. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  46. package/lib/esm/presentation-common/KeySet.d.ts +4 -4
  47. package/lib/esm/presentation-common/KeySet.js +3 -3
  48. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  49. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +5 -5
  50. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  51. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +4 -4
  52. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  53. package/lib/esm/presentation-common/Update.d.ts +7 -7
  54. package/lib/esm/presentation-common/Update.js.map +1 -1
  55. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -1
  56. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  57. package/lib/esm/presentation-common/hierarchy/Key.d.ts +10 -10
  58. package/lib/esm/presentation-common/hierarchy/Key.js +2 -2
  59. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  60. package/lib/esm/presentation-common/hierarchy/Node.d.ts +2 -2
  61. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  62. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +2 -2
  63. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  64. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +9 -9
  65. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +2 -2
  66. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  67. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +1 -1
  68. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  69. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +4 -4
  70. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +1 -1
  71. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  72. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +1 -1
  73. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  74. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +6 -6
  75. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +1 -1
  76. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  77. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +1 -1
  78. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  79. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +2 -2
  80. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  81. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +1 -1
  82. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  83. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +1 -1
  84. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  85. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +1 -1
  86. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  87. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +1 -1
  88. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  89. package/package.json +11 -11
@@ -6,7 +6,7 @@ import { InstanceKey } from "../EC.js";
6
6
  /**
7
7
  * Standard node types
8
8
  * @public
9
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
9
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
10
10
  * package for creating hierarchies.
11
11
  */
12
12
  export declare enum StandardNodeTypes {
@@ -18,13 +18,13 @@ export declare enum StandardNodeTypes {
18
18
  /**
19
19
  * One of the node key types
20
20
  * @public
21
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
21
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
22
22
  * package for creating hierarchies.
23
23
  */
24
24
  export type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;
25
25
  /**
26
26
  * @public
27
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
27
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
28
28
  * package for creating hierarchies.
29
29
  */
30
30
  export declare namespace NodeKey {
@@ -52,14 +52,14 @@ export declare namespace NodeKey {
52
52
  /**
53
53
  * Node key path. Can be used to define path from one node to another.
54
54
  * @public
55
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
55
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
56
56
  * package for creating hierarchies.
57
57
  */
58
58
  export type NodeKeyPath = NodeKey[];
59
59
  /**
60
60
  * Data structure that describes a basic node key
61
61
  * @public
62
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
62
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
63
63
  * package for creating hierarchies.
64
64
  */
65
65
  export interface BaseNodeKey {
@@ -78,7 +78,7 @@ export interface BaseNodeKey {
78
78
  /**
79
79
  * Data structure that describes a node ECInstance node key
80
80
  * @public
81
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
81
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
82
82
  * package for creating hierarchies.
83
83
  */
84
84
  export interface ECInstancesNodeKey extends BaseNodeKey {
@@ -89,7 +89,7 @@ export interface ECInstancesNodeKey extends BaseNodeKey {
89
89
  /**
90
90
  * Data structure that describes a grouping node key
91
91
  * @public
92
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
92
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
93
93
  * package for creating hierarchies.
94
94
  */
95
95
  export interface GroupingNodeKey extends BaseNodeKey {
@@ -105,7 +105,7 @@ export interface GroupingNodeKey extends BaseNodeKey {
105
105
  /**
106
106
  * Data structure that describes an ECClass grouping node key
107
107
  * @public
108
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
108
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
109
109
  * package for creating hierarchies.
110
110
  */
111
111
  export interface ECClassGroupingNodeKey extends GroupingNodeKey {
@@ -116,7 +116,7 @@ export interface ECClassGroupingNodeKey extends GroupingNodeKey {
116
116
  /**
117
117
  * Data structure that describes an ECProperty grouping node key
118
118
  * @public
119
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
119
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
120
120
  * package for creating hierarchies.
121
121
  */
122
122
  export interface ECPropertyGroupingNodeKey extends GroupingNodeKey {
@@ -131,7 +131,7 @@ export interface ECPropertyGroupingNodeKey extends GroupingNodeKey {
131
131
  /**
132
132
  * Data structure that describes a display label grouping node key
133
133
  * @public
134
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
134
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
135
135
  * package for creating hierarchies.
136
136
  */
137
137
  export interface LabelGroupingNodeKey extends GroupingNodeKey {
@@ -11,7 +11,7 @@ import { InstanceKey } from "../EC.js";
11
11
  /**
12
12
  * Standard node types
13
13
  * @public
14
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
14
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
15
15
  * package for creating hierarchies.
16
16
  */
17
17
  export var StandardNodeTypes;
@@ -23,7 +23,7 @@ export var StandardNodeTypes;
23
23
  })(StandardNodeTypes || (StandardNodeTypes = {}));
24
24
  /**
25
25
  * @public
26
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
26
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
27
27
  * package for creating hierarchies.
28
28
  */
29
29
  // eslint-disable-next-line @typescript-eslint/no-redeclare
@@ -1 +1 @@
1
- {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,wDAAmC,CAAA;IACnC,gEAA2C,CAAA;IAC3C,sEAAiD,CAAA;IACjD,0EAAqD,CAAA;AACvD,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AASD;;;;GAIG;AACH,2DAA2D;AAC3D,MAAM,KAAW,OAAO,CAoFvB;AApFD,WAAiB,OAAO;IACtB,8DAA8D;IAC9D,SAAgB,kBAAkB,CAAC,GAAY;QAC7C,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,eAAe,CAAC;IACxD,CAAC;IAFe,0BAAkB,qBAEjC,CAAA;IAED,kEAAkE;IAClE,SAAgB,sBAAsB,CAAC,GAAY;QACjD,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,mBAAmB,CAAC;IAC5D,CAAC;IAFe,8BAAsB,yBAErC,CAAA;IAED,qEAAqE;IACrE,SAAgB,yBAAyB,CAAC,GAAY;QACpD,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,sBAAsB,CAAC;IAC/D,CAAC;IAFe,iCAAyB,4BAExC,CAAA;IAED,+DAA+D;IAC/D,SAAgB,sBAAsB,CAAC,GAAY;QACjD,OAAO,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,wBAAwB,CAAC;IACjE,CAAC;IAFe,8BAAsB,yBAErC,CAAA;IAED,wDAAwD;IACxD,SAAgB,iBAAiB,CAAC,GAAY;QAC5C,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAFe,yBAAiB,oBAEhC,CAAA;IAED;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,GAAY,EAAE,GAAY;QAC/C,6BAA6B;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,8CAA8C;QAC9C,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0EAA0E;QAC1E,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sFAAsF;QACtF,8CAA8C;QAC9C,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC;QACzC,CAAC;QACD,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,OAAO,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,CAAC;QAClF,CAAC;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAhDe,cAAM,SAgDrB,CAAA;AACH,CAAC,EApFgB,OAAO,KAAP,OAAO,QAoFvB","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { InstanceKey } from \"../EC.js\";\n\n/**\n * Standard node types\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum StandardNodeTypes {\n ECInstancesNode = \"ECInstancesNode\",\n ECClassGroupingNode = \"ECClassGroupingNode\",\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\n}\n\n/**\n * One of the node key types\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\n/**\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace NodeKey {\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey {\n return key.type === StandardNodeTypes.ECInstancesNode;\n }\n\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey {\n return key.type === StandardNodeTypes.ECClassGroupingNode;\n }\n\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey {\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\n }\n\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey {\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\n }\n\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);\n }\n\n /**\n * Checks if two given node keys are equal, taking their versions into account.\n *\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\n * which is the most accurate way of checking equality. However, when version are different,\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\n * label, grouping class, property name, etc.).\n */\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\n // types must always be equal\n if (lhs.type !== rhs.type) {\n return false;\n }\n\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\n return false;\n }\n\n // when versions are equal, compare using contents of `pathFromRoot` array\n if (lhs.version === rhs.version) {\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\n return false;\n }\n }\n return true;\n }\n\n // when versions aren't equal, compare using other key information, because key hashes\n // of different key versions can't be compared\n if (isInstancesNodeKey(lhs)) {\n assert(isInstancesNodeKey(rhs));\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\n return false;\n }\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\n return false;\n }\n }\n return true;\n }\n if (isClassGroupingNodeKey(lhs)) {\n assert(isClassGroupingNodeKey(rhs));\n return lhs.className === rhs.className;\n }\n if (isPropertyGroupingNodeKey(lhs)) {\n assert(isPropertyGroupingNodeKey(rhs));\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\n }\n if (isLabelGroupingNodeKey(lhs)) {\n assert(isLabelGroupingNodeKey(rhs));\n return lhs.label === rhs.label;\n }\n return true;\n }\n}\n\n/**\n * Node key path. Can be used to define path from one node to another.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type NodeKeyPath = NodeKey[];\n\n/**\n * Data structure that describes a basic node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface BaseNodeKey {\n /** Node type */\n type: string;\n\n /**\n * Version of the key. Different versions suggest that node keys were created by two different\n * versions of the library. In that case, keys representing the same node may be different.\n */\n version: number;\n\n /** Node hash path from root to the node whose key this is */\n pathFromRoot: string[];\n\n /** Query that returns all selected instance keys */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n\n/**\n * Data structure that describes a node ECInstance node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECInstancesNodeKey extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\n instanceKeys: InstanceKey[];\n}\n\n/**\n * Data structure that describes a grouping node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingNodeKey extends BaseNodeKey {\n /**\n * Get the number of instances grouped by the node represented\n * by this key.\n *\n * **Note:** this property is just a helper and is not involved\n * in identifying a node.\n */\n groupedInstancesCount: number;\n}\n\n/**\n * Data structure that describes an ECClass grouping node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n /** Full name of the grouping ECClass */\n className: string;\n}\n\n/**\n * Data structure that describes an ECProperty grouping node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n /** Full name of the grouping ECProperty class */\n className: string;\n /** Name of the ECProperty */\n propertyName: string;\n /** Raw grouping values */\n groupingValues: any[];\n}\n\n/**\n * Data structure that describes a display label grouping node key\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n /** Grouping display label */\n label: string;\n}\n\n/**\n * Data structure that describes a presentation query\n * @public\n */\nexport interface PresentationQuery {\n /** ECSQL query */\n query: string;\n /** The query bindings */\n bindings?: PresentationQueryBinding[];\n}\n\n/**\n * Defines an [[Id64String]] value binding.\n * @public\n */\nexport interface IdBinding {\n type: \"Id\";\n value: Id64String;\n}\n\n/**\n * Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface IdSetBinding {\n type: \"IdSet\";\n value: Id64String[];\n}\n\n/**\n * Defines an EC value binding.\n * @public\n */\nexport interface ECValueBinding {\n type: \"ECValue\";\n valueType: string;\n valueTypeExtended?: string;\n value: any;\n}\n\n/**\n * Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface ECValueSetBinding {\n type: \"ValueSet\";\n valueType: string;\n valueTypeExtended?: string;\n value: any[];\n}\n\n/**\n * One of the [[PresentationQuery]] binding types.\n * @public\n */\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\n"]}
1
+ {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { InstanceKey } from \"../EC.js\";\n\n/**\n * Standard node types\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum StandardNodeTypes {\n ECInstancesNode = \"ECInstancesNode\",\n ECClassGroupingNode = \"ECClassGroupingNode\",\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\n}\n\n/**\n * One of the node key types\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\n/**\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace NodeKey {\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey {\n return key.type === StandardNodeTypes.ECInstancesNode;\n }\n\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey {\n return key.type === StandardNodeTypes.ECClassGroupingNode;\n }\n\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey {\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\n }\n\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey {\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\n }\n\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);\n }\n\n /**\n * Checks if two given node keys are equal, taking their versions into account.\n *\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\n * which is the most accurate way of checking equality. However, when version are different,\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\n * label, grouping class, property name, etc.).\n */\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\n // types must always be equal\n if (lhs.type !== rhs.type) {\n return false;\n }\n\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\n return false;\n }\n\n // when versions are equal, compare using contents of `pathFromRoot` array\n if (lhs.version === rhs.version) {\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\n return false;\n }\n }\n return true;\n }\n\n // when versions aren't equal, compare using other key information, because key hashes\n // of different key versions can't be compared\n if (isInstancesNodeKey(lhs)) {\n assert(isInstancesNodeKey(rhs));\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\n return false;\n }\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\n return false;\n }\n }\n return true;\n }\n if (isClassGroupingNodeKey(lhs)) {\n assert(isClassGroupingNodeKey(rhs));\n return lhs.className === rhs.className;\n }\n if (isPropertyGroupingNodeKey(lhs)) {\n assert(isPropertyGroupingNodeKey(rhs));\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\n }\n if (isLabelGroupingNodeKey(lhs)) {\n assert(isLabelGroupingNodeKey(rhs));\n return lhs.label === rhs.label;\n }\n return true;\n }\n}\n\n/**\n * Node key path. Can be used to define path from one node to another.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type NodeKeyPath = NodeKey[];\n\n/**\n * Data structure that describes a basic node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface BaseNodeKey {\n /** Node type */\n type: string;\n\n /**\n * Version of the key. Different versions suggest that node keys were created by two different\n * versions of the library. In that case, keys representing the same node may be different.\n */\n version: number;\n\n /** Node hash path from root to the node whose key this is */\n pathFromRoot: string[];\n\n /** Query that returns all selected instance keys */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n\n/**\n * Data structure that describes a node ECInstance node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECInstancesNodeKey extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\n instanceKeys: InstanceKey[];\n}\n\n/**\n * Data structure that describes a grouping node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingNodeKey extends BaseNodeKey {\n /**\n * Get the number of instances grouped by the node represented\n * by this key.\n *\n * **Note:** this property is just a helper and is not involved\n * in identifying a node.\n */\n groupedInstancesCount: number;\n}\n\n/**\n * Data structure that describes an ECClass grouping node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n /** Full name of the grouping ECClass */\n className: string;\n}\n\n/**\n * Data structure that describes an ECProperty grouping node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n /** Full name of the grouping ECProperty class */\n className: string;\n /** Name of the ECProperty */\n propertyName: string;\n /** Raw grouping values */\n groupingValues: any[];\n}\n\n/**\n * Data structure that describes a display label grouping node key\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n /** Grouping display label */\n label: string;\n}\n\n/**\n * Data structure that describes a presentation query\n * @public\n */\nexport interface PresentationQuery {\n /** ECSQL query */\n query: string;\n /** The query bindings */\n bindings?: PresentationQueryBinding[];\n}\n\n/**\n * Defines an [[Id64String]] value binding.\n * @public\n */\nexport interface IdBinding {\n type: \"Id\";\n value: Id64String;\n}\n\n/**\n * Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface IdSetBinding {\n type: \"IdSet\";\n value: Id64String[];\n}\n\n/**\n * Defines an EC value binding.\n * @public\n */\nexport interface ECValueBinding {\n type: \"ECValue\";\n valueType: string;\n valueTypeExtended?: string;\n value: any;\n}\n\n/**\n * Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface ECValueSetBinding {\n type: \"ValueSet\";\n valueType: string;\n valueTypeExtended?: string;\n value: any[];\n}\n\n/**\n * One of the [[PresentationQuery]] binding types.\n * @public\n */\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\n"]}
@@ -6,7 +6,7 @@ import { NodeKey } from "./Key.js";
6
6
  /**
7
7
  * Data structure that describes a tree node.
8
8
  * @public
9
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
9
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
10
10
  * package for creating hierarchies.
11
11
  */
12
12
  export interface Node {
@@ -43,7 +43,7 @@ export interface Node {
43
43
  /**
44
44
  * Partial node definition.
45
45
  * @public
46
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
46
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
47
47
  * package for creating hierarchies.
48
48
  */
49
49
  export type PartialNode = AllOrNone<Partial<Node>, "key" | "label">;
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { LabelDefinition } from \"../LabelDefinition.js\";\nimport { NodeKey } from \"./Key.js\";\n\n/**\n * Data structure that describes a tree node.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface Node {\n /** A key that uniquely identifies a node. */\n key: NodeKey;\n /** Definition of node display label */\n label: LabelDefinition;\n /** Extensive description */\n description?: string;\n /**\n * Image ID\n * @deprecated in 3.3.0 - might be removed in next major version. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. Will\n * be removed with [[PropertyGroup.imageId]] and [[PropertyRangeGroupSpecification.imageId]].\n */\n imageId?: string;\n /** Does this node have child nodes */\n hasChildren?: boolean;\n /** Is this node selectable */\n isSelectionDisabled?: boolean;\n /** Is this node editable */\n isEditable?: boolean;\n /** Is this node expanded */\n isExpanded?: boolean;\n /**\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n */\n supportsFiltering?: boolean;\n /** Extended data injected into this node */\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Partial node definition.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\n\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\n"]}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { LabelDefinition } from \"../LabelDefinition.js\";\nimport { NodeKey } from \"./Key.js\";\n\n/**\n * Data structure that describes a tree node.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface Node {\n /** A key that uniquely identifies a node. */\n key: NodeKey;\n /** Definition of node display label */\n label: LabelDefinition;\n /** Extensive description */\n description?: string;\n /**\n * Image ID\n * @deprecated in 3.3.0 - might be removed in next major version. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. Will\n * be removed with [[PropertyGroup.imageId]] and [[PropertyRangeGroupSpecification.imageId]].\n */\n imageId?: string;\n /** Does this node have child nodes */\n hasChildren?: boolean;\n /** Is this node selectable */\n isSelectionDisabled?: boolean;\n /** Is this node editable */\n isEditable?: boolean;\n /** Is this node expanded */\n isExpanded?: boolean;\n /**\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n */\n supportsFiltering?: boolean;\n /** Extended data injected into this node */\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Partial node definition.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\n\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\n"]}
@@ -5,7 +5,7 @@ import { Node } from "./Node.js";
5
5
  /**
6
6
  * Describes a single step in the nodes path.
7
7
  * @public
8
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
8
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
9
9
  * package for creating hierarchies.
10
10
  */
11
11
  export interface NodePathElement {
@@ -23,7 +23,7 @@ export interface NodePathElement {
23
23
  /**
24
24
  * Data related to node hierarchy filtering
25
25
  * @public
26
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
26
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
27
27
  * package for creating hierarchies.
28
28
  */
29
29
  export interface NodePathFilteringData {
@@ -1 +1 @@
1
- {"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { Node } from \"./Node.js\";\n\n/**\n * Describes a single step in the nodes path.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface NodePathElement {\n /** Node instance */\n node: Node;\n /** Node index */\n index: number;\n /** Is this element part of the marked path */\n isMarked?: boolean;\n /** Child path elements */\n children: NodePathElement[];\n /** Additional filtering-related information */\n filteringData?: NodePathFilteringData;\n}\n\n/**\n * Data related to node hierarchy filtering\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface NodePathFilteringData {\n /** Number of filter matches in the current element */\n matchesCount: number;\n /** Number of filter matches in the current element's children (recursively) */\n childMatchesCount: number;\n}\n"]}
1
+ {"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { Node } from \"./Node.js\";\n\n/**\n * Describes a single step in the nodes path.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface NodePathElement {\n /** Node instance */\n node: Node;\n /** Node index */\n index: number;\n /** Is this element part of the marked path */\n isMarked?: boolean;\n /** Child path elements */\n children: NodePathElement[];\n /** Additional filtering-related information */\n filteringData?: NodePathFilteringData;\n}\n\n/**\n * Data related to node hierarchy filtering\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface NodePathFilteringData {\n /** Number of filter matches in the current element */\n matchesCount: number;\n /** Number of filter matches in the current element's children (recursively) */\n childMatchesCount: number;\n}\n"]}
@@ -8,7 +8,7 @@ import { RuleBase } from "../Rule.js";
8
8
  *
9
9
  * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)
10
10
  * @public
11
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
11
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
12
12
  * package for creating hierarchies.
13
13
  */
14
14
  export interface GroupingRule extends RuleBase {
@@ -31,14 +31,14 @@ export interface GroupingRule extends RuleBase {
31
31
  /**
32
32
  * Grouping rule specifications.
33
33
  * @public
34
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
34
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
35
35
  * package for creating hierarchies.
36
36
  */
37
37
  export declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;
38
38
  /**
39
39
  * Available types of [[GroupingSpecification]].
40
40
  * @public
41
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
41
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
42
42
  * package for creating hierarchies.
43
43
  */
44
44
  export declare enum GroupingSpecificationTypes {
@@ -51,7 +51,7 @@ export declare enum GroupingSpecificationTypes {
51
51
  * meant to be used directly, see `GroupingSpecification`.
52
52
  *
53
53
  * @public
54
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
54
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
55
55
  * package for creating hierarchies.
56
56
  */
57
57
  export interface GroupingSpecificationBase {
@@ -67,7 +67,7 @@ export interface GroupingSpecificationBase {
67
67
  *
68
68
  * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)
69
69
  * @public
70
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
70
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
71
71
  * package for creating hierarchies.
72
72
  */
73
73
  export interface ClassGroup extends GroupingSpecificationBase {
@@ -88,7 +88,7 @@ export interface ClassGroup extends GroupingSpecificationBase {
88
88
  *
89
89
  * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)
90
90
  * @public
91
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
91
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
92
92
  * package for creating hierarchies.
93
93
  */
94
94
  export interface SameLabelInstanceGroup extends GroupingSpecificationBase {
@@ -111,7 +111,7 @@ export interface SameLabelInstanceGroup extends GroupingSpecificationBase {
111
111
  /**
112
112
  * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
113
113
  * @public
114
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
114
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
115
115
  * package for creating hierarchies.
116
116
  */
117
117
  export declare enum SameLabelInstanceGroupApplicationStage {
@@ -131,7 +131,7 @@ export declare enum SameLabelInstanceGroupApplicationStage {
131
131
  *
132
132
  * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)
133
133
  * @public
134
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
134
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
135
135
  * package for creating hierarchies.
136
136
  */
137
137
  export interface PropertyGroup extends GroupingSpecificationBase {
@@ -166,7 +166,7 @@ export interface PropertyGroup extends GroupingSpecificationBase {
166
166
  *
167
167
  * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)
168
168
  * @public
169
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
169
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
170
170
  * package for creating hierarchies.
171
171
  */
172
172
  export interface PropertyRangeGroupSpecification {
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Available types of [[GroupingSpecification]].
11
11
  * @public
12
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
12
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
13
13
  * package for creating hierarchies.
14
14
  */
15
15
  export var GroupingSpecificationTypes;
@@ -21,7 +21,7 @@ export var GroupingSpecificationTypes;
21
21
  /**
22
22
  * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
23
23
  * @public
24
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
24
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
25
25
  * package for creating hierarchies.
26
26
  */
27
27
  export var SameLabelInstanceGroupApplicationStage;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG;AA0CH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC;AAsED;;;;;GAKG;AACH,MAAM,CAAN,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,KAAtC,sCAAsC,QAYjD","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\nimport { RuleBase } from \"../Rule.js\";\n\n/**\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\n *\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingRule extends RuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"Grouping\";\n\n /**\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\n * to evaluate to `true`.\n */\n condition?: string;\n\n /** Specification of ECClass which should be grouped using this rule. */\n class: SingleSchemaClassSpecification;\n\n /**\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\n * which describe the kind of grouping that should be applied.\n */\n groups: GroupingSpecification[];\n}\n\n/**\n * Grouping rule specifications.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\n\n/**\n * Available types of [[GroupingSpecification]].\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum GroupingSpecificationTypes {\n Class = \"Class\",\n Property = \"Property\",\n SameLabelInstance = \"SameLabelInstance\",\n}\n\n/**\n * Base interface for all [[GroupingSpecification]] implementations. Not\n * meant to be used directly, see `GroupingSpecification`.\n *\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingSpecificationBase {\n /**\n * Type of the subclass\n * @see GroupingSpecificationTypes\n */\n specType: `${GroupingSpecificationTypes}`;\n}\n\n/**\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\n * specifications' `groupByClass` attribute, which always groups by direct class).\n *\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ClassGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Class\";\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\n * specified by rule's `class` attribute.\n */\n baseClass?: SingleSchemaClassSpecification;\n}\n\n/**\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\n * multiple ECInstances.\n *\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"SameLabelInstance\";\n\n /**\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\n *\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\n *\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\n * produce the expected result in all cases.\n *\n * @see SameLabelInstanceGroupApplicationStage\n */\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\n}\n\n/**\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum SameLabelInstanceGroupApplicationStage {\n /** Apply grouping at query stage. */\n Query = \"Query\",\n\n /**\n * Apply grouping at post-processing stage.\n *\n * This allows grouping nodes created by different hierarchy specifications at\n * a higher performance cost as it requires loading the whole hierarchy level before\n * returning even the first node - avoid using with large numbers of nodes.\n */\n PostProcess = \"PostProcess\",\n}\n\n/**\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\n *\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface PropertyGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Property\";\n\n /**\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\n *\n * @minLength 1\n */\n propertyName: string;\n\n /**\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\n * it's up to the UI component to decide what to do with it.\n *\n * @minLength 1\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\n */\n createGroupForUnspecifiedValues?: boolean;\n\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\n ranges?: PropertyRangeGroupSpecification[];\n}\n\n/**\n * Describes a grouping range.\n *\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface PropertyRangeGroupSpecification {\n /**\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\n *\n * @minLength 1\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n\n /**\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\n * Defaults to `{from value} - {to value}`.\n *\n * @minLength 1\n */\n label?: string;\n\n /**\n * Value that defines the range start (inclusive).\n *\n * @minLength 1\n */\n fromValue: string;\n\n /**\n * Value that defines the range end (inclusive).\n *\n * @minLength 1\n */\n toValue: string;\n}\n"]}
1
+ {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG;AA0CH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC;AAsED;;;;;GAKG;AACH,MAAM,CAAN,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,KAAtC,sCAAsC,QAYjD","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\nimport { RuleBase } from \"../Rule.js\";\n\n/**\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\n *\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingRule extends RuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"Grouping\";\n\n /**\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\n * to evaluate to `true`.\n */\n condition?: string;\n\n /** Specification of ECClass which should be grouped using this rule. */\n class: SingleSchemaClassSpecification;\n\n /**\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\n * which describe the kind of grouping that should be applied.\n */\n groups: GroupingSpecification[];\n}\n\n/**\n * Grouping rule specifications.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\n\n/**\n * Available types of [[GroupingSpecification]].\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum GroupingSpecificationTypes {\n Class = \"Class\",\n Property = \"Property\",\n SameLabelInstance = \"SameLabelInstance\",\n}\n\n/**\n * Base interface for all [[GroupingSpecification]] implementations. Not\n * meant to be used directly, see `GroupingSpecification`.\n *\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface GroupingSpecificationBase {\n /**\n * Type of the subclass\n * @see GroupingSpecificationTypes\n */\n specType: `${GroupingSpecificationTypes}`;\n}\n\n/**\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\n * specifications' `groupByClass` attribute, which always groups by direct class).\n *\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ClassGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Class\";\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\n * specified by rule's `class` attribute.\n */\n baseClass?: SingleSchemaClassSpecification;\n}\n\n/**\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\n * multiple ECInstances.\n *\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"SameLabelInstance\";\n\n /**\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\n *\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\n *\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\n * produce the expected result in all cases.\n *\n * @see SameLabelInstanceGroupApplicationStage\n */\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\n}\n\n/**\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum SameLabelInstanceGroupApplicationStage {\n /** Apply grouping at query stage. */\n Query = \"Query\",\n\n /**\n * Apply grouping at post-processing stage.\n *\n * This allows grouping nodes created by different hierarchy specifications at\n * a higher performance cost as it requires loading the whole hierarchy level before\n * returning even the first node - avoid using with large numbers of nodes.\n */\n PostProcess = \"PostProcess\",\n}\n\n/**\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\n *\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface PropertyGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Property\";\n\n /**\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\n *\n * @minLength 1\n */\n propertyName: string;\n\n /**\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\n * it's up to the UI component to decide what to do with it.\n *\n * @minLength 1\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\n */\n createGroupForUnspecifiedValues?: boolean;\n\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\n ranges?: PropertyRangeGroupSpecification[];\n}\n\n/**\n * Describes a grouping range.\n *\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface PropertyRangeGroupSpecification {\n /**\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\n *\n * @minLength 1\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n\n /**\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\n * Defaults to `{from value} - {to value}`.\n *\n * @minLength 1\n */\n label?: string;\n\n /**\n * Value that defines the range start (inclusive).\n *\n * @minLength 1\n */\n fromValue: string;\n\n /**\n * Value that defines the range end (inclusive).\n *\n * @minLength 1\n */\n toValue: string;\n}\n"]}
@@ -7,7 +7,7 @@ import { NavigationRuleBase } from "./NavigationRule.js";
7
7
  *
8
8
  * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)
9
9
  * @public
10
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
10
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
11
11
  * package for creating hierarchies.
12
12
  */
13
13
  export interface ChildNodeRule extends NavigationRuleBase {
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { NavigationRuleBase } from \"./NavigationRule.js\";\n\n/**\n * Child node rules are used to define child nodes in a hierarchy.\n *\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ChildNodeRule extends NavigationRuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"ChildNodes\";\n}\n"]}
1
+ {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { NavigationRuleBase } from \"./NavigationRule.js\";\n\n/**\n * Child node rules are used to define child nodes in a hierarchy.\n *\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ChildNodeRule extends NavigationRuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"ChildNodes\";\n}\n"]}
@@ -10,7 +10,7 @@ import { RelatedInstanceNodesSpecification } from "./RelatedInstanceNodesSpecifi
10
10
  /**
11
11
  * Used for serializing array of [[ChildNodeSpecification]]
12
12
  * @public
13
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
13
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
14
14
  * package for creating hierarchies.
15
15
  */
16
16
  export declare enum ChildNodeSpecificationTypes {
@@ -24,7 +24,7 @@ export declare enum ChildNodeSpecificationTypes {
24
24
  *
25
25
  * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)
26
26
  * @public
27
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
27
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
28
28
  * package for creating hierarchies.
29
29
  */
30
30
  export interface ChildNodeSpecificationBase {
@@ -86,7 +86,7 @@ export interface ChildNodeSpecificationBase {
86
86
  * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].
87
87
  *
88
88
  * @public
89
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
89
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
90
90
  * package for creating hierarchies.
91
91
  */
92
92
  export interface DefaultGroupingPropertiesContainer {
@@ -100,7 +100,7 @@ export interface DefaultGroupingPropertiesContainer {
100
100
  *
101
101
  * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)
102
102
  * @public
103
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
103
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
104
104
  * package for creating hierarchies.
105
105
  */
106
106
  export type ChildNodeSpecification = CustomNodeSpecification | InstanceNodesOfSpecificClassesSpecification | RelatedInstanceNodesSpecification | CustomQueryInstanceNodesSpecification;
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Used for serializing array of [[ChildNodeSpecification]]
11
11
  * @public
12
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
12
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
13
13
  * package for creating hierarchies.
14
14
  */
15
15
  export var ChildNodeSpecificationTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG;AASH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,KAA3B,2BAA2B,QAKtC","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification.js\";\nimport { ChildNodeRule } from \"./ChildNodeRule.js\";\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification.js\";\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification.js\";\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification.js\";\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification.js\";\n\n/**\n * Used for serializing array of [[ChildNodeSpecification]]\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum ChildNodeSpecificationTypes {\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\n CustomNode = \"CustomNode\",\n}\n\n/**\n * Base interface for all [[ChildNodeSpecification]] implementations.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ChildNodeSpecificationBase {\n /**\n * Used for serializing to JSON.\n * @see ChildNodeSpecificationTypes\n */\n specType: `${ChildNodeSpecificationTypes}`;\n\n /**\n * Controls the order in which specifications are handled — specification with higher priority value is\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\n * ruleset.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\n */\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\n\n /**\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\n * hierarchy level higher.\n */\n hideNodesInHierarchy?: boolean;\n\n /**\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\n */\n hideIfNoChildren?: boolean;\n\n /**\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\n * higher.\n */\n hideExpression?: string;\n\n /**\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\n * of returned nodes is undefined.\n */\n doNotSort?: boolean;\n\n /**\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\n */\n suppressSimilarAncestorsCheck?: boolean;\n\n /**\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\n * when creating the nodes.\n */\n relatedInstances?: RelatedInstanceSpecification[];\n\n /**\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\n * allow creating child nodes without the need of supplying a condition to match the parent node.\n */\n nestedRules?: ChildNodeRule[];\n}\n\n/**\n * A container of default grouping properties. Used for specifications that support\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\n *\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface DefaultGroupingPropertiesContainer {\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\n groupByClass?: boolean;\n\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\n groupByLabel?: boolean;\n}\n\n/**\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type ChildNodeSpecification =\n | CustomNodeSpecification\n | InstanceNodesOfSpecificClassesSpecification\n | RelatedInstanceNodesSpecification\n | CustomQueryInstanceNodesSpecification;\n"]}
1
+ {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG;AASH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,KAA3B,2BAA2B,QAKtC","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification.js\";\nimport { ChildNodeRule } from \"./ChildNodeRule.js\";\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification.js\";\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification.js\";\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification.js\";\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification.js\";\n\n/**\n * Used for serializing array of [[ChildNodeSpecification]]\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport enum ChildNodeSpecificationTypes {\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\n CustomNode = \"CustomNode\",\n}\n\n/**\n * Base interface for all [[ChildNodeSpecification]] implementations.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface ChildNodeSpecificationBase {\n /**\n * Used for serializing to JSON.\n * @see ChildNodeSpecificationTypes\n */\n specType: `${ChildNodeSpecificationTypes}`;\n\n /**\n * Controls the order in which specifications are handled — specification with higher priority value is\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\n * ruleset.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\n */\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\n\n /**\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\n * hierarchy level higher.\n */\n hideNodesInHierarchy?: boolean;\n\n /**\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\n */\n hideIfNoChildren?: boolean;\n\n /**\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\n * higher.\n */\n hideExpression?: string;\n\n /**\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\n * of returned nodes is undefined.\n */\n doNotSort?: boolean;\n\n /**\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\n */\n suppressSimilarAncestorsCheck?: boolean;\n\n /**\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\n * when creating the nodes.\n */\n relatedInstances?: RelatedInstanceSpecification[];\n\n /**\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\n * allow creating child nodes without the need of supplying a condition to match the parent node.\n */\n nestedRules?: ChildNodeRule[];\n}\n\n/**\n * A container of default grouping properties. Used for specifications that support\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\n *\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface DefaultGroupingPropertiesContainer {\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\n groupByClass?: boolean;\n\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\n groupByLabel?: boolean;\n}\n\n/**\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport type ChildNodeSpecification =\n | CustomNodeSpecification\n | InstanceNodesOfSpecificClassesSpecification\n | RelatedInstanceNodesSpecification\n | CustomQueryInstanceNodesSpecification;\n"]}
@@ -7,7 +7,7 @@ import { ChildNodeSpecificationBase } from "./ChildNodeSpecification.js";
7
7
  *
8
8
  * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)
9
9
  * @public
10
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
10
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
11
11
  * package for creating hierarchies.
12
12
  */
13
13
  export interface CustomNodeSpecification extends ChildNodeSpecificationBase {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { ChildNodeSpecificationBase } from \"./ChildNodeSpecification.js\";\n\n/**\n * Returns a static custom-defined node that's not based on an ECInstance.\n *\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\n * @public\n * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"CustomNode\";\n\n /** Specifies node type, which is assigned to node's key. */\n type: string;\n\n /**\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /**\n * Specifies the value of [[Node.description]] property, which is a string that may\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\n * whether and how to surface this information to users.\n */\n description?: string;\n\n /**\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\n * up to the UI component to decide what to do with it.\n *\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n}\n"]}
1
+ {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","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/* eslint-disable @typescript-eslint/no-deprecated */\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { ChildNodeSpecificationBase } from \"./ChildNodeSpecification.js\";\n\n/**\n * Returns a static custom-defined node that's not based on an ECInstance.\n *\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\n * @public\n * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)\n * package for creating hierarchies.\n */\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"CustomNode\";\n\n /** Specifies node type, which is assigned to node's key. */\n type: string;\n\n /**\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /**\n * Specifies the value of [[Node.description]] property, which is a string that may\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\n * whether and how to surface this information to users.\n */\n description?: string;\n\n /**\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\n * up to the UI component to decide what to do with it.\n *\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n}\n"]}
@@ -8,7 +8,7 @@ import { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from "
8
8
  *
9
9
  * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)
10
10
  * @public
11
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
11
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
12
12
  * package for creating hierarchies.
13
13
  */
14
14
  export interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {
@@ -25,14 +25,14 @@ export interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecific
25
25
  *
26
26
  * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)
27
27
  * @public
28
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
28
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
29
29
  * package for creating hierarchies.
30
30
  */
31
31
  export declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;
32
32
  /**
33
33
  * Used for serializing array of [[QuerySpecification]] to JSON.
34
34
  * @public
35
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
35
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
36
36
  * package for creating hierarchies.
37
37
  */
38
38
  export declare enum QuerySpecificationTypes {
@@ -42,7 +42,7 @@ export declare enum QuerySpecificationTypes {
42
42
  /**
43
43
  * Base interface for all [[QuerySpecification]] implementations.
44
44
  * @public
45
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
45
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
46
46
  * package for creating hierarchies.
47
47
  */
48
48
  export interface QuerySpecificationBase {
@@ -63,7 +63,7 @@ export interface QuerySpecificationBase {
63
63
  *
64
64
  * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)
65
65
  * @public
66
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
66
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
67
67
  * package for creating hierarchies.
68
68
  */
69
69
  export interface StringQuerySpecification extends QuerySpecificationBase {
@@ -78,7 +78,7 @@ export interface StringQuerySpecification extends QuerySpecificationBase {
78
78
  *
79
79
  * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)
80
80
  * @public
81
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
81
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
82
82
  * package for creating hierarchies.
83
83
  */
84
84
  export interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Used for serializing array of [[QuerySpecification]] to JSON.
11
11
  * @public
12
- * @deprecated in 5.2. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
12
+ * @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
13
13
  * package for creating hierarchies.
14
14
  */
15
15
  export var QuerySpecificationTypes;