@itwin/grouping-mapping-widget 0.19.2 → 0.20.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 (986) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/WidgetShell/GroupingMapping.d.ts +34 -0
  3. package/lib/cjs/WidgetShell/GroupingMapping.js +79 -0
  4. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -0
  5. package/lib/cjs/WidgetShell/GroupingMappingContent.js +51 -0
  6. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -0
  7. package/lib/cjs/WidgetShell/GroupingMappingHeader.js +24 -0
  8. package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -0
  9. package/lib/cjs/WidgetShell/GroupingMappingWidget.d.ts +10 -0
  10. package/lib/cjs/WidgetShell/GroupingMappingWidget.js +31 -0
  11. package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -0
  12. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.d.ts +8 -0
  13. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +107 -0
  14. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -0
  15. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -0
  16. package/lib/cjs/common/utils.d.ts +11 -0
  17. package/lib/cjs/common/utils.js +89 -0
  18. package/lib/cjs/common/utils.js.map +1 -0
  19. package/lib/cjs/common/viewerUtils.d.ts +30 -0
  20. package/lib/cjs/common/viewerUtils.js +293 -0
  21. package/lib/cjs/common/viewerUtils.js.map +1 -0
  22. package/lib/cjs/components/GroupingMappingContext.d.ts +39 -0
  23. package/lib/cjs/components/GroupingMappingContext.js +123 -0
  24. package/lib/cjs/components/GroupingMappingContext.js.map +1 -0
  25. package/lib/cjs/components/Groups/Editing/GroupAction.js +156 -0
  26. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -0
  27. package/lib/cjs/components/Groups/Editing/GroupDetails.js +34 -0
  28. package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -0
  29. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -0
  30. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -0
  31. package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -0
  32. package/lib/cjs/components/Groups/GroupItem.d.ts +13 -0
  33. package/lib/cjs/components/Groups/GroupItem.js +23 -0
  34. package/lib/cjs/components/Groups/GroupItem.js.map +1 -0
  35. package/lib/cjs/components/Groups/GroupMenuActions.d.ts +14 -0
  36. package/lib/cjs/components/Groups/GroupMenuActions.js +80 -0
  37. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -0
  38. package/lib/cjs/components/Groups/GroupOverlapProgressBar.d.ts +11 -0
  39. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js +18 -0
  40. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -0
  41. package/lib/cjs/components/Groups/Groups.d.ts +18 -0
  42. package/lib/cjs/components/Groups/Groups.js +47 -0
  43. package/lib/cjs/components/Groups/Groups.js.map +1 -0
  44. package/lib/cjs/components/Groups/GroupsAddButton.d.ts +10 -0
  45. package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -0
  46. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +45 -0
  47. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -0
  48. package/lib/cjs/components/Groups/GroupsView.d.ts +43 -0
  49. package/lib/cjs/components/Groups/GroupsView.js +49 -0
  50. package/lib/cjs/components/Groups/GroupsView.js.map +1 -0
  51. package/lib/cjs/components/Groups/GroupsView.scss +53 -0
  52. package/lib/cjs/components/Groups/GroupsVisualization.js +153 -0
  53. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -0
  54. package/lib/cjs/components/Groups/GroupsVisualization.scss +18 -0
  55. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +27 -0
  56. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -0
  57. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +17 -0
  58. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +91 -0
  59. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -0
  60. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +14 -0
  61. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -0
  62. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -0
  63. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +13 -0
  64. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +28 -0
  65. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -0
  66. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -0
  67. package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -0
  68. package/lib/cjs/components/Groups/groupsHelpers.d.ts +11 -0
  69. package/lib/cjs/components/Groups/groupsHelpers.js +202 -0
  70. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -0
  71. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +26 -0
  72. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +71 -0
  73. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -0
  74. package/lib/cjs/components/Groups/hooks/useVisualization.js +68 -0
  75. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -0
  76. package/lib/cjs/components/Mappings/BlockingOverlay.js +20 -0
  77. package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -0
  78. package/lib/cjs/components/Mappings/ConfirmMappingsImport.js +134 -0
  79. package/lib/cjs/components/Mappings/ConfirmMappingsImport.js.map +1 -0
  80. package/lib/cjs/components/Mappings/Editing/MappingAction.js +109 -0
  81. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -0
  82. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +42 -0
  83. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -0
  84. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.d.ts +11 -0
  85. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +129 -0
  86. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -0
  87. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -0
  88. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +125 -0
  89. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -0
  90. package/lib/cjs/components/Mappings/Import/SelectIModel.js +102 -0
  91. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -0
  92. package/lib/cjs/components/Mappings/Import/SelectITwin.js +115 -0
  93. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -0
  94. package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +16 -0
  95. package/lib/cjs/components/Mappings/Import/SelectMappings.js +88 -0
  96. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -0
  97. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -0
  98. package/lib/cjs/components/Mappings/Mappings.d.ts +13 -0
  99. package/lib/cjs/components/Mappings/Mappings.js +45 -0
  100. package/lib/cjs/components/Mappings/Mappings.js.map +1 -0
  101. package/lib/cjs/components/Mappings/MappingsView.js +64 -0
  102. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -0
  103. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +35 -0
  104. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +120 -0
  105. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -0
  106. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +84 -0
  107. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -0
  108. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +150 -0
  109. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -0
  110. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +84 -0
  111. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -0
  112. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -0
  113. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +12 -0
  114. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +185 -0
  115. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -0
  116. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +84 -0
  117. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -0
  118. package/lib/cjs/components/Properties/GroupColorToggle.js +69 -0
  119. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -0
  120. package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -0
  121. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +287 -0
  122. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -0
  123. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +81 -0
  124. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -0
  125. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -0
  126. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -0
  127. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.d.ts +8 -0
  128. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +52 -0
  129. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -0
  130. package/lib/cjs/components/Properties/PropertyAction.js +99 -0
  131. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -0
  132. package/lib/cjs/components/Properties/PropertyMenu.js +60 -0
  133. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -0
  134. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -0
  135. package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -0
  136. package/lib/cjs/components/Properties/PropertyTable.js +53 -0
  137. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -0
  138. package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -0
  139. package/lib/cjs/components/Properties/hooks/useFetchData.js +43 -0
  140. package/lib/cjs/components/Properties/hooks/useFetchData.js.map +1 -0
  141. package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +6 -0
  142. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +29 -0
  143. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -0
  144. package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -0
  145. package/lib/cjs/components/SharedComponents/ActionPanel.js +39 -0
  146. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -0
  147. package/lib/cjs/components/SharedComponents/DeleteModal.js +62 -0
  148. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -0
  149. package/lib/cjs/components/SharedComponents/EmptyMessage.d.ts +7 -0
  150. package/lib/cjs/components/SharedComponents/EmptyMessage.js +17 -0
  151. package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -0
  152. package/lib/cjs/components/SharedComponents/EmptyMessage.scss +12 -0
  153. package/lib/cjs/components/SharedComponents/HorizontalTile.d.ts +19 -0
  154. package/lib/cjs/components/SharedComponents/HorizontalTile.js +27 -0
  155. package/lib/cjs/components/SharedComponents/HorizontalTile.js.map +1 -0
  156. package/lib/cjs/components/SharedComponents/HorizontalTile.scss +58 -0
  157. package/lib/cjs/components/SharedComponents/LoadingOverlay.d.ts +4 -0
  158. package/lib/cjs/components/SharedComponents/LoadingOverlay.js +19 -0
  159. package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -0
  160. package/lib/cjs/components/SharedComponents/LoadingOverlay.scss +13 -0
  161. package/lib/cjs/components/SharedComponents/LoadingSpinner.d.ts +4 -0
  162. package/lib/cjs/components/SharedComponents/LoadingSpinner.js +19 -0
  163. package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -0
  164. package/lib/cjs/components/SharedComponents/LoadingSpinner.scss +8 -0
  165. package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -0
  166. package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -0
  167. package/lib/cjs/components/context/GroupHilitedElementsContext.d.ts +38 -0
  168. package/lib/cjs/components/context/GroupHilitedElementsContext.js +55 -0
  169. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -0
  170. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -0
  171. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -0
  172. package/lib/cjs/components/context/IModelsClientContext.js.map +1 -0
  173. package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -0
  174. package/lib/cjs/components/context/MappingClientContext.js.map +1 -0
  175. package/lib/cjs/components/context/PropertiesContext.js.map +1 -0
  176. package/lib/cjs/components/context/PropertyGridWrapperContext.d.ts +13 -0
  177. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -0
  178. package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -0
  179. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +107 -0
  180. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -0
  181. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -0
  182. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +32 -0
  183. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -0
  184. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +98 -0
  185. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -0
  186. package/lib/cjs/grouping-mapping-widget.d.ts +23 -23
  187. package/lib/cjs/grouping-mapping-widget.js +23 -23
  188. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  189. package/lib/cjs/test/GroupPropertyUtils.test.js +1 -1
  190. package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
  191. package/lib/cjs/test/GroupingMappingCustomUI.test.js +4 -4
  192. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  193. package/lib/cjs/test/QueryBuilder.test.js +1 -1
  194. package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
  195. package/lib/cjs/test/WidgetHeader.test.js +1 -1
  196. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  197. package/lib/cjs/test/test-utils.js +1 -1
  198. package/lib/cjs/test/test-utils.js.map +1 -1
  199. package/lib/esm/WidgetShell/GroupingMapping.d.ts +34 -0
  200. package/lib/esm/WidgetShell/GroupingMapping.js +57 -0
  201. package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -0
  202. package/lib/esm/WidgetShell/GroupingMappingContent.js +28 -0
  203. package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -0
  204. package/lib/esm/WidgetShell/GroupingMappingHeader.js +17 -0
  205. package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -0
  206. package/lib/esm/WidgetShell/GroupingMappingWidget.d.ts +10 -0
  207. package/lib/esm/WidgetShell/GroupingMappingWidget.js +24 -0
  208. package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -0
  209. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.d.ts +8 -0
  210. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +100 -0
  211. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -0
  212. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -0
  213. package/lib/esm/common/utils.d.ts +11 -0
  214. package/lib/esm/common/utils.js +80 -0
  215. package/lib/esm/common/utils.js.map +1 -0
  216. package/lib/esm/common/viewerUtils.d.ts +30 -0
  217. package/lib/esm/common/viewerUtils.js +268 -0
  218. package/lib/esm/common/viewerUtils.js.map +1 -0
  219. package/lib/esm/components/GroupingMappingContext.d.ts +39 -0
  220. package/lib/esm/components/GroupingMappingContext.js +100 -0
  221. package/lib/esm/components/GroupingMappingContext.js.map +1 -0
  222. package/lib/esm/components/Groups/Editing/GroupAction.js +130 -0
  223. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -0
  224. package/lib/esm/components/Groups/Editing/GroupDetails.js +27 -0
  225. package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -0
  226. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -0
  227. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -0
  228. package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -0
  229. package/lib/esm/components/Groups/GroupItem.d.ts +13 -0
  230. package/lib/esm/components/Groups/GroupItem.js +16 -0
  231. package/lib/esm/components/Groups/GroupItem.js.map +1 -0
  232. package/lib/esm/components/Groups/GroupMenuActions.d.ts +14 -0
  233. package/lib/esm/components/Groups/GroupMenuActions.js +57 -0
  234. package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -0
  235. package/lib/esm/components/Groups/GroupOverlapProgressBar.d.ts +11 -0
  236. package/lib/esm/components/Groups/GroupOverlapProgressBar.js +11 -0
  237. package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -0
  238. package/lib/esm/components/Groups/Groups.d.ts +18 -0
  239. package/lib/esm/components/Groups/Groups.js +24 -0
  240. package/lib/esm/components/Groups/Groups.js.map +1 -0
  241. package/lib/esm/components/Groups/GroupsAddButton.d.ts +10 -0
  242. package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -0
  243. package/lib/esm/components/Groups/GroupsShowHideButtons.js +22 -0
  244. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -0
  245. package/lib/esm/components/Groups/GroupsView.d.ts +43 -0
  246. package/lib/esm/components/Groups/GroupsView.js +42 -0
  247. package/lib/esm/components/Groups/GroupsView.js.map +1 -0
  248. package/lib/esm/components/Groups/GroupsView.scss +53 -0
  249. package/lib/esm/components/Groups/GroupsVisualization.js +130 -0
  250. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -0
  251. package/lib/esm/components/Groups/GroupsVisualization.scss +18 -0
  252. package/lib/esm/components/Groups/GroupsVisualizationActions.js +20 -0
  253. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -0
  254. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +17 -0
  255. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +84 -0
  256. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -0
  257. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +14 -0
  258. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -0
  259. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -0
  260. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +13 -0
  261. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +21 -0
  262. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -0
  263. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -0
  264. package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -0
  265. package/lib/esm/components/Groups/groupsHelpers.d.ts +11 -0
  266. package/lib/esm/components/Groups/groupsHelpers.js +192 -0
  267. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -0
  268. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +26 -0
  269. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +67 -0
  270. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -0
  271. package/lib/esm/components/Groups/hooks/useVisualization.js +64 -0
  272. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -0
  273. package/lib/esm/components/Mappings/BlockingOverlay.js +13 -0
  274. package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -0
  275. package/lib/esm/components/Mappings/ConfirmMappingsImport.js +113 -0
  276. package/lib/esm/components/Mappings/ConfirmMappingsImport.js.map +1 -0
  277. package/lib/esm/components/Mappings/Editing/MappingAction.js +83 -0
  278. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -0
  279. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +19 -0
  280. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -0
  281. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.d.ts +11 -0
  282. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +106 -0
  283. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -0
  284. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -0
  285. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +99 -0
  286. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -0
  287. package/lib/esm/components/Mappings/Import/SelectIModel.js +81 -0
  288. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -0
  289. package/lib/esm/components/Mappings/Import/SelectITwin.js +94 -0
  290. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -0
  291. package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +16 -0
  292. package/lib/esm/components/Mappings/Import/SelectMappings.js +67 -0
  293. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -0
  294. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -0
  295. package/lib/esm/components/Mappings/Mappings.d.ts +13 -0
  296. package/lib/esm/components/Mappings/Mappings.js +22 -0
  297. package/lib/esm/components/Mappings/Mappings.js.map +1 -0
  298. package/lib/esm/components/Mappings/MappingsView.js +57 -0
  299. package/lib/esm/components/Mappings/MappingsView.js.map +1 -0
  300. package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +35 -0
  301. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +116 -0
  302. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -0
  303. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +58 -0
  304. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -0
  305. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +124 -0
  306. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -0
  307. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +61 -0
  308. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -0
  309. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -0
  310. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +12 -0
  311. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +159 -0
  312. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -0
  313. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +61 -0
  314. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -0
  315. package/lib/esm/components/Properties/GroupColorToggle.js +46 -0
  316. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -0
  317. package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -0
  318. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +261 -0
  319. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -0
  320. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +58 -0
  321. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -0
  322. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -0
  323. package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -0
  324. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.d.ts +8 -0
  325. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +31 -0
  326. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -0
  327. package/lib/esm/components/Properties/PropertyAction.js +76 -0
  328. package/lib/esm/components/Properties/PropertyAction.js.map +1 -0
  329. package/lib/esm/components/Properties/PropertyMenu.js +37 -0
  330. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -0
  331. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -0
  332. package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -0
  333. package/lib/esm/components/Properties/PropertyTable.js +27 -0
  334. package/lib/esm/components/Properties/PropertyTable.js.map +1 -0
  335. package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -0
  336. package/lib/esm/components/Properties/hooks/useFetchData.js +37 -0
  337. package/lib/esm/components/Properties/hooks/useFetchData.js.map +1 -0
  338. package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +6 -0
  339. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +25 -0
  340. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -0
  341. package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -0
  342. package/lib/esm/components/SharedComponents/ActionPanel.js +18 -0
  343. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -0
  344. package/lib/esm/components/SharedComponents/DeleteModal.js +39 -0
  345. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -0
  346. package/lib/esm/components/SharedComponents/EmptyMessage.d.ts +7 -0
  347. package/lib/esm/components/SharedComponents/EmptyMessage.js +10 -0
  348. package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -0
  349. package/lib/esm/components/SharedComponents/EmptyMessage.scss +12 -0
  350. package/lib/esm/components/SharedComponents/HorizontalTile.d.ts +19 -0
  351. package/lib/esm/components/SharedComponents/HorizontalTile.js +20 -0
  352. package/lib/esm/components/SharedComponents/HorizontalTile.js.map +1 -0
  353. package/lib/esm/components/SharedComponents/HorizontalTile.scss +58 -0
  354. package/lib/esm/components/SharedComponents/LoadingOverlay.d.ts +4 -0
  355. package/lib/esm/components/SharedComponents/LoadingOverlay.js +12 -0
  356. package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -0
  357. package/lib/esm/components/SharedComponents/LoadingOverlay.scss +13 -0
  358. package/lib/esm/components/SharedComponents/LoadingSpinner.d.ts +4 -0
  359. package/lib/esm/components/SharedComponents/LoadingSpinner.js +12 -0
  360. package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -0
  361. package/lib/esm/components/SharedComponents/LoadingSpinner.scss +8 -0
  362. package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -0
  363. package/lib/esm/components/context/ExtractionClientContext.js.map +1 -0
  364. package/lib/esm/components/context/GroupHilitedElementsContext.d.ts +38 -0
  365. package/lib/esm/components/context/GroupHilitedElementsContext.js +32 -0
  366. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -0
  367. package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -0
  368. package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -0
  369. package/lib/esm/components/context/IModelsClientContext.js.map +1 -0
  370. package/lib/esm/components/context/ITwinsClientContext.js.map +1 -0
  371. package/lib/esm/components/context/MappingClientContext.js.map +1 -0
  372. package/lib/esm/components/context/PropertiesContext.js.map +1 -0
  373. package/lib/esm/components/context/PropertyGridWrapperContext.d.ts +13 -0
  374. package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -0
  375. package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -0
  376. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +84 -0
  377. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -0
  378. package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -0
  379. package/lib/esm/components/customUI/ManualGroupingCustomUI.js +25 -0
  380. package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -0
  381. package/lib/esm/components/customUI/SearchGroupingCustomUI.js +91 -0
  382. package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -0
  383. package/lib/esm/grouping-mapping-widget.d.ts +23 -23
  384. package/lib/esm/grouping-mapping-widget.js +23 -23
  385. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  386. package/lib/esm/test/GroupPropertyUtils.test.js +1 -1
  387. package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
  388. package/lib/esm/test/GroupingMappingCustomUI.test.js +4 -4
  389. package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
  390. package/lib/esm/test/QueryBuilder.test.js +1 -1
  391. package/lib/esm/test/QueryBuilder.test.js.map +1 -1
  392. package/lib/esm/test/WidgetHeader.test.js +1 -1
  393. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  394. package/lib/esm/test/test-utils.js +1 -1
  395. package/lib/esm/test/test-utils.js.map +1 -1
  396. package/package.json +2 -2
  397. package/lib/cjs/widget/GroupingMappingWidget.d.ts +0 -10
  398. package/lib/cjs/widget/GroupingMappingWidget.js +0 -31
  399. package/lib/cjs/widget/GroupingMappingWidget.js.map +0 -1
  400. package/lib/cjs/widget/components/ActionPanel.js +0 -39
  401. package/lib/cjs/widget/components/ActionPanel.js.map +0 -1
  402. package/lib/cjs/widget/components/BlockingOverlay.js +0 -20
  403. package/lib/cjs/widget/components/BlockingOverlay.js.map +0 -1
  404. package/lib/cjs/widget/components/CalculatedPropertyAction.js +0 -84
  405. package/lib/cjs/widget/components/CalculatedPropertyAction.js.map +0 -1
  406. package/lib/cjs/widget/components/CalculatedPropertyActionWithVisuals.js +0 -150
  407. package/lib/cjs/widget/components/CalculatedPropertyActionWithVisuals.js.map +0 -1
  408. package/lib/cjs/widget/components/CalculatedPropertyTable.js +0 -84
  409. package/lib/cjs/widget/components/CalculatedPropertyTable.js.map +0 -1
  410. package/lib/cjs/widget/components/ConfirmMappingsImport.js +0 -134
  411. package/lib/cjs/widget/components/ConfirmMappingsImport.js.map +0 -1
  412. package/lib/cjs/widget/components/CustomCalculationAction.d.ts +0 -13
  413. package/lib/cjs/widget/components/CustomCalculationAction.js +0 -186
  414. package/lib/cjs/widget/components/CustomCalculationAction.js.map +0 -1
  415. package/lib/cjs/widget/components/CustomCalculationTable.js +0 -84
  416. package/lib/cjs/widget/components/CustomCalculationTable.js.map +0 -1
  417. package/lib/cjs/widget/components/DeleteModal.js +0 -61
  418. package/lib/cjs/widget/components/DeleteModal.js.map +0 -1
  419. package/lib/cjs/widget/components/ExtractionLogCustomFilter.js +0 -42
  420. package/lib/cjs/widget/components/ExtractionLogCustomFilter.js.map +0 -1
  421. package/lib/cjs/widget/components/ExtractionMessageModal.d.ts +0 -11
  422. package/lib/cjs/widget/components/ExtractionMessageModal.js +0 -87
  423. package/lib/cjs/widget/components/ExtractionMessageModal.js.map +0 -1
  424. package/lib/cjs/widget/components/ExtractionStatusIcon.js.map +0 -1
  425. package/lib/cjs/widget/components/GroupAction.js +0 -155
  426. package/lib/cjs/widget/components/GroupAction.js.map +0 -1
  427. package/lib/cjs/widget/components/GroupColorLegend.js.map +0 -1
  428. package/lib/cjs/widget/components/GroupColorToggle.js +0 -69
  429. package/lib/cjs/widget/components/GroupColorToggle.js.map +0 -1
  430. package/lib/cjs/widget/components/GroupDetails.js +0 -34
  431. package/lib/cjs/widget/components/GroupDetails.js.map +0 -1
  432. package/lib/cjs/widget/components/GroupDetailsActionPanel.js.map +0 -1
  433. package/lib/cjs/widget/components/GroupDetailsStep.js.map +0 -1
  434. package/lib/cjs/widget/components/GroupInformationPanel.js.map +0 -1
  435. package/lib/cjs/widget/components/GroupItem.d.ts +0 -12
  436. package/lib/cjs/widget/components/GroupItem.js +0 -19
  437. package/lib/cjs/widget/components/GroupItem.js.map +0 -1
  438. package/lib/cjs/widget/components/GroupMenuActions.d.ts +0 -13
  439. package/lib/cjs/widget/components/GroupMenuActions.js +0 -68
  440. package/lib/cjs/widget/components/GroupMenuActions.js.map +0 -1
  441. package/lib/cjs/widget/components/GroupPropertyAction.js +0 -287
  442. package/lib/cjs/widget/components/GroupPropertyAction.js.map +0 -1
  443. package/lib/cjs/widget/components/GroupPropertyTable.js +0 -81
  444. package/lib/cjs/widget/components/GroupPropertyTable.js.map +0 -1
  445. package/lib/cjs/widget/components/GroupPropertyUtils.js.map +0 -1
  446. package/lib/cjs/widget/components/GroupingMapping.d.ts +0 -34
  447. package/lib/cjs/widget/components/GroupingMapping.js +0 -79
  448. package/lib/cjs/widget/components/GroupingMapping.js.map +0 -1
  449. package/lib/cjs/widget/components/GroupingMappingContent.js +0 -51
  450. package/lib/cjs/widget/components/GroupingMappingContent.js.map +0 -1
  451. package/lib/cjs/widget/components/GroupingMappingContext.d.ts +0 -40
  452. package/lib/cjs/widget/components/GroupingMappingContext.js +0 -109
  453. package/lib/cjs/widget/components/GroupingMappingContext.js.map +0 -1
  454. package/lib/cjs/widget/components/GroupingMappingHeader.js +0 -24
  455. package/lib/cjs/widget/components/GroupingMappingHeader.js.map +0 -1
  456. package/lib/cjs/widget/components/GroupingMappingRouter.d.ts +0 -8
  457. package/lib/cjs/widget/components/GroupingMappingRouter.js +0 -107
  458. package/lib/cjs/widget/components/GroupingMappingRouter.js.map +0 -1
  459. package/lib/cjs/widget/components/Groups.d.ts +0 -16
  460. package/lib/cjs/widget/components/Groups.js +0 -46
  461. package/lib/cjs/widget/components/Groups.js.map +0 -1
  462. package/lib/cjs/widget/components/GroupsAddButton.d.ts +0 -10
  463. package/lib/cjs/widget/components/GroupsAddButton.js.map +0 -1
  464. package/lib/cjs/widget/components/GroupsShowHideButtons.js +0 -45
  465. package/lib/cjs/widget/components/GroupsShowHideButtons.js.map +0 -1
  466. package/lib/cjs/widget/components/GroupsView.d.ts +0 -31
  467. package/lib/cjs/widget/components/GroupsView.js +0 -37
  468. package/lib/cjs/widget/components/GroupsView.js.map +0 -1
  469. package/lib/cjs/widget/components/GroupsView.scss +0 -49
  470. package/lib/cjs/widget/components/GroupsVisualization.js +0 -141
  471. package/lib/cjs/widget/components/GroupsVisualization.js.map +0 -1
  472. package/lib/cjs/widget/components/GroupsVisualization.scss +0 -12
  473. package/lib/cjs/widget/components/GroupsVisualizationActions.js +0 -27
  474. package/lib/cjs/widget/components/GroupsVisualizationActions.js.map +0 -1
  475. package/lib/cjs/widget/components/HorizontalTile.d.ts +0 -15
  476. package/lib/cjs/widget/components/HorizontalTile.js +0 -24
  477. package/lib/cjs/widget/components/HorizontalTile.js.map +0 -1
  478. package/lib/cjs/widget/components/HorizontalTile.scss +0 -57
  479. package/lib/cjs/widget/components/MappingAction.js +0 -109
  480. package/lib/cjs/widget/components/MappingAction.js.map +0 -1
  481. package/lib/cjs/widget/components/MappingImportWizardModal.js +0 -125
  482. package/lib/cjs/widget/components/MappingImportWizardModal.js.map +0 -1
  483. package/lib/cjs/widget/components/MappingViewActionGroup.js.map +0 -1
  484. package/lib/cjs/widget/components/Mappings.d.ts +0 -13
  485. package/lib/cjs/widget/components/Mappings.js +0 -45
  486. package/lib/cjs/widget/components/Mappings.js.map +0 -1
  487. package/lib/cjs/widget/components/MappingsView.js +0 -63
  488. package/lib/cjs/widget/components/MappingsView.js.map +0 -1
  489. package/lib/cjs/widget/components/PropertyAction.js +0 -99
  490. package/lib/cjs/widget/components/PropertyAction.js.map +0 -1
  491. package/lib/cjs/widget/components/PropertyMenu.js +0 -60
  492. package/lib/cjs/widget/components/PropertyMenu.js.map +0 -1
  493. package/lib/cjs/widget/components/PropertyMenuWithVisualization.js.map +0 -1
  494. package/lib/cjs/widget/components/PropertyNameCell.js.map +0 -1
  495. package/lib/cjs/widget/components/PropertyTable.js +0 -53
  496. package/lib/cjs/widget/components/PropertyTable.js.map +0 -1
  497. package/lib/cjs/widget/components/PropertyTableToolbar.js.map +0 -1
  498. package/lib/cjs/widget/components/QueryBuilder.js.map +0 -1
  499. package/lib/cjs/widget/components/QueryBuilderActionPanel.js.map +0 -1
  500. package/lib/cjs/widget/components/QueryBuilderCustomUI.d.ts +0 -13
  501. package/lib/cjs/widget/components/QueryBuilderCustomUI.js +0 -28
  502. package/lib/cjs/widget/components/QueryBuilderCustomUI.js.map +0 -1
  503. package/lib/cjs/widget/components/QueryBuilderStep.js.map +0 -1
  504. package/lib/cjs/widget/components/SaveModal.js.map +0 -1
  505. package/lib/cjs/widget/components/SelectIModel.js +0 -102
  506. package/lib/cjs/widget/components/SelectIModel.js.map +0 -1
  507. package/lib/cjs/widget/components/SelectITwin.js +0 -115
  508. package/lib/cjs/widget/components/SelectITwin.js.map +0 -1
  509. package/lib/cjs/widget/components/SelectMappings.d.ts +0 -16
  510. package/lib/cjs/widget/components/SelectMappings.js +0 -88
  511. package/lib/cjs/widget/components/SelectMappings.js.map +0 -1
  512. package/lib/cjs/widget/components/SharedCalculatedPropertyForms.js.map +0 -1
  513. package/lib/cjs/widget/components/SortableHorizontalTile.d.ts +0 -8
  514. package/lib/cjs/widget/components/SortableHorizontalTile.js +0 -52
  515. package/lib/cjs/widget/components/SortableHorizontalTile.js.map +0 -1
  516. package/lib/cjs/widget/components/StatusIcon.js.map +0 -1
  517. package/lib/cjs/widget/components/ToggleGroupVisibility.js.map +0 -1
  518. package/lib/cjs/widget/components/WidgetHeader.js.map +0 -1
  519. package/lib/cjs/widget/components/context/ExtractionClientContext.js.map +0 -1
  520. package/lib/cjs/widget/components/context/GroupHilitedElementsContext.d.ts +0 -22
  521. package/lib/cjs/widget/components/context/GroupHilitedElementsContext.js +0 -47
  522. package/lib/cjs/widget/components/context/GroupHilitedElementsContext.js.map +0 -1
  523. package/lib/cjs/widget/components/context/GroupingApiConfigContext.js.map +0 -1
  524. package/lib/cjs/widget/components/context/GroupingMappingCustomUIContext.js.map +0 -1
  525. package/lib/cjs/widget/components/context/IModelsClientContext.js.map +0 -1
  526. package/lib/cjs/widget/components/context/ITwinsClientContext.js.map +0 -1
  527. package/lib/cjs/widget/components/context/MappingClientContext.js.map +0 -1
  528. package/lib/cjs/widget/components/context/PropertiesContext.js.map +0 -1
  529. package/lib/cjs/widget/components/context/PropertyGridWrapperContext.d.ts +0 -13
  530. package/lib/cjs/widget/components/context/PropertyGridWrapperContext.js.map +0 -1
  531. package/lib/cjs/widget/components/customUI/DefaultGroupingUI.js.map +0 -1
  532. package/lib/cjs/widget/components/customUI/GroupQueryBuilderCustomUI.js +0 -107
  533. package/lib/cjs/widget/components/customUI/GroupQueryBuilderCustomUI.js.map +0 -1
  534. package/lib/cjs/widget/components/customUI/GroupingMappingCustomUI.js.map +0 -1
  535. package/lib/cjs/widget/components/customUI/ManualGroupingCustomUI.js +0 -32
  536. package/lib/cjs/widget/components/customUI/ManualGroupingCustomUI.js.map +0 -1
  537. package/lib/cjs/widget/components/customUI/SearchGroupingCustomUI.js +0 -98
  538. package/lib/cjs/widget/components/customUI/SearchGroupingCustomUI.js.map +0 -1
  539. package/lib/cjs/widget/components/groupsHelpers.d.ts +0 -10
  540. package/lib/cjs/widget/components/groupsHelpers.js +0 -84
  541. package/lib/cjs/widget/components/groupsHelpers.js.map +0 -1
  542. package/lib/cjs/widget/components/hooks/useGroupsOperations.d.ts +0 -20
  543. package/lib/cjs/widget/components/hooks/useGroupsOperations.js +0 -67
  544. package/lib/cjs/widget/components/hooks/useGroupsOperations.js.map +0 -1
  545. package/lib/cjs/widget/components/hooks/useMappingsOperations.d.ts +0 -35
  546. package/lib/cjs/widget/components/hooks/useMappingsOperations.js +0 -120
  547. package/lib/cjs/widget/components/hooks/useMappingsOperations.js.map +0 -1
  548. package/lib/cjs/widget/components/utils.d.ts +0 -16
  549. package/lib/cjs/widget/components/utils.js +0 -99
  550. package/lib/cjs/widget/components/utils.js.map +0 -1
  551. package/lib/cjs/widget/components/utils.scss +0 -18
  552. package/lib/cjs/widget/components/viewerUtils.d.ts +0 -30
  553. package/lib/cjs/widget/components/viewerUtils.js +0 -293
  554. package/lib/cjs/widget/components/viewerUtils.js.map +0 -1
  555. package/lib/cjs/widget/hooks/useFetchData.js +0 -43
  556. package/lib/cjs/widget/hooks/useFetchData.js.map +0 -1
  557. package/lib/cjs/widget/hooks/useFormulaValidation.d.ts +0 -6
  558. package/lib/cjs/widget/hooks/useFormulaValidation.js +0 -29
  559. package/lib/cjs/widget/hooks/useFormulaValidation.js.map +0 -1
  560. package/lib/cjs/widget/hooks/useValidator.js.map +0 -1
  561. package/lib/cjs/widget/hooks/useVisualization.js +0 -68
  562. package/lib/cjs/widget/hooks/useVisualization.js.map +0 -1
  563. package/lib/cjs/widget/utils.d.ts +0 -5
  564. package/lib/cjs/widget/utils.js +0 -12
  565. package/lib/cjs/widget/utils.js.map +0 -1
  566. package/lib/esm/widget/GroupingMappingWidget.d.ts +0 -10
  567. package/lib/esm/widget/GroupingMappingWidget.js +0 -24
  568. package/lib/esm/widget/GroupingMappingWidget.js.map +0 -1
  569. package/lib/esm/widget/components/ActionPanel.js +0 -18
  570. package/lib/esm/widget/components/ActionPanel.js.map +0 -1
  571. package/lib/esm/widget/components/BlockingOverlay.js +0 -13
  572. package/lib/esm/widget/components/BlockingOverlay.js.map +0 -1
  573. package/lib/esm/widget/components/CalculatedPropertyAction.js +0 -58
  574. package/lib/esm/widget/components/CalculatedPropertyAction.js.map +0 -1
  575. package/lib/esm/widget/components/CalculatedPropertyActionWithVisuals.js +0 -124
  576. package/lib/esm/widget/components/CalculatedPropertyActionWithVisuals.js.map +0 -1
  577. package/lib/esm/widget/components/CalculatedPropertyTable.js +0 -61
  578. package/lib/esm/widget/components/CalculatedPropertyTable.js.map +0 -1
  579. package/lib/esm/widget/components/ConfirmMappingsImport.js +0 -113
  580. package/lib/esm/widget/components/ConfirmMappingsImport.js.map +0 -1
  581. package/lib/esm/widget/components/CustomCalculationAction.d.ts +0 -13
  582. package/lib/esm/widget/components/CustomCalculationAction.js +0 -160
  583. package/lib/esm/widget/components/CustomCalculationAction.js.map +0 -1
  584. package/lib/esm/widget/components/CustomCalculationTable.js +0 -61
  585. package/lib/esm/widget/components/CustomCalculationTable.js.map +0 -1
  586. package/lib/esm/widget/components/DeleteModal.js +0 -38
  587. package/lib/esm/widget/components/DeleteModal.js.map +0 -1
  588. package/lib/esm/widget/components/ExtractionLogCustomFilter.js +0 -19
  589. package/lib/esm/widget/components/ExtractionLogCustomFilter.js.map +0 -1
  590. package/lib/esm/widget/components/ExtractionMessageModal.d.ts +0 -11
  591. package/lib/esm/widget/components/ExtractionMessageModal.js +0 -64
  592. package/lib/esm/widget/components/ExtractionMessageModal.js.map +0 -1
  593. package/lib/esm/widget/components/ExtractionStatusIcon.js.map +0 -1
  594. package/lib/esm/widget/components/GroupAction.js +0 -129
  595. package/lib/esm/widget/components/GroupAction.js.map +0 -1
  596. package/lib/esm/widget/components/GroupColorLegend.js.map +0 -1
  597. package/lib/esm/widget/components/GroupColorToggle.js +0 -46
  598. package/lib/esm/widget/components/GroupColorToggle.js.map +0 -1
  599. package/lib/esm/widget/components/GroupDetails.js +0 -27
  600. package/lib/esm/widget/components/GroupDetails.js.map +0 -1
  601. package/lib/esm/widget/components/GroupDetailsActionPanel.js.map +0 -1
  602. package/lib/esm/widget/components/GroupDetailsStep.js.map +0 -1
  603. package/lib/esm/widget/components/GroupInformationPanel.js.map +0 -1
  604. package/lib/esm/widget/components/GroupItem.d.ts +0 -12
  605. package/lib/esm/widget/components/GroupItem.js +0 -12
  606. package/lib/esm/widget/components/GroupItem.js.map +0 -1
  607. package/lib/esm/widget/components/GroupMenuActions.d.ts +0 -13
  608. package/lib/esm/widget/components/GroupMenuActions.js +0 -45
  609. package/lib/esm/widget/components/GroupMenuActions.js.map +0 -1
  610. package/lib/esm/widget/components/GroupPropertyAction.js +0 -261
  611. package/lib/esm/widget/components/GroupPropertyAction.js.map +0 -1
  612. package/lib/esm/widget/components/GroupPropertyTable.js +0 -58
  613. package/lib/esm/widget/components/GroupPropertyTable.js.map +0 -1
  614. package/lib/esm/widget/components/GroupPropertyUtils.js.map +0 -1
  615. package/lib/esm/widget/components/GroupingMapping.d.ts +0 -34
  616. package/lib/esm/widget/components/GroupingMapping.js +0 -57
  617. package/lib/esm/widget/components/GroupingMapping.js.map +0 -1
  618. package/lib/esm/widget/components/GroupingMappingContent.js +0 -28
  619. package/lib/esm/widget/components/GroupingMappingContent.js.map +0 -1
  620. package/lib/esm/widget/components/GroupingMappingContext.d.ts +0 -40
  621. package/lib/esm/widget/components/GroupingMappingContext.js +0 -86
  622. package/lib/esm/widget/components/GroupingMappingContext.js.map +0 -1
  623. package/lib/esm/widget/components/GroupingMappingHeader.js +0 -17
  624. package/lib/esm/widget/components/GroupingMappingHeader.js.map +0 -1
  625. package/lib/esm/widget/components/GroupingMappingRouter.d.ts +0 -8
  626. package/lib/esm/widget/components/GroupingMappingRouter.js +0 -100
  627. package/lib/esm/widget/components/GroupingMappingRouter.js.map +0 -1
  628. package/lib/esm/widget/components/Groups.d.ts +0 -16
  629. package/lib/esm/widget/components/Groups.js +0 -23
  630. package/lib/esm/widget/components/Groups.js.map +0 -1
  631. package/lib/esm/widget/components/GroupsAddButton.d.ts +0 -10
  632. package/lib/esm/widget/components/GroupsAddButton.js.map +0 -1
  633. package/lib/esm/widget/components/GroupsShowHideButtons.js +0 -22
  634. package/lib/esm/widget/components/GroupsShowHideButtons.js.map +0 -1
  635. package/lib/esm/widget/components/GroupsView.d.ts +0 -31
  636. package/lib/esm/widget/components/GroupsView.js +0 -30
  637. package/lib/esm/widget/components/GroupsView.js.map +0 -1
  638. package/lib/esm/widget/components/GroupsView.scss +0 -49
  639. package/lib/esm/widget/components/GroupsVisualization.js +0 -118
  640. package/lib/esm/widget/components/GroupsVisualization.js.map +0 -1
  641. package/lib/esm/widget/components/GroupsVisualization.scss +0 -12
  642. package/lib/esm/widget/components/GroupsVisualizationActions.js +0 -20
  643. package/lib/esm/widget/components/GroupsVisualizationActions.js.map +0 -1
  644. package/lib/esm/widget/components/HorizontalTile.d.ts +0 -15
  645. package/lib/esm/widget/components/HorizontalTile.js +0 -17
  646. package/lib/esm/widget/components/HorizontalTile.js.map +0 -1
  647. package/lib/esm/widget/components/HorizontalTile.scss +0 -57
  648. package/lib/esm/widget/components/MappingAction.js +0 -83
  649. package/lib/esm/widget/components/MappingAction.js.map +0 -1
  650. package/lib/esm/widget/components/MappingImportWizardModal.js +0 -99
  651. package/lib/esm/widget/components/MappingImportWizardModal.js.map +0 -1
  652. package/lib/esm/widget/components/MappingViewActionGroup.js.map +0 -1
  653. package/lib/esm/widget/components/Mappings.d.ts +0 -13
  654. package/lib/esm/widget/components/Mappings.js +0 -22
  655. package/lib/esm/widget/components/Mappings.js.map +0 -1
  656. package/lib/esm/widget/components/MappingsView.js +0 -56
  657. package/lib/esm/widget/components/MappingsView.js.map +0 -1
  658. package/lib/esm/widget/components/PropertyAction.js +0 -76
  659. package/lib/esm/widget/components/PropertyAction.js.map +0 -1
  660. package/lib/esm/widget/components/PropertyMenu.js +0 -37
  661. package/lib/esm/widget/components/PropertyMenu.js.map +0 -1
  662. package/lib/esm/widget/components/PropertyMenuWithVisualization.js.map +0 -1
  663. package/lib/esm/widget/components/PropertyNameCell.js.map +0 -1
  664. package/lib/esm/widget/components/PropertyTable.js +0 -27
  665. package/lib/esm/widget/components/PropertyTable.js.map +0 -1
  666. package/lib/esm/widget/components/PropertyTableToolbar.js.map +0 -1
  667. package/lib/esm/widget/components/QueryBuilder.js.map +0 -1
  668. package/lib/esm/widget/components/QueryBuilderActionPanel.js.map +0 -1
  669. package/lib/esm/widget/components/QueryBuilderCustomUI.d.ts +0 -13
  670. package/lib/esm/widget/components/QueryBuilderCustomUI.js +0 -21
  671. package/lib/esm/widget/components/QueryBuilderCustomUI.js.map +0 -1
  672. package/lib/esm/widget/components/QueryBuilderStep.js.map +0 -1
  673. package/lib/esm/widget/components/SaveModal.js.map +0 -1
  674. package/lib/esm/widget/components/SelectIModel.js +0 -81
  675. package/lib/esm/widget/components/SelectIModel.js.map +0 -1
  676. package/lib/esm/widget/components/SelectITwin.js +0 -94
  677. package/lib/esm/widget/components/SelectITwin.js.map +0 -1
  678. package/lib/esm/widget/components/SelectMappings.d.ts +0 -16
  679. package/lib/esm/widget/components/SelectMappings.js +0 -67
  680. package/lib/esm/widget/components/SelectMappings.js.map +0 -1
  681. package/lib/esm/widget/components/SharedCalculatedPropertyForms.js.map +0 -1
  682. package/lib/esm/widget/components/SortableHorizontalTile.d.ts +0 -8
  683. package/lib/esm/widget/components/SortableHorizontalTile.js +0 -31
  684. package/lib/esm/widget/components/SortableHorizontalTile.js.map +0 -1
  685. package/lib/esm/widget/components/StatusIcon.js.map +0 -1
  686. package/lib/esm/widget/components/ToggleGroupVisibility.js.map +0 -1
  687. package/lib/esm/widget/components/WidgetHeader.js.map +0 -1
  688. package/lib/esm/widget/components/context/ExtractionClientContext.js.map +0 -1
  689. package/lib/esm/widget/components/context/GroupHilitedElementsContext.d.ts +0 -22
  690. package/lib/esm/widget/components/context/GroupHilitedElementsContext.js +0 -24
  691. package/lib/esm/widget/components/context/GroupHilitedElementsContext.js.map +0 -1
  692. package/lib/esm/widget/components/context/GroupingApiConfigContext.js.map +0 -1
  693. package/lib/esm/widget/components/context/GroupingMappingCustomUIContext.js.map +0 -1
  694. package/lib/esm/widget/components/context/IModelsClientContext.js.map +0 -1
  695. package/lib/esm/widget/components/context/ITwinsClientContext.js.map +0 -1
  696. package/lib/esm/widget/components/context/MappingClientContext.js.map +0 -1
  697. package/lib/esm/widget/components/context/PropertiesContext.js.map +0 -1
  698. package/lib/esm/widget/components/context/PropertyGridWrapperContext.d.ts +0 -13
  699. package/lib/esm/widget/components/context/PropertyGridWrapperContext.js.map +0 -1
  700. package/lib/esm/widget/components/customUI/DefaultGroupingUI.js.map +0 -1
  701. package/lib/esm/widget/components/customUI/GroupQueryBuilderCustomUI.js +0 -84
  702. package/lib/esm/widget/components/customUI/GroupQueryBuilderCustomUI.js.map +0 -1
  703. package/lib/esm/widget/components/customUI/GroupingMappingCustomUI.js.map +0 -1
  704. package/lib/esm/widget/components/customUI/ManualGroupingCustomUI.js +0 -25
  705. package/lib/esm/widget/components/customUI/ManualGroupingCustomUI.js.map +0 -1
  706. package/lib/esm/widget/components/customUI/SearchGroupingCustomUI.js +0 -91
  707. package/lib/esm/widget/components/customUI/SearchGroupingCustomUI.js.map +0 -1
  708. package/lib/esm/widget/components/groupsHelpers.d.ts +0 -10
  709. package/lib/esm/widget/components/groupsHelpers.js +0 -75
  710. package/lib/esm/widget/components/groupsHelpers.js.map +0 -1
  711. package/lib/esm/widget/components/hooks/useGroupsOperations.d.ts +0 -20
  712. package/lib/esm/widget/components/hooks/useGroupsOperations.js +0 -63
  713. package/lib/esm/widget/components/hooks/useGroupsOperations.js.map +0 -1
  714. package/lib/esm/widget/components/hooks/useMappingsOperations.d.ts +0 -35
  715. package/lib/esm/widget/components/hooks/useMappingsOperations.js +0 -116
  716. package/lib/esm/widget/components/hooks/useMappingsOperations.js.map +0 -1
  717. package/lib/esm/widget/components/utils.d.ts +0 -16
  718. package/lib/esm/widget/components/utils.js +0 -85
  719. package/lib/esm/widget/components/utils.js.map +0 -1
  720. package/lib/esm/widget/components/utils.scss +0 -18
  721. package/lib/esm/widget/components/viewerUtils.d.ts +0 -30
  722. package/lib/esm/widget/components/viewerUtils.js +0 -268
  723. package/lib/esm/widget/components/viewerUtils.js.map +0 -1
  724. package/lib/esm/widget/hooks/useFetchData.js +0 -37
  725. package/lib/esm/widget/hooks/useFetchData.js.map +0 -1
  726. package/lib/esm/widget/hooks/useFormulaValidation.d.ts +0 -6
  727. package/lib/esm/widget/hooks/useFormulaValidation.js +0 -25
  728. package/lib/esm/widget/hooks/useFormulaValidation.js.map +0 -1
  729. package/lib/esm/widget/hooks/useValidator.js.map +0 -1
  730. package/lib/esm/widget/hooks/useVisualization.js +0 -64
  731. package/lib/esm/widget/hooks/useVisualization.js.map +0 -1
  732. package/lib/esm/widget/utils.d.ts +0 -5
  733. package/lib/esm/widget/utils.js +0 -8
  734. package/lib/esm/widget/utils.js.map +0 -1
  735. /package/lib/cjs/{widget/components → WidgetShell}/GroupingMapping.scss +0 -0
  736. /package/lib/cjs/{widget/components → WidgetShell}/GroupingMappingContent.d.ts +0 -0
  737. /package/lib/cjs/{widget/components → WidgetShell}/GroupingMappingHeader.d.ts +0 -0
  738. /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.d.ts +0 -0
  739. /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.js +0 -0
  740. /package/lib/cjs/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.scss +0 -0
  741. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupAction.d.ts +0 -0
  742. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupAction.scss +0 -0
  743. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetails.d.ts +0 -0
  744. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.d.ts +0 -0
  745. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.js +0 -0
  746. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.d.ts +0 -0
  747. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.js +0 -0
  748. /package/lib/cjs/{widget/components → components/Groups/Editing}/GroupDetailsStep.scss +0 -0
  749. /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.d.ts +0 -0
  750. /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.js +0 -0
  751. /package/lib/cjs/{widget/components → components/Groups}/GroupColorLegend.scss +0 -0
  752. /package/lib/cjs/{widget/components → components/Groups}/GroupMenuActions.scss +0 -0
  753. /package/lib/cjs/{widget/components → components/Groups}/GroupsAddButton.js +0 -0
  754. /package/lib/cjs/{widget/components → components/Groups}/GroupsAddButton.scss +0 -0
  755. /package/lib/cjs/{widget/components → components/Groups}/GroupsShowHideButtons.d.ts +0 -0
  756. /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualization.d.ts +0 -0
  757. /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualizationActions.d.ts +0 -0
  758. /package/lib/cjs/{widget/components → components/Groups}/GroupsVisualizationActions.scss +0 -0
  759. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.d.ts +0 -0
  760. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.js +0 -0
  761. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.d.ts +0 -0
  762. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.js +0 -0
  763. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.d.ts +0 -0
  764. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.js +0 -0
  765. /package/lib/cjs/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.scss +0 -0
  766. /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.d.ts +0 -0
  767. /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.js +0 -0
  768. /package/lib/cjs/{widget/components → components/Groups}/ToggleGroupVisibility.scss +0 -0
  769. /package/lib/cjs/{widget → components/Groups}/hooks/useVisualization.d.ts +0 -0
  770. /package/lib/cjs/{widget/components → components/Mappings}/BlockingOverlay.d.ts +0 -0
  771. /package/lib/cjs/{widget/components → components/Mappings}/BlockingOverlay.scss +0 -0
  772. /package/lib/cjs/{widget/components → components/Mappings}/ConfirmMappingsImport.d.ts +0 -0
  773. /package/lib/cjs/{widget/components → components/Mappings}/ConfirmMappingsImport.scss +0 -0
  774. /package/lib/cjs/{widget/components → components/Mappings/Editing}/MappingAction.d.ts +0 -0
  775. /package/lib/cjs/{widget/components → components/Mappings/Editing}/MappingAction.scss +0 -0
  776. /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionLogCustomFilter.d.ts +0 -0
  777. /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionMessageModal.scss +0 -0
  778. /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.d.ts +0 -0
  779. /package/lib/cjs/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.js +0 -0
  780. /package/lib/cjs/{widget/components → components/Mappings/Import}/MappingImportWizardModal.d.ts +0 -0
  781. /package/lib/cjs/{widget/components → components/Mappings/Import}/MappingImportWizardModal.scss +0 -0
  782. /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectIModel.d.ts +0 -0
  783. /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectIModel.scss +0 -0
  784. /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectITwin.d.ts +0 -0
  785. /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectITwin.scss +0 -0
  786. /package/lib/cjs/{widget/components → components/Mappings/Import}/SelectMapping.scss +0 -0
  787. /package/lib/cjs/{widget/components → components/Mappings}/MappingViewActionGroup.d.ts +0 -0
  788. /package/lib/cjs/{widget/components → components/Mappings}/MappingViewActionGroup.js +0 -0
  789. /package/lib/cjs/{widget/components → components/Mappings}/MappingsView.d.ts +0 -0
  790. /package/lib/cjs/{widget/components → components/Mappings}/MappingsView.scss +0 -0
  791. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.d.ts +0 -0
  792. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.scss +0 -0
  793. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.d.ts +0 -0
  794. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.scss +0 -0
  795. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.d.ts +0 -0
  796. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.scss +0 -0
  797. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.d.ts +0 -0
  798. /package/lib/cjs/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.js +0 -0
  799. /package/lib/cjs/{widget/components → components/Properties/CustomCalculations}/CustomCalculationAction.scss +0 -0
  800. /package/lib/cjs/{widget/components → components/Properties/CustomCalculations}/CustomCalculationTable.d.ts +0 -0
  801. /package/lib/cjs/{widget/components → components/Properties}/GroupColorToggle.d.ts +0 -0
  802. /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.d.ts +0 -0
  803. /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.js +0 -0
  804. /package/lib/cjs/{widget/components → components/Properties}/GroupInformationPanel.scss +0 -0
  805. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.d.ts +0 -0
  806. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.scss +0 -0
  807. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyTable.d.ts +0 -0
  808. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.d.ts +0 -0
  809. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.js +0 -0
  810. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/SaveModal.d.ts +0 -0
  811. /package/lib/cjs/{widget/components → components/Properties/GroupProperties}/SaveModal.js +0 -0
  812. /package/lib/cjs/{widget/components → components/Properties}/PropertyAction.d.ts +0 -0
  813. /package/lib/cjs/{widget/components → components/Properties}/PropertyAction.scss +0 -0
  814. /package/lib/cjs/{widget/components → components/Properties}/PropertyMenu.d.ts +0 -0
  815. /package/lib/cjs/{widget/components → components/Properties}/PropertyMenu.scss +0 -0
  816. /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.d.ts +0 -0
  817. /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.js +0 -0
  818. /package/lib/cjs/{widget/components → components/Properties}/PropertyMenuWithVisualization.scss +0 -0
  819. /package/lib/cjs/{widget/components → components/Properties}/PropertyNameCell.d.ts +0 -0
  820. /package/lib/cjs/{widget/components → components/Properties}/PropertyNameCell.js +0 -0
  821. /package/lib/cjs/{widget/components → components/Properties}/PropertyTable.d.ts +0 -0
  822. /package/lib/cjs/{widget/components → components/Properties}/PropertyTable.scss +0 -0
  823. /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.d.ts +0 -0
  824. /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.js +0 -0
  825. /package/lib/cjs/{widget/components → components/Properties}/PropertyTableToolbar.scss +0 -0
  826. /package/lib/cjs/{widget → components/Properties}/hooks/useFetchData.d.ts +0 -0
  827. /package/lib/cjs/{widget → components/Properties}/hooks/useValidator.d.ts +0 -0
  828. /package/lib/cjs/{widget → components/Properties}/hooks/useValidator.js +0 -0
  829. /package/lib/cjs/{widget/components → components/SharedComponents}/ActionPanel.d.ts +0 -0
  830. /package/lib/cjs/{widget/components → components/SharedComponents}/ActionPanel.scss +0 -0
  831. /package/lib/cjs/{widget/components → components/SharedComponents}/DeleteModal.d.ts +0 -0
  832. /package/lib/cjs/{widget/components → components/SharedComponents}/DeleteModal.scss +0 -0
  833. /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.d.ts +0 -0
  834. /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.js +0 -0
  835. /package/lib/cjs/{widget/components → components/SharedComponents}/StatusIcon.scss +0 -0
  836. /package/lib/cjs/{widget/components → components}/context/ExtractionClientContext.d.ts +0 -0
  837. /package/lib/cjs/{widget/components → components}/context/ExtractionClientContext.js +0 -0
  838. /package/lib/cjs/{widget/components → components}/context/GroupingApiConfigContext.d.ts +0 -0
  839. /package/lib/cjs/{widget/components → components}/context/GroupingApiConfigContext.js +0 -0
  840. /package/lib/cjs/{widget/components → components}/context/GroupingMappingCustomUIContext.d.ts +0 -0
  841. /package/lib/cjs/{widget/components → components}/context/GroupingMappingCustomUIContext.js +0 -0
  842. /package/lib/cjs/{widget/components → components}/context/IModelsClientContext.d.ts +0 -0
  843. /package/lib/cjs/{widget/components → components}/context/IModelsClientContext.js +0 -0
  844. /package/lib/cjs/{widget/components → components}/context/ITwinsClientContext.d.ts +0 -0
  845. /package/lib/cjs/{widget/components → components}/context/ITwinsClientContext.js +0 -0
  846. /package/lib/cjs/{widget/components → components}/context/MappingClientContext.d.ts +0 -0
  847. /package/lib/cjs/{widget/components → components}/context/MappingClientContext.js +0 -0
  848. /package/lib/cjs/{widget/components → components}/context/PropertiesContext.d.ts +0 -0
  849. /package/lib/cjs/{widget/components → components}/context/PropertiesContext.js +0 -0
  850. /package/lib/cjs/{widget/components → components}/context/PropertyGridWrapperContext.js +0 -0
  851. /package/lib/cjs/{widget/components → components}/customUI/DefaultGroupingUI.d.ts +0 -0
  852. /package/lib/cjs/{widget/components → components}/customUI/DefaultGroupingUI.js +0 -0
  853. /package/lib/cjs/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.d.ts +0 -0
  854. /package/lib/cjs/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.scss +0 -0
  855. /package/lib/cjs/{widget/components → components}/customUI/GroupingMappingCustomUI.d.ts +0 -0
  856. /package/lib/cjs/{widget/components → components}/customUI/GroupingMappingCustomUI.js +0 -0
  857. /package/lib/cjs/{widget/components → components}/customUI/ManualGroupingCustomUI.d.ts +0 -0
  858. /package/lib/cjs/{widget/components → components}/customUI/ManualGroupingCustomUI.scss +0 -0
  859. /package/lib/cjs/{widget/components → components}/customUI/SearchGroupingCustomUI.d.ts +0 -0
  860. /package/lib/cjs/{widget/components → components}/customUI/SearchGroupingCustomUI.scss +0 -0
  861. /package/lib/esm/{widget/components → WidgetShell}/GroupingMapping.scss +0 -0
  862. /package/lib/esm/{widget/components → WidgetShell}/GroupingMappingContent.d.ts +0 -0
  863. /package/lib/esm/{widget/components → WidgetShell}/GroupingMappingHeader.d.ts +0 -0
  864. /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.d.ts +0 -0
  865. /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.js +0 -0
  866. /package/lib/esm/{widget/components → WidgetShell/WidgetHeader}/WidgetHeader.scss +0 -0
  867. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupAction.d.ts +0 -0
  868. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupAction.scss +0 -0
  869. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetails.d.ts +0 -0
  870. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.d.ts +0 -0
  871. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsActionPanel.js +0 -0
  872. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.d.ts +0 -0
  873. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.js +0 -0
  874. /package/lib/esm/{widget/components → components/Groups/Editing}/GroupDetailsStep.scss +0 -0
  875. /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.d.ts +0 -0
  876. /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.js +0 -0
  877. /package/lib/esm/{widget/components → components/Groups}/GroupColorLegend.scss +0 -0
  878. /package/lib/esm/{widget/components → components/Groups}/GroupMenuActions.scss +0 -0
  879. /package/lib/esm/{widget/components → components/Groups}/GroupsAddButton.js +0 -0
  880. /package/lib/esm/{widget/components → components/Groups}/GroupsAddButton.scss +0 -0
  881. /package/lib/esm/{widget/components → components/Groups}/GroupsShowHideButtons.d.ts +0 -0
  882. /package/lib/esm/{widget/components → components/Groups}/GroupsVisualization.d.ts +0 -0
  883. /package/lib/esm/{widget/components → components/Groups}/GroupsVisualizationActions.d.ts +0 -0
  884. /package/lib/esm/{widget/components → components/Groups}/GroupsVisualizationActions.scss +0 -0
  885. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.d.ts +0 -0
  886. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilder.js +0 -0
  887. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.d.ts +0 -0
  888. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderActionPanel.js +0 -0
  889. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.d.ts +0 -0
  890. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.js +0 -0
  891. /package/lib/esm/{widget/components → components/Groups/QueryBuilder}/QueryBuilderStep.scss +0 -0
  892. /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.d.ts +0 -0
  893. /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.js +0 -0
  894. /package/lib/esm/{widget/components → components/Groups}/ToggleGroupVisibility.scss +0 -0
  895. /package/lib/esm/{widget → components/Groups}/hooks/useVisualization.d.ts +0 -0
  896. /package/lib/esm/{widget/components → components/Mappings}/BlockingOverlay.d.ts +0 -0
  897. /package/lib/esm/{widget/components → components/Mappings}/BlockingOverlay.scss +0 -0
  898. /package/lib/esm/{widget/components → components/Mappings}/ConfirmMappingsImport.d.ts +0 -0
  899. /package/lib/esm/{widget/components → components/Mappings}/ConfirmMappingsImport.scss +0 -0
  900. /package/lib/esm/{widget/components → components/Mappings/Editing}/MappingAction.d.ts +0 -0
  901. /package/lib/esm/{widget/components → components/Mappings/Editing}/MappingAction.scss +0 -0
  902. /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionLogCustomFilter.d.ts +0 -0
  903. /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionMessageModal.scss +0 -0
  904. /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.d.ts +0 -0
  905. /package/lib/esm/{widget/components → components/Mappings/Extraction}/ExtractionStatusIcon.js +0 -0
  906. /package/lib/esm/{widget/components → components/Mappings/Import}/MappingImportWizardModal.d.ts +0 -0
  907. /package/lib/esm/{widget/components → components/Mappings/Import}/MappingImportWizardModal.scss +0 -0
  908. /package/lib/esm/{widget/components → components/Mappings/Import}/SelectIModel.d.ts +0 -0
  909. /package/lib/esm/{widget/components → components/Mappings/Import}/SelectIModel.scss +0 -0
  910. /package/lib/esm/{widget/components → components/Mappings/Import}/SelectITwin.d.ts +0 -0
  911. /package/lib/esm/{widget/components → components/Mappings/Import}/SelectITwin.scss +0 -0
  912. /package/lib/esm/{widget/components → components/Mappings/Import}/SelectMapping.scss +0 -0
  913. /package/lib/esm/{widget/components → components/Mappings}/MappingViewActionGroup.d.ts +0 -0
  914. /package/lib/esm/{widget/components → components/Mappings}/MappingViewActionGroup.js +0 -0
  915. /package/lib/esm/{widget/components → components/Mappings}/MappingsView.d.ts +0 -0
  916. /package/lib/esm/{widget/components → components/Mappings}/MappingsView.scss +0 -0
  917. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.d.ts +0 -0
  918. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyAction.scss +0 -0
  919. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.d.ts +0 -0
  920. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyActionWithVisuals.scss +0 -0
  921. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.d.ts +0 -0
  922. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/CalculatedPropertyTable.scss +0 -0
  923. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.d.ts +0 -0
  924. /package/lib/esm/{widget/components → components/Properties/CalculatedProperties}/SharedCalculatedPropertyForms.js +0 -0
  925. /package/lib/esm/{widget/components → components/Properties/CustomCalculations}/CustomCalculationAction.scss +0 -0
  926. /package/lib/esm/{widget/components → components/Properties/CustomCalculations}/CustomCalculationTable.d.ts +0 -0
  927. /package/lib/esm/{widget/components → components/Properties}/GroupColorToggle.d.ts +0 -0
  928. /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.d.ts +0 -0
  929. /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.js +0 -0
  930. /package/lib/esm/{widget/components → components/Properties}/GroupInformationPanel.scss +0 -0
  931. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.d.ts +0 -0
  932. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyAction.scss +0 -0
  933. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyTable.d.ts +0 -0
  934. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.d.ts +0 -0
  935. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/GroupPropertyUtils.js +0 -0
  936. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/SaveModal.d.ts +0 -0
  937. /package/lib/esm/{widget/components → components/Properties/GroupProperties}/SaveModal.js +0 -0
  938. /package/lib/esm/{widget/components → components/Properties}/PropertyAction.d.ts +0 -0
  939. /package/lib/esm/{widget/components → components/Properties}/PropertyAction.scss +0 -0
  940. /package/lib/esm/{widget/components → components/Properties}/PropertyMenu.d.ts +0 -0
  941. /package/lib/esm/{widget/components → components/Properties}/PropertyMenu.scss +0 -0
  942. /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.d.ts +0 -0
  943. /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.js +0 -0
  944. /package/lib/esm/{widget/components → components/Properties}/PropertyMenuWithVisualization.scss +0 -0
  945. /package/lib/esm/{widget/components → components/Properties}/PropertyNameCell.d.ts +0 -0
  946. /package/lib/esm/{widget/components → components/Properties}/PropertyNameCell.js +0 -0
  947. /package/lib/esm/{widget/components → components/Properties}/PropertyTable.d.ts +0 -0
  948. /package/lib/esm/{widget/components → components/Properties}/PropertyTable.scss +0 -0
  949. /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.d.ts +0 -0
  950. /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.js +0 -0
  951. /package/lib/esm/{widget/components → components/Properties}/PropertyTableToolbar.scss +0 -0
  952. /package/lib/esm/{widget → components/Properties}/hooks/useFetchData.d.ts +0 -0
  953. /package/lib/esm/{widget → components/Properties}/hooks/useValidator.d.ts +0 -0
  954. /package/lib/esm/{widget → components/Properties}/hooks/useValidator.js +0 -0
  955. /package/lib/esm/{widget/components → components/SharedComponents}/ActionPanel.d.ts +0 -0
  956. /package/lib/esm/{widget/components → components/SharedComponents}/ActionPanel.scss +0 -0
  957. /package/lib/esm/{widget/components → components/SharedComponents}/DeleteModal.d.ts +0 -0
  958. /package/lib/esm/{widget/components → components/SharedComponents}/DeleteModal.scss +0 -0
  959. /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.d.ts +0 -0
  960. /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.js +0 -0
  961. /package/lib/esm/{widget/components → components/SharedComponents}/StatusIcon.scss +0 -0
  962. /package/lib/esm/{widget/components → components}/context/ExtractionClientContext.d.ts +0 -0
  963. /package/lib/esm/{widget/components → components}/context/ExtractionClientContext.js +0 -0
  964. /package/lib/esm/{widget/components → components}/context/GroupingApiConfigContext.d.ts +0 -0
  965. /package/lib/esm/{widget/components → components}/context/GroupingApiConfigContext.js +0 -0
  966. /package/lib/esm/{widget/components → components}/context/GroupingMappingCustomUIContext.d.ts +0 -0
  967. /package/lib/esm/{widget/components → components}/context/GroupingMappingCustomUIContext.js +0 -0
  968. /package/lib/esm/{widget/components → components}/context/IModelsClientContext.d.ts +0 -0
  969. /package/lib/esm/{widget/components → components}/context/IModelsClientContext.js +0 -0
  970. /package/lib/esm/{widget/components → components}/context/ITwinsClientContext.d.ts +0 -0
  971. /package/lib/esm/{widget/components → components}/context/ITwinsClientContext.js +0 -0
  972. /package/lib/esm/{widget/components → components}/context/MappingClientContext.d.ts +0 -0
  973. /package/lib/esm/{widget/components → components}/context/MappingClientContext.js +0 -0
  974. /package/lib/esm/{widget/components → components}/context/PropertiesContext.d.ts +0 -0
  975. /package/lib/esm/{widget/components → components}/context/PropertiesContext.js +0 -0
  976. /package/lib/esm/{widget/components → components}/context/PropertyGridWrapperContext.js +0 -0
  977. /package/lib/esm/{widget/components → components}/customUI/DefaultGroupingUI.d.ts +0 -0
  978. /package/lib/esm/{widget/components → components}/customUI/DefaultGroupingUI.js +0 -0
  979. /package/lib/esm/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.d.ts +0 -0
  980. /package/lib/esm/{widget/components → components}/customUI/GroupQueryBuilderCustomUI.scss +0 -0
  981. /package/lib/esm/{widget/components → components}/customUI/GroupingMappingCustomUI.d.ts +0 -0
  982. /package/lib/esm/{widget/components → components}/customUI/GroupingMappingCustomUI.js +0 -0
  983. /package/lib/esm/{widget/components → components}/customUI/ManualGroupingCustomUI.d.ts +0 -0
  984. /package/lib/esm/{widget/components → components}/customUI/ManualGroupingCustomUI.scss +0 -0
  985. /package/lib/esm/{widget/components → components}/customUI/SearchGroupingCustomUI.d.ts +0 -0
  986. /package/lib/esm/{widget/components → components}/customUI/SearchGroupingCustomUI.scss +0 -0
@@ -0,0 +1,130 @@
1
+ import { Button, toaster, } from "@itwin/itwinui-react";
2
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
3
+ import { LoadingSpinner } from "../../SharedComponents/LoadingSpinner";
4
+ import { handleError } from "../../../common/utils";
5
+ import "./GroupAction.scss";
6
+ import useValidator from "../../Properties/hooks/useValidator";
7
+ import { useGroupingMappingApiConfig } from "../../context/GroupingApiConfigContext";
8
+ import { useMappingClient } from "../../context/MappingClientContext";
9
+ import { useGroupingMappingCustomUI } from "../../context/GroupingMappingCustomUIContext";
10
+ import { GroupingMappingCustomUIType } from "../../customUI/GroupingMappingCustomUI";
11
+ import { QueryBuilderStep } from "../QueryBuilder/QueryBuilderStep";
12
+ import { GroupDetailsStep } from "./GroupDetailsStep";
13
+ import { QueryBuilderActionPanel } from "../QueryBuilder/QueryBuilderActionPanel";
14
+ import { GroupDetailsActionPanel } from "./GroupDetailsActionPanel";
15
+ import { useVisualization } from "../hooks/useVisualization";
16
+ const defaultDisplayStrings = {
17
+ groupDetails: "Group Details",
18
+ groupBy: "Group By",
19
+ };
20
+ var GroupActionStep;
21
+ (function (GroupActionStep) {
22
+ GroupActionStep[GroupActionStep["QueryBuilder"] = 0] = "QueryBuilder";
23
+ GroupActionStep[GroupActionStep["GroupDetails"] = 1] = "GroupDetails";
24
+ })(GroupActionStep || (GroupActionStep = {}));
25
+ export const GroupAction = (props) => {
26
+ const { getAccessToken, iModelId, iModelConnection } = useGroupingMappingApiConfig();
27
+ if (!iModelConnection) {
28
+ throw new Error("This component requires an active iModelConnection.");
29
+ }
30
+ const mappingClient = useMappingClient();
31
+ const groupUIs = useGroupingMappingCustomUI().customUIs
32
+ .filter((p) => p.type === GroupingMappingCustomUIType.Grouping);
33
+ const [details, setDetails] = useState({
34
+ groupName: props.group?.groupName ?? "",
35
+ description: props.group?.description ?? "",
36
+ });
37
+ const [query, setQuery] = useState("");
38
+ const [queryRowCount, setQueryRowCount] = useState(0);
39
+ const [validator, setShowValidationMessage] = useValidator();
40
+ const [isLoading, setIsLoading] = useState(false);
41
+ const [queryGenerationType, setQueryGenerationType] = useState(props.queryGenerationType);
42
+ const { isRendering, setIsRendering, simpleSelectionQuery, setSimpleSelectionQuery, clearPresentationSelection, resetView, } = useVisualization(props.shouldVisualize, iModelConnection, query, queryGenerationType);
43
+ const isUpdating = isLoading || isRendering;
44
+ const [currentStep, setCurrentStep] = React.useState(GroupActionStep.QueryBuilder);
45
+ const displayStrings = React.useMemo(() => ({ ...defaultDisplayStrings, ...props.displayStrings }), [props.displayStrings]);
46
+ useEffect(() => setQueryGenerationType(props.queryGenerationType), [props.queryGenerationType]);
47
+ useEffect(() => {
48
+ const fetchQueryRowCount = async () => {
49
+ try {
50
+ if (!query || query === "") {
51
+ setQueryRowCount(0);
52
+ return;
53
+ }
54
+ setIsLoading(true);
55
+ const result = await iModelConnection.queryRowCount(query);
56
+ setQueryRowCount(result);
57
+ }
58
+ catch {
59
+ toaster.negative("Query failed to resolve.");
60
+ }
61
+ finally {
62
+ setIsLoading(false);
63
+ }
64
+ };
65
+ void fetchQueryRowCount();
66
+ }, [iModelConnection, query, setIsRendering]);
67
+ const isBlockingActions = !(details.groupName &&
68
+ (query || simpleSelectionQuery) &&
69
+ !isRendering &&
70
+ !isLoading);
71
+ const getOptions = useMemo(() => groupUIs.map((ui) => ({
72
+ label: ui.displayLabel,
73
+ value: ui.name,
74
+ icon: ui.icon,
75
+ })), [groupUIs]);
76
+ const onChange = useCallback(async (value) => {
77
+ setQueryGenerationType(value);
78
+ clearPresentationSelection();
79
+ setQuery("");
80
+ setSimpleSelectionQuery("");
81
+ await resetView();
82
+ }, [clearPresentationSelection, resetView, setSimpleSelectionQuery]);
83
+ const save = useCallback(async () => {
84
+ if (!validator.allValid()) {
85
+ setShowValidationMessage(true);
86
+ return;
87
+ }
88
+ try {
89
+ setIsLoading(true);
90
+ const currentQuery = query || simpleSelectionQuery;
91
+ const accessToken = await getAccessToken();
92
+ props.group
93
+ ? await mappingClient.updateGroup(accessToken, iModelId, props.mappingId, props.group.id ?? "", { ...details, query: currentQuery })
94
+ : await mappingClient.createGroup(accessToken, iModelId, props.mappingId, {
95
+ ...details,
96
+ query: currentQuery,
97
+ });
98
+ clearPresentationSelection();
99
+ setDetails({
100
+ groupName: props.group?.groupName ?? "",
101
+ description: props.group?.description ?? "",
102
+ });
103
+ setCurrentStep(GroupActionStep.QueryBuilder);
104
+ setShowValidationMessage(false);
105
+ props.onSaveSuccess();
106
+ }
107
+ catch (error) {
108
+ handleError(error.status);
109
+ }
110
+ finally {
111
+ setIsLoading(false);
112
+ }
113
+ }, [validator, setShowValidationMessage, query, simpleSelectionQuery, getAccessToken, props, mappingClient, iModelId, details, clearPresentationSelection]);
114
+ const isQueryBuilderStep = currentStep === GroupActionStep.QueryBuilder;
115
+ const isGroupDetailsStep = currentStep === GroupActionStep.GroupDetails;
116
+ return (React.createElement(React.Fragment, null,
117
+ React.createElement("div", { className: "gmw-group-add-modify-container" },
118
+ React.createElement(QueryBuilderStep, { queryRowCount: queryRowCount, isHidden: !isQueryBuilderStep, queryGenerationType: queryGenerationType, groupUIs: groupUIs, isUpdating: isUpdating, resetView: resetView, setQuery: setQuery, onChange: onChange, getOptions: getOptions, displayStrings: { ...displayStrings }, group: props.group }),
119
+ isGroupDetailsStep && React.createElement(GroupDetailsStep, { details: details, setDetails: setDetails, validator: validator, displayStrings: { ...displayStrings } })),
120
+ React.createElement("div", { className: 'gmw-action-panel' },
121
+ isLoading &&
122
+ React.createElement(LoadingSpinner, null),
123
+ isQueryBuilderStep && (React.createElement(QueryBuilderActionPanel, { onClickNext: () => setCurrentStep(GroupActionStep.GroupDetails) })),
124
+ isGroupDetailsStep && (React.createElement(GroupDetailsActionPanel, { isSaveDisabled: isBlockingActions, onClickSave: save, onClickBack: () => setCurrentStep(GroupActionStep.QueryBuilder) })),
125
+ props.onClickCancel && React.createElement(Button, { type: 'button', id: 'cancel', onClick: () => {
126
+ clearPresentationSelection();
127
+ props.onClickCancel && props.onClickCancel();
128
+ } }, "Cancel"))));
129
+ };
130
+ //# sourceMappingURL=GroupAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupAction.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupAction.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type {\n SelectOption,\n} from \"@itwin/itwinui-react\";\nimport {\n Button,\n toaster,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { LoadingSpinner } from \"../../SharedComponents/LoadingSpinner\";\nimport { handleError } from \"../../../common/utils\";\nimport \"./GroupAction.scss\";\nimport useValidator from \"../../Properties/hooks/useValidator\";\nimport { useGroupingMappingApiConfig } from \"../../context/GroupingApiConfigContext\";\nimport { useMappingClient } from \"../../context/MappingClientContext\";\nimport { useGroupingMappingCustomUI } from \"../../context/GroupingMappingCustomUIContext\";\nimport type { GroupingCustomUI } from \"../../customUI/GroupingMappingCustomUI\";\nimport { GroupingMappingCustomUIType } from \"../../customUI/GroupingMappingCustomUI\";\nimport type { Group } from \"@itwin/insights-client\";\nimport { QueryBuilderStep } from \"../QueryBuilder/QueryBuilderStep\";\nimport { GroupDetailsStep } from \"./GroupDetailsStep\";\nimport { QueryBuilderActionPanel } from \"../QueryBuilder/QueryBuilderActionPanel\";\nimport { GroupDetailsActionPanel } from \"./GroupDetailsActionPanel\";\nimport { useVisualization } from \"../hooks/useVisualization\";\n\nconst defaultDisplayStrings = {\n groupDetails: \"Group Details\",\n groupBy: \"Group By\",\n};\n\nenum GroupActionStep {\n QueryBuilder,\n GroupDetails,\n}\n\nexport interface GroupActionProps {\n mappingId: string;\n shouldVisualize: boolean;\n group?: Group;\n queryGenerationType: string;\n onSaveSuccess: () => void;\n onClickCancel?: () => void;\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nexport const GroupAction = (props: GroupActionProps) => {\n const { getAccessToken, iModelId, iModelConnection } = useGroupingMappingApiConfig();\n if (!iModelConnection) {\n throw new Error(\"This component requires an active iModelConnection.\");\n }\n const mappingClient = useMappingClient();\n const groupUIs: GroupingCustomUI[] = useGroupingMappingCustomUI().customUIs\n .filter((p) => p.type === GroupingMappingCustomUIType.Grouping) as GroupingCustomUI[];\n const [details, setDetails] = useState({\n groupName: props.group?.groupName ?? \"\",\n description: props.group?.description ?? \"\",\n });\n const [query, setQuery] = useState<string>(\"\");\n const [queryRowCount, setQueryRowCount] = useState<number>(0);\n\n const [validator, setShowValidationMessage] = useValidator();\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const [queryGenerationType, setQueryGenerationType] = useState(\n props.queryGenerationType,\n );\n const {\n isRendering,\n setIsRendering,\n simpleSelectionQuery,\n setSimpleSelectionQuery,\n clearPresentationSelection,\n resetView,\n } = useVisualization(\n props.shouldVisualize,\n iModelConnection,\n query,\n queryGenerationType\n );\n const isUpdating = isLoading || isRendering;\n const [currentStep, setCurrentStep] = React.useState(GroupActionStep.QueryBuilder);\n\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...props.displayStrings }),\n [props.displayStrings]\n );\n\n useEffect(() => setQueryGenerationType(props.queryGenerationType), [props.queryGenerationType]);\n\n useEffect(() => {\n const fetchQueryRowCount = async () => {\n try {\n if (!query || query === \"\") {\n setQueryRowCount(0);\n return;\n }\n setIsLoading(true);\n const result = await iModelConnection.queryRowCount(query);\n setQueryRowCount(result);\n } catch {\n toaster.negative(\"Query failed to resolve.\");\n } finally {\n setIsLoading(false);\n }\n };\n\n void fetchQueryRowCount();\n }, [iModelConnection, query, setIsRendering]);\n\n const isBlockingActions = !(\n details.groupName &&\n (query || simpleSelectionQuery) &&\n !isRendering &&\n !isLoading\n );\n\n const getOptions = useMemo(\n (): SelectOption<string>[] =>\n groupUIs.map((ui) => ({\n label: ui.displayLabel,\n value: ui.name,\n icon: ui.icon,\n })),\n [groupUIs]\n );\n\n const onChange = useCallback(\n async (value: string) => {\n setQueryGenerationType(value);\n clearPresentationSelection();\n setQuery(\"\");\n setSimpleSelectionQuery(\"\");\n await resetView();\n },\n [clearPresentationSelection, resetView, setSimpleSelectionQuery]\n );\n\n const save = useCallback(async () => {\n if (!validator.allValid()) {\n setShowValidationMessage(true);\n return;\n }\n try {\n setIsLoading(true);\n const currentQuery = query || simpleSelectionQuery;\n\n const accessToken = await getAccessToken();\n\n props.group\n ? await mappingClient.updateGroup(\n accessToken,\n iModelId,\n props.mappingId,\n props.group.id ?? \"\",\n { ...details, query: currentQuery },\n )\n : await mappingClient.createGroup(\n accessToken,\n iModelId,\n props.mappingId,\n {\n ...details,\n query: currentQuery,\n },\n );\n clearPresentationSelection();\n setDetails({\n groupName: props.group?.groupName ?? \"\",\n description: props.group?.description ?? \"\",\n });\n setCurrentStep(GroupActionStep.QueryBuilder);\n setShowValidationMessage(false);\n props.onSaveSuccess();\n } catch (error: any) {\n handleError(error.status);\n } finally {\n setIsLoading(false);\n }\n }, [validator, setShowValidationMessage, query, simpleSelectionQuery, getAccessToken, props, mappingClient, iModelId, details, clearPresentationSelection]);\n\n const isQueryBuilderStep = currentStep === GroupActionStep.QueryBuilder;\n const isGroupDetailsStep = currentStep === GroupActionStep.GroupDetails;\n return (\n <>\n <div className=\"gmw-group-add-modify-container\">\n <QueryBuilderStep\n queryRowCount={queryRowCount}\n isHidden={!isQueryBuilderStep}\n queryGenerationType={queryGenerationType}\n groupUIs={groupUIs}\n isUpdating={isUpdating}\n resetView={resetView}\n setQuery={setQuery}\n onChange={onChange}\n getOptions={getOptions}\n displayStrings={{ ...displayStrings }}\n group={props.group}\n />\n {isGroupDetailsStep && <GroupDetailsStep\n details={details}\n setDetails={setDetails}\n validator={validator}\n displayStrings={{ ...displayStrings }}\n />}\n </div>\n <div className='gmw-action-panel'>\n {isLoading &&\n <LoadingSpinner />\n }\n {isQueryBuilderStep && (\n <QueryBuilderActionPanel onClickNext={() => setCurrentStep(GroupActionStep.GroupDetails)} />\n )}\n {isGroupDetailsStep && (\n <GroupDetailsActionPanel\n isSaveDisabled={isBlockingActions}\n onClickSave={save}\n onClickBack={() => setCurrentStep(GroupActionStep.QueryBuilder)}\n />\n )}\n {props.onClickCancel && <Button\n type='button'\n id='cancel'\n onClick={() => {\n clearPresentationSelection();\n props.onClickCancel && props.onClickCancel();\n }}\n >\n Cancel\n </Button>}\n </div>\n </>\n );\n};\n"]}
@@ -0,0 +1,27 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { LabeledInput, Text } from "@itwin/itwinui-react";
6
+ import React from "react";
7
+ import { handleInputChange } from "../../../common/utils";
8
+ import { NAME_REQUIREMENTS } from "../../Properties/hooks/useValidator";
9
+ export const GroupDetails = ({ details, setDetails, validator, }) => {
10
+ return (React.createElement(React.Fragment, null,
11
+ React.createElement(Text, { variant: "small", as: "small", className: "gmw-field-legend" }, "Asterisk * indicates mandatory fields."),
12
+ React.createElement(LabeledInput, { id: "groupName", name: "groupName", label: "Name", value: details.groupName, required: true, onChange: (event) => {
13
+ handleInputChange(event, details, setDetails);
14
+ validator.showMessageFor("groupName");
15
+ }, message: validator.message("groupName", details.groupName, NAME_REQUIREMENTS), status: validator.message("groupName", details.groupName, NAME_REQUIREMENTS)
16
+ ? "negative"
17
+ : undefined, onBlur: () => {
18
+ validator.showMessageFor("groupName");
19
+ }, onBlurCapture: (event) => {
20
+ handleInputChange(event, details, setDetails);
21
+ validator.showMessageFor("groupName");
22
+ } }),
23
+ React.createElement(LabeledInput, { id: "description", name: "description", label: "Description", value: details.description, onChange: (event) => {
24
+ handleInputChange(event, details, setDetails);
25
+ } })));
26
+ };
27
+ //# sourceMappingURL=GroupDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetails.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetails.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAaxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,SAAS,GACS,EAAE,EAAE;IACtB,OAAO,CACL;QACE,oBAAC,IAAI,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,kBAAkB,6CAEtD;QACP,oBAAC,YAAY,IACX,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,QAAQ,QACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC9C,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,EACD,OAAO,EAAE,SAAS,CAAC,OAAO,CACxB,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,iBAAiB,CAClB,EACD,MAAM,EACJ,SAAS,CAAC,OAAO,CACf,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,iBAAiB,CAClB;gBACC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,SAAS,EAEf,MAAM,EAAE,GAAG,EAAE;gBACX,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC9C,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC,GACD;QACF,oBAAC,YAAY,IACX,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,OAAO,CAAC,WAAW,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC,GACD,CACD,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { LabeledInput, Text } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type SimpleReactValidator from \"simple-react-validator\";\nimport { handleInputChange } from \"../../../common/utils\";\nimport { NAME_REQUIREMENTS } from \"../../Properties/hooks/useValidator\";\n\nexport interface GroupDetailsType {\n groupName: string;\n description: string;\n}\n\nexport interface GroupDetailsProps {\n details: GroupDetailsType;\n setDetails: (newDetails: GroupDetailsType) => void;\n validator: SimpleReactValidator;\n}\n\nexport const GroupDetails = ({\n details,\n setDetails,\n validator,\n}: GroupDetailsProps) => {\n return (\n <>\n <Text variant=\"small\" as=\"small\" className=\"gmw-field-legend\">\n Asterisk * indicates mandatory fields.\n </Text>\n <LabeledInput\n id=\"groupName\"\n name=\"groupName\"\n label=\"Name\"\n value={details.groupName}\n required\n onChange={(event) => {\n handleInputChange(event, details, setDetails);\n validator.showMessageFor(\"groupName\");\n }}\n message={validator.message(\n \"groupName\",\n details.groupName,\n NAME_REQUIREMENTS,\n )}\n status={\n validator.message(\n \"groupName\",\n details.groupName,\n NAME_REQUIREMENTS,\n )\n ? \"negative\"\n : undefined\n }\n onBlur={() => {\n validator.showMessageFor(\"groupName\");\n }}\n onBlurCapture={(event) => {\n handleInputChange(event, details, setDetails);\n validator.showMessageFor(\"groupName\");\n }}\n />\n <LabeledInput\n id=\"description\"\n name=\"description\"\n label=\"Description\"\n value={details.description}\n onChange={(event) => {\n handleInputChange(event, details, setDetails);\n }}\n />\n </>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetailsActionPanel.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetailsActionPanel.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,cAAc,EACd,WAAW,EACX,WAAW,GACkB,EAAE,EAAE;IACjC,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,OAAO,EAAE,WAAW,WAAe;QAC3C,oBAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,WAAW,WAGb,CACR,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Button } from \"@itwin/itwinui-react\";\nimport React from \"react\";\n\nexport interface GroupDetailsActionPanelProps {\n isSaveDisabled: boolean;\n onClickBack: () => void;\n onClickSave: () => Promise<void>;\n}\n\nexport const GroupDetailsActionPanel = ({\n isSaveDisabled,\n onClickBack,\n onClickSave,\n}: GroupDetailsActionPanelProps) => {\n return (\n <>\n <Button onClick={onClickBack}>Back</Button>\n <Button\n disabled={isSaveDisabled}\n styleType=\"high-visibility\"\n onClick={onClickSave}\n >\n Save\n </Button>\n </>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetailsStep.js","sourceRoot":"","sources":["../../../../../src/components/Groups/Editing/GroupDetailsStep.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AAEjC,MAAM,qBAAqB,GAAG;IAC5B,YAAY,EAAE,eAAe;CAC9B,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,cAAc,EAAE,kBAAkB,EAClC,GAAG,IAAI,EACe,EAAE,EAAE;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAC3D,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,IACP,MAAM,EAAE,cAAc,CAAC,YAAY,EACnC,SAAS,EAAC,mBAAmB;QAE7B,oBAAC,YAAY,OACP,IAAI,GACR,CACO,CACZ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Fieldset } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport \"./GroupAction.scss\";\nimport type { GroupDetailsProps } from \"./GroupDetails\";\nimport { GroupDetails } from \"./GroupDetails\";\nimport \"./GroupDetailsStep.scss\";\n\nconst defaultDisplayStrings = {\n groupDetails: \"Group Details\",\n};\n\nexport interface GroupDetailsStepProps extends GroupDetailsProps {\n displayStrings?: Partial<typeof defaultDisplayStrings>;\n}\n\nexport const GroupDetailsStep = ({\n displayStrings: userDisplayStrings,\n ...rest\n}: GroupDetailsStepProps) => {\n const displayStrings = React.useMemo(\n () => ({ ...defaultDisplayStrings, ...userDisplayStrings }),\n [userDisplayStrings]\n );\n\n return (\n <Fieldset\n legend={displayStrings.groupDetails}\n className='gmw-group-details'\n >\n <GroupDetails\n {...rest}\n />\n </Fieldset>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupColorLegend.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupColorLegend.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,yBAAyB,CAAC;AAOjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAyB,EAAE,EAAE,CAAC,CAC5E,oBAAC,UAAU,IAAC,SAAS,EAAC,YAAY;IAChC,6BACE,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE;YACL,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;SAC3E,GACD,CACS,CACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React from \"react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport type { Group } from \"@itwin/insights-client\";\nimport { getGroupColor } from \"./groupsHelpers\";\nimport \"./GroupColorLegend.scss\";\n\ninterface GroupColorLegendProps {\n group: Group;\n groups: Group[];\n}\n\nexport const GroupColorLegend = ({ group, groups }: GroupColorLegendProps) => (\n <IconButton styleType=\"borderless\">\n <div\n className=\"gmw-color-legend\"\n style={{\n backgroundColor: getGroupColor(groups.findIndex((g) => g.id === group.id)),\n }}\n />\n </IconButton>\n);\n"]}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import type { Group } from "@itwin/insights-client";
3
+ import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
4
+ import type { GroupsProps } from "./Groups";
5
+ export interface GroupItemProps extends Omit<GroupsProps, "onClickAddGroup"> {
6
+ group: Group;
7
+ groupUIs: GroupingCustomUI[];
8
+ contextUIs: ContextCustomUI[];
9
+ setShowDeleteModal: (showDeleteModal: Group) => void;
10
+ setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;
11
+ }
12
+ export declare const GroupItem: ({ onClickGroupTitle, disableActions, group, isVisualizing, ...rest }: GroupItemProps) => JSX.Element;
13
+ //# sourceMappingURL=GroupItem.d.ts.map
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { HorizontalTile } from "../SharedComponents/HorizontalTile";
3
+ import { GroupMenuActions } from "./GroupMenuActions";
4
+ import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
5
+ import { OverlapProgress } from "./GroupOverlapProgressBar";
6
+ export const GroupItem = ({ onClickGroupTitle, disableActions, group, isVisualizing, ...rest }) => {
7
+ const { groupElementsInfo, overlappedElementsInfo, showGroupColor } = useGroupHilitedElementsContext();
8
+ const onTitleClick = () => {
9
+ if (onClickGroupTitle) {
10
+ onClickGroupTitle(group);
11
+ }
12
+ };
13
+ return (React.createElement(HorizontalTile, { title: group.groupName, subText: group.description, actionGroup: React.createElement(GroupMenuActions, { group: group, disableActions: disableActions, ...rest }), elementsInfo: overlappedElementsInfo.size > 0 &&
14
+ React.createElement(OverlapProgress, { group: group, overlappedElementsInfo: overlappedElementsInfo, groupElementsInfo: groupElementsInfo }), showGroupColor: showGroupColor, isLoading: isVisualizing, onClickTitle: onClickGroupTitle && !disableActions ? onTitleClick : undefined }));
15
+ };
16
+ //# sourceMappingURL=GroupItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAMpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAY5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,aAAa,EACb,GAAG,IAAI,EACQ,EAAE,EAAE;IACnB,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,GACjE,8BAA8B,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,OAAO,EAAE,KAAK,CAAC,WAAW,EAC1B,WAAW,EACT,oBAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,KAC1B,IAAI,GACR,EAEJ,YAAY,EACV,sBAAsB,CAAC,IAAI,GAAG,CAAC;YAC/B,oBAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,sBAAsB,EAC9C,iBAAiB,EAAE,iBAAiB,GACpC,EAEJ,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,aAAa,EACxB,YAAY,EACV,iBAAiB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GAEjE,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport React from \"react\";\nimport { HorizontalTile } from \"../SharedComponents/HorizontalTile\";\nimport type {\n ContextCustomUI,\n GroupingCustomUI,\n} from \"../customUI/GroupingMappingCustomUI\";\nimport type { GroupsProps } from \"./Groups\";\nimport { GroupMenuActions } from \"./GroupMenuActions\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\nimport { OverlapProgress } from \"./GroupOverlapProgressBar\";\n\nexport interface GroupItemProps extends Omit<GroupsProps, \"onClickAddGroup\"> {\n group: Group;\n groupUIs: GroupingCustomUI[];\n contextUIs: ContextCustomUI[];\n setShowDeleteModal: (showDeleteModal: Group) => void;\n setActiveOverlapInfoPanelGroup?: (\n activeOverlapInfoPanelGroup: Group\n ) => void;\n}\n\nexport const GroupItem = ({\n onClickGroupTitle,\n disableActions,\n group,\n isVisualizing,\n ...rest\n}: GroupItemProps) => {\n const { groupElementsInfo, overlappedElementsInfo, showGroupColor } =\n useGroupHilitedElementsContext();\n\n const onTitleClick = () => {\n if (onClickGroupTitle) {\n onClickGroupTitle(group);\n }\n };\n\n return (\n <HorizontalTile\n title={group.groupName}\n subText={group.description}\n actionGroup={\n <GroupMenuActions\n group={group}\n disableActions={disableActions}\n {...rest}\n />\n }\n elementsInfo={\n overlappedElementsInfo.size > 0 &&\n <OverlapProgress\n group={group}\n overlappedElementsInfo={overlappedElementsInfo}\n groupElementsInfo={groupElementsInfo}\n />\n }\n showGroupColor={showGroupColor}\n isLoading={isVisualizing}\n onClickTitle={\n onClickGroupTitle && !disableActions ? onTitleClick : undefined\n }\n />\n );\n};\n"]}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type { Group } from "@itwin/insights-client";
3
+ import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
4
+ import type { GroupsProps } from "./Groups";
5
+ import "./GroupMenuActions.scss";
6
+ export interface GroupMenuActionsProps extends Omit<GroupsProps, "onClickAddGroup" | "onClickGroupTitle"> {
7
+ group: Group;
8
+ groupUIs: GroupingCustomUI[];
9
+ contextUIs: ContextCustomUI[];
10
+ setShowDeleteModal: (showDeleteModal: Group) => void;
11
+ setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;
12
+ }
13
+ export declare const GroupMenuActions: ({ mapping, group, actionButtonRenderers, onClickGroupModify, onClickRenderContextCustomUI, groupUIs, contextUIs, disableActions, setShowDeleteModal, setActiveOverlapInfoPanelGroup, }: GroupMenuActionsProps) => JSX.Element;
14
+ //# sourceMappingURL=GroupMenuActions.d.ts.map
@@ -0,0 +1,57 @@
1
+ import { SvgDelete, SvgEdit, SvgInfo, SvgMore } from "@itwin/itwinui-icons-react";
2
+ import { DropdownMenu, IconButton, MenuItem } from "@itwin/itwinui-react";
3
+ import React, { useCallback } from "react";
4
+ import { useGroupingMappingApiConfig } from "../context/GroupingApiConfigContext";
5
+ import "./GroupMenuActions.scss";
6
+ import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
7
+ export const GroupMenuActions = ({ mapping, group, actionButtonRenderers, onClickGroupModify, onClickRenderContextCustomUI, groupUIs, contextUIs, disableActions, setShowDeleteModal, setActiveOverlapInfoPanelGroup, }) => {
8
+ const { iModelId } = useGroupingMappingApiConfig();
9
+ const { showGroupColor } = useGroupHilitedElementsContext();
10
+ const onModify = useCallback(async (group, type) => {
11
+ if (!onClickGroupModify)
12
+ return;
13
+ onClickGroupModify(group, type);
14
+ }, [onClickGroupModify]);
15
+ const createMenuItems = useCallback((close) => {
16
+ const menuItems = [
17
+ ...(groupUIs.length > 0 && onClickGroupModify
18
+ ? [
19
+ React.createElement(MenuItem, { key: 0, icon: React.createElement(SvgEdit, null), disabled: disableActions, "data-testid": "gmw-context-menu-item", subMenuItems: groupUIs.map((p, index) => (React.createElement(MenuItem, { key: p.name, className: "gmw-menu-item", "data-testid": `gmw-edit-${index}`, onClick: async () => {
20
+ await onModify(group, p.name);
21
+ close();
22
+ }, icon: p.icon }, p.displayLabel))) }, "Edit"),
23
+ ]
24
+ : []),
25
+ ...contextUIs.map((p) => {
26
+ return (React.createElement(MenuItem, { key: p.name, onClick: async () => {
27
+ if (p.uiComponent &&
28
+ onClickRenderContextCustomUI) {
29
+ onClickRenderContextCustomUI(p.uiComponent, group, p.displayLabel);
30
+ }
31
+ if (p.onClick) {
32
+ p.onClick(group, mapping, iModelId);
33
+ }
34
+ close();
35
+ }, icon: p.icon, "data-testid": "gmw-context-menu-item" }, p.displayLabel));
36
+ }),
37
+ React.createElement(MenuItem, { key: 2, onClick: () => {
38
+ setShowDeleteModal(group);
39
+ close();
40
+ }, icon: React.createElement(SvgDelete, null), "data-testid": "gmw-context-menu-item" }, "Remove"),
41
+ ];
42
+ if (showGroupColor && setActiveOverlapInfoPanelGroup) {
43
+ menuItems.push(React.createElement(MenuItem, { key: 3, onClick: () => {
44
+ setActiveOverlapInfoPanelGroup(group);
45
+ close();
46
+ }, icon: React.createElement(SvgInfo, null), "data-testid": "gmw-overlap-menu-item" }, "Overlap Info"));
47
+ }
48
+ return menuItems;
49
+ }, [groupUIs, disableActions, group, contextUIs, mapping, iModelId, showGroupColor, onModify, setActiveOverlapInfoPanelGroup, setShowDeleteModal, onClickGroupModify, onClickRenderContextCustomUI]);
50
+ return (React.createElement("div", { className: "gmw-actions" },
51
+ actionButtonRenderers &&
52
+ actionButtonRenderers.map((actionButton, index) => React.createElement(React.Fragment, { key: index }, actionButton({ group }))),
53
+ React.createElement(DropdownMenu, { className: "gmw-action-dropdown", disabled: disableActions, menuItems: createMenuItems },
54
+ React.createElement(IconButton, { disabled: disableActions, styleType: "borderless", "data-testid": "gmw-more-button", title: 'Group Options' },
55
+ React.createElement(SvgMore, null)))));
56
+ };
57
+ //# sourceMappingURL=GroupMenuActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupMenuActions.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupMenuActions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { SvgDelete, SvgEdit, SvgInfo, SvgMore } from \"@itwin/itwinui-icons-react\";\nimport { DropdownMenu, IconButton, MenuItem } from \"@itwin/itwinui-react\";\nimport React, { useCallback } from \"react\";\nimport type { ContextCustomUI, GroupingCustomUI } from \"../customUI/GroupingMappingCustomUI\";\nimport type { GroupsProps } from \"./Groups\";\nimport { useGroupingMappingApiConfig } from \"../context/GroupingApiConfigContext\";\nimport \"./GroupMenuActions.scss\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\n\nexport interface GroupMenuActionsProps extends Omit<GroupsProps, \"onClickAddGroup\" | \"onClickGroupTitle\"> {\n group: Group;\n groupUIs: GroupingCustomUI[];\n contextUIs: ContextCustomUI[];\n setShowDeleteModal: (showDeleteModal: Group) => void;\n setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group) => void;\n}\n\nexport const GroupMenuActions = ({\n mapping,\n group,\n actionButtonRenderers,\n onClickGroupModify,\n onClickRenderContextCustomUI,\n groupUIs,\n contextUIs,\n disableActions,\n setShowDeleteModal,\n setActiveOverlapInfoPanelGroup,\n}: GroupMenuActionsProps) => {\n const { iModelId } = useGroupingMappingApiConfig();\n const { showGroupColor } = useGroupHilitedElementsContext();\n const onModify = useCallback(async (group: Group, type: string) => {\n if (!onClickGroupModify) return;\n onClickGroupModify(group, type);\n }, [onClickGroupModify]);\n\n const createMenuItems = useCallback((close: () => void) => {\n const menuItems = [\n ...(groupUIs.length > 0 && onClickGroupModify\n ? [\n <MenuItem\n key={0}\n icon={<SvgEdit />}\n disabled={disableActions}\n data-testid=\"gmw-context-menu-item\"\n subMenuItems={groupUIs.map((p, index) => (\n <MenuItem\n key={p.name}\n className=\"gmw-menu-item\"\n data-testid={`gmw-edit-${index}`}\n onClick={async () => {\n await onModify(group, p.name);\n close();\n }}\n icon={p.icon}\n >\n {p.displayLabel}\n </MenuItem>\n ))}\n >\n Edit\n </MenuItem>,\n ]\n : []),\n ...contextUIs.map((p) => {\n return (\n <MenuItem\n key={p.name}\n onClick={async () => {\n if (\n p.uiComponent &&\n onClickRenderContextCustomUI\n ) {\n onClickRenderContextCustomUI(\n p.uiComponent,\n group,\n p.displayLabel\n );\n }\n if (p.onClick) {\n p.onClick(group, mapping, iModelId);\n }\n close();\n }}\n icon={p.icon}\n data-testid=\"gmw-context-menu-item\"\n >\n {p.displayLabel}\n </MenuItem>\n );\n }),\n <MenuItem\n key={2}\n onClick={() => {\n setShowDeleteModal(group);\n close();\n }}\n icon={<SvgDelete />}\n data-testid=\"gmw-context-menu-item\"\n >\n Remove\n </MenuItem>,\n ];\n\n if (showGroupColor && setActiveOverlapInfoPanelGroup) {\n menuItems.push(\n <MenuItem\n key={3}\n onClick={() => {\n setActiveOverlapInfoPanelGroup(group);\n close();\n }}\n icon={<SvgInfo />}\n data-testid=\"gmw-overlap-menu-item\"\n >\n Overlap Info\n </MenuItem>);\n }\n\n return menuItems;\n }, [groupUIs, disableActions, group, contextUIs, mapping, iModelId, showGroupColor, onModify, setActiveOverlapInfoPanelGroup, setShowDeleteModal, onClickGroupModify, onClickRenderContextCustomUI]);\n\n return (\n <div className=\"gmw-actions\">\n {actionButtonRenderers &&\n actionButtonRenderers.map((actionButton, index) =>\n <React.Fragment key={index}>{actionButton({ group })}</React.Fragment>\n )}\n <DropdownMenu\n className=\"gmw-action-dropdown\"\n disabled={disableActions}\n menuItems={createMenuItems}\n >\n <IconButton\n disabled={disableActions}\n styleType=\"borderless\"\n data-testid=\"gmw-more-button\"\n title='Group Options'\n >\n <SvgMore />\n </IconButton>\n </DropdownMenu>\n </div>\n );\n};\n"]}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { Group } from "@itwin/insights-client";
3
+ import type { OverlappedInfo } from "../context/GroupHilitedElementsContext";
4
+ interface OverlapProgressProps {
5
+ group: Group;
6
+ groupElementsInfo: Map<string, number>;
7
+ overlappedElementsInfo: Map<string, OverlappedInfo[]>;
8
+ }
9
+ export declare const OverlapProgress: ({ group, groupElementsInfo, overlappedElementsInfo }: OverlapProgressProps) => JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=GroupOverlapProgressBar.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { ProgressLinear } from "@itwin/itwinui-react";
2
+ import React from "react";
3
+ export const OverlapProgress = ({ group, groupElementsInfo, overlappedElementsInfo }) => {
4
+ const groupId = group.id;
5
+ const totalElements = groupElementsInfo.get(groupId) || 0;
6
+ const overlappedInfo = overlappedElementsInfo.get(groupId) || [];
7
+ const overlappedElements = overlappedInfo.reduce((count, info) => count + info.elements.length, 0);
8
+ const overlapPercentage = (totalElements ? overlappedElements / totalElements : 0) * 100;
9
+ return (React.createElement(ProgressLinear, { title: `${overlappedElements} element${overlappedElements === 1 ? "" : "s"} overlapping out of ${totalElements} `, value: overlapPercentage, isAnimated: true, status: "negative" }));
10
+ };
11
+ //# sourceMappingURL=GroupOverlapProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupOverlapProgressBar.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupOverlapProgressBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAwB,EAAE,EAAE;IAC5G,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,iBAAiB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAEzF,OAAO,CACL,oBAAC,cAAc,IACb,KAAK,EAAE,GAAG,kBAAkB,WAAW,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,uBAAuB,aAAa,GAAG,EACjH,KAAK,EAAE,iBAAiB,EACxB,UAAU,QACV,MAAM,EAAC,UAAU,GACjB,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { ProgressLinear } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type { OverlappedInfo } from \"../context/GroupHilitedElementsContext\";\n\ninterface OverlapProgressProps {\n group: Group;\n groupElementsInfo: Map<string, number>;\n overlappedElementsInfo: Map<string, OverlappedInfo[]>;\n}\n\nexport const OverlapProgress = ({ group, groupElementsInfo, overlappedElementsInfo }: OverlapProgressProps) => {\n const groupId = group.id;\n const totalElements = groupElementsInfo.get(groupId) || 0;\n const overlappedInfo = overlappedElementsInfo.get(groupId) || [];\n const overlappedElements = overlappedInfo.reduce((count, info) => count + info.elements.length, 0);\n const overlapPercentage = (totalElements ? overlappedElements / totalElements : 0) * 100;\n\n return (\n <ProgressLinear\n title={`${overlappedElements} element${overlappedElements === 1 ? \"\" : \"s\"} overlapping out of ${totalElements} `}\n value={overlapPercentage}\n isAnimated\n status=\"negative\"\n />\n );\n};\n"]}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import type { Group, Mapping } from "@itwin/insights-client";
3
+ import type { ContextCustomUI } from "../customUI/GroupingMappingCustomUI";
4
+ import type { ActionButtonRenderer } from "./GroupsView";
5
+ import { Alert } from "@itwin/itwinui-react";
6
+ export interface GroupsProps {
7
+ mapping: Mapping;
8
+ actionButtonRenderers?: ActionButtonRenderer[];
9
+ onClickAddGroup?: (queryGenerationType: string) => void;
10
+ onClickGroupTitle?: (group: Group) => void;
11
+ onClickGroupModify?: (group: Group, queryGenerationType: string) => void;
12
+ onClickRenderContextCustomUI?: (contextCustomUI: Exclude<ContextCustomUI["uiComponent"], undefined>, group: Group, displayLabel: string) => void;
13
+ disableActions?: boolean;
14
+ isVisualizing?: boolean;
15
+ alert?: React.ReactElement<typeof Alert>;
16
+ }
17
+ export declare const Groups: ({ mapping, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, isVisualizing, alert, }: GroupsProps) => JSX.Element;
18
+ //# sourceMappingURL=Groups.d.ts.map
@@ -0,0 +1,24 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import React, { useCallback } from "react";
6
+ import { GroupsView } from "./GroupsView";
7
+ import { useGroupsOperations } from "./hooks/useGroupsOperations";
8
+ import { Alert } from "@itwin/itwinui-react";
9
+ export const Groups = ({ mapping, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, isVisualizing, alert, }) => {
10
+ const { groups, isLoading, refresh, onDeleteGroup, setShowDeleteModal, showDeleteModal, groupUIs, contextUIs, errorMessage, setErrorMessage, activeOverlapInfoPanelGroup, setActiveOverlapInfoPanelGroup, overlappedElementsInfo, hilitedGroupsProgress, } = useGroupsOperations({ mappingId: mapping.id });
11
+ const addGroup = useCallback((type) => {
12
+ if (!onClickAddGroup)
13
+ return;
14
+ onClickAddGroup(type);
15
+ }, [onClickAddGroup]);
16
+ const renderAlert = useCallback(() => {
17
+ if (!errorMessage) {
18
+ return alert;
19
+ }
20
+ return (React.createElement(Alert, { type: "negative", onClose: () => setErrorMessage(undefined) }, errorMessage));
21
+ }, [alert, errorMessage, setErrorMessage]);
22
+ return (React.createElement(GroupsView, { mapping: mapping, groups: groups, isLoading: isLoading, onRefresh: refresh, groupUIs: groupUIs, actionButtonRenderers: actionButtonRenderers, onClickAddGroup: addGroup, onClickGroupTitle: onClickGroupTitle, onClickGroupModify: onClickGroupModify, onClickRenderContextCustomUI: onClickRenderContextCustomUI, disableActions: disableActions, selectedGroupForDeletion: showDeleteModal, setSelectedGroupForDeletion: setShowDeleteModal, onDeleteGroup: onDeleteGroup, onCloseDeleteModal: () => setShowDeleteModal(undefined), contextUIs: contextUIs, progressConfig: isVisualizing ? { hilitedGroupsProgress } : undefined, alert: renderAlert(), setActiveOverlapInfoPanelGroup: setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup: activeOverlapInfoPanelGroup, overlappedElementsInfo: overlappedElementsInfo }));
23
+ };
24
+ //# sourceMappingURL=Groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../../../src/components/Groups/Groups.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAkB7C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,KAAK,GACO,EAAE,EAAE;IAChB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,GACtB,GAAG,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC5C,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CACL,oBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAC7D,YAAY,CACP,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAE3C,OAAO,CACL,oBAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,eAAe,EAAE,QAAQ,EACzB,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,4BAA4B,EAAE,4BAA4B,EAC1D,cAAc,EAAE,cAAc,EAC9B,wBAAwB,EAAE,eAAe,EACzC,2BAA2B,EAAE,kBAAkB,EAC/C,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EACvD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,EACrE,KAAK,EAAE,WAAW,EAAE,EACpB,8BAA8B,EAAE,8BAA8B,EAC9D,2BAA2B,EAAE,2BAA2B,EACxD,sBAAsB,EAAE,sBAAsB,GAC9C,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React, { useCallback } from \"react\";\nimport type { Group, Mapping } from \"@itwin/insights-client\";\nimport type {\n ContextCustomUI,\n} from \"../customUI/GroupingMappingCustomUI\";\nimport type { ActionButtonRenderer } from \"./GroupsView\";\nimport { GroupsView } from \"./GroupsView\";\nimport { useGroupsOperations } from \"./hooks/useGroupsOperations\";\nimport { Alert } from \"@itwin/itwinui-react\";\n\nexport interface GroupsProps {\n mapping: Mapping;\n actionButtonRenderers?: ActionButtonRenderer[];\n onClickAddGroup?: (queryGenerationType: string) => void;\n onClickGroupTitle?: (group: Group) => void;\n onClickGroupModify?: (group: Group, queryGenerationType: string) => void;\n onClickRenderContextCustomUI?: (\n contextCustomUI: Exclude<ContextCustomUI[\"uiComponent\"], undefined>,\n group: Group,\n displayLabel: string,\n ) => void;\n disableActions?: boolean;\n isVisualizing?: boolean;\n alert?: React.ReactElement<typeof Alert>;\n}\n\nexport const Groups = ({\n mapping,\n actionButtonRenderers,\n onClickAddGroup,\n onClickGroupTitle,\n onClickGroupModify,\n onClickRenderContextCustomUI,\n disableActions,\n isVisualizing,\n alert,\n}: GroupsProps) => {\n const {\n groups,\n isLoading,\n refresh,\n onDeleteGroup,\n setShowDeleteModal,\n showDeleteModal,\n groupUIs,\n contextUIs,\n errorMessage,\n setErrorMessage,\n activeOverlapInfoPanelGroup,\n setActiveOverlapInfoPanelGroup,\n overlappedElementsInfo,\n hilitedGroupsProgress,\n } = useGroupsOperations({ mappingId: mapping.id });\n\n const addGroup = useCallback((type: string) => {\n if (!onClickAddGroup) return;\n onClickAddGroup(type);\n }, [onClickAddGroup]);\n\n const renderAlert = useCallback(() => {\n if (!errorMessage) {\n return alert;\n }\n return (\n <Alert type=\"negative\" onClose={() => setErrorMessage(undefined)}>\n {errorMessage}\n </Alert>\n );\n }, [alert, errorMessage, setErrorMessage]);\n\n return (\n <GroupsView\n mapping={mapping}\n groups={groups}\n isLoading={isLoading}\n onRefresh={refresh}\n groupUIs={groupUIs}\n actionButtonRenderers={actionButtonRenderers}\n onClickAddGroup={addGroup}\n onClickGroupTitle={onClickGroupTitle}\n onClickGroupModify={onClickGroupModify}\n onClickRenderContextCustomUI={onClickRenderContextCustomUI}\n disableActions={disableActions}\n selectedGroupForDeletion={showDeleteModal}\n setSelectedGroupForDeletion={setShowDeleteModal}\n onDeleteGroup={onDeleteGroup}\n onCloseDeleteModal={() => setShowDeleteModal(undefined)}\n contextUIs={contextUIs}\n progressConfig={isVisualizing ? { hilitedGroupsProgress } : undefined}\n alert={renderAlert()}\n setActiveOverlapInfoPanelGroup={setActiveOverlapInfoPanelGroup}\n activeOverlapInfoPanelGroup={activeOverlapInfoPanelGroup}\n overlappedElementsInfo={overlappedElementsInfo}\n />\n );\n};\n"]}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
3
+ import "./GroupsAddButton.scss";
4
+ export interface GroupsDropdownMenuProps {
5
+ disabled?: boolean;
6
+ groupUIs: GroupingCustomUI[];
7
+ onClickAddGroup: (type: string) => void;
8
+ }
9
+ export declare const GroupsAddButton: ({ disabled, groupUIs, onClickAddGroup, }: GroupsDropdownMenuProps) => JSX.Element;
10
+ //# sourceMappingURL=GroupsAddButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupsAddButton.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupsAddButton.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQ/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,eAAe,GACS,EAAE,EAAE,CAAC,CAC7B,oBAAC,YAAY,IACX,SAAS,EAAC,wBAAwB,EAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,EAAE,CACd,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzB,oBAAC,QAAQ,IACP,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EACtC,IAAI,EAAE,CAAC,CAAC,IAAI,iBACC,WAAW,KAAK,EAAE,IAE9B,CAAC,CAAC,YAAY,CACN,CACZ,CAAC;IAGJ,oBAAC,MAAM,mBACO,sBAAsB,EAClC,SAAS,EAAC,iBAAiB,EAC3B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAC,iBAAiB,OAAG;QAE9B,oBAAC,IAAI,oBAAiB,CACf,CACI,CAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Button, DropdownMenu, MenuItem, Text } from \"@itwin/itwinui-react\";\nimport React from \"react\";\nimport type { GroupingCustomUI } from \"../customUI/GroupingMappingCustomUI\";\nimport \"./GroupsAddButton.scss\";\nimport { SvgCaretDownSmall } from \"@itwin/itwinui-icons-react\";\n\nexport interface GroupsDropdownMenuProps {\n disabled?: boolean;\n groupUIs: GroupingCustomUI[];\n onClickAddGroup: (type: string) => void;\n}\n\nexport const GroupsAddButton = ({\n disabled,\n groupUIs,\n onClickAddGroup,\n}: GroupsDropdownMenuProps) => (\n <DropdownMenu\n className=\"gmw-custom-ui-dropdown\"\n disabled={disabled}\n menuItems={() =>\n groupUIs.map((p, index) => (\n <MenuItem\n key={index}\n onClick={() => onClickAddGroup(p.name)}\n icon={p.icon}\n data-testid={`gmw-add-${index}`}\n >\n {p.displayLabel}\n </MenuItem>\n ))\n }\n >\n <Button\n data-testid=\"gmw-add-group-button\"\n styleType=\"high-visibility\"\n disabled={disabled}\n endIcon={<SvgCaretDownSmall />}\n >\n <Text>Add Group</Text>\n </Button>\n </DropdownMenu>\n);\n"]}
@@ -0,0 +1,22 @@
1
+ import { SvgVisibilityHide, SvgVisibilityShow } from "@itwin/itwinui-icons-react";
2
+ import { IconButton } from "@itwin/itwinui-react";
3
+ import React, { useCallback, useMemo } from "react";
4
+ import { useGroupHilitedElementsContext } from "../context/GroupHilitedElementsContext";
5
+ export const GroupsShowHideButtons = ({ group, isLoadingQuery, showGroup, hideGroup, }) => {
6
+ const { hiddenGroupsIds, setHiddenGroupsIds } = useGroupHilitedElementsContext();
7
+ const isGroupHidden = useMemo(() => group.id && hiddenGroupsIds.has(group.id), [group.id, hiddenGroupsIds]);
8
+ const toggleGroupVisibility = useCallback(async () => {
9
+ if (isGroupHidden) {
10
+ await showGroup(group);
11
+ setHiddenGroupsIds(new Set([...hiddenGroupsIds].filter((id) => group.id !== id)));
12
+ }
13
+ else {
14
+ await hideGroup(group);
15
+ if (group.id) {
16
+ setHiddenGroupsIds(new Set([...hiddenGroupsIds, group.id]));
17
+ }
18
+ }
19
+ }, [group, hiddenGroupsIds, hideGroup, isGroupHidden, setHiddenGroupsIds, showGroup]);
20
+ return (React.createElement(IconButton, { disabled: isLoadingQuery, styleType: "borderless", onClick: toggleGroupVisibility, title: 'Toggle Group Visibility' }, isGroupHidden ? React.createElement(SvgVisibilityHide, null) : React.createElement(SvgVisibilityShow, null)));
21
+ };
22
+ //# sourceMappingURL=GroupsShowHideButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupsShowHideButtons.js","sourceRoot":"","sources":["../../../../src/components/Groups/GroupsShowHideButtons.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AASxF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,KAAK,EACL,cAAc,EACd,SAAS,EACT,SAAS,GACkB,EAAE,EAAE;IAC/B,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5G,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACnD,IAAI,aAAa,EAAE;YACjB,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACnF;aAAM;YACL,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,EAAE,EAAE;gBACZ,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC7D;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtF,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,YAAY,EACtB,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAC,yBAAyB,IAE9B,aAAa,CAAC,CAAC,CAAC,oBAAC,iBAAiB,OAAG,CAAC,CAAC,CAAC,oBAAC,iBAAiB,OAAG,CACnD,CACd,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { Group } from \"@itwin/insights-client\";\nimport { SvgVisibilityHide, SvgVisibilityShow } from \"@itwin/itwinui-icons-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { useGroupHilitedElementsContext } from \"../context/GroupHilitedElementsContext\";\n\ninterface GroupsShowHideButtonsProps {\n group: Group;\n isLoadingQuery: boolean;\n showGroup: (group: Group) => Promise<void>;\n hideGroup: (group: Group) => Promise<void>;\n}\n\nexport const GroupsShowHideButtons = ({\n group,\n isLoadingQuery,\n showGroup,\n hideGroup,\n}: GroupsShowHideButtonsProps) => {\n const { hiddenGroupsIds, setHiddenGroupsIds } = useGroupHilitedElementsContext();\n const isGroupHidden = useMemo(() => group.id && hiddenGroupsIds.has(group.id), [group.id, hiddenGroupsIds]);\n\n const toggleGroupVisibility = useCallback(async () => {\n if (isGroupHidden) {\n await showGroup(group);\n setHiddenGroupsIds(new Set([...hiddenGroupsIds].filter((id) => group.id !== id)));\n } else {\n await hideGroup(group);\n if (group.id) {\n setHiddenGroupsIds(new Set([...hiddenGroupsIds, group.id]));\n }\n }\n }, [group, hiddenGroupsIds, hideGroup, isGroupHidden, setHiddenGroupsIds, showGroup]);\n\n return (\n <IconButton\n disabled={isLoadingQuery}\n styleType=\"borderless\"\n onClick={toggleGroupVisibility}\n title='Toggle Group Visibility'\n >\n {isGroupHidden ? <SvgVisibilityHide /> : <SvgVisibilityShow />}\n </IconButton>\n );\n};\n"]}
@@ -0,0 +1,43 @@
1
+ import React from "react";
2
+ import type { Alert } from "@itwin/itwinui-react";
3
+ import "./GroupsView.scss";
4
+ import type { Group, Mapping } from "@itwin/insights-client";
5
+ import type { ContextCustomUI, GroupingCustomUI } from "../customUI/GroupingMappingCustomUI";
6
+ import type { OverlappedInfo } from "../context/GroupHilitedElementsContext";
7
+ export interface ActionButtonRendererProps {
8
+ group: Group;
9
+ }
10
+ export declare type ActionButtonRenderer = (props: ActionButtonRendererProps) => React.ReactNode;
11
+ export interface ProgressConfig {
12
+ hilitedGroupsProgress?: {
13
+ currentHilitedGroups: number;
14
+ totalNumberOfGroups: number;
15
+ };
16
+ baseProgress?: number;
17
+ maxDynamicProgress?: number;
18
+ }
19
+ export interface GroupsViewProps {
20
+ mapping: Mapping;
21
+ groups: Group[];
22
+ isLoading: boolean;
23
+ onRefresh: () => Promise<void>;
24
+ groupUIs: GroupingCustomUI[];
25
+ actionButtonRenderers?: ActionButtonRenderer[];
26
+ contextUIs: ContextCustomUI[];
27
+ onClickAddGroup?: (queryGenerationType: string) => void;
28
+ onClickGroupTitle?: (group: Group) => void;
29
+ onClickGroupModify?: (group: Group, queryGenerationType: string) => void;
30
+ onClickRenderContextCustomUI?: (contextCustomUI: Exclude<ContextCustomUI["uiComponent"], undefined>, group: Group, displayLabel: string) => void;
31
+ disableActions?: boolean;
32
+ selectedGroupForDeletion?: Group;
33
+ setSelectedGroupForDeletion: (group: Group) => void;
34
+ onDeleteGroup: (group: Group) => Promise<void>;
35
+ onCloseDeleteModal: () => void;
36
+ alert?: React.ReactElement<typeof Alert>;
37
+ setActiveOverlapInfoPanelGroup?: (activeOverlapInfoPanelGroup: Group | undefined) => void;
38
+ activeOverlapInfoPanelGroup?: Group | undefined;
39
+ overlappedElementsInfo?: Map<string, OverlappedInfo[]>;
40
+ progressConfig?: ProgressConfig;
41
+ }
42
+ export declare const GroupsView: ({ mapping, groups, isLoading, onRefresh, groupUIs, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, selectedGroupForDeletion, onDeleteGroup, onCloseDeleteModal, setSelectedGroupForDeletion, contextUIs, alert, setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup, overlappedElementsInfo, progressConfig, }: GroupsViewProps) => JSX.Element;
43
+ //# sourceMappingURL=GroupsView.d.ts.map
@@ -0,0 +1,42 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import React from "react";
6
+ import { ButtonGroup, IconButton, InformationPanelWrapper, ProgressLinear, } from "@itwin/itwinui-react";
7
+ import { SvgRefresh, } from "@itwin/itwinui-icons-react";
8
+ import DeleteModal from "../SharedComponents/DeleteModal";
9
+ import "./GroupsView.scss";
10
+ import { EmptyMessage } from "../SharedComponents/EmptyMessage";
11
+ import { LoadingOverlay } from "../SharedComponents/LoadingOverlay";
12
+ import { GroupItem } from "./GroupItem";
13
+ import { GroupsAddButton } from "./GroupsAddButton";
14
+ import { OverlappedElementsInformationPanel } from "./OverlappedElementsInformationPanel";
15
+ export const GroupsView = ({ mapping, groups, isLoading, onRefresh, groupUIs, actionButtonRenderers, onClickAddGroup, onClickGroupTitle, onClickGroupModify, onClickRenderContextCustomUI, disableActions, selectedGroupForDeletion, onDeleteGroup, onCloseDeleteModal, setSelectedGroupForDeletion, contextUIs, alert, setActiveOverlapInfoPanelGroup, activeOverlapInfoPanelGroup, overlappedElementsInfo, progressConfig, }) => {
16
+ /**
17
+ * UX Progress Bar Logic:
18
+ * - Start non-zero for immediate feedback.
19
+ * - Restrict motion to a range (e.g., 25-90%) for perceived continuity.
20
+ * - Disappear when compplete.
21
+ * Goal: Smooth experience for unpredictable durations.
22
+ */
23
+ const { baseProgress = 25, maxDynamicProgress = 65, hilitedGroupsProgress } = progressConfig || {};
24
+ return (React.createElement(InformationPanelWrapper, { className: "gmw-groups-container" },
25
+ React.createElement("div", { className: "gmw-toolbar" },
26
+ onClickAddGroup && groupUIs.length > 0 && (React.createElement(GroupsAddButton, { disabled: disableActions, groupUIs: groupUIs, onClickAddGroup: onClickAddGroup })),
27
+ React.createElement(ButtonGroup, { className: "gmw-toolbar-buttons" },
28
+ React.createElement(IconButton, { title: "Refresh", onClick: onRefresh, disabled: isLoading || disableActions, styleType: "borderless" },
29
+ React.createElement(SvgRefresh, null)))),
30
+ alert,
31
+ React.createElement("div", { className: 'gmw-groups-border' }),
32
+ !!hilitedGroupsProgress &&
33
+ React.createElement("div", { className: "gmw-group-progress-bar" },
34
+ React.createElement(ProgressLinear, { value: baseProgress + (hilitedGroupsProgress.currentHilitedGroups / hilitedGroupsProgress.totalNumberOfGroups * maxDynamicProgress) })),
35
+ isLoading ? (React.createElement(LoadingOverlay, null)) : groups.length === 0 ? (React.createElement(EmptyMessage, { message: "No Groups available." })) : (React.createElement("div", { className: "gmw-group-list" }, groups.map((group) => (React.createElement(GroupItem, { key: group.id, mapping: mapping, group: group, groupUIs: groupUIs, actionButtonRenderers: actionButtonRenderers, onClickGroupTitle: onClickGroupTitle, onClickGroupModify: onClickGroupModify, onClickRenderContextCustomUI: onClickRenderContextCustomUI, disableActions: disableActions, setShowDeleteModal: setSelectedGroupForDeletion, contextUIs: contextUIs, setActiveOverlapInfoPanelGroup: setActiveOverlapInfoPanelGroup }))))),
36
+ overlappedElementsInfo && setActiveOverlapInfoPanelGroup &&
37
+ React.createElement(OverlappedElementsInformationPanel, { group: activeOverlapInfoPanelGroup, onClose: () => setActiveOverlapInfoPanelGroup(undefined), overlappedElementsInfo: overlappedElementsInfo, groups: groups }),
38
+ selectedGroupForDeletion && (React.createElement(DeleteModal, { entityName: selectedGroupForDeletion.groupName, onClose: onCloseDeleteModal, onDelete: async () => {
39
+ await onDeleteGroup(selectedGroupForDeletion);
40
+ }, refresh: onRefresh }))));
41
+ };
42
+ //# sourceMappingURL=GroupsView.js.map