@itwin/presentation-common 3.6.0-dev.7 → 3.6.0

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 (578) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/LICENSE.md +1 -1
  3. package/Ruleset.schema.json +236 -309
  4. package/lib/cjs/assets/locales/en/BisCore.json +18 -18
  5. package/lib/cjs/assets/locales/en/ECPresentation.json +9 -9
  6. package/lib/cjs/assets/locales/en/RulesEngine.json +5 -5
  7. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  8. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  9. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  10. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  11. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  12. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  13. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  14. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  15. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  16. package/lib/cjs/presentation-common/EC.d.ts +350 -315
  17. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  18. package/lib/cjs/presentation-common/EC.js +290 -270
  19. package/lib/cjs/presentation-common/EC.js.map +1 -1
  20. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  21. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  22. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  23. package/lib/cjs/presentation-common/Error.d.ts +45 -45
  24. package/lib/cjs/presentation-common/Error.js +62 -62
  25. package/lib/cjs/presentation-common/Error.js.map +1 -1
  26. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -59
  27. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  28. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  29. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  30. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  31. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  32. package/lib/cjs/presentation-common/KeySet.js +428 -423
  33. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  34. package/lib/cjs/presentation-common/LabelDefinition.d.ts +87 -79
  35. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  36. package/lib/cjs/presentation-common/LabelDefinition.js +73 -76
  37. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  38. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  39. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  40. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  41. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -37
  42. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  44. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  45. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +261 -242
  46. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  47. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  48. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  49. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -181
  50. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  51. package/lib/cjs/presentation-common/PresentationRpcInterface.js +104 -102
  52. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  53. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  54. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  55. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  56. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +83 -82
  57. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  58. package/lib/cjs/presentation-common/RpcRequestsHandler.js +171 -155
  59. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  60. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -166
  61. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  62. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  63. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  64. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  65. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  66. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  67. package/lib/cjs/presentation-common/Update.d.ts +213 -194
  68. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/Update.js +226 -196
  70. package/lib/cjs/presentation-common/Update.js.map +1 -1
  71. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  72. package/lib/cjs/presentation-common/Utils.js +43 -43
  73. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  74. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  75. package/lib/cjs/presentation-common/content/Category.d.ts.map +1 -1
  76. package/lib/cjs/presentation-common/content/Category.js +48 -49
  77. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  78. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  79. package/lib/cjs/presentation-common/content/Content.js +56 -56
  80. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  81. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -101
  82. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  83. package/lib/cjs/presentation-common/content/ContentTraverser.js +439 -420
  84. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -275
  86. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  87. package/lib/cjs/presentation-common/content/Descriptor.js +193 -195
  88. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  89. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  90. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  91. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  92. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  93. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  94. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  95. package/lib/cjs/presentation-common/content/Fields.d.ts +301 -282
  96. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/content/Fields.js +397 -394
  98. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  99. package/lib/cjs/presentation-common/content/Item.d.ts +85 -87
  100. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  101. package/lib/cjs/presentation-common/content/Item.js +84 -86
  102. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  103. package/lib/cjs/presentation-common/content/Property.d.ts +57 -51
  104. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  105. package/lib/cjs/presentation-common/content/Property.js +40 -36
  106. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  107. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  108. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  109. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  110. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  111. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  112. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  113. package/lib/cjs/presentation-common/content/Value.d.ts +189 -157
  114. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  115. package/lib/cjs/presentation-common/content/Value.js +273 -217
  116. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  117. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +38 -0
  118. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -0
  119. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +32 -0
  120. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -0
  121. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -185
  122. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  123. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -112
  124. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  125. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -141
  126. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  127. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -97
  128. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  129. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -85
  130. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  131. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -98
  132. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  134. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  135. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  137. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  138. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  140. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  141. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -53
  143. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  144. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  145. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  146. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -74
  147. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  148. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  149. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  150. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -66
  151. package/lib/cjs/presentation-common/rules/Ruleset.d.ts.map +1 -1
  152. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  153. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  154. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  155. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  156. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  157. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -55
  158. package/lib/cjs/presentation-common/rules/Variables.d.ts.map +1 -1
  159. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  160. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  161. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  162. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  163. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  164. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  165. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  166. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  167. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  168. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  169. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  170. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  171. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  172. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  173. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -55
  174. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  175. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  176. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  177. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  178. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  179. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  180. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  181. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  182. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  183. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  185. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  186. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  187. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  188. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  189. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  190. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  191. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  192. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  193. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  194. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  195. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  196. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  197. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  198. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  199. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  200. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  201. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -105
  202. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  203. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  204. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  205. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -93
  206. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  207. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  208. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  209. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  210. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  211. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  212. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  213. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  214. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  215. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  216. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  217. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  218. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  219. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  220. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -200
  221. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  222. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  223. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  224. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  225. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  226. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  227. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  228. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -156
  229. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  230. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  231. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  232. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  233. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  234. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  235. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  236. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  237. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  238. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  239. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  240. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  241. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  242. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  243. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  244. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -15
  245. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  246. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  247. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  248. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -97
  249. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  250. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -22
  251. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  252. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  253. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  254. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  255. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  256. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -76
  257. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  258. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  259. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  260. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  261. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  262. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  263. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  264. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  265. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  266. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  267. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  268. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  269. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  270. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  271. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  272. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  273. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  274. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  275. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -17
  276. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  277. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  278. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  279. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -36
  280. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  281. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  282. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  283. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -25
  284. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  285. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  286. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  287. package/lib/cjs/presentation-common.d.ts +112 -111
  288. package/lib/cjs/presentation-common.d.ts.map +1 -1
  289. package/lib/cjs/presentation-common.js +128 -127
  290. package/lib/cjs/presentation-common.js.map +1 -1
  291. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  292. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  293. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  294. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  295. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  296. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  297. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  298. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  299. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  300. package/lib/esm/presentation-common/EC.d.ts +350 -315
  301. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  302. package/lib/esm/presentation-common/EC.js +287 -267
  303. package/lib/esm/presentation-common/EC.js.map +1 -1
  304. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  305. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  306. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  307. package/lib/esm/presentation-common/Error.d.ts +45 -45
  308. package/lib/esm/presentation-common/Error.js +58 -58
  309. package/lib/esm/presentation-common/Error.js.map +1 -1
  310. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -59
  311. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  312. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  313. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  314. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  315. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  316. package/lib/esm/presentation-common/KeySet.js +424 -419
  317. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  318. package/lib/esm/presentation-common/LabelDefinition.d.ts +87 -79
  319. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  320. package/lib/esm/presentation-common/LabelDefinition.js +70 -73
  321. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  322. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  323. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  324. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  325. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -37
  326. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts.map +1 -1
  327. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  328. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  329. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +261 -242
  330. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  331. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  332. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  333. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -181
  334. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  335. package/lib/esm/presentation-common/PresentationRpcInterface.js +100 -98
  336. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  337. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  338. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  339. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  340. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +83 -82
  341. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  342. package/lib/esm/presentation-common/RpcRequestsHandler.js +167 -151
  343. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  344. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -166
  345. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  346. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  347. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  348. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  349. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  350. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  351. package/lib/esm/presentation-common/Update.d.ts +213 -194
  352. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  353. package/lib/esm/presentation-common/Update.js +223 -193
  354. package/lib/esm/presentation-common/Update.js.map +1 -1
  355. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  356. package/lib/esm/presentation-common/Utils.js +39 -39
  357. package/lib/esm/presentation-common/Utils.js.map +1 -1
  358. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  359. package/lib/esm/presentation-common/content/Category.d.ts.map +1 -1
  360. package/lib/esm/presentation-common/content/Category.js +45 -46
  361. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  362. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  363. package/lib/esm/presentation-common/content/Content.js +52 -52
  364. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  365. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -101
  366. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  367. package/lib/esm/presentation-common/content/ContentTraverser.js +429 -411
  368. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  369. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -275
  370. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  371. package/lib/esm/presentation-common/content/Descriptor.js +189 -191
  372. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  373. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  374. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  375. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  376. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  377. package/lib/esm/presentation-common/content/Editor.js +8 -8
  378. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  379. package/lib/esm/presentation-common/content/Fields.d.ts +301 -282
  380. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  381. package/lib/esm/presentation-common/content/Fields.js +390 -387
  382. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  383. package/lib/esm/presentation-common/content/Item.d.ts +85 -87
  384. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  385. package/lib/esm/presentation-common/content/Item.js +80 -82
  386. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  387. package/lib/esm/presentation-common/content/Property.d.ts +57 -51
  388. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  389. package/lib/esm/presentation-common/content/Property.js +37 -33
  390. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  391. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  392. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  393. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  394. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  395. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  396. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  397. package/lib/esm/presentation-common/content/Value.d.ts +189 -157
  398. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  399. package/lib/esm/presentation-common/content/Value.js +270 -214
  400. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  401. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +38 -0
  402. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -0
  403. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +29 -0
  404. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -0
  405. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -185
  406. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  407. package/lib/esm/presentation-common/hierarchy/Key.js +118 -109
  408. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  409. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -141
  410. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  411. package/lib/esm/presentation-common/hierarchy/Node.js +103 -94
  412. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  413. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -85
  414. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  415. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -95
  416. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  417. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  418. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  419. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  420. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  421. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  422. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  423. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  424. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  425. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  426. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -53
  427. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  428. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  429. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  430. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -74
  431. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  432. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  433. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  434. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -66
  435. package/lib/esm/presentation-common/rules/Ruleset.d.ts.map +1 -1
  436. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  437. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  438. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  439. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  440. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  441. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -55
  442. package/lib/esm/presentation-common/rules/Variables.d.ts.map +1 -1
  443. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  444. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  445. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  446. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  447. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  448. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  449. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  450. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  451. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  452. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  453. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  454. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  455. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  456. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  457. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -55
  458. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  459. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  460. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  461. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  462. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  463. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  464. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  465. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  466. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  467. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  468. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  469. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  470. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  471. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  472. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  473. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  474. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  475. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  476. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  477. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  478. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  479. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  480. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  481. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  482. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  483. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  484. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  485. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -105
  486. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  487. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  488. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  489. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -93
  490. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  491. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  492. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  493. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  494. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  495. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  496. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  497. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  498. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  499. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  500. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  501. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  502. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  503. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  504. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -200
  505. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  506. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  507. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  508. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  509. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  510. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  511. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  512. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -156
  513. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  514. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  515. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  516. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  517. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  518. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  519. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  520. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  521. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  522. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  523. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  524. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  525. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  526. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  527. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  528. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -15
  529. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  530. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  531. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  532. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -97
  533. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  534. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -19
  535. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  536. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  537. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  538. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  539. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  540. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -76
  541. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  542. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  543. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  544. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  545. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  546. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  547. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  548. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  549. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  550. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  551. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  552. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  553. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  554. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  555. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  556. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  557. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  558. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  559. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -17
  560. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  561. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  562. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  563. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -36
  564. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  565. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  566. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  567. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -25
  568. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  569. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  570. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  571. package/lib/esm/presentation-common.d.ts +112 -111
  572. package/lib/esm/presentation-common.d.ts.map +1 -1
  573. package/lib/esm/presentation-common.js +116 -115
  574. package/lib/esm/presentation-common.js.map +1 -1
  575. package/lib/public/locales/en/BisCore.json +18 -18
  576. package/lib/public/locales/en/ECPresentation.json +9 -9
  577. package/lib/public/locales/en/RulesEngine.json +5 -5
  578. package/package.json +10 -10
@@ -1,421 +1,440 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Content
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.applyOptionalPrefix = exports.FIELD_NAMES_SEPARATOR = exports.addFieldHierarchy = exports.createFieldHierarchies = exports.traverseContentItem = exports.traverseContent = exports.traverseFieldHierarchy = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const Fields_1 = require("./Fields");
13
- const Item_1 = require("./Item");
14
- const TypeDescription_1 = require("./TypeDescription");
15
- const Value_1 = require("./Value");
16
- /** @internal */
17
- function traverseFieldHierarchy(hierarchy, cb) {
18
- if (cb(hierarchy))
19
- hierarchy.childFields.forEach((childHierarchy) => traverseFieldHierarchy(childHierarchy, cb));
20
- }
21
- exports.traverseFieldHierarchy = traverseFieldHierarchy;
22
- /** @alpha */
23
- function traverseContent(visitor, content) {
24
- if (!visitor.startContent({ descriptor: content.descriptor }))
25
- return;
26
- try {
27
- const fieldHierarchies = createFieldHierarchies(content.descriptor.fields);
28
- visitor.processFieldHierarchies({ hierarchies: fieldHierarchies });
29
- content.contentSet.forEach((item) => {
30
- traverseContentItemFields(visitor, fieldHierarchies, item);
31
- });
32
- }
33
- finally {
34
- visitor.finishContent();
35
- }
36
- }
37
- exports.traverseContent = traverseContent;
38
- /** @alpha */
39
- function traverseContentItem(visitor, descriptor, item) {
40
- if (!visitor.startContent({ descriptor }))
41
- return;
42
- try {
43
- const fieldHierarchies = createFieldHierarchies(descriptor.fields);
44
- visitor.processFieldHierarchies({ hierarchies: fieldHierarchies });
45
- traverseContentItemFields(visitor, fieldHierarchies, item);
46
- }
47
- finally {
48
- visitor.finishContent();
49
- }
50
- }
51
- exports.traverseContentItem = traverseContentItem;
52
- class VisitedCategories {
53
- constructor(_visitor, category) {
54
- this._visitor = _visitor;
55
- const stack = [];
56
- let curr = category;
57
- while (curr) {
58
- stack.push(curr);
59
- curr = curr.parent;
60
- }
61
- stack.reverse();
62
- this._didVisitAllHierarchy = true;
63
- this._visitedCategories = [];
64
- for (curr of stack) {
65
- if (this._visitor.startCategory({ category: curr })) {
66
- this._visitedCategories.push(curr);
67
- }
68
- else {
69
- this._didVisitAllHierarchy = false;
70
- break;
71
- }
72
- }
73
- }
74
- dispose() {
75
- while (this._visitedCategories.pop())
76
- this._visitor.finishCategory();
77
- }
78
- get shouldContinue() { return this._didVisitAllHierarchy; }
79
- }
80
- function traverseContentItemFields(visitor, fieldHierarchies, item) {
81
- if (!visitor.startItem({ item }))
82
- return;
83
- try {
84
- fieldHierarchies.forEach((fieldHierarchy) => {
85
- (0, core_bentley_1.using)(new VisitedCategories(visitor, fieldHierarchy.field.category), (res) => {
86
- if (res.shouldContinue)
87
- traverseContentItemField(visitor, fieldHierarchy, item);
88
- });
89
- });
90
- }
91
- finally {
92
- visitor.finishItem();
93
- }
94
- }
95
- function traverseContentItemField(visitor, fieldHierarchy, item) {
96
- if (!visitor.startField({ hierarchy: fieldHierarchy }))
97
- return;
98
- try {
99
- const rootToThisField = createFieldPath(fieldHierarchy.field);
100
- let namePrefix;
101
- const pathUpToField = rootToThisField.slice(undefined, -1);
102
- for (let i = 0; i < pathUpToField.length; ++i) {
103
- const parentField = pathUpToField[i];
104
- const nextField = rootToThisField[i + 1];
105
- if (item.isFieldMerged(parentField.name)) {
106
- visitor.processMergedValue({ requestedField: fieldHierarchy.field, mergedField: parentField, namePrefix });
107
- return;
108
- }
109
- const { emptyNestedItem, convertedItem } = convertNestedContentItemToStructArrayItem(item, parentField, nextField);
110
- if (emptyNestedItem)
111
- return;
112
- item = convertedItem;
113
- namePrefix = applyOptionalPrefix(parentField.name, namePrefix);
114
- }
115
- if (item.isFieldMerged(fieldHierarchy.field.name)) {
116
- visitor.processMergedValue({ requestedField: fieldHierarchy.field, mergedField: fieldHierarchy.field, namePrefix });
117
- return;
118
- }
119
- if (fieldHierarchy.field.isNestedContentField()) {
120
- fieldHierarchy = convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, namePrefix);
121
- const { emptyNestedItem, convertedItem } = convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHierarchy);
122
- if (emptyNestedItem)
123
- return;
124
- item = convertedItem;
125
- }
126
- else if (pathUpToField.length > 0) {
127
- fieldHierarchy = {
128
- ...fieldHierarchy,
129
- field: Object.assign(fieldHierarchy.field.clone(), {
130
- type: {
131
- valueFormat: TypeDescription_1.PropertyValueFormat.Array,
132
- typeName: `${fieldHierarchy.field.type.typeName}[]`,
133
- memberType: fieldHierarchy.field.type,
134
- },
135
- }),
136
- };
137
- }
138
- traverseContentItemFieldValue(visitor, fieldHierarchy, item.mergedFieldNames, fieldHierarchy.field.type, namePrefix, item.values[fieldHierarchy.field.name], item.displayValues[fieldHierarchy.field.name]);
139
- }
140
- finally {
141
- visitor.finishField();
142
- }
143
- }
144
- function traverseContentItemFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValue, displayValue) {
145
- if (rawValue !== undefined) {
146
- if (valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Array) {
147
- (0, core_bentley_1.assert)(Value_1.Value.isArray(rawValue));
148
- (0, core_bentley_1.assert)(Value_1.DisplayValue.isArray(displayValue));
149
- return traverseContentItemArrayFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValue, displayValue);
150
- }
151
- if (valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Struct) {
152
- (0, core_bentley_1.assert)(Value_1.Value.isMap(rawValue));
153
- (0, core_bentley_1.assert)(Value_1.DisplayValue.isMap(displayValue));
154
- return traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValue, displayValue);
155
- }
156
- }
157
- traverseContentItemPrimitiveFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValue, displayValue);
158
- }
159
- function traverseContentItemArrayFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValues, displayValues) {
160
- (0, core_bentley_1.assert)(rawValues.length === displayValues.length);
161
- (0, core_bentley_1.assert)(valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Array);
162
- if (!visitor.startArray({ hierarchy: fieldHierarchy, valueType, namePrefix, rawValues, displayValues }))
163
- return;
164
- try {
165
- const itemType = valueType.memberType;
166
- rawValues.forEach((_, i) => {
167
- traverseContentItemFieldValue(visitor, fieldHierarchy, mergedFieldNames, itemType, namePrefix, rawValues[i], displayValues[i]);
168
- });
169
- }
170
- finally {
171
- visitor.finishArray();
172
- }
173
- }
174
- function traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValues, displayValues) {
175
- (0, core_bentley_1.assert)(valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Struct);
176
- if (!visitor.startStruct({ hierarchy: fieldHierarchy, valueType, namePrefix, rawValues, displayValues }))
177
- return;
178
- try {
179
- if (fieldHierarchy.field.isNestedContentField())
180
- namePrefix = applyOptionalPrefix(fieldHierarchy.field.name, namePrefix);
181
- valueType.members.forEach((memberDescription) => {
182
- let memberField = fieldHierarchy.childFields.find((f) => f.field.name === memberDescription.name);
183
- if (!memberField) {
184
- // Not finding a member field means we're traversing an ECStruct. We still need to carry member information, so we
185
- // create a fake field to represent the member
186
- memberField = {
187
- field: new Fields_1.Field(fieldHierarchy.field.category, memberDescription.name, memberDescription.label, memberDescription.type, fieldHierarchy.field.isReadonly, 0),
188
- childFields: [],
189
- };
190
- }
191
- traverseContentItemFieldValue(visitor, memberField, mergedFieldNames, memberDescription.type, namePrefix, rawValues[memberDescription.name], displayValues[memberDescription.name]);
192
- });
193
- }
194
- finally {
195
- visitor.finishStruct();
196
- }
197
- }
198
- function traverseContentItemPrimitiveFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, namePrefix, rawValue, displayValue) {
199
- if (-1 !== mergedFieldNames.indexOf(fieldHierarchy.field.name)) {
200
- visitor.processMergedValue({ mergedField: fieldHierarchy.field, requestedField: fieldHierarchy.field, namePrefix });
201
- return;
202
- }
203
- visitor.processPrimitiveValue({ field: fieldHierarchy.field, valueType, namePrefix, rawValue, displayValue });
204
- }
205
- /**
206
- * `ignoreCategories` parameter enables adding all of the `nestedFields` to parent field's `childFields`
207
- * without considering categories.
208
- * @internal
209
- */
210
- function createFieldHierarchies(fields, ignoreCategories) {
211
- const hierarchies = new Array();
212
- const visitField = (category, field, parentField) => {
213
- let childFields = [];
214
- if (field.isNestedContentField()) {
215
- // visit all nested fields
216
- childFields = visitFields(field.nestedFields, field);
217
- if (0 === childFields.length)
218
- return undefined;
219
- }
220
- const fieldHierarchy = { field, childFields };
221
- if (category === (parentField === null || parentField === void 0 ? void 0 : parentField.category) || ignoreCategories && parentField) {
222
- // if categories of this field and its parent field match - return the field hierarchy without
223
- // including it as a top level field
224
- return fieldHierarchy;
225
- }
226
- addFieldHierarchy(hierarchies, fieldHierarchy);
227
- return undefined;
228
- };
229
- const visitFields = (visitedFields, parentField) => {
230
- const includedFields = [];
231
- visitedFields.forEach((field) => {
232
- const visitedField = visitField(field.category, field, parentField);
233
- if (visitedField)
234
- includedFields.push(visitedField);
235
- });
236
- return includedFields;
237
- };
238
- visitFields(fields, undefined);
239
- return hierarchies;
240
- }
241
- exports.createFieldHierarchies = createFieldHierarchies;
242
- function findRelatedFields(rootFields, hierarchy) {
243
- // build a list of parent fields in hierarchy
244
- const fields = [];
245
- let currField = hierarchy.field;
246
- while (currField) {
247
- fields.push(currField);
248
- currField = currField.parent;
249
- }
250
- for (let rootIndex = 0; rootIndex < rootFields.length; ++rootIndex) {
251
- const rootFieldHierarchy = rootFields[rootIndex];
252
- if (rootFieldHierarchy.field.category !== hierarchy.field.category) {
253
- // only interested in fields with the same category
254
- continue;
255
- }
256
- let first = true;
257
- currField = rootFieldHierarchy.field;
258
- while (currField) {
259
- const index = fields.findIndex((f) => f.name === currField.name);
260
- if (-1 !== index) {
261
- return {
262
- existing: {
263
- field: currField,
264
- hierarchy: first ? rootFieldHierarchy : undefined,
265
- index: rootIndex,
266
- },
267
- matchingField: fields[index],
268
- };
269
- }
270
- currField = currField.parent;
271
- first = false;
272
- }
273
- }
274
- return undefined;
275
- }
276
- function buildParentHierarchy(hierarchy, parentField) {
277
- // note: parentField is found by walking up the parentship relationship
278
- // from hierarchy.field, so we expect to always find it here
279
- while (hierarchy.field !== parentField) {
280
- const hierarchyParent = hierarchy.field.parent;
281
- (0, core_bentley_1.assert)(hierarchyParent !== undefined);
282
- hierarchy = { field: hierarchyParent, childFields: [hierarchy] };
283
- }
284
- return hierarchy;
285
- }
286
- function mergeHierarchies(lhs, rhs) {
287
- (0, core_bentley_1.assert)(lhs.field.name === rhs.field.name);
288
- const result = {
289
- field: lhs.field.clone(),
290
- childFields: [...lhs.childFields],
291
- };
292
- rhs.childFields.forEach((rhsChildHierarchy) => {
293
- const indexInResult = result.childFields.findIndex((resultHierarchy) => resultHierarchy.field.name === rhsChildHierarchy.field.name);
294
- if (indexInResult !== -1)
295
- result.childFields[indexInResult] = mergeHierarchies(result.childFields[indexInResult], rhsChildHierarchy);
296
- else
297
- result.childFields.push(rhsChildHierarchy);
298
- });
299
- return result;
300
- }
301
- /** @alpha */
302
- function addFieldHierarchy(rootHierarchies, hierarchy) {
303
- var _a;
304
- const match = findRelatedFields(rootHierarchies, hierarchy);
305
- if (!match) {
306
- rootHierarchies.push(hierarchy);
307
- return;
308
- }
309
- const targetHierarchy = rootHierarchies[match.existing.index];
310
- const existingHierarchy = (_a = match.existing.hierarchy) !== null && _a !== void 0 ? _a : buildParentHierarchy(targetHierarchy, match.existing.field);
311
- const insertHierarchy = buildParentHierarchy(hierarchy, match.matchingField);
312
- const mergedHierarchy = mergeHierarchies(existingHierarchy, insertHierarchy);
313
- mergedHierarchy.field.category = hierarchy.field.category;
314
- rootHierarchies[match.existing.index] = mergedHierarchy;
315
- }
316
- exports.addFieldHierarchy = addFieldHierarchy;
317
- function createFieldPath(field) {
318
- const path = [field];
319
- let currField = field;
320
- while (currField.parent) {
321
- currField = currField.parent;
322
- path.push(currField);
323
- }
324
- path.reverse();
325
- return path;
326
- }
327
- /** @internal */
328
- exports.FIELD_NAMES_SEPARATOR = "$";
329
- /** @internal */
330
- function applyOptionalPrefix(str, prefix) {
331
- return prefix ? `${prefix}${exports.FIELD_NAMES_SEPARATOR}${str}` : str;
332
- }
333
- exports.applyOptionalPrefix = applyOptionalPrefix;
334
- function convertNestedContentItemToStructArrayItem(item, field, nextField) {
335
- var _a;
336
- const value = (_a = item.values[field.name]) !== null && _a !== void 0 ? _a : [];
337
- (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
338
- if (value.length === 0)
339
- return { emptyNestedItem: true, convertedItem: item };
340
- const nextFieldValues = { raw: [], display: [] };
341
- value.forEach((ncv) => {
342
- const nextRawValue = ncv.values[nextField.name];
343
- const nextDisplayValue = ncv.displayValues[nextField.name];
344
- if (nextField.isNestedContentField()) {
345
- if (nextRawValue) {
346
- (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(nextRawValue));
347
- nextFieldValues.raw.push(...nextRawValue);
348
- }
349
- }
350
- else {
351
- nextFieldValues.raw.push(nextRawValue);
352
- nextFieldValues.display.push(nextDisplayValue);
353
- }
354
- });
355
- const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, item.classInfo, { [nextField.name]: nextFieldValues.raw }, { [nextField.name]: nextFieldValues.display }, item.mergedFieldNames, item.extendedData); // eslint-disable-line deprecation/deprecation
356
- return { emptyNestedItem: false, convertedItem };
357
- }
358
- function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, namePrefix) {
359
- const fieldName = fieldHierarchy.field.name;
360
- const convertedChildFieldHierarchies = fieldHierarchy.childFields.map((child) => {
361
- if (child.field.isNestedContentField())
362
- return convertNestedContentFieldHierarchyToStructArrayHierarchy(child, applyOptionalPrefix(fieldName, namePrefix));
363
- return child;
364
- });
365
- const convertedFieldHierarchy = {
366
- field: Object.assign(fieldHierarchy.field.clone(), {
367
- type: {
368
- valueFormat: TypeDescription_1.PropertyValueFormat.Array,
369
- typeName: `${fieldHierarchy.field.type.typeName}[]`,
370
- memberType: {
371
- valueFormat: TypeDescription_1.PropertyValueFormat.Struct,
372
- typeName: fieldHierarchy.field.type.typeName,
373
- members: convertedChildFieldHierarchies.map((member) => ({
374
- name: member.field.name,
375
- label: member.field.label,
376
- type: member.field.type,
377
- })),
378
- },
379
- },
380
- }),
381
- childFields: convertedChildFieldHierarchies,
382
- };
383
- return convertedFieldHierarchy;
384
- }
385
- function convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, ncvs) {
386
- const result = { raw: [], display: [], mergedFieldNames: [] };
387
- ncvs.forEach((ncv) => {
388
- const values = { ...ncv.values };
389
- const displayValues = { ...ncv.displayValues };
390
- const mergedFieldNames = [...ncv.mergedFieldNames];
391
- fieldHierarchy.childFields.forEach((childFieldHierarchy) => {
392
- const childFieldName = childFieldHierarchy.field.name;
393
- if (-1 !== ncv.mergedFieldNames.indexOf(childFieldName)) {
394
- return;
395
- }
396
- if (childFieldHierarchy.field.isNestedContentField()) {
397
- const value = values[childFieldName];
398
- (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
399
- const convertedValues = convertNestedContentValuesToStructArrayValuesRecursive(childFieldHierarchy, value);
400
- values[childFieldName] = convertedValues.raw;
401
- displayValues[childFieldName] = convertedValues.display;
402
- mergedFieldNames.push(...convertedValues.mergedFieldNames);
403
- }
404
- });
405
- result.raw.push(values);
406
- result.display.push(displayValues);
407
- result.mergedFieldNames.push(...mergedFieldNames);
408
- });
409
- return result;
410
- }
411
- function convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHierarchy) {
412
- const fieldName = fieldHierarchy.field.name;
413
- const rawValue = item.values[fieldName];
414
- (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(rawValue));
415
- if (rawValue.length === 0)
416
- return { emptyNestedItem: true, convertedItem: item };
417
- const converted = convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, rawValue);
418
- const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, item.classInfo, { [fieldName]: converted.raw }, { [fieldName]: converted.display }, converted.mergedFieldNames, item.extendedData); // eslint-disable-line deprecation/deprecation
419
- return { emptyNestedItem: false, convertedItem };
420
- }
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Content
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.parseCombinedFieldNames = exports.combineFieldNames = exports.FIELD_NAMES_SEPARATOR = exports.addFieldHierarchy = exports.createFieldHierarchies = exports.traverseContentItem = exports.traverseContent = exports.traverseFieldHierarchy = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const Content_1 = require("./Content");
13
+ const Fields_1 = require("./Fields");
14
+ const Item_1 = require("./Item");
15
+ const TypeDescription_1 = require("./TypeDescription");
16
+ const Value_1 = require("./Value");
17
+ /**
18
+ * An utility for traversing field hierarchy. Stops traversal as soon as `cb` returns `false`.
19
+ * @public
20
+ */
21
+ function traverseFieldHierarchy(hierarchy, cb) {
22
+ if (cb(hierarchy))
23
+ hierarchy.childFields.forEach((childHierarchy) => traverseFieldHierarchy(childHierarchy, cb));
24
+ }
25
+ exports.traverseFieldHierarchy = traverseFieldHierarchy;
26
+ /**
27
+ * An utility to traverse content using provided visitor. Provides means to parse content into different formats,
28
+ * for different components.
29
+ * @public
30
+ */
31
+ function traverseContent(visitor, content) {
32
+ if (!visitor.startContent({ descriptor: content.descriptor }))
33
+ return;
34
+ try {
35
+ const fieldHierarchies = createFieldHierarchies(content.descriptor.fields);
36
+ visitor.processFieldHierarchies({ hierarchies: fieldHierarchies });
37
+ content.contentSet.forEach((item) => {
38
+ traverseContentItemFields(visitor, fieldHierarchies, item);
39
+ });
40
+ }
41
+ finally {
42
+ visitor.finishContent();
43
+ }
44
+ }
45
+ exports.traverseContent = traverseContent;
46
+ /**
47
+ * An utility for calling [[traverseContent]] when there's only one content item.
48
+ * @public
49
+ */
50
+ function traverseContentItem(visitor, descriptor, item) {
51
+ traverseContent(visitor, new Content_1.Content(descriptor, [item]));
52
+ }
53
+ exports.traverseContentItem = traverseContentItem;
54
+ class VisitedCategories {
55
+ constructor(_visitor, category) {
56
+ this._visitor = _visitor;
57
+ const stack = [];
58
+ let curr = category;
59
+ while (curr) {
60
+ stack.push(curr);
61
+ curr = curr.parent;
62
+ }
63
+ stack.reverse();
64
+ this._didVisitAllHierarchy = true;
65
+ this._visitedCategories = [];
66
+ for (curr of stack) {
67
+ if (this._visitor.startCategory({ category: curr })) {
68
+ this._visitedCategories.push(curr);
69
+ }
70
+ else {
71
+ this._didVisitAllHierarchy = false;
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ dispose() {
77
+ while (this._visitedCategories.pop())
78
+ this._visitor.finishCategory();
79
+ }
80
+ get shouldContinue() { return this._didVisitAllHierarchy; }
81
+ }
82
+ function traverseContentItemFields(visitor, fieldHierarchies, item) {
83
+ if (!visitor.startItem({ item }))
84
+ return;
85
+ try {
86
+ fieldHierarchies.forEach((fieldHierarchy) => {
87
+ (0, core_bentley_1.using)(new VisitedCategories(visitor, fieldHierarchy.field.category), (res) => {
88
+ if (res.shouldContinue)
89
+ traverseContentItemField(visitor, fieldHierarchy, item);
90
+ });
91
+ });
92
+ }
93
+ finally {
94
+ visitor.finishItem();
95
+ }
96
+ }
97
+ function traverseContentItemField(visitor, fieldHierarchy, item) {
98
+ if (!visitor.startField({ hierarchy: fieldHierarchy }))
99
+ return;
100
+ try {
101
+ const rootToThisField = createFieldPath(fieldHierarchy.field);
102
+ let parentFieldName;
103
+ const pathUpToField = rootToThisField.slice(undefined, -1);
104
+ for (let i = 0; i < pathUpToField.length; ++i) {
105
+ const parentField = pathUpToField[i];
106
+ const nextField = rootToThisField[i + 1];
107
+ if (item.isFieldMerged(parentField.name)) {
108
+ visitor.processMergedValue({ requestedField: fieldHierarchy.field, mergedField: parentField, parentFieldName });
109
+ return;
110
+ }
111
+ const { emptyNestedItem, convertedItem } = convertNestedContentItemToStructArrayItem(item, parentField, nextField);
112
+ if (emptyNestedItem)
113
+ return;
114
+ item = convertedItem;
115
+ parentFieldName = combineFieldNames(parentField.name, parentFieldName);
116
+ }
117
+ if (item.isFieldMerged(fieldHierarchy.field.name)) {
118
+ visitor.processMergedValue({ requestedField: fieldHierarchy.field, mergedField: fieldHierarchy.field, parentFieldName });
119
+ return;
120
+ }
121
+ if (fieldHierarchy.field.isNestedContentField()) {
122
+ fieldHierarchy = convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, parentFieldName);
123
+ const { emptyNestedItem, convertedItem } = convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHierarchy);
124
+ if (emptyNestedItem)
125
+ return;
126
+ item = convertedItem;
127
+ }
128
+ else if (pathUpToField.length > 0) {
129
+ fieldHierarchy = {
130
+ ...fieldHierarchy,
131
+ field: Object.assign(fieldHierarchy.field.clone(), {
132
+ type: {
133
+ valueFormat: TypeDescription_1.PropertyValueFormat.Array,
134
+ typeName: `${fieldHierarchy.field.type.typeName}[]`,
135
+ memberType: fieldHierarchy.field.type,
136
+ },
137
+ }),
138
+ };
139
+ }
140
+ traverseContentItemFieldValue(visitor, fieldHierarchy, item.mergedFieldNames, fieldHierarchy.field.type, parentFieldName, item.values[fieldHierarchy.field.name], item.displayValues[fieldHierarchy.field.name]);
141
+ }
142
+ finally {
143
+ visitor.finishField();
144
+ }
145
+ }
146
+ function traverseContentItemFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValue, displayValue) {
147
+ if (rawValue !== undefined) {
148
+ if (valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Array) {
149
+ (0, core_bentley_1.assert)(Value_1.Value.isArray(rawValue));
150
+ (0, core_bentley_1.assert)(Value_1.DisplayValue.isArray(displayValue));
151
+ return traverseContentItemArrayFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValue, displayValue);
152
+ }
153
+ if (valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Struct) {
154
+ (0, core_bentley_1.assert)(Value_1.Value.isMap(rawValue));
155
+ (0, core_bentley_1.assert)(Value_1.DisplayValue.isMap(displayValue));
156
+ return traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValue, displayValue);
157
+ }
158
+ }
159
+ traverseContentItemPrimitiveFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValue, displayValue);
160
+ }
161
+ function traverseContentItemArrayFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValues, displayValues) {
162
+ (0, core_bentley_1.assert)(rawValues.length === displayValues.length);
163
+ (0, core_bentley_1.assert)(valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Array);
164
+ if (!visitor.startArray({ hierarchy: fieldHierarchy, valueType, parentFieldName, rawValues, displayValues }))
165
+ return;
166
+ try {
167
+ const itemType = valueType.memberType;
168
+ rawValues.forEach((_, i) => {
169
+ traverseContentItemFieldValue(visitor, fieldHierarchy, mergedFieldNames, itemType, parentFieldName, rawValues[i], displayValues[i]);
170
+ });
171
+ }
172
+ finally {
173
+ visitor.finishArray();
174
+ }
175
+ }
176
+ function traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValues, displayValues) {
177
+ (0, core_bentley_1.assert)(valueType.valueFormat === TypeDescription_1.PropertyValueFormat.Struct);
178
+ if (!visitor.startStruct({ hierarchy: fieldHierarchy, valueType, parentFieldName, rawValues, displayValues }))
179
+ return;
180
+ try {
181
+ if (fieldHierarchy.field.isNestedContentField())
182
+ parentFieldName = combineFieldNames(fieldHierarchy.field.name, parentFieldName);
183
+ valueType.members.forEach((memberDescription) => {
184
+ let memberField = fieldHierarchy.childFields.find((f) => f.field.name === memberDescription.name);
185
+ if (!memberField) {
186
+ // Not finding a member field means we're traversing an ECStruct. We still need to carry member information, so we
187
+ // create a fake field to represent the member
188
+ memberField = {
189
+ field: new Fields_1.Field(fieldHierarchy.field.category, memberDescription.name, memberDescription.label, memberDescription.type, fieldHierarchy.field.isReadonly, 0),
190
+ childFields: [],
191
+ };
192
+ }
193
+ traverseContentItemFieldValue(visitor, memberField, mergedFieldNames, memberDescription.type, parentFieldName, rawValues[memberDescription.name], displayValues[memberDescription.name]);
194
+ });
195
+ }
196
+ finally {
197
+ visitor.finishStruct();
198
+ }
199
+ }
200
+ function traverseContentItemPrimitiveFieldValue(visitor, fieldHierarchy, mergedFieldNames, valueType, parentFieldName, rawValue, displayValue) {
201
+ if (-1 !== mergedFieldNames.indexOf(fieldHierarchy.field.name)) {
202
+ visitor.processMergedValue({ mergedField: fieldHierarchy.field, requestedField: fieldHierarchy.field, parentFieldName });
203
+ return;
204
+ }
205
+ visitor.processPrimitiveValue({ field: fieldHierarchy.field, valueType, parentFieldName, rawValue, displayValue });
206
+ }
207
+ /**
208
+ * Parses a list of [[Field]] objects into a list of [[FieldHierarchy]].
209
+ *
210
+ * @param ignoreCategories Enables adding all of the `nestedFields` to parent field's `childFields`
211
+ * without considering categories.
212
+ *
213
+ * @public
214
+ */
215
+ function createFieldHierarchies(fields, ignoreCategories) {
216
+ const hierarchies = new Array();
217
+ const visitField = (category, field, parentField) => {
218
+ let childFields = [];
219
+ if (field.isNestedContentField()) {
220
+ // visit all nested fields
221
+ childFields = visitFields(field.nestedFields, field);
222
+ if (0 === childFields.length)
223
+ return undefined;
224
+ }
225
+ const fieldHierarchy = { field, childFields };
226
+ if (category === (parentField === null || parentField === void 0 ? void 0 : parentField.category) || ignoreCategories && parentField) {
227
+ // if categories of this field and its parent field match - return the field hierarchy without
228
+ // including it as a top level field
229
+ return fieldHierarchy;
230
+ }
231
+ addFieldHierarchy(hierarchies, fieldHierarchy);
232
+ return undefined;
233
+ };
234
+ const visitFields = (visitedFields, parentField) => {
235
+ const includedFields = [];
236
+ visitedFields.forEach((field) => {
237
+ const visitedField = visitField(field.category, field, parentField);
238
+ if (visitedField)
239
+ includedFields.push(visitedField);
240
+ });
241
+ return includedFields;
242
+ };
243
+ visitFields(fields, undefined);
244
+ return hierarchies;
245
+ }
246
+ exports.createFieldHierarchies = createFieldHierarchies;
247
+ function findRelatedFields(rootFields, hierarchy) {
248
+ // build a list of parent fields in hierarchy
249
+ const fields = [];
250
+ let currField = hierarchy.field;
251
+ while (currField) {
252
+ fields.push(currField);
253
+ currField = currField.parent;
254
+ }
255
+ for (let rootIndex = 0; rootIndex < rootFields.length; ++rootIndex) {
256
+ const rootFieldHierarchy = rootFields[rootIndex];
257
+ if (rootFieldHierarchy.field.category !== hierarchy.field.category) {
258
+ // only interested in fields with the same category
259
+ continue;
260
+ }
261
+ let first = true;
262
+ currField = rootFieldHierarchy.field;
263
+ while (currField) {
264
+ const index = fields.findIndex((f) => f.name === currField.name);
265
+ if (-1 !== index) {
266
+ return {
267
+ existing: {
268
+ field: currField,
269
+ hierarchy: first ? rootFieldHierarchy : undefined,
270
+ index: rootIndex,
271
+ },
272
+ matchingField: fields[index],
273
+ };
274
+ }
275
+ currField = currField.parent;
276
+ first = false;
277
+ }
278
+ }
279
+ return undefined;
280
+ }
281
+ function buildParentHierarchy(hierarchy, parentField) {
282
+ // note: parentField is found by walking up the parentship relationship
283
+ // from hierarchy.field, so we expect to always find it here
284
+ while (hierarchy.field !== parentField) {
285
+ const hierarchyParent = hierarchy.field.parent;
286
+ (0, core_bentley_1.assert)(hierarchyParent !== undefined);
287
+ hierarchy = { field: hierarchyParent, childFields: [hierarchy] };
288
+ }
289
+ return hierarchy;
290
+ }
291
+ function mergeHierarchies(lhs, rhs) {
292
+ (0, core_bentley_1.assert)(lhs.field.name === rhs.field.name);
293
+ const result = {
294
+ field: lhs.field.clone(),
295
+ childFields: [...lhs.childFields],
296
+ };
297
+ rhs.childFields.forEach((rhsChildHierarchy) => {
298
+ const indexInResult = result.childFields.findIndex((resultHierarchy) => resultHierarchy.field.name === rhsChildHierarchy.field.name);
299
+ if (indexInResult !== -1)
300
+ result.childFields[indexInResult] = mergeHierarchies(result.childFields[indexInResult], rhsChildHierarchy);
301
+ else
302
+ result.childFields.push(rhsChildHierarchy);
303
+ });
304
+ return result;
305
+ }
306
+ /**
307
+ * Adds a field hierarchy into root field hierarchies list. *
308
+ * @public
309
+ */
310
+ function addFieldHierarchy(rootHierarchies, hierarchy) {
311
+ var _a;
312
+ const match = findRelatedFields(rootHierarchies, hierarchy);
313
+ if (!match) {
314
+ rootHierarchies.push(hierarchy);
315
+ return;
316
+ }
317
+ const targetHierarchy = rootHierarchies[match.existing.index];
318
+ const existingHierarchy = (_a = match.existing.hierarchy) !== null && _a !== void 0 ? _a : buildParentHierarchy(targetHierarchy, match.existing.field);
319
+ const insertHierarchy = buildParentHierarchy(hierarchy, match.matchingField);
320
+ const mergedHierarchy = mergeHierarchies(existingHierarchy, insertHierarchy);
321
+ mergedHierarchy.field.category = hierarchy.field.category;
322
+ rootHierarchies[match.existing.index] = mergedHierarchy;
323
+ }
324
+ exports.addFieldHierarchy = addFieldHierarchy;
325
+ function createFieldPath(field) {
326
+ const path = [field];
327
+ let currField = field;
328
+ while (currField.parent) {
329
+ currField = currField.parent;
330
+ path.push(currField);
331
+ }
332
+ path.reverse();
333
+ return path;
334
+ }
335
+ /** @internal */
336
+ exports.FIELD_NAMES_SEPARATOR = "$";
337
+ /**
338
+ * Combines given field names in a way that allows them to be parsed back into a list of individual names using the [[parseCombinedFieldNames]] function.
339
+ * @public
340
+ */
341
+ function combineFieldNames(fieldName, parentFieldName) {
342
+ return parentFieldName ? `${parentFieldName}${exports.FIELD_NAMES_SEPARATOR}${fieldName}` : fieldName;
343
+ }
344
+ exports.combineFieldNames = combineFieldNames;
345
+ /**
346
+ * Parses given combined field names string, constructed using [[combineFieldNames]], into a list of individual field names.
347
+ * @public
348
+ */
349
+ function parseCombinedFieldNames(combinedName) {
350
+ return combinedName ? combinedName.split(exports.FIELD_NAMES_SEPARATOR) : [];
351
+ }
352
+ exports.parseCombinedFieldNames = parseCombinedFieldNames;
353
+ function convertNestedContentItemToStructArrayItem(item, field, nextField) {
354
+ var _a;
355
+ const value = (_a = item.values[field.name]) !== null && _a !== void 0 ? _a : [];
356
+ (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
357
+ if (value.length === 0)
358
+ return { emptyNestedItem: true, convertedItem: item };
359
+ const nextFieldValues = { raw: [], display: [] };
360
+ value.forEach((ncv) => {
361
+ const nextRawValue = ncv.values[nextField.name];
362
+ const nextDisplayValue = ncv.displayValues[nextField.name];
363
+ if (nextField.isNestedContentField()) {
364
+ if (nextRawValue) {
365
+ (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(nextRawValue));
366
+ nextFieldValues.raw.push(...nextRawValue);
367
+ }
368
+ }
369
+ else {
370
+ nextFieldValues.raw.push(nextRawValue);
371
+ nextFieldValues.display.push(nextDisplayValue);
372
+ }
373
+ });
374
+ const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, item.classInfo, { [nextField.name]: nextFieldValues.raw }, { [nextField.name]: nextFieldValues.display }, item.mergedFieldNames, item.extendedData); // eslint-disable-line deprecation/deprecation
375
+ return { emptyNestedItem: false, convertedItem };
376
+ }
377
+ function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, parentFieldName) {
378
+ const fieldName = fieldHierarchy.field.name;
379
+ const convertedChildFieldHierarchies = fieldHierarchy.childFields.map((child) => {
380
+ if (child.field.isNestedContentField())
381
+ return convertNestedContentFieldHierarchyToStructArrayHierarchy(child, combineFieldNames(fieldName, parentFieldName));
382
+ return child;
383
+ });
384
+ const convertedFieldHierarchy = {
385
+ field: Object.assign(fieldHierarchy.field.clone(), {
386
+ type: {
387
+ valueFormat: TypeDescription_1.PropertyValueFormat.Array,
388
+ typeName: `${fieldHierarchy.field.type.typeName}[]`,
389
+ memberType: {
390
+ valueFormat: TypeDescription_1.PropertyValueFormat.Struct,
391
+ typeName: fieldHierarchy.field.type.typeName,
392
+ members: convertedChildFieldHierarchies.map((member) => ({
393
+ name: member.field.name,
394
+ label: member.field.label,
395
+ type: member.field.type,
396
+ })),
397
+ },
398
+ },
399
+ }),
400
+ childFields: convertedChildFieldHierarchies,
401
+ };
402
+ return convertedFieldHierarchy;
403
+ }
404
+ function convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, ncvs) {
405
+ const result = { raw: [], display: [], mergedFieldNames: [] };
406
+ ncvs.forEach((ncv) => {
407
+ const values = { ...ncv.values };
408
+ const displayValues = { ...ncv.displayValues };
409
+ const mergedFieldNames = [...ncv.mergedFieldNames];
410
+ fieldHierarchy.childFields.forEach((childFieldHierarchy) => {
411
+ const childFieldName = childFieldHierarchy.field.name;
412
+ if (-1 !== ncv.mergedFieldNames.indexOf(childFieldName)) {
413
+ return;
414
+ }
415
+ if (childFieldHierarchy.field.isNestedContentField()) {
416
+ const value = values[childFieldName];
417
+ (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
418
+ const convertedValues = convertNestedContentValuesToStructArrayValuesRecursive(childFieldHierarchy, value);
419
+ values[childFieldName] = convertedValues.raw;
420
+ displayValues[childFieldName] = convertedValues.display;
421
+ mergedFieldNames.push(...convertedValues.mergedFieldNames);
422
+ }
423
+ });
424
+ result.raw.push(values);
425
+ result.display.push(displayValues);
426
+ result.mergedFieldNames.push(...mergedFieldNames);
427
+ });
428
+ return result;
429
+ }
430
+ function convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHierarchy) {
431
+ const fieldName = fieldHierarchy.field.name;
432
+ const rawValue = item.values[fieldName];
433
+ (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(rawValue));
434
+ if (rawValue.length === 0)
435
+ return { emptyNestedItem: true, convertedItem: item };
436
+ const converted = convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, rawValue);
437
+ const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, item.classInfo, { [fieldName]: converted.raw }, { [fieldName]: converted.display }, converted.mergedFieldNames, item.extendedData); // eslint-disable-line deprecation/deprecation
438
+ return { emptyNestedItem: false, convertedItem };
439
+ }
421
440
  //# sourceMappingURL=ContentTraverser.js.map