@itwin/components-react 3.6.0-dev.7 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1366) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/components-react/UiComponents.d.ts +35 -35
  4. package/lib/cjs/components-react/UiComponents.js +79 -79
  5. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  6. package/lib/cjs/components-react/_target.scss +9 -9
  7. package/lib/cjs/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
  8. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js +901 -901
  9. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  10. package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
  11. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js +651 -651
  12. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  13. package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
  14. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
  15. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js +231 -231
  16. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  17. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
  18. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js +46 -46
  19. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  20. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
  21. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js +135 -135
  22. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  23. package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
  24. package/lib/cjs/components-react/common/DateUtils.js +74 -74
  25. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  26. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +22 -22
  27. package/lib/cjs/components-react/common/DelayedSpinner.js +57 -57
  28. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  29. package/lib/cjs/components-react/common/HighlightedText.d.ts +22 -22
  30. package/lib/cjs/components-react/common/HighlightedText.js +38 -38
  31. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  32. package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
  33. package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
  34. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  35. package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
  36. package/lib/cjs/components-react/common/IImageLoader.js +9 -9
  37. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  38. package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
  39. package/lib/cjs/components-react/common/ImageRenderer.js +141 -141
  40. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  41. package/lib/cjs/components-react/common/Links.d.ts +12 -12
  42. package/lib/cjs/components-react/common/Links.js +71 -71
  43. package/lib/cjs/components-react/common/Links.js.map +1 -1
  44. package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
  45. package/lib/cjs/components-react/common/PageOptions.js +9 -9
  46. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  47. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
  48. package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
  49. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  50. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
  51. package/lib/cjs/components-react/common/UseAsyncValue.js +64 -64
  52. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  53. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  54. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
  55. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  56. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +15 -12
  57. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  58. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +48 -45
  59. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  60. package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
  61. package/lib/cjs/components-react/common/UseRerender.js +31 -31
  62. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  63. package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
  64. package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
  65. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  66. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
  67. package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
  68. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  69. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
  70. package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
  71. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  72. package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
  73. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +90 -90
  74. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  75. package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +14 -14
  76. package/lib/cjs/components-react/common/showhide/ShowHideItem.js +9 -9
  77. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  78. package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
  79. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +123 -123
  80. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  81. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  82. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
  83. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  84. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  85. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
  86. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  87. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  88. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
  89. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  90. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
  91. package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
  92. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  93. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  94. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
  95. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  96. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  97. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
  98. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  99. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
  100. package/lib/cjs/components-react/converters/NumericTypeConverter.js +113 -113
  101. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  102. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
  103. package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
  104. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  105. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
  106. package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
  107. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  108. package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
  109. package/lib/cjs/components-react/converters/TypeConverter.js +77 -77
  110. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  111. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
  112. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  113. package/lib/cjs/components-react/converters/TypeConverterManager.js +49 -50
  114. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  115. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  116. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
  117. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  118. package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
  119. package/lib/cjs/components-react/datepicker/DateField.js +156 -156
  120. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  121. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  122. package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
  123. package/lib/cjs/components-react/datepicker/DatePicker.js +200 -200
  124. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  125. package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
  126. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  127. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +98 -98
  128. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  129. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  130. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
  131. package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
  132. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  133. package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
  134. package/lib/cjs/components-react/datepicker/TimeField.js +248 -248
  135. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  136. package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
  137. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +44 -44
  138. package/lib/cjs/components-react/editors/BooleanEditor.js +153 -153
  139. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  140. package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
  141. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
  142. package/lib/cjs/components-react/editors/CustomNumberEditor.js +295 -295
  143. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  144. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  145. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
  146. package/lib/cjs/components-react/editors/DateTimeEditor.js +302 -302
  147. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  148. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  149. package/lib/cjs/components-react/editors/EditorContainer.d.ts +82 -82
  150. package/lib/cjs/components-react/editors/EditorContainer.js +182 -182
  151. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  152. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  153. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
  154. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +179 -179
  155. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  156. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  157. package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
  158. package/lib/cjs/components-react/editors/EnumEditor.js +188 -188
  159. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  161. package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
  162. package/lib/cjs/components-react/editors/IconEditor.js +165 -165
  163. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  165. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  166. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +147 -147
  167. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  168. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  169. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
  170. package/lib/cjs/components-react/editors/NumericInputEditor.js +171 -171
  171. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  172. package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
  173. package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
  174. package/lib/cjs/components-react/editors/PopupButton.js +113 -113
  175. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  176. package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
  177. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
  178. package/lib/cjs/components-react/editors/PropertyEditorManager.js +147 -147
  179. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  180. package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
  181. package/lib/cjs/components-react/editors/SliderEditor.js +248 -248
  182. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  183. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  184. package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
  185. package/lib/cjs/components-react/editors/TextEditor.js +159 -159
  186. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  187. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  188. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
  189. package/lib/cjs/components-react/editors/TextareaEditor.js +202 -202
  190. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  191. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  192. package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +62 -62
  193. package/lib/cjs/components-react/editors/ThemedEnumEditor.js +206 -206
  194. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  195. package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
  196. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
  197. package/lib/cjs/components-react/editors/ToggleEditor.js +156 -156
  198. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  199. package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
  200. package/lib/cjs/components-react/editors/variables.scss +6 -6
  201. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
  202. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +46 -46
  203. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  204. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  205. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +51 -51
  206. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  207. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -39
  208. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  209. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +58 -117
  210. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  211. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  212. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  213. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +83 -0
  214. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  215. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +21 -10
  216. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  217. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +85 -75
  218. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  219. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +44 -40
  220. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -28
  221. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  222. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +86 -78
  223. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  224. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
  225. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -11
  226. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  227. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +52 -46
  228. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  229. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -12
  230. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  231. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +61 -55
  232. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  233. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -10
  234. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  235. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +48 -42
  236. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  237. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +86 -42
  238. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  239. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +241 -151
  240. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  241. package/lib/cjs/components-react/filter-builder/Operators.d.ts +44 -26
  242. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  243. package/lib/cjs/components-react/filter-builder/Operators.js +130 -112
  244. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  245. package/lib/cjs/components-react/filter-builder/Types.d.ts +37 -17
  246. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  247. package/lib/cjs/components-react/filter-builder/Types.js +18 -8
  248. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  249. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
  250. package/lib/cjs/components-react/filtering/FilteringInput.js +139 -139
  251. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  252. package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
  253. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
  254. package/lib/cjs/components-react/filtering/ResultSelector.js +121 -121
  255. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  256. package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
  257. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  258. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +109 -109
  259. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  260. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
  261. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
  262. package/lib/cjs/components-react/inputs/ParsedInput.js +110 -110
  263. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  264. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  265. package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
  266. package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
  267. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  268. package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
  269. package/lib/cjs/components-react/properties/LinkHandler.js +104 -104
  270. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  271. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
  272. package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
  273. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  275. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +56 -56
  276. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  278. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  279. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
  280. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  281. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  282. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +92 -92
  283. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  284. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  285. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +93 -93
  286. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  287. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  288. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  289. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +56 -56
  290. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  291. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  292. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
  293. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  294. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  295. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +108 -108
  296. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
  298. package/lib/cjs/components-react/properties/renderers/PropertyView.js +101 -101
  299. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  300. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
  301. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  302. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +55 -55
  303. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  304. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  305. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +43 -43
  306. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  307. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  308. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +50 -50
  309. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  310. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  311. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  312. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +58 -58
  313. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  314. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  315. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +55 -55
  316. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  317. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  318. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
  319. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  320. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
  321. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +95 -95
  322. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  323. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  324. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +55 -55
  325. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  326. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  327. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +88 -88
  328. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  329. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  330. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +55 -55
  331. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  332. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  333. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +66 -66
  334. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  335. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  336. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +39 -39
  337. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  338. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  339. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +50 -50
  340. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  341. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
  342. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +88 -88
  343. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  344. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  345. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  346. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +48 -48
  347. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  349. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +43 -43
  350. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  352. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
  353. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  354. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  355. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
  356. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  358. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +98 -98
  359. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  361. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +49 -49
  362. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
  364. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +60 -60
  365. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +70 -68
  367. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  368. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +185 -184
  369. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  370. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +72 -72
  371. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +86 -91
  372. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  373. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
  374. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  376. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +121 -121
  377. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  379. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +68 -68
  380. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
  382. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +267 -267
  383. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +102 -91
  385. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
  386. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
  387. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  388. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  389. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +184 -184
  390. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  391. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  392. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
  393. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  394. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  395. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +51 -51
  396. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  397. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  398. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
  399. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  400. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  401. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
  402. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  403. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  404. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
  405. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  406. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  407. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
  408. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  409. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  410. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
  411. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  412. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  413. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
  414. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  415. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  416. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
  417. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  418. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  419. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  420. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
  421. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  422. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
  423. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  424. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
  425. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  426. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  427. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
  428. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  429. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  430. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
  431. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  432. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  433. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
  434. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  435. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
  436. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +55 -55
  437. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  438. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
  439. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
  440. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  441. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
  442. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +87 -87
  443. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  444. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  445. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
  446. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  447. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  448. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +68 -68
  449. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  450. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -43
  451. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  452. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +82 -82
  453. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  454. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
  455. package/lib/cjs/components-react/selectable-content/SelectableContent.js +72 -72
  456. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  457. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +21 -21
  458. package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +57 -57
  459. package/lib/cjs/components-react/table/SimpleTableDataProvider.js +254 -254
  460. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  461. package/lib/cjs/components-react/table/TableDataProvider.d.ts +165 -165
  462. package/lib/cjs/components-react/table/TableDataProvider.js +32 -32
  463. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  464. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +241 -241
  465. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +114 -114
  466. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  467. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  468. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
  469. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js +36 -36
  470. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  471. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
  472. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +192 -192
  473. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  474. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
  475. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js +103 -103
  476. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  477. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
  478. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +363 -363
  479. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  480. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
  481. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js +403 -403
  482. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  483. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
  484. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +87 -87
  485. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  486. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
  487. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +74 -74
  488. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  489. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
  490. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +22 -22
  491. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  492. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
  493. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +87 -87
  494. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  495. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
  496. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +22 -22
  497. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  498. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
  499. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +183 -183
  500. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  501. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  502. package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +14 -14
  503. package/lib/cjs/components-react/table/component/ColumnDragLayer.js +65 -65
  504. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  505. package/lib/cjs/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
  506. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js +101 -101
  507. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  508. package/lib/cjs/components-react/table/component/Table.d.ts +307 -307
  509. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  510. package/lib/cjs/components-react/table/component/Table.js +1334 -1334
  511. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  512. package/lib/cjs/components-react/table/component/Table.scss +200 -200
  513. package/lib/cjs/components-react/table/component/TableCell.d.ts +100 -100
  514. package/lib/cjs/components-react/table/component/TableCell.js +136 -136
  515. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  516. package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
  517. package/lib/cjs/components-react/table/component/TableColumn.d.ts +30 -30
  518. package/lib/cjs/components-react/table/component/TableColumn.js +32 -32
  519. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  520. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
  521. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js +41 -41
  522. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  523. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
  524. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js +32 -32
  525. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  526. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
  527. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js +188 -188
  528. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  529. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
  530. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js +149 -149
  531. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  532. package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
  533. package/lib/cjs/components-react/toolbar/Item.js +46 -46
  534. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  535. package/lib/cjs/components-react/toolbar/Item.scss +122 -122
  536. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
  537. package/lib/cjs/components-react/toolbar/ItemWrapper.js +59 -59
  538. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  539. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  540. package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
  541. package/lib/cjs/components-react/toolbar/Items.js +76 -76
  542. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  543. package/lib/cjs/components-react/toolbar/Items.scss +94 -94
  544. package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
  545. package/lib/cjs/components-react/toolbar/Overflow.js +72 -72
  546. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  547. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  548. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
  549. package/lib/cjs/components-react/toolbar/OverflowPanel.js +68 -68
  550. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  551. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  552. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
  553. package/lib/cjs/components-react/toolbar/PopupItem.js +105 -105
  554. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  555. package/lib/cjs/components-react/toolbar/PopupItem.scss +86 -86
  556. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  557. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +171 -171
  558. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  559. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  560. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +142 -142
  561. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  562. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
  563. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  564. package/lib/cjs/components-react/toolbar/Toolbar.js +94 -94
  565. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  566. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  567. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
  568. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  569. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +481 -481
  570. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  571. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  572. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  573. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +48 -48
  574. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  575. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  576. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  577. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +43 -43
  578. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  579. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  580. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  581. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +43 -43
  582. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  583. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  584. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  585. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +45 -45
  586. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  587. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
  588. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  589. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +43 -43
  590. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  591. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
  592. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  593. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  594. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +46 -46
  595. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  596. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  597. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  598. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +62 -62
  599. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  600. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  601. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  602. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
  603. package/lib/cjs/components-react/toolbar/useDragInteraction.js +125 -125
  604. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  605. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
  606. package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
  607. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  608. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
  609. package/lib/cjs/components-react/tree/HighlightingEngine.js +61 -61
  610. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  611. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  612. package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
  613. package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
  614. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  615. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
  616. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +41 -41
  617. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  618. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
  619. package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
  620. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  621. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +118 -118
  622. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  623. package/lib/cjs/components-react/tree/TreeDataProvider.js +55 -55
  624. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  625. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +87 -87
  626. package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
  627. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  628. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
  629. package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
  630. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  631. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  632. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
  633. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  634. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  635. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
  636. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  637. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  638. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
  639. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  640. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  641. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +82 -82
  642. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  643. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
  644. package/lib/cjs/components-react/tree/controlled/TreeModel.js +336 -336
  645. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  646. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  647. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
  648. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  649. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
  650. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +328 -328
  651. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  652. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +57 -60
  653. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  654. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +107 -107
  655. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  656. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  657. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  658. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +89 -89
  659. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  660. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
  661. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  662. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +57 -57
  663. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  664. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  665. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +63 -63
  666. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  667. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -75
  668. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  669. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +252 -252
  670. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  671. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  672. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +244 -244
  673. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  674. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  675. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
  676. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  677. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  678. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +253 -253
  679. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  680. package/lib/cjs/components-react.d.ts +213 -215
  681. package/lib/cjs/components-react.d.ts.map +1 -1
  682. package/lib/cjs/components-react.js +232 -234
  683. package/lib/cjs/components-react.js.map +1 -1
  684. package/lib/esm/components-react/UiComponents.d.ts +35 -35
  685. package/lib/esm/components-react/UiComponents.js +75 -75
  686. package/lib/esm/components-react/UiComponents.js.map +1 -1
  687. package/lib/esm/components-react/_target.scss +9 -9
  688. package/lib/esm/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
  689. package/lib/esm/components-react/breadcrumb/BeInspireTree.js +891 -891
  690. package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  691. package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
  692. package/lib/esm/components-react/breadcrumb/Breadcrumb.js +622 -622
  693. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  694. package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
  695. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
  696. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js +205 -205
  697. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  698. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
  699. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js +41 -41
  700. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  701. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
  702. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js +130 -130
  703. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  704. package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
  705. package/lib/esm/components-react/common/DateUtils.js +68 -68
  706. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  707. package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
  708. package/lib/esm/components-react/common/DelayedSpinner.js +34 -34
  709. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  710. package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
  711. package/lib/esm/components-react/common/HighlightedText.js +31 -31
  712. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  713. package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
  714. package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
  715. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  716. package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
  717. package/lib/esm/components-react/common/IImageLoader.js +8 -8
  718. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  719. package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
  720. package/lib/esm/components-react/common/ImageRenderer.js +118 -118
  721. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  722. package/lib/esm/components-react/common/Links.d.ts +12 -12
  723. package/lib/esm/components-react/common/Links.js +64 -64
  724. package/lib/esm/components-react/common/Links.js.map +1 -1
  725. package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
  726. package/lib/esm/components-react/common/PageOptions.js +8 -8
  727. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  728. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
  729. package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
  730. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  731. package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
  732. package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
  733. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  734. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  735. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
  736. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  737. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +15 -12
  738. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  739. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +44 -41
  740. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  741. package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
  742. package/lib/esm/components-react/common/UseRerender.js +27 -27
  743. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  744. package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
  745. package/lib/esm/components-react/common/countMatchesInString.js +27 -27
  746. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  747. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
  748. package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
  749. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  750. package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
  751. package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
  752. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  753. package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
  754. package/lib/esm/components-react/common/showhide/ShowHideDialog.js +67 -67
  755. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  756. package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +14 -14
  757. package/lib/esm/components-react/common/showhide/ShowHideItem.js +8 -8
  758. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  759. package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
  760. package/lib/esm/components-react/common/showhide/ShowHideMenu.js +100 -100
  761. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  762. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  763. package/lib/esm/components-react/converters/BooleanTypeConverter.js +50 -50
  764. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  765. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  766. package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
  767. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  768. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  769. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
  770. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  771. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
  772. package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
  773. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  774. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  775. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
  776. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  777. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  778. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
  779. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  780. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
  781. package/lib/esm/components-react/converters/NumericTypeConverter.js +107 -107
  782. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  783. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
  784. package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
  785. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  786. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
  787. package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
  788. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  789. package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
  790. package/lib/esm/components-react/converters/TypeConverter.js +73 -73
  791. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  792. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
  793. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  794. package/lib/esm/components-react/converters/TypeConverterManager.js +45 -46
  795. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  796. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  797. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
  798. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  799. package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
  800. package/lib/esm/components-react/datepicker/DateField.js +129 -129
  801. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  802. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  803. package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
  804. package/lib/esm/components-react/datepicker/DatePicker.js +174 -174
  805. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  806. package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
  807. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  808. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +75 -75
  809. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  810. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  811. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
  812. package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
  813. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  814. package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
  815. package/lib/esm/components-react/datepicker/TimeField.js +225 -225
  816. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  817. package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
  818. package/lib/esm/components-react/editors/BooleanEditor.d.ts +44 -44
  819. package/lib/esm/components-react/editors/BooleanEditor.js +126 -126
  820. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  821. package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
  822. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
  823. package/lib/esm/components-react/editors/CustomNumberEditor.js +268 -268
  824. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  825. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  826. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
  827. package/lib/esm/components-react/editors/DateTimeEditor.js +274 -274
  828. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  829. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  830. package/lib/esm/components-react/editors/EditorContainer.d.ts +82 -82
  831. package/lib/esm/components-react/editors/EditorContainer.js +159 -159
  832. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  833. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  834. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
  835. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +152 -152
  836. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  837. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  838. package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
  839. package/lib/esm/components-react/editors/EnumEditor.js +161 -161
  840. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  841. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  842. package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
  843. package/lib/esm/components-react/editors/IconEditor.js +138 -138
  844. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  845. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  846. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  847. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
  848. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  849. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  850. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
  851. package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
  852. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  853. package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
  854. package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
  855. package/lib/esm/components-react/editors/PopupButton.js +85 -85
  856. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  857. package/lib/esm/components-react/editors/PopupButton.scss +119 -119
  858. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
  859. package/lib/esm/components-react/editors/PropertyEditorManager.js +121 -121
  860. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  861. package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
  862. package/lib/esm/components-react/editors/SliderEditor.js +221 -221
  863. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  864. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  865. package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
  866. package/lib/esm/components-react/editors/TextEditor.js +133 -133
  867. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  868. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  869. package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
  870. package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
  871. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  872. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  873. package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +62 -62
  874. package/lib/esm/components-react/editors/ThemedEnumEditor.js +179 -179
  875. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  876. package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
  877. package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
  878. package/lib/esm/components-react/editors/ToggleEditor.js +129 -129
  879. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  880. package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
  881. package/lib/esm/components-react/editors/variables.scss +6 -6
  882. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
  883. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +23 -23
  884. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  885. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  886. package/lib/esm/components-react/favorite/FavoritePropertyList.js +28 -28
  887. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  888. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -39
  889. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  890. package/lib/esm/components-react/filter-builder/FilterBuilder.js +35 -93
  891. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  892. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  893. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  894. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +60 -0
  895. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  896. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +21 -10
  897. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  898. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +62 -52
  899. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  900. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +44 -40
  901. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -28
  902. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  903. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +62 -54
  904. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  905. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
  906. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -11
  907. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  908. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +29 -23
  909. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  910. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -12
  911. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  912. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +38 -32
  913. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  914. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -10
  915. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  916. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +25 -19
  917. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  918. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +86 -42
  919. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  920. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +215 -126
  921. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  922. package/lib/esm/components-react/filter-builder/Operators.d.ts +44 -26
  923. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  924. package/lib/esm/components-react/filter-builder/Operators.js +124 -106
  925. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  926. package/lib/esm/components-react/filter-builder/Types.d.ts +37 -17
  927. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  928. package/lib/esm/components-react/filter-builder/Types.js +14 -4
  929. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  930. package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
  931. package/lib/esm/components-react/filtering/FilteringInput.js +113 -113
  932. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  933. package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
  934. package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
  935. package/lib/esm/components-react/filtering/ResultSelector.js +95 -95
  936. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  937. package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
  938. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  939. package/lib/esm/components-react/iconpicker/IconPickerButton.js +83 -83
  940. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  941. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
  942. package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
  943. package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
  944. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  945. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  946. package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
  947. package/lib/esm/components-react/properties/ItemStyle.js +61 -61
  948. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  949. package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
  950. package/lib/esm/components-react/properties/LinkHandler.js +79 -79
  951. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  952. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
  953. package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
  954. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  955. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  956. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
  957. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  958. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  959. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  960. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
  961. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  962. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  963. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +69 -69
  964. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  965. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  966. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
  967. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  968. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  969. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  970. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +33 -33
  971. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  972. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  973. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
  974. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  975. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  976. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
  977. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  978. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
  979. package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
  980. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  981. package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
  982. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  983. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +32 -32
  984. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  985. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  986. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
  987. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  988. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  989. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +27 -27
  990. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  991. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  992. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  993. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
  994. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  995. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  996. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +32 -32
  997. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  998. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  999. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
  1000. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  1001. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
  1002. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +71 -71
  1003. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  1004. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  1005. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +32 -32
  1006. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  1007. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  1008. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +62 -62
  1009. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  1010. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  1011. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
  1012. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  1013. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  1014. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
  1015. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  1016. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  1017. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
  1018. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  1019. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  1020. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
  1021. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  1022. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
  1023. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +65 -65
  1024. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  1025. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  1026. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  1027. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
  1028. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  1029. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  1030. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
  1031. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  1032. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  1033. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
  1034. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  1035. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  1036. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
  1037. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  1038. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  1039. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +75 -75
  1040. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  1041. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  1042. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
  1043. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  1044. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
  1045. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +37 -37
  1046. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  1047. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +70 -68
  1048. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  1049. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +159 -158
  1050. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  1051. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +72 -72
  1052. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +86 -91
  1053. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  1054. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +51 -51
  1055. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  1056. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  1057. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
  1058. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  1059. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  1060. package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
  1061. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  1062. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
  1063. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +241 -241
  1064. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  1065. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +102 -91
  1066. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
  1067. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
  1068. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  1069. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  1070. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +180 -180
  1071. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  1072. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  1073. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
  1074. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  1075. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  1076. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +47 -47
  1077. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  1078. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  1079. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
  1080. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  1081. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  1082. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
  1083. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  1084. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  1085. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
  1086. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  1087. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  1088. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
  1089. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  1090. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  1091. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
  1092. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  1093. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  1094. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
  1095. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  1096. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  1097. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
  1098. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  1099. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  1100. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  1101. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
  1102. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  1103. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
  1104. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  1105. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
  1106. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  1107. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  1108. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
  1109. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  1110. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  1111. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
  1112. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  1113. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  1114. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
  1115. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  1116. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
  1117. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +51 -51
  1118. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  1119. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
  1120. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
  1121. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  1122. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
  1123. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +83 -83
  1124. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  1125. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  1126. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
  1127. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  1128. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  1129. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
  1130. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  1131. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -43
  1132. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  1133. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +59 -59
  1134. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  1135. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
  1136. package/lib/esm/components-react/selectable-content/SelectableContent.js +48 -48
  1137. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  1138. package/lib/esm/components-react/selectable-content/SelectableContent.scss +21 -21
  1139. package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +57 -57
  1140. package/lib/esm/components-react/table/SimpleTableDataProvider.js +250 -250
  1141. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  1142. package/lib/esm/components-react/table/TableDataProvider.d.ts +165 -165
  1143. package/lib/esm/components-react/table/TableDataProvider.js +28 -28
  1144. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  1145. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +241 -241
  1146. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +107 -107
  1147. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  1148. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  1149. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
  1150. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js +32 -32
  1151. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  1152. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
  1153. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +188 -188
  1154. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  1155. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
  1156. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js +99 -99
  1157. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  1158. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
  1159. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +359 -359
  1160. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  1161. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
  1162. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js +399 -399
  1163. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  1164. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
  1165. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +83 -83
  1166. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  1167. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
  1168. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +48 -48
  1169. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  1170. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
  1171. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +15 -15
  1172. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  1173. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
  1174. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +80 -80
  1175. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  1176. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
  1177. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +15 -15
  1178. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  1179. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
  1180. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +176 -176
  1181. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  1182. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  1183. package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +14 -14
  1184. package/lib/esm/components-react/table/component/ColumnDragLayer.js +39 -39
  1185. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  1186. package/lib/esm/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
  1187. package/lib/esm/components-react/table/component/DragDropHeaderCell.js +75 -75
  1188. package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  1189. package/lib/esm/components-react/table/component/Table.d.ts +307 -307
  1190. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  1191. package/lib/esm/components-react/table/component/Table.js +1307 -1307
  1192. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  1193. package/lib/esm/components-react/table/component/Table.scss +200 -200
  1194. package/lib/esm/components-react/table/component/TableCell.d.ts +100 -100
  1195. package/lib/esm/components-react/table/component/TableCell.js +108 -108
  1196. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  1197. package/lib/esm/components-react/table/component/TableCell.scss +48 -48
  1198. package/lib/esm/components-react/table/component/TableColumn.d.ts +30 -30
  1199. package/lib/esm/components-react/table/component/TableColumn.js +28 -28
  1200. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  1201. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
  1202. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js +18 -18
  1203. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  1204. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
  1205. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js +29 -29
  1206. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  1207. package/lib/esm/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
  1208. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js +165 -165
  1209. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  1210. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
  1211. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js +126 -126
  1212. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  1213. package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
  1214. package/lib/esm/components-react/toolbar/Item.js +21 -21
  1215. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  1216. package/lib/esm/components-react/toolbar/Item.scss +122 -122
  1217. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
  1218. package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
  1219. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  1220. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  1221. package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
  1222. package/lib/esm/components-react/toolbar/Items.js +50 -50
  1223. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  1224. package/lib/esm/components-react/toolbar/Items.scss +94 -94
  1225. package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
  1226. package/lib/esm/components-react/toolbar/Overflow.js +45 -45
  1227. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  1228. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  1229. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
  1230. package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
  1231. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  1232. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  1233. package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
  1234. package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
  1235. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  1236. package/lib/esm/components-react/toolbar/PopupItem.scss +86 -86
  1237. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  1238. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
  1239. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  1240. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  1241. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
  1242. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  1243. package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
  1244. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  1245. package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
  1246. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  1247. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  1248. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
  1249. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  1250. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +445 -445
  1251. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  1252. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  1253. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  1254. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
  1255. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  1256. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  1257. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  1258. package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
  1259. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  1260. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  1261. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  1262. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
  1263. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  1264. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  1265. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  1266. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
  1267. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  1268. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
  1269. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  1270. package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
  1271. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  1272. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
  1273. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  1274. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  1275. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
  1276. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  1277. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  1278. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  1279. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
  1280. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  1281. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  1282. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  1283. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
  1284. package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
  1285. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1286. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
  1287. package/lib/esm/components-react/toolbar/utilities/Direction.js +89 -89
  1288. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1289. package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
  1290. package/lib/esm/components-react/tree/HighlightingEngine.js +38 -38
  1291. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1292. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  1293. package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
  1294. package/lib/esm/components-react/tree/ImageLoader.js +21 -21
  1295. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1296. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
  1297. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +37 -37
  1298. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1299. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
  1300. package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
  1301. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1302. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +118 -118
  1303. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1304. package/lib/esm/components-react/tree/TreeDataProvider.js +47 -47
  1305. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1306. package/lib/esm/components-react/tree/controlled/Observable.d.ts +87 -87
  1307. package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
  1308. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1309. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
  1310. package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
  1311. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1312. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  1313. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
  1314. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1315. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  1316. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
  1317. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1318. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  1319. package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
  1320. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1321. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  1322. package/lib/esm/components-react/tree/controlled/TreeHooks.js +74 -74
  1323. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1324. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
  1325. package/lib/esm/components-react/tree/controlled/TreeModel.js +324 -324
  1326. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1327. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  1328. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
  1329. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1330. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
  1331. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +319 -319
  1332. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1333. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +57 -60
  1334. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  1335. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +84 -84
  1336. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1337. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  1338. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  1339. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +63 -63
  1340. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1341. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
  1342. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  1343. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
  1344. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1345. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  1346. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
  1347. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1348. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -75
  1349. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1350. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
  1351. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1352. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  1353. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +239 -239
  1354. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1355. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  1356. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
  1357. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1358. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  1359. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +248 -248
  1360. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1361. package/lib/esm/components-react.d.ts +213 -215
  1362. package/lib/esm/components-react.d.ts.map +1 -1
  1363. package/lib/esm/components-react.js +218 -220
  1364. package/lib/esm/components-react.js.map +1 -1
  1365. package/lib/public/locales/en/UiComponents.json +139 -139
  1366. package/package.json +22 -12
@@ -1,1335 +1,1335 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /* eslint-disable deprecation/deprecation */
7
- /** @packageDocumentation
8
- * @module Table
9
- */
10
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
28
- };
29
- var __importDefault = (this && this.__importDefault) || function (mod) {
30
- return (mod && mod.__esModule) ? mod : { "default": mod };
31
- };
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.TableRow = exports.Table = exports.TableSelectionTarget = void 0;
34
- require("./Table.scss");
35
- require("../columnfiltering/ColumnFiltering.scss");
36
- const classnames_1 = __importDefault(require("classnames"));
37
- const dedupe_1 = __importDefault(require("classnames/dedupe"));
38
- const lodash_1 = require("lodash");
39
- const React = __importStar(require("react"));
40
- const react_data_grid_1 = __importDefault(require("react-data-grid"));
41
- const core_bentley_1 = require("@itwin/core-bentley");
42
- const appui_abstract_1 = require("@itwin/appui-abstract");
43
- const core_react_1 = require("@itwin/core-react");
44
- const SelectionHandler_1 = require("../../common/selection/SelectionHandler");
45
- const SelectionModes_1 = require("../../common/selection/SelectionModes");
46
- const ShowHideMenu_1 = require("../../common/showhide/ShowHideMenu");
47
- const TypeConverterManager_1 = require("../../converters/TypeConverterManager");
48
- const ItemStyle_1 = require("../../properties/ItemStyle");
49
- const ValueRendererManager_1 = require("../../properties/ValueRendererManager");
50
- const ColumnFiltering_1 = require("../columnfiltering/ColumnFiltering");
51
- const MultiSelectFilter_1 = require("../columnfiltering/data-grid-addons/MultiSelectFilter");
52
- const NumericFilter_1 = require("../columnfiltering/data-grid-addons/NumericFilter");
53
- const SingleSelectFilter_1 = require("../columnfiltering/data-grid-addons/SingleSelectFilter");
54
- const DataGridFilterParser_1 = require("../columnfiltering/DataGridFilterParser");
55
- const MultiValueFilter_1 = require("../columnfiltering/multi-value-filter/MultiValueFilter");
56
- const TableFilterDescriptorCollection_1 = require("../columnfiltering/TableFilterDescriptorCollection");
57
- const TableDataProvider_1 = require("../TableDataProvider");
58
- const DragDropHeaderCell_1 = require("./DragDropHeaderCell");
59
- const TableCell_1 = require("./TableCell");
60
- const TableColumn_1 = require("./TableColumn");
61
- // cspell:ignore Overscan columnfiltering Dedupe popout
62
- const TABLE_ROW_HEIGHT = 27;
63
- const TABLE_FILTER_ROW_HEIGHT = 32;
64
- /**
65
- * Specifies table selection target.
66
- * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this enum.
67
- * @public
68
- */
69
- var TableSelectionTarget;
70
- (function (TableSelectionTarget) {
71
- TableSelectionTarget[TableSelectionTarget["Row"] = 0] = "Row";
72
- TableSelectionTarget[TableSelectionTarget["Cell"] = 1] = "Cell";
73
- })(TableSelectionTarget = exports.TableSelectionTarget || (exports.TableSelectionTarget = {}));
74
- /** Scroll Direction */
75
- var SCROLL_DIRECTION;
76
- (function (SCROLL_DIRECTION) {
77
- SCROLL_DIRECTION["UP"] = "upwards";
78
- SCROLL_DIRECTION["DOWN"] = "downwards";
79
- SCROLL_DIRECTION["LEFT"] = "left";
80
- SCROLL_DIRECTION["RIGHT"] = "right";
81
- SCROLL_DIRECTION["NONE"] = "none";
82
- })(SCROLL_DIRECTION || (SCROLL_DIRECTION = {}));
83
- const initialState = {
84
- columns: [],
85
- hiddenColumns: [],
86
- rows: [],
87
- rowsCount: 0,
88
- cellEditorState: { active: false },
89
- menuVisible: false,
90
- menuX: 0,
91
- menuY: 0,
92
- gridContainer: null,
93
- };
94
- /** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */
95
- class TableRowRenderer extends React.Component {
96
- render() {
97
- const creatorFn = this.props.rowRendererCreator();
98
- return creatorFn(this.props);
99
- }
100
- }
101
- /**
102
- * Table React component that displays rows and columns in a grid along with a header
103
- * @deprecated Use the Table component in @itwin/itwinui-react instead, which does not use this class.
104
- * @public
105
- */
106
- class Table extends React.Component {
107
- /** @internal */
108
- constructor(props) {
109
- super(props);
110
- this._pageAmount = 100;
111
- this._disposableListeners = new core_bentley_1.DisposableList();
112
- this._isMounted = false;
113
- this._currentUpdate = 0 /* None */;
114
- this._pendingUpdate = 0 /* None */;
115
- this._rowLoadGuid = core_bentley_1.Guid.createValue();
116
- this._selectedRowIndices = new Set();
117
- this._selectedCellKeys = new Map(); // column keys -> rowIndices
118
- this._pressedItemSelected = false;
119
- this._tableRef = React.createRef();
120
- this._gridRef = React.createRef();
121
- this._gridContainerRef = React.createRef();
122
- this._filterRowShown = false;
123
- this._topRowIndex = 0;
124
- this._pokeScrollTimer = new core_react_1.Timer(100);
125
- /** @internal */
126
- this.state = initialState;
127
- this._onRowsSelected = (rowIndices, replace) => {
128
- if (this.props.onRowsSelected)
129
- this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises
130
- };
131
- this._onRowsDeselected = (rowIndices) => {
132
- if (this.props.onRowsDeselected)
133
- this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises
134
- };
135
- this._onCellsSelected = (cellKeys, replace) => {
136
- if (this.props.onCellsSelected)
137
- this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises
138
- };
139
- this._onCellsDeselected = (cellKeys) => {
140
- if (this.props.onCellsDeselected)
141
- this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises
142
- };
143
- this._onColumnsChanged = async () => {
144
- await this.updateColumns();
145
- this._cellItemSelectionHandlers = undefined;
146
- };
147
- // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.
148
- // Force a re-render by scrolling up 1 then down 1
149
- this._pokeScrollAfterUpdate = () => {
150
- // istanbul ignore else
151
- if (this._gridRef.current && this._topRowIndex !== 0) {
152
- const grid = this._gridRef.current;
153
- // istanbul ignore else
154
- if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {
155
- const gridCanvas = grid.getDataGridDOMNode().querySelector(".react-grid-Canvas");
156
- // Scroll up 1
157
- let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;
158
- gridCanvas.scrollTop = top;
159
- // Scroll back down
160
- top = TABLE_ROW_HEIGHT * this._topRowIndex;
161
- gridCanvas.scrollTop = top;
162
- }
163
- }
164
- };
165
- this._queuePokeScroll = () => {
166
- this._unsetPokeScrollTimeout();
167
- this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });
168
- this._pokeScrollTimer.start();
169
- };
170
- this._unsetPokeScrollTimeout = () => {
171
- this._pokeScrollTimer.stop();
172
- };
173
- this._onRowsChanged = async () => {
174
- await this.updateRows();
175
- this._queuePokeScroll();
176
- };
177
- this._columnDescriptionToReactDataGridColumn = (columnDescription) => {
178
- const isEditable = !!columnDescription.editable;
179
- const column = {
180
- key: columnDescription.key,
181
- name: columnDescription.label,
182
- icon: columnDescription.icon,
183
- width: columnDescription.width,
184
- resizable: !!columnDescription.resizable,
185
- sortable: !!columnDescription.sortable,
186
- draggable: !!this.props.reorderableColumns,
187
- filterable: !!columnDescription.filterable,
188
- };
189
- column.events = {};
190
- if (this.props.onCellContextMenu) {
191
- column.events.onContextMenu = this.cellContextMenu.bind(this, column);
192
- }
193
- if (isEditable) {
194
- column.events.onClick = this.cellEditOnClick.bind(this, column);
195
- }
196
- if (columnDescription.filterRenderer !== undefined) {
197
- switch (columnDescription.filterRenderer) {
198
- case TableDataProvider_1.FilterRenderer.Numeric:
199
- column.filterRenderer = NumericFilter_1.NumericFilter;
200
- break;
201
- case TableDataProvider_1.FilterRenderer.MultiSelect:
202
- column.filterRenderer = MultiSelectFilter_1.MultiSelectFilter;
203
- break;
204
- case TableDataProvider_1.FilterRenderer.MultiValue:
205
- column.filterRenderer = MultiValueFilter_1.MultiValueFilter;
206
- break;
207
- case TableDataProvider_1.FilterRenderer.SingleSelect:
208
- column.filterRenderer = SingleSelectFilter_1.SingleSelectFilter;
209
- break;
210
- case TableDataProvider_1.FilterRenderer.Text:
211
- // column.filterRenderer is not set for the Text input filter
212
- break;
213
- }
214
- }
215
- return column;
216
- };
217
- this._getCellItem = (row, columnKey) => {
218
- return row.cells.find((cell) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };
219
- };
220
- this._rowComponentSelectionHandler = {
221
- deselectAll: () => {
222
- this._selectedRowIndices = new Set();
223
- if (!this._pressedItemSelected) {
224
- this._deactivateCellEditor();
225
- this.forceUpdate();
226
- }
227
- },
228
- selectBetween: (rowIndex1, rowIndex2) => {
229
- const selections = [];
230
- const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;
231
- const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;
232
- for (let i = lowerNumber; i <= higherNumber; i++) {
233
- // istanbul ignore else
234
- if (!this._selectedRowIndices.has(i)) {
235
- selections.push(i);
236
- this._selectedRowIndices.add(i);
237
- }
238
- }
239
- this.forceUpdate();
240
- return selections;
241
- },
242
- updateSelection: (selections, deselections) => {
243
- for (const rowIndex of selections) {
244
- // istanbul ignore else
245
- if (!this._selectedRowIndices.has(rowIndex))
246
- this._selectedRowIndices.add(rowIndex);
247
- }
248
- for (const rowIndex of deselections) {
249
- // istanbul ignore else
250
- if (this._selectedRowIndices.has(rowIndex))
251
- this._selectedRowIndices.delete(rowIndex);
252
- }
253
- this.forceUpdate();
254
- },
255
- areEqual: (item1, item2) => item1 === item2,
256
- };
257
- this._cellComponentSelectionHandler = {
258
- deselectAll: () => {
259
- this._selectedCellKeys = new Map();
260
- this.forceUpdate();
261
- },
262
- selectBetween: (item1, item2) => {
263
- const selections = [];
264
- const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;
265
- const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;
266
- let secondItem;
267
- let firstItemFound = false;
268
- let secondItemFound = false;
269
- for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {
270
- for (const column of this.state.columns) {
271
- if (!firstItemFound) {
272
- if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {
273
- firstItemFound = true;
274
- secondItem = item2;
275
- }
276
- else {
277
- // istanbul ignore else
278
- if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {
279
- firstItemFound = true;
280
- secondItem = item1;
281
- }
282
- else
283
- continue;
284
- }
285
- }
286
- const cellKey = { rowIndex, columnKey: column.key };
287
- if (!this.isCellSelected(cellKey))
288
- selections.push(cellKey);
289
- if (rowIndex === secondItem.rowIndex && column.key === secondItem.columnKey) {
290
- secondItemFound = true;
291
- break;
292
- }
293
- }
294
- if (secondItemFound)
295
- break;
296
- }
297
- this.selectCells(selections);
298
- this.forceUpdate();
299
- return selections;
300
- },
301
- updateSelection: (selections, deselections) => {
302
- this.selectCells(selections);
303
- this.deselectCells(deselections);
304
- this.forceUpdate();
305
- },
306
- areEqual: (item1, item2) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,
307
- };
308
- this._rowGetter = (i) => {
309
- if (this.state.rows[i])
310
- return this.state.rows[i];
311
- // get another page of rows
312
- // note: always start loading at the beginning of a page to avoid
313
- // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)
314
- this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises
315
- // Return placeholder object
316
- return { item: { key: "", cells: [] }, index: i, cells: {} };
317
- };
318
- this._rowGetterAsync = (0, lodash_1.memoize)(async (index) => {
319
- // istanbul ignore next
320
- if (index < 0)
321
- return;
322
- // load up to `this._pageAmount` more rows
323
- const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);
324
- const loadResult = await this.loadRows(index, maxIndex);
325
- // istanbul ignore next
326
- if (!this._isMounted)
327
- return;
328
- // istanbul ignore next
329
- if (this._pendingUpdate !== 0 /* None */)
330
- return;
331
- const selectedRowIndices = this._selectedRowIndices;
332
- for (const rowIndex of loadResult.selectedRowIndices) {
333
- // istanbul ignore else
334
- if (!selectedRowIndices.has(rowIndex))
335
- selectedRowIndices.add(rowIndex);
336
- }
337
- this._selectedRowIndices = selectedRowIndices;
338
- this.selectCells(loadResult.selectedCellKeys);
339
- this.setState((prev) => {
340
- const rows = [...prev.rows];
341
- loadResult.rows.forEach((r, i) => { rows[index + i] = r; });
342
- return { rows };
343
- }, async () => {
344
- if (this.props.onRowsLoaded)
345
- this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);
346
- const showFilter = this._isShowFilterRow();
347
- if (showFilter !== this._filterRowShown)
348
- this.toggleFilterRow(showFilter);
349
- });
350
- });
351
- this._handleGridSort = (columnKey, sortDirection) => {
352
- let directionEnum;
353
- switch (sortDirection) {
354
- case "ASC":
355
- directionEnum = core_react_1.SortDirection.Ascending;
356
- break;
357
- case "DESC":
358
- directionEnum = core_react_1.SortDirection.Descending;
359
- break;
360
- case "NONE":
361
- default:
362
- directionEnum = core_react_1.SortDirection.NoSort;
363
- break;
364
- }
365
- // Sort the column
366
- this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises
367
- this._queuePokeScroll();
368
- };
369
- this._createRowRenderer = () => {
370
- return (props) => {
371
- // istanbul ignore next
372
- const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;
373
- const { row: rowProps, ...reactDataGridRowProps } = props;
374
- if (this._tableSelectionTarget === TableSelectionTarget.Row) {
375
- const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));
376
- const onClick = (e) => selectionFunction(e.shiftKey, e.ctrlKey);
377
- const onMouseDown = () => {
378
- this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);
379
- };
380
- const onMouseMove = (e) => {
381
- // istanbul ignore else
382
- if (e.buttons === 1)
383
- this._rowSelectionHandler.updateDragAction(props.row.index);
384
- };
385
- const isSelected = this._selectedRowIndices.has(props.row.index);
386
- const cells = this.createRowCells(rowProps, isSelected);
387
- const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });
388
- return React.createElement("div", { className: (0, classnames_1.default)("components-table-row"), onClickCapture: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown, style: props.row.style, role: "presentation" }, row);
389
- }
390
- else {
391
- const cells = this.createRowCells(rowProps, false);
392
- return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });
393
- }
394
- };
395
- };
396
- // eslint-disable-next-line @typescript-eslint/naming-convention
397
- this.renderRow = (item, props) => {
398
- return React.createElement(TableRow, { key: item.key, ...props });
399
- };
400
- this._onMouseUp = () => {
401
- if (this._tableSelectionTarget === TableSelectionTarget.Row)
402
- this._rowSelectionHandler.completeDragAction();
403
- else
404
- this._cellSelectionHandler.completeDragAction();
405
- };
406
- this._onMouseDown = () => {
407
- document.addEventListener("mouseup", this._onMouseUp, { capture: true, once: true });
408
- };
409
- this._onHeaderDrop = (source, target) => {
410
- const cols = [...this.state.columns];
411
- const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);
412
- const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);
413
- cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);
414
- // istanbul ignore else
415
- if (this.props.settingsIdentifier) {
416
- const stateStorage = this.props.settingsStorage || /* istanbul ignore next */ new core_react_1.LocalStateStorage();
417
- const keys = cols.map((col) => col.key);
418
- stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnReorder", keys); // eslint-disable-line @typescript-eslint/no-floating-promises
419
- }
420
- this.setState({ columns: [] }, () => {
421
- this.setState({ columns: cols });
422
- });
423
- };
424
- this._deactivateCellEditor = () => {
425
- if (this.state.cellEditorState.active)
426
- this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));
427
- };
428
- this._onCellCommit = async (args) => {
429
- // istanbul ignore else
430
- if (this.props.onPropertyUpdated) {
431
- const cellUpdatedArgs = {
432
- rowIndex: this.state.cellEditorState.rowIndex,
433
- colIndex: this.state.cellEditorState.colIndex,
434
- cellKey: this.state.cellEditorState.cellKey,
435
- };
436
- const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);
437
- // istanbul ignore else
438
- if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {
439
- this._deactivateCellEditor();
440
- await this.updateRows();
441
- }
442
- else {
443
- this._deactivateCellEditor();
444
- }
445
- }
446
- };
447
- this._getVisibleColumns = () => {
448
- return this.state.columns
449
- .filter((tableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)
450
- .map((tableColumn) => tableColumn.reactDataGridColumn);
451
- };
452
- this._handleShowHideContextMenu = (e) => {
453
- const header = e.currentTarget.querySelector(".react-grid-Header");
454
- // istanbul ignore else
455
- if (header) {
456
- const headerRect = header.getBoundingClientRect();
457
- const offsetY = headerRect.top;
458
- const height = headerRect.height;
459
- const x = e.clientX, y = e.clientY;
460
- // istanbul ignore else
461
- if (y < offsetY + height) {
462
- e.preventDefault();
463
- this.setState({
464
- menuX: x, menuY: y,
465
- menuVisible: true,
466
- });
467
- }
468
- }
469
- };
470
- this._hideContextMenu = () => {
471
- // istanbul ignore else
472
- if (this.props.showHideColumns)
473
- this.setState({ menuVisible: false });
474
- };
475
- // istanbul ignore next
476
- this._handleShowHideChange = (cols) => {
477
- this.setState({ hiddenColumns: cols });
478
- if (this.props.settingsIdentifier) {
479
- const stateStorage = this.props.settingsStorage || new core_react_1.LocalStateStorage();
480
- stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnShowHideHiddenColumns", cols); // eslint-disable-line @typescript-eslint/no-floating-promises
481
- }
482
- return true;
483
- };
484
- // istanbul ignore next
485
- this._onDialogOpen = (dialogState) => this.setState({ dialog: dialogState });
486
- // istanbul ignore next
487
- this._onDialogClose = () => this.setState({ dialog: undefined });
488
- this._handleFilterChange = (filter) => {
489
- const columnKey = filter.column.key;
490
- const tableColumn = this.state.columns.find((column) => column.key === columnKey);
491
- // istanbul ignore else
492
- if (tableColumn) {
493
- setTimeout(async () => {
494
- await DataGridFilterParser_1.DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);
495
- });
496
- }
497
- };
498
- // istanbul ignore next
499
- this._handleOnClearFilters = () => {
500
- this.filterDescriptors.clear();
501
- this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises
502
- };
503
- this._applyFilter = async () => {
504
- // istanbul ignore else
505
- if (this.props.dataProvider.applyFilterDescriptors) {
506
- await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);
507
- await this.updateRows();
508
- // istanbul ignore else
509
- if (this.props.onApplyFilter)
510
- this.props.onApplyFilter();
511
- }
512
- };
513
- // istanbul ignore next
514
- this._getValidFilterValues = (columnKey) => {
515
- const tableColumn = this.state.columns.find((column) => column.reactDataGridColumn.key === columnKey);
516
- if (tableColumn && tableColumn.distinctValueCollection) {
517
- return tableColumn.distinctValueCollection.values;
518
- }
519
- return [];
520
- };
521
- // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer
522
- // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });
523
- // private _onPopupHide = () => this.setState({ popup: undefined });
524
- // istanbul ignore next
525
- this._onScroll = (scrollData) => {
526
- this._topRowIndex = scrollData.rowVisibleStartIdx;
527
- if (this.props.onScrollToRow)
528
- this.props.onScrollToRow(scrollData.rowVisibleStartIdx);
529
- };
530
- this._onKeyboardEvent = (e, keyDown) => {
531
- if ((0, core_react_1.isNavigationKey)(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {
532
- if (this._tableSelectionTarget === TableSelectionTarget.Row) {
533
- const handleKeyboardSelectItem = (index) => {
534
- const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));
535
- selectionFunction(e.shiftKey, e.ctrlKey);
536
- };
537
- const handleKeyboardActivateItem = (index) => {
538
- // istanbul ignore else
539
- if (this.state.keyboardEditorCellKey) {
540
- const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);
541
- // istanbul ignore else
542
- if (0 <= columnIndex && columnIndex < this.state.columns.length) {
543
- const columnDescription = this.state.columns[columnIndex].columnDescription;
544
- // istanbul ignore else
545
- if (columnDescription && columnDescription.editable)
546
- this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);
547
- }
548
- }
549
- };
550
- const handleCrossAxisArrowKey = (forward) => {
551
- // istanbul ignore else
552
- if (this.state.keyboardEditorCellKey) {
553
- let newEditorCellKey;
554
- const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);
555
- // istanbul ignore else
556
- if (columnIndex >= 0) {
557
- let newColIndex = columnIndex;
558
- while (!newEditorCellKey) {
559
- if (forward)
560
- newColIndex++;
561
- else
562
- newColIndex--;
563
- if (newColIndex < 0)
564
- newColIndex = this.state.columns.length - 1;
565
- else if (newColIndex >= this.state.columns.length)
566
- newColIndex = 0;
567
- // istanbul ignore next
568
- if (newColIndex === columnIndex)
569
- break;
570
- const isEditable = this.state.columns[newColIndex].columnDescription.editable;
571
- if (isEditable)
572
- newEditorCellKey = this.state.columns[newColIndex].key;
573
- }
574
- // istanbul ignore else
575
- if (newEditorCellKey)
576
- this.setState({ keyboardEditorCellKey: newEditorCellKey });
577
- }
578
- }
579
- };
580
- const itemKeyboardNavigator = new core_react_1.ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);
581
- itemKeyboardNavigator.orientation = core_react_1.Orientation.Vertical;
582
- itemKeyboardNavigator.allowWrap = false;
583
- itemKeyboardNavigator.itemCount = this.state.rowsCount;
584
- itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;
585
- const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;
586
- keyDown ?
587
- itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :
588
- itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);
589
- }
590
- else {
591
- const handleKeyboardSelectItem = (index) => {
592
- const processedCell = this._cellSelectionHandler.processedItem;
593
- // istanbul ignore else
594
- if (processedCell) {
595
- const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };
596
- const selectionHandler = this.createCellItemSelectionHandler(cellKey);
597
- const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
598
- selectionFunction(e.shiftKey, e.ctrlKey);
599
- }
600
- };
601
- const handleKeyboardActivateItem = (index) => {
602
- const processedCell = this._cellSelectionHandler.processedItem;
603
- // istanbul ignore else
604
- if (processedCell) {
605
- const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);
606
- // istanbul ignore else
607
- if (0 <= columnIndex && columnIndex < this.state.columns.length) {
608
- const columnDescription = this.state.columns[columnIndex].columnDescription;
609
- // istanbul ignore else
610
- if (columnDescription && columnDescription.editable)
611
- this.activateCellEditor(index, columnIndex, processedCell.columnKey);
612
- }
613
- }
614
- };
615
- const handleCrossAxisArrowKey = (forward) => {
616
- const processedCell = this._cellSelectionHandler.processedItem;
617
- // istanbul ignore else
618
- if (processedCell) {
619
- const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);
620
- // istanbul ignore else
621
- if (columnIndex >= 0) {
622
- let newColIndex = columnIndex;
623
- if (forward)
624
- newColIndex++;
625
- else
626
- newColIndex--;
627
- if (newColIndex < 0)
628
- newColIndex = this.state.columns.length - 1;
629
- else if (newColIndex >= this.state.columns.length)
630
- newColIndex = 0;
631
- const columnKey = this.state.columns[newColIndex].key;
632
- const cellKey = { rowIndex: processedCell.rowIndex, columnKey };
633
- const selectionHandler = this.createCellItemSelectionHandler(cellKey);
634
- const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
635
- selectionFunction(e.shiftKey, e.ctrlKey);
636
- }
637
- }
638
- };
639
- const itemKeyboardNavigator = new core_react_1.ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);
640
- itemKeyboardNavigator.orientation = core_react_1.Orientation.Vertical;
641
- itemKeyboardNavigator.allowWrap = false;
642
- itemKeyboardNavigator.itemCount = this.state.rowsCount;
643
- itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;
644
- const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;
645
- keyDown ?
646
- itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :
647
- itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);
648
- }
649
- }
650
- };
651
- this._onKeyDown = (e) => this._onKeyboardEvent(e, true);
652
- this._onKeyUp = (e) => this._onKeyboardEvent(e, false);
653
- if (props.pageAmount)
654
- this._pageAmount = props.pageAmount;
655
- this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));
656
- this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));
657
- this._rowSelectionHandler = new SelectionHandler_1.SelectionHandler(props.selectionMode ? props.selectionMode : SelectionModes_1.SelectionMode.Single);
658
- this._cellSelectionHandler = new SelectionHandler_1.SelectionHandler(props.selectionMode ? props.selectionMode : SelectionModes_1.SelectionMode.Single);
659
- this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;
660
- this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;
661
- this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;
662
- this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;
663
- }
664
- // eslint-disable-next-line @typescript-eslint/naming-convention
665
- get rowItemSelectionHandlers() {
666
- // istanbul ignore else
667
- if (!this._rowItemSelectionHandlers) {
668
- this._rowItemSelectionHandlers = [];
669
- for (let i = 0; i < this.state.rowsCount; i++)
670
- this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));
671
- }
672
- return this._rowItemSelectionHandlers;
673
- }
674
- // eslint-disable-next-line @typescript-eslint/naming-convention
675
- get cellItemSelectionHandlers() {
676
- // istanbul ignore else
677
- if (!this._cellItemSelectionHandlers) {
678
- this._cellItemSelectionHandlers = [];
679
- for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {
680
- this._cellItemSelectionHandlers[rowIndex] = [];
681
- for (const column of this.state.columns) {
682
- this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));
683
- }
684
- }
685
- }
686
- return this._cellItemSelectionHandlers;
687
- }
688
- async *createRowIterator(rowIndices) {
689
- for (const index of rowIndices)
690
- yield await this.props.dataProvider.getRow(index);
691
- }
692
- async *createCellIterator(cellKeys) {
693
- for (const key of cellKeys) {
694
- const row = await this.props.dataProvider.getRow(key.rowIndex);
695
- yield [row, this._getCellItem(row, key.columnKey)];
696
- }
697
- }
698
- get _tableSelectionTarget() {
699
- return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;
700
- }
701
- /** @internal */
702
- componentDidUpdate(previousProps, previousState) {
703
- this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionModes_1.SelectionMode.Single;
704
- this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionModes_1.SelectionMode.Single;
705
- if (previousProps.dataProvider !== this.props.dataProvider) {
706
- this._disposableListeners.dispose();
707
- this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));
708
- this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));
709
- }
710
- if (this.props.dataProvider !== previousProps.dataProvider) {
711
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
712
- this.update();
713
- return;
714
- }
715
- // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.
716
- if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)
717
- this.forceUpdate();
718
- if (this.props.isCellSelected !== previousProps.isCellSelected
719
- || this.props.isRowSelected !== previousProps.isRowSelected
720
- || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {
721
- this.updateSelectedRows();
722
- this.updateSelectedCells();
723
- }
724
- if (this.props.scrollToRow !== previousProps.scrollToRow) {
725
- // istanbul ignore else
726
- if (this.props.scrollToRow !== undefined)
727
- this.scrollToRow(this.props.scrollToRow);
728
- }
729
- /* istanbul ignore next */
730
- if (this.props.onRender)
731
- this.props.onRender();
732
- }
733
- /** @internal */
734
- componentDidMount() {
735
- let gridContainer = null;
736
- this._isMounted = true;
737
- // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode
738
- // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the
739
- // same HTMLDivElement from grid as was used previously by ReactResizeDetector.
740
- if (this._gridRef.current) {
741
- const grid = this._gridRef.current;
742
- gridContainer = grid.getDataGridDOMNode();
743
- }
744
- this.setState({ gridContainer }, () => {
745
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
746
- this.update();
747
- });
748
- }
749
- /** @internal */
750
- componentWillUnmount() {
751
- this._isMounted = false;
752
- this._disposableListeners.dispose();
753
- this._unsetPokeScrollTimeout();
754
- }
755
- scrollToRow(rowIndex) {
756
- // istanbul ignore else
757
- if (this._gridRef.current) {
758
- const grid = this._gridRef.current;
759
- // istanbul ignore else
760
- if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {
761
- const top = TABLE_ROW_HEIGHT * rowIndex;
762
- const gridCanvas = grid.getDataGridDOMNode().querySelector(".react-grid-Canvas");
763
- gridCanvas.scrollTop = top;
764
- this._topRowIndex = rowIndex;
765
- // istanbul ignore else
766
- if (this.props.onScrollToRow)
767
- this.props.onScrollToRow(rowIndex);
768
- }
769
- }
770
- }
771
- setFocusToSelected() {
772
- // istanbul ignore next
773
- if (this._gridRef.current) {
774
- const grid = this._gridRef.current;
775
- // istanbul ignore else
776
- if (grid.getDataGridDOMNode) {
777
- const gridSelected = grid.getDataGridDOMNode().querySelector(".rdg-selected");
778
- // istanbul ignore else
779
- if (gridSelected) {
780
- gridSelected.focus();
781
- }
782
- }
783
- }
784
- }
785
- async handlePendingUpdate() {
786
- const update = this._pendingUpdate;
787
- this._pendingUpdate = 0 /* None */;
788
- let status = 0 /* Continue */;
789
- if (update === 2 /* Complete */)
790
- status = await this.updateColumns();
791
- // istanbul ignore else
792
- if (status === 0 /* Continue */ && update > 0 /* None */)
793
- status = await this.updateRows();
794
- return status;
795
- }
796
- async updateColumns() {
797
- if (this._currentUpdate !== 0 /* None */) {
798
- this._pendingUpdate = 2 /* Complete */;
799
- return 1 /* Abort */;
800
- }
801
- this._currentUpdate = 2 /* Complete */;
802
- const columnDescriptions = await this.props.dataProvider.getColumns();
803
- this._currentUpdate = 0 /* None */;
804
- // istanbul ignore next
805
- if (!this._isMounted)
806
- return 1 /* Abort */;
807
- if (this._pendingUpdate === 2 /* Complete */) {
808
- await this.handlePendingUpdate();
809
- return 1 /* Abort */;
810
- }
811
- let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);
812
- if (this.props.settingsIdentifier) {
813
- const stateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new core_react_1.LocalStateStorage();
814
- const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, "ColumnReorder");
815
- // istanbul ignore next
816
- if (reorderResult.status === core_react_1.UiStateStorageStatus.Success) {
817
- const setting = reorderResult.setting;
818
- // map columns according to the keys in columns, in the order of the loaded array of keys
819
- dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);
820
- }
821
- else if (reorderResult.status === core_react_1.UiStateStorageStatus.NotFound) {
822
- const keys = columnDescriptions.map((col) => col.key);
823
- await stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnReorder", keys);
824
- }
825
- const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, "ColumnShowHideHiddenColumns");
826
- // istanbul ignore next
827
- if (showhideResult.status === core_react_1.UiStateStorageStatus.Success) {
828
- const hiddenColumns = showhideResult.setting;
829
- this.setState({ hiddenColumns });
830
- }
831
- }
832
- let keyboardEditorCellKey;
833
- const tableColumns = dataGridColumns.map((dataGridColumn, index) => {
834
- const tableColumn = new TableColumn_1.TableColumn(this, columnDescriptions[index], dataGridColumn);
835
- tableColumn.dataProvider = this.props.dataProvider;
836
- if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)
837
- keyboardEditorCellKey = tableColumn.key;
838
- if (tableColumn.filterable)
839
- dataGridColumn.filterableColumn = tableColumn;
840
- return tableColumn;
841
- });
842
- for (const tableColumn of tableColumns) {
843
- if (tableColumn.filterable)
844
- tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);
845
- }
846
- this.setState({ columns: tableColumns, keyboardEditorCellKey });
847
- if (this._pendingUpdate !== 0 /* None */) {
848
- return this.handlePendingUpdate();
849
- }
850
- return 0 /* Continue */;
851
- }
852
- async updateRows() {
853
- if (this._currentUpdate !== 0 /* None */) {
854
- if (this._pendingUpdate === 0 /* None */)
855
- this._pendingUpdate = 1 /* Rows */;
856
- return 1 /* Abort */;
857
- }
858
- this._currentUpdate = 1 /* Rows */;
859
- const rowsCount = await this.props.dataProvider.getRowsCount();
860
- this._currentUpdate = 0 /* None */;
861
- // istanbul ignore next
862
- if (!this._isMounted)
863
- return 1 /* Abort */;
864
- if (this._pendingUpdate !== 0 /* None */) {
865
- return this.handlePendingUpdate();
866
- }
867
- if (rowsCount !== this.state.rowsCount) {
868
- this._rowItemSelectionHandlers = undefined;
869
- this._cellItemSelectionHandlers = undefined;
870
- // when updating the rows with new data from dataProvider clear out existing selections
871
- this._selectedRowIndices.clear();
872
- this._selectedCellKeys.clear();
873
- }
874
- this._rowGetterAsync.cache.clear();
875
- this.setState({ rowsCount, rows: [] });
876
- return 0 /* Continue */;
877
- }
878
- /** @internal */
879
- async update() {
880
- let status = await this.updateColumns();
881
- if (status !== 1 /* Abort */)
882
- status = await this.updateRows();
883
- if (this.props.scrollToRow !== undefined)
884
- this.scrollToRow(this.props.scrollToRow);
885
- /* istanbul ignore next */
886
- if (this.props.onRender)
887
- this.props.onRender();
888
- return status;
889
- }
890
- /** @internal */
891
- updateSelectedRows() {
892
- const selectedRowIndices = new Set();
893
- if (this.props.isRowSelected) {
894
- for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {
895
- if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))
896
- selectedRowIndices.add(rowIndex);
897
- }
898
- }
899
- this._selectedRowIndices = selectedRowIndices;
900
- this.forceUpdate();
901
- }
902
- /** @internal */
903
- updateSelectedCells() {
904
- const selectedCellKeys = new Map();
905
- if (this.props.isCellSelected) {
906
- for (const column of this.state.columns) {
907
- const set = new Set();
908
- for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {
909
- // istanbul ignore next
910
- if (!this.state.rows[rowIndex])
911
- continue;
912
- const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);
913
- if (this.props.isCellSelected(rowIndex, cellItem))
914
- set.add(rowIndex);
915
- }
916
- // istanbul ignore else
917
- if (set.size !== 0)
918
- selectedCellKeys.set(column.key, set);
919
- }
920
- }
921
- this._selectedCellKeys = selectedCellKeys;
922
- this.forceUpdate();
923
- }
924
- isCellSelected(key) {
925
- const set = this._selectedCellKeys.get(key.columnKey);
926
- if (set)
927
- return set.has(key.rowIndex);
928
- return false;
929
- }
930
- selectCells(cellKeys) {
931
- for (const key of cellKeys) {
932
- let set = this._selectedCellKeys.get(key.columnKey);
933
- if (!set) {
934
- set = new Set();
935
- this._selectedCellKeys.set(key.columnKey, set);
936
- }
937
- set.add(key.rowIndex);
938
- }
939
- }
940
- deselectCells(cellKeys) {
941
- for (const key of cellKeys) {
942
- // istanbul ignore else
943
- const set = this._selectedCellKeys.get(key.columnKey);
944
- // istanbul ignore else
945
- if (set)
946
- set.delete(key.rowIndex);
947
- }
948
- }
949
- createRowItemSelectionHandler(rowIndex) {
950
- return {
951
- preselect: () => {
952
- this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);
953
- },
954
- select: () => {
955
- // istanbul ignore else
956
- if (!this._selectedRowIndices.has(rowIndex)) {
957
- this._selectedRowIndices.add(rowIndex);
958
- if (!this._pressedItemSelected)
959
- this.forceUpdate();
960
- }
961
- },
962
- deselect: () => {
963
- // istanbul ignore else
964
- if (this._selectedRowIndices.has(rowIndex)) {
965
- this._selectedRowIndices.delete(rowIndex);
966
- this.forceUpdate();
967
- }
968
- },
969
- isSelected: () => this._selectedRowIndices.has(rowIndex),
970
- item: () => rowIndex,
971
- };
972
- }
973
- createCellItemSelectionHandler(cellKey) {
974
- return {
975
- preselect: () => {
976
- this._pressedItemSelected = this.isCellSelected(cellKey);
977
- },
978
- select: () => {
979
- this.selectCells([cellKey]);
980
- this.forceUpdate();
981
- },
982
- deselect: () => {
983
- this.deselectCells([cellKey]);
984
- this.forceUpdate();
985
- },
986
- isSelected: () => this.isCellSelected(cellKey),
987
- item: () => cellKey,
988
- };
989
- }
990
- async renderCellContent(cellItem, column, displayValue) {
991
- if (column.icon)
992
- return () => React.createElement(TableCell_1.TableIconCellContent, { iconName: displayValue });
993
- return (props) => {
994
- var _a;
995
- return (React.createElement(TableCell_1.TableCellContent, { height: TABLE_ROW_HEIGHT, isSelected: props.isSelected, cellItem: cellItem, onDialogOpen: this._onDialogOpen, propertyValueRendererManager: this.props.propertyValueRendererManager
996
- ? this.props.propertyValueRendererManager
997
- : ValueRendererManager_1.PropertyValueRendererManager.defaultManager, style: { zIndex: (((_a = cellItem.mergedCellsCount) !== null && _a !== void 0 ? _a : 1) > 1) ? 1 : undefined } }));
998
- };
999
- }
1000
- async getCellDisplayValue(cellItem) {
1001
- var _a;
1002
- // istanbul ignore next
1003
- if (!cellItem.record || cellItem.record.value.valueFormat !== appui_abstract_1.PropertyValueFormat.Primitive)
1004
- return "";
1005
- const value = cellItem.record.value.value;
1006
- if (value === undefined)
1007
- return "";
1008
- const displayValue = await TypeConverterManager_1.TypeConverterManager
1009
- .getConverter(cellItem.record.property.typename, (_a = cellItem.record.property.converter) === null || _a === void 0 ? void 0 : _a.name)
1010
- .convertPropertyToString(cellItem.record.property, value);
1011
- return displayValue ? displayValue : /* istanbul ignore next */ "";
1012
- }
1013
- async createPropsForRowItem(item, index) {
1014
- const cellProps = {};
1015
- for (const column of this.state.columns) {
1016
- const cellItem = this._getCellItem(item, column.key);
1017
- const displayValue = await this.getCellDisplayValue(cellItem);
1018
- cellProps[column.key] = {
1019
- item: cellItem,
1020
- displayValue,
1021
- render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),
1022
- };
1023
- }
1024
- const rowStyle = ItemStyle_1.TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});
1025
- return {
1026
- item,
1027
- index,
1028
- cells: cellProps,
1029
- render: undefined,
1030
- style: rowStyle,
1031
- };
1032
- }
1033
- async loadRows(beginIndex, endIndex) {
1034
- const result = {
1035
- rows: [],
1036
- selectedRowIndices: [],
1037
- selectedCellKeys: [],
1038
- };
1039
- this._rowLoadGuid = core_bentley_1.Guid.createValue();
1040
- const currentSelectedRowGuid = this._rowLoadGuid;
1041
- const promises = new Array();
1042
- for (let i = beginIndex; i < endIndex; ++i) {
1043
- promises.push(this.props.dataProvider.getRow(i).then(async (rowData) => this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps))));
1044
- }
1045
- try {
1046
- result.rows = await Promise.all(promises);
1047
- }
1048
- catch { }
1049
- // istanbul ignore else
1050
- // Check if another loadRows got called while this one was still going
1051
- if (currentSelectedRowGuid === this._rowLoadGuid) {
1052
- for (const rowProps of result.rows) {
1053
- if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))
1054
- result.selectedRowIndices.push(rowProps.index);
1055
- if (this.props.isCellSelected) {
1056
- for (const column of this.state.columns) {
1057
- const cellItem = this._getCellItem(rowProps.item, column.key);
1058
- if (this.props.isCellSelected(rowProps.index, cellItem))
1059
- result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });
1060
- }
1061
- }
1062
- }
1063
- }
1064
- return result;
1065
- }
1066
- getColumnIndexFromKey(columnKey) {
1067
- return this.state.columns.findIndex((column) => column.key === columnKey);
1068
- }
1069
- async gridSortAsync(columnKey, directionEnum) {
1070
- const columnIndex = this.getColumnIndexFromKey(columnKey);
1071
- // istanbul ignore next
1072
- if (columnIndex < 0)
1073
- return;
1074
- await this.props.dataProvider.sort(columnIndex, directionEnum);
1075
- // istanbul ignore next
1076
- if (!this._isMounted)
1077
- return;
1078
- this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises
1079
- }
1080
- createRowCells(rowProps, isSelected) {
1081
- var _a;
1082
- const cells = {};
1083
- let gridColumns = [];
1084
- let foundHiddenColumns = 0;
1085
- // istanbul ignore else
1086
- if (this._gridRef.current && this._gridRef.current.getDataGridDOMNode)
1087
- gridColumns = this._gridRef.current.getDataGridDOMNode().querySelectorAll(".react-grid-HeaderCell");
1088
- for (let index = 0; index < this.state.columns.length; index++) {
1089
- const column = this.state.columns[index];
1090
- const cellProps = rowProps.cells[column.key];
1091
- if (!cellProps) {
1092
- continue;
1093
- }
1094
- // eslint-disable-next-line @typescript-eslint/naming-convention
1095
- const CellContent = cellProps.render;
1096
- const isEditorCell = this.state.cellEditorState.active
1097
- && this.state.cellEditorState.rowIndex === rowProps.index
1098
- && this.state.cellEditorState.colIndex === index
1099
- && cellProps.item.record;
1100
- let onClick;
1101
- let onMouseMove;
1102
- let onMouseDown;
1103
- let className;
1104
- const cellKey = { rowIndex: rowProps.index, columnKey: column.key };
1105
- if (this._tableSelectionTarget === TableSelectionTarget.Cell) {
1106
- const selectionHandler = this.createCellItemSelectionHandler(cellKey);
1107
- const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
1108
- onClick = (e) => selectionFunction(e.shiftKey, e.ctrlKey);
1109
- onMouseMove = (e) => {
1110
- // istanbul ignore else
1111
- if (e.buttons === 1)
1112
- this._cellSelectionHandler.updateDragAction(cellKey);
1113
- };
1114
- onMouseDown = () => {
1115
- this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);
1116
- };
1117
- className = (0, classnames_1.default)({ "is-selected": this.isCellSelected(cellKey) });
1118
- }
1119
- else {
1120
- if (this._selectedRowIndices.has(rowProps.index))
1121
- className = (0, classnames_1.default)({ "is-keyboard-editable": this.state.keyboardEditorCellKey === column.key });
1122
- }
1123
- className = (0, classnames_1.default)(className, this.getCellBorderStyle(cellKey));
1124
- const mergedAdjacentCellsCount = ((_a = cellProps.item.mergedCellsCount) !== null && _a !== void 0 ? _a : 1) - 1;
1125
- let cellWidth = 0;
1126
- for (let i = 0; i <= mergedAdjacentCellsCount; i++) {
1127
- const col = this.state.columns[index + i];
1128
- if (this.state.hiddenColumns.indexOf(col.key) === -1) {
1129
- const gridColumn = gridColumns[index + i - foundHiddenColumns];
1130
- const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;
1131
- cellWidth += gridColumnWidth;
1132
- }
1133
- else {
1134
- foundHiddenColumns++;
1135
- }
1136
- if (i > 0) {
1137
- cells[col.key] = (React.createElement(TableCell_1.TableCell, { className: className.replace("border-bottom", ""), title: "empty-cell", onClick: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown }));
1138
- }
1139
- const mergedColumn = this.state.columns[index + i];
1140
- const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };
1141
- className = (0, dedupe_1.default)(className, this.getCellBorderStyle(emptyCellKey));
1142
- }
1143
- index += mergedAdjacentCellsCount;
1144
- cells[column.key] = (React.createElement(TableCell_1.TableCell, { className: className, title: cellProps.displayValue, onClick: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown, cellEditingProps: isEditorCell ? {
1145
- onCancel: this._deactivateCellEditor,
1146
- onCommit: this._onCellCommit,
1147
- propertyRecord: cellProps.item.record,
1148
- setFocus: true,
1149
- } : undefined, style: { width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined } },
1150
- React.createElement(CellContent, { isSelected: isSelected })));
1151
- }
1152
- return cells;
1153
- }
1154
- getCellBorderStyle(key) {
1155
- const isCellSelected = (cellKey) => {
1156
- if (this._tableSelectionTarget === TableSelectionTarget.Row) {
1157
- return this._selectedRowIndices.has(cellKey.rowIndex);
1158
- }
1159
- return this.isCellSelected(cellKey);
1160
- };
1161
- const cellIsSelected = isCellSelected(key);
1162
- const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);
1163
- const isTopBorderVisible = () => {
1164
- if (key.rowIndex === 0) {
1165
- return cellIsSelected;
1166
- }
1167
- if (cellIsSelected) {
1168
- return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });
1169
- }
1170
- // Bottom border is rendered by drawing the top border on the node below
1171
- // Check if the node above needs its bottom border drawn
1172
- return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });
1173
- };
1174
- const isRightBorderVisible = () => {
1175
- if (!cellIsSelected) {
1176
- return false;
1177
- }
1178
- if (columnIndex === this.state.columns.length - 1) {
1179
- return true;
1180
- }
1181
- return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });
1182
- };
1183
- const isBottomBorderVisible = () => {
1184
- return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;
1185
- };
1186
- const isLeftBorderVisible = () => {
1187
- if (!cellIsSelected) {
1188
- return false;
1189
- }
1190
- if (columnIndex === 0) {
1191
- return true;
1192
- }
1193
- return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });
1194
- };
1195
- return (0, classnames_1.default)({
1196
- "border-top": isTopBorderVisible(),
1197
- "border-right": isRightBorderVisible(),
1198
- "border-bottom": isBottomBorderVisible(),
1199
- "border-left": isLeftBorderVisible(),
1200
- });
1201
- }
1202
- cellEditOnClick(column, _ev, args) {
1203
- // Prevent editing when property record is not primitive
1204
- // istanbul ignore else
1205
- if (this.state.rows[args.rowIdx]) {
1206
- const record = this._getCellItem(this.state.rows[0].item, column.key).record;
1207
- // istanbul ignore next
1208
- if (record && record.value.valueFormat !== appui_abstract_1.PropertyValueFormat.Primitive)
1209
- return;
1210
- }
1211
- if (this.state.keyboardEditorCellKey !== column.key)
1212
- this.setState({ keyboardEditorCellKey: column.key });
1213
- let activate = false;
1214
- if (this._pressedItemSelected)
1215
- activate = true;
1216
- if (activate)
1217
- this.activateCellEditor(args.rowIdx, args.idx, column.key);
1218
- else
1219
- this._deactivateCellEditor();
1220
- }
1221
- cellContextMenu(column, e, args) {
1222
- // istanbul ignore else
1223
- if (this.props.onCellContextMenu) {
1224
- const contextMenuArgs = {
1225
- rowIndex: args.rowIdx,
1226
- colIndex: args.idx,
1227
- cellKey: column.key,
1228
- event: e,
1229
- };
1230
- // istanbul ignore else
1231
- if (this.state.rows[args.rowIdx])
1232
- contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);
1233
- e.preventDefault();
1234
- this.props.onCellContextMenu(contextMenuArgs);
1235
- }
1236
- }
1237
- activateCellEditor(rowIndex, colIndex, cellKey) {
1238
- const cellEditorState = { active: true, rowIndex, colIndex, cellKey };
1239
- // istanbul ignore else
1240
- if (cellEditorState !== this.state.cellEditorState) {
1241
- this.setState({ cellEditorState }, () => {
1242
- // istanbul ignore else
1243
- if (this.props.onPropertyEditing)
1244
- this.props.onPropertyEditing(cellEditorState);
1245
- });
1246
- }
1247
- }
1248
- /** @internal */
1249
- shouldComponentUpdate(_props) {
1250
- return true;
1251
- }
1252
- _isShowFilterRow() {
1253
- return this.state.columns.some((tableColumn) => tableColumn.filterable);
1254
- }
1255
- /** Turn on/off filter row */
1256
- toggleFilterRow(showFilter) {
1257
- // istanbul ignore else
1258
- if (this._gridRef.current) {
1259
- const grid = this._gridRef.current;
1260
- // istanbul ignore else
1261
- if (grid.onToggleFilter && showFilter !== this._filterRowShown) {
1262
- grid.onToggleFilter();
1263
- this._filterRowShown = showFilter;
1264
- }
1265
- }
1266
- }
1267
- /** Gets the filter descriptors for the table.
1268
- * @internal
1269
- */
1270
- get filterDescriptors() {
1271
- if (undefined === this._filterDescriptors) {
1272
- this._filterDescriptors = new TableFilterDescriptorCollection_1.TableFilterDescriptorCollection();
1273
- this._filterDescriptors.logicalOperator = ColumnFiltering_1.FilterCompositionLogicalOperator.And;
1274
- }
1275
- return this._filterDescriptors;
1276
- }
1277
- /** Gets ECExpression to get property display value.
1278
- * @internal
1279
- */
1280
- // istanbul ignore next
1281
- getPropertyDisplayValueExpression(property) {
1282
- if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)
1283
- return this.props.dataProvider.getPropertyDisplayValueExpression(property);
1284
- return property;
1285
- }
1286
- /** Determines if focus is in an input element - for filter checking */
1287
- isFocusOnInputElement() {
1288
- const element = document.activeElement;
1289
- return element &&
1290
- (element instanceof HTMLInputElement ||
1291
- element instanceof HTMLSelectElement ||
1292
- element instanceof HTMLTextAreaElement);
1293
- }
1294
- /** @internal */
1295
- render() {
1296
- const rowRenderer = React.createElement(TableRowRenderer, { rowRendererCreator: () => this._createRowRenderer() });
1297
- const visibleColumns = this._getVisibleColumns();
1298
- const tableClassName = (0, classnames_1.default)("components-table", "components-smallEditor-host", this.props.className, {
1299
- "hide-header": this.props.hideHeader,
1300
- "striped-rows": this.props.stripedRows,
1301
- "row-selection": this._tableSelectionTarget === TableSelectionTarget.Row,
1302
- "cell-selection": this._tableSelectionTarget === TableSelectionTarget.Cell,
1303
- });
1304
- return (React.createElement(React.Fragment, null,
1305
- React.createElement("div", { className: tableClassName, style: this.props.style, onMouseDown: this._onMouseDown, onContextMenu: this.props.showHideColumns ? this._handleShowHideContextMenu : undefined, onKeyDown: this._onKeyDown, onKeyUp: this._onKeyUp, role: "presentation" },
1306
- this.props.showHideColumns &&
1307
- React.createElement(ShowHideMenu_1.ShowHideMenu, { opened: this.state.menuVisible, items: this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name })), x: this.state.menuX, y: this.state.menuY, initialHidden: this.state.hiddenColumns, onClose: this._hideContextMenu, onShowHideChange: this._handleShowHideChange }),
1308
- React.createElement(core_react_1.ElementResizeObserver, { watchedElement: this.state.gridContainer, render: ({ width, height }) => {
1309
- setTimeout(() => this._queuePokeScroll());
1310
- return (React.createElement(react_data_grid_1.default, { ref: this._gridRef, columns: visibleColumns, rowGetter: this._rowGetter, rowRenderer: rowRenderer, rowsCount: this.state.rowsCount, ...(this.props.reorderableColumns ? {
1311
- draggableHeaderCell: DragDropHeaderCell_1.DragDropHeaderCell,
1312
- onHeaderDrop: this._onHeaderDrop,
1313
- } : {}), minHeight: height, minWidth: width, headerRowHeight: TABLE_ROW_HEIGHT, rowHeight: TABLE_ROW_HEIGHT, onGridSort: this._handleGridSort, enableRowSelect: null, onAddFilter: this._handleFilterChange, onClearFilters: this._handleOnClearFilters, headerFiltersHeight: TABLE_FILTER_ROW_HEIGHT, getValidFilterValues: this._getValidFilterValues, onScroll: this._onScroll }));
1314
- } })),
1315
- React.createElement("div", { ref: this._tableRef }, this.state.dialog
1316
- ?
1317
- // istanbul ignore next
1318
- React.createElement(core_react_1.Dialog, { opened: true, onClose: this._onDialogClose, title: this.state.dialog.title, height: "50vh" }, this.state.dialog.content)
1319
- : undefined)));
1320
- }
1321
- }
1322
- exports.Table = Table;
1323
- /**
1324
- * Default component for rendering a row for the Table
1325
- * @internal
1326
- */
1327
- class TableRow extends React.Component {
1328
- /** @internal */
1329
- render() {
1330
- const { cells, isSelected, ...props } = this.props;
1331
- return (React.createElement(react_data_grid_1.default.Row, { ...props, row: cells, isSelected: isSelected }));
1332
- }
1333
- }
1334
- exports.TableRow = TableRow;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /* eslint-disable deprecation/deprecation */
7
+ /** @packageDocumentation
8
+ * @module Table
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.TableRow = exports.Table = exports.TableSelectionTarget = void 0;
34
+ require("./Table.scss");
35
+ require("../columnfiltering/ColumnFiltering.scss");
36
+ const classnames_1 = __importDefault(require("classnames"));
37
+ const dedupe_1 = __importDefault(require("classnames/dedupe"));
38
+ const lodash_1 = require("lodash");
39
+ const React = __importStar(require("react"));
40
+ const react_data_grid_1 = __importDefault(require("react-data-grid"));
41
+ const core_bentley_1 = require("@itwin/core-bentley");
42
+ const appui_abstract_1 = require("@itwin/appui-abstract");
43
+ const core_react_1 = require("@itwin/core-react");
44
+ const SelectionHandler_1 = require("../../common/selection/SelectionHandler");
45
+ const SelectionModes_1 = require("../../common/selection/SelectionModes");
46
+ const ShowHideMenu_1 = require("../../common/showhide/ShowHideMenu");
47
+ const TypeConverterManager_1 = require("../../converters/TypeConverterManager");
48
+ const ItemStyle_1 = require("../../properties/ItemStyle");
49
+ const ValueRendererManager_1 = require("../../properties/ValueRendererManager");
50
+ const ColumnFiltering_1 = require("../columnfiltering/ColumnFiltering");
51
+ const MultiSelectFilter_1 = require("../columnfiltering/data-grid-addons/MultiSelectFilter");
52
+ const NumericFilter_1 = require("../columnfiltering/data-grid-addons/NumericFilter");
53
+ const SingleSelectFilter_1 = require("../columnfiltering/data-grid-addons/SingleSelectFilter");
54
+ const DataGridFilterParser_1 = require("../columnfiltering/DataGridFilterParser");
55
+ const MultiValueFilter_1 = require("../columnfiltering/multi-value-filter/MultiValueFilter");
56
+ const TableFilterDescriptorCollection_1 = require("../columnfiltering/TableFilterDescriptorCollection");
57
+ const TableDataProvider_1 = require("../TableDataProvider");
58
+ const DragDropHeaderCell_1 = require("./DragDropHeaderCell");
59
+ const TableCell_1 = require("./TableCell");
60
+ const TableColumn_1 = require("./TableColumn");
61
+ // cspell:ignore Overscan columnfiltering Dedupe popout
62
+ const TABLE_ROW_HEIGHT = 27;
63
+ const TABLE_FILTER_ROW_HEIGHT = 32;
64
+ /**
65
+ * Specifies table selection target.
66
+ * @deprecated in 3.0. Use the Table component in @itwin/itwinui-react instead, which does not use this enum.
67
+ * @public
68
+ */
69
+ var TableSelectionTarget;
70
+ (function (TableSelectionTarget) {
71
+ TableSelectionTarget[TableSelectionTarget["Row"] = 0] = "Row";
72
+ TableSelectionTarget[TableSelectionTarget["Cell"] = 1] = "Cell";
73
+ })(TableSelectionTarget = exports.TableSelectionTarget || (exports.TableSelectionTarget = {}));
74
+ /** Scroll Direction */
75
+ var SCROLL_DIRECTION;
76
+ (function (SCROLL_DIRECTION) {
77
+ SCROLL_DIRECTION["UP"] = "upwards";
78
+ SCROLL_DIRECTION["DOWN"] = "downwards";
79
+ SCROLL_DIRECTION["LEFT"] = "left";
80
+ SCROLL_DIRECTION["RIGHT"] = "right";
81
+ SCROLL_DIRECTION["NONE"] = "none";
82
+ })(SCROLL_DIRECTION || (SCROLL_DIRECTION = {}));
83
+ const initialState = {
84
+ columns: [],
85
+ hiddenColumns: [],
86
+ rows: [],
87
+ rowsCount: 0,
88
+ cellEditorState: { active: false },
89
+ menuVisible: false,
90
+ menuX: 0,
91
+ menuY: 0,
92
+ gridContainer: null,
93
+ };
94
+ /** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */
95
+ class TableRowRenderer extends React.Component {
96
+ render() {
97
+ const creatorFn = this.props.rowRendererCreator();
98
+ return creatorFn(this.props);
99
+ }
100
+ }
101
+ /**
102
+ * Table React component that displays rows and columns in a grid along with a header
103
+ * @deprecated in 3.0. Use the Table component in @itwin/itwinui-react instead, which does not use this class.
104
+ * @public
105
+ */
106
+ class Table extends React.Component {
107
+ /** @internal */
108
+ constructor(props) {
109
+ super(props);
110
+ this._pageAmount = 100;
111
+ this._disposableListeners = new core_bentley_1.DisposableList();
112
+ this._isMounted = false;
113
+ this._currentUpdate = 0 /* None */;
114
+ this._pendingUpdate = 0 /* None */;
115
+ this._rowLoadGuid = core_bentley_1.Guid.createValue();
116
+ this._selectedRowIndices = new Set();
117
+ this._selectedCellKeys = new Map(); // column keys -> rowIndices
118
+ this._pressedItemSelected = false;
119
+ this._tableRef = React.createRef();
120
+ this._gridRef = React.createRef();
121
+ this._gridContainerRef = React.createRef();
122
+ this._filterRowShown = false;
123
+ this._topRowIndex = 0;
124
+ this._pokeScrollTimer = new core_react_1.Timer(100);
125
+ /** @internal */
126
+ this.state = initialState;
127
+ this._onRowsSelected = (rowIndices, replace) => {
128
+ if (this.props.onRowsSelected)
129
+ this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises
130
+ };
131
+ this._onRowsDeselected = (rowIndices) => {
132
+ if (this.props.onRowsDeselected)
133
+ this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises
134
+ };
135
+ this._onCellsSelected = (cellKeys, replace) => {
136
+ if (this.props.onCellsSelected)
137
+ this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises
138
+ };
139
+ this._onCellsDeselected = (cellKeys) => {
140
+ if (this.props.onCellsDeselected)
141
+ this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises
142
+ };
143
+ this._onColumnsChanged = async () => {
144
+ await this.updateColumns();
145
+ this._cellItemSelectionHandlers = undefined;
146
+ };
147
+ // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.
148
+ // Force a re-render by scrolling up 1 then down 1
149
+ this._pokeScrollAfterUpdate = () => {
150
+ // istanbul ignore else
151
+ if (this._gridRef.current && this._topRowIndex !== 0) {
152
+ const grid = this._gridRef.current;
153
+ // istanbul ignore else
154
+ if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {
155
+ const gridCanvas = grid.getDataGridDOMNode().querySelector(".react-grid-Canvas");
156
+ // Scroll up 1
157
+ let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;
158
+ gridCanvas.scrollTop = top;
159
+ // Scroll back down
160
+ top = TABLE_ROW_HEIGHT * this._topRowIndex;
161
+ gridCanvas.scrollTop = top;
162
+ }
163
+ }
164
+ };
165
+ this._queuePokeScroll = () => {
166
+ this._unsetPokeScrollTimeout();
167
+ this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });
168
+ this._pokeScrollTimer.start();
169
+ };
170
+ this._unsetPokeScrollTimeout = () => {
171
+ this._pokeScrollTimer.stop();
172
+ };
173
+ this._onRowsChanged = async () => {
174
+ await this.updateRows();
175
+ this._queuePokeScroll();
176
+ };
177
+ this._columnDescriptionToReactDataGridColumn = (columnDescription) => {
178
+ const isEditable = !!columnDescription.editable;
179
+ const column = {
180
+ key: columnDescription.key,
181
+ name: columnDescription.label,
182
+ icon: columnDescription.icon,
183
+ width: columnDescription.width,
184
+ resizable: !!columnDescription.resizable,
185
+ sortable: !!columnDescription.sortable,
186
+ draggable: !!this.props.reorderableColumns,
187
+ filterable: !!columnDescription.filterable,
188
+ };
189
+ column.events = {};
190
+ if (this.props.onCellContextMenu) {
191
+ column.events.onContextMenu = this.cellContextMenu.bind(this, column);
192
+ }
193
+ if (isEditable) {
194
+ column.events.onClick = this.cellEditOnClick.bind(this, column);
195
+ }
196
+ if (columnDescription.filterRenderer !== undefined) {
197
+ switch (columnDescription.filterRenderer) {
198
+ case TableDataProvider_1.FilterRenderer.Numeric:
199
+ column.filterRenderer = NumericFilter_1.NumericFilter;
200
+ break;
201
+ case TableDataProvider_1.FilterRenderer.MultiSelect:
202
+ column.filterRenderer = MultiSelectFilter_1.MultiSelectFilter;
203
+ break;
204
+ case TableDataProvider_1.FilterRenderer.MultiValue:
205
+ column.filterRenderer = MultiValueFilter_1.MultiValueFilter;
206
+ break;
207
+ case TableDataProvider_1.FilterRenderer.SingleSelect:
208
+ column.filterRenderer = SingleSelectFilter_1.SingleSelectFilter;
209
+ break;
210
+ case TableDataProvider_1.FilterRenderer.Text:
211
+ // column.filterRenderer is not set for the Text input filter
212
+ break;
213
+ }
214
+ }
215
+ return column;
216
+ };
217
+ this._getCellItem = (row, columnKey) => {
218
+ return row.cells.find((cell) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };
219
+ };
220
+ this._rowComponentSelectionHandler = {
221
+ deselectAll: () => {
222
+ this._selectedRowIndices = new Set();
223
+ if (!this._pressedItemSelected) {
224
+ this._deactivateCellEditor();
225
+ this.forceUpdate();
226
+ }
227
+ },
228
+ selectBetween: (rowIndex1, rowIndex2) => {
229
+ const selections = [];
230
+ const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;
231
+ const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;
232
+ for (let i = lowerNumber; i <= higherNumber; i++) {
233
+ // istanbul ignore else
234
+ if (!this._selectedRowIndices.has(i)) {
235
+ selections.push(i);
236
+ this._selectedRowIndices.add(i);
237
+ }
238
+ }
239
+ this.forceUpdate();
240
+ return selections;
241
+ },
242
+ updateSelection: (selections, deselections) => {
243
+ for (const rowIndex of selections) {
244
+ // istanbul ignore else
245
+ if (!this._selectedRowIndices.has(rowIndex))
246
+ this._selectedRowIndices.add(rowIndex);
247
+ }
248
+ for (const rowIndex of deselections) {
249
+ // istanbul ignore else
250
+ if (this._selectedRowIndices.has(rowIndex))
251
+ this._selectedRowIndices.delete(rowIndex);
252
+ }
253
+ this.forceUpdate();
254
+ },
255
+ areEqual: (item1, item2) => item1 === item2,
256
+ };
257
+ this._cellComponentSelectionHandler = {
258
+ deselectAll: () => {
259
+ this._selectedCellKeys = new Map();
260
+ this.forceUpdate();
261
+ },
262
+ selectBetween: (item1, item2) => {
263
+ const selections = [];
264
+ const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;
265
+ const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;
266
+ let secondItem;
267
+ let firstItemFound = false;
268
+ let secondItemFound = false;
269
+ for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {
270
+ for (const column of this.state.columns) {
271
+ if (!firstItemFound) {
272
+ if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {
273
+ firstItemFound = true;
274
+ secondItem = item2;
275
+ }
276
+ else {
277
+ // istanbul ignore else
278
+ if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {
279
+ firstItemFound = true;
280
+ secondItem = item1;
281
+ }
282
+ else
283
+ continue;
284
+ }
285
+ }
286
+ const cellKey = { rowIndex, columnKey: column.key };
287
+ if (!this.isCellSelected(cellKey))
288
+ selections.push(cellKey);
289
+ if (rowIndex === secondItem.rowIndex && column.key === secondItem.columnKey) {
290
+ secondItemFound = true;
291
+ break;
292
+ }
293
+ }
294
+ if (secondItemFound)
295
+ break;
296
+ }
297
+ this.selectCells(selections);
298
+ this.forceUpdate();
299
+ return selections;
300
+ },
301
+ updateSelection: (selections, deselections) => {
302
+ this.selectCells(selections);
303
+ this.deselectCells(deselections);
304
+ this.forceUpdate();
305
+ },
306
+ areEqual: (item1, item2) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,
307
+ };
308
+ this._rowGetter = (i) => {
309
+ if (this.state.rows[i])
310
+ return this.state.rows[i];
311
+ // get another page of rows
312
+ // note: always start loading at the beginning of a page to avoid
313
+ // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)
314
+ this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises
315
+ // Return placeholder object
316
+ return { item: { key: "", cells: [] }, index: i, cells: {} };
317
+ };
318
+ this._rowGetterAsync = (0, lodash_1.memoize)(async (index) => {
319
+ // istanbul ignore next
320
+ if (index < 0)
321
+ return;
322
+ // load up to `this._pageAmount` more rows
323
+ const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);
324
+ const loadResult = await this.loadRows(index, maxIndex);
325
+ // istanbul ignore next
326
+ if (!this._isMounted)
327
+ return;
328
+ // istanbul ignore next
329
+ if (this._pendingUpdate !== 0 /* None */)
330
+ return;
331
+ const selectedRowIndices = this._selectedRowIndices;
332
+ for (const rowIndex of loadResult.selectedRowIndices) {
333
+ // istanbul ignore else
334
+ if (!selectedRowIndices.has(rowIndex))
335
+ selectedRowIndices.add(rowIndex);
336
+ }
337
+ this._selectedRowIndices = selectedRowIndices;
338
+ this.selectCells(loadResult.selectedCellKeys);
339
+ this.setState((prev) => {
340
+ const rows = [...prev.rows];
341
+ loadResult.rows.forEach((r, i) => { rows[index + i] = r; });
342
+ return { rows };
343
+ }, async () => {
344
+ if (this.props.onRowsLoaded)
345
+ this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);
346
+ const showFilter = this._isShowFilterRow();
347
+ if (showFilter !== this._filterRowShown)
348
+ this.toggleFilterRow(showFilter);
349
+ });
350
+ });
351
+ this._handleGridSort = (columnKey, sortDirection) => {
352
+ let directionEnum;
353
+ switch (sortDirection) {
354
+ case "ASC":
355
+ directionEnum = core_react_1.SortDirection.Ascending;
356
+ break;
357
+ case "DESC":
358
+ directionEnum = core_react_1.SortDirection.Descending;
359
+ break;
360
+ case "NONE":
361
+ default:
362
+ directionEnum = core_react_1.SortDirection.NoSort;
363
+ break;
364
+ }
365
+ // Sort the column
366
+ this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises
367
+ this._queuePokeScroll();
368
+ };
369
+ this._createRowRenderer = () => {
370
+ return (props) => {
371
+ // istanbul ignore next
372
+ const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;
373
+ const { row: rowProps, ...reactDataGridRowProps } = props;
374
+ if (this._tableSelectionTarget === TableSelectionTarget.Row) {
375
+ const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));
376
+ const onClick = (e) => selectionFunction(e.shiftKey, e.ctrlKey);
377
+ const onMouseDown = () => {
378
+ this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);
379
+ };
380
+ const onMouseMove = (e) => {
381
+ // istanbul ignore else
382
+ if (e.buttons === 1)
383
+ this._rowSelectionHandler.updateDragAction(props.row.index);
384
+ };
385
+ const isSelected = this._selectedRowIndices.has(props.row.index);
386
+ const cells = this.createRowCells(rowProps, isSelected);
387
+ const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });
388
+ return React.createElement("div", { className: (0, classnames_1.default)("components-table-row"), onClickCapture: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown, style: props.row.style, role: "presentation" }, row);
389
+ }
390
+ else {
391
+ const cells = this.createRowCells(rowProps, false);
392
+ return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });
393
+ }
394
+ };
395
+ };
396
+ // eslint-disable-next-line @typescript-eslint/naming-convention
397
+ this.renderRow = (item, props) => {
398
+ return React.createElement(TableRow, { key: item.key, ...props });
399
+ };
400
+ this._onMouseUp = () => {
401
+ if (this._tableSelectionTarget === TableSelectionTarget.Row)
402
+ this._rowSelectionHandler.completeDragAction();
403
+ else
404
+ this._cellSelectionHandler.completeDragAction();
405
+ };
406
+ this._onMouseDown = () => {
407
+ document.addEventListener("mouseup", this._onMouseUp, { capture: true, once: true });
408
+ };
409
+ this._onHeaderDrop = (source, target) => {
410
+ const cols = [...this.state.columns];
411
+ const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);
412
+ const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);
413
+ cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);
414
+ // istanbul ignore else
415
+ if (this.props.settingsIdentifier) {
416
+ const stateStorage = this.props.settingsStorage || /* istanbul ignore next */ new core_react_1.LocalStateStorage();
417
+ const keys = cols.map((col) => col.key);
418
+ stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnReorder", keys); // eslint-disable-line @typescript-eslint/no-floating-promises
419
+ }
420
+ this.setState({ columns: [] }, () => {
421
+ this.setState({ columns: cols });
422
+ });
423
+ };
424
+ this._deactivateCellEditor = () => {
425
+ if (this.state.cellEditorState.active)
426
+ this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));
427
+ };
428
+ this._onCellCommit = async (args) => {
429
+ // istanbul ignore else
430
+ if (this.props.onPropertyUpdated) {
431
+ const cellUpdatedArgs = {
432
+ rowIndex: this.state.cellEditorState.rowIndex,
433
+ colIndex: this.state.cellEditorState.colIndex,
434
+ cellKey: this.state.cellEditorState.cellKey,
435
+ };
436
+ const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);
437
+ // istanbul ignore else
438
+ if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {
439
+ this._deactivateCellEditor();
440
+ await this.updateRows();
441
+ }
442
+ else {
443
+ this._deactivateCellEditor();
444
+ }
445
+ }
446
+ };
447
+ this._getVisibleColumns = () => {
448
+ return this.state.columns
449
+ .filter((tableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)
450
+ .map((tableColumn) => tableColumn.reactDataGridColumn);
451
+ };
452
+ this._handleShowHideContextMenu = (e) => {
453
+ const header = e.currentTarget.querySelector(".react-grid-Header");
454
+ // istanbul ignore else
455
+ if (header) {
456
+ const headerRect = header.getBoundingClientRect();
457
+ const offsetY = headerRect.top;
458
+ const height = headerRect.height;
459
+ const x = e.clientX, y = e.clientY;
460
+ // istanbul ignore else
461
+ if (y < offsetY + height) {
462
+ e.preventDefault();
463
+ this.setState({
464
+ menuX: x, menuY: y,
465
+ menuVisible: true,
466
+ });
467
+ }
468
+ }
469
+ };
470
+ this._hideContextMenu = () => {
471
+ // istanbul ignore else
472
+ if (this.props.showHideColumns)
473
+ this.setState({ menuVisible: false });
474
+ };
475
+ // istanbul ignore next
476
+ this._handleShowHideChange = (cols) => {
477
+ this.setState({ hiddenColumns: cols });
478
+ if (this.props.settingsIdentifier) {
479
+ const stateStorage = this.props.settingsStorage || new core_react_1.LocalStateStorage();
480
+ stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnShowHideHiddenColumns", cols); // eslint-disable-line @typescript-eslint/no-floating-promises
481
+ }
482
+ return true;
483
+ };
484
+ // istanbul ignore next
485
+ this._onDialogOpen = (dialogState) => this.setState({ dialog: dialogState });
486
+ // istanbul ignore next
487
+ this._onDialogClose = () => this.setState({ dialog: undefined });
488
+ this._handleFilterChange = (filter) => {
489
+ const columnKey = filter.column.key;
490
+ const tableColumn = this.state.columns.find((column) => column.key === columnKey);
491
+ // istanbul ignore else
492
+ if (tableColumn) {
493
+ setTimeout(async () => {
494
+ await DataGridFilterParser_1.DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);
495
+ });
496
+ }
497
+ };
498
+ // istanbul ignore next
499
+ this._handleOnClearFilters = () => {
500
+ this.filterDescriptors.clear();
501
+ this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises
502
+ };
503
+ this._applyFilter = async () => {
504
+ // istanbul ignore else
505
+ if (this.props.dataProvider.applyFilterDescriptors) {
506
+ await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);
507
+ await this.updateRows();
508
+ // istanbul ignore else
509
+ if (this.props.onApplyFilter)
510
+ this.props.onApplyFilter();
511
+ }
512
+ };
513
+ // istanbul ignore next
514
+ this._getValidFilterValues = (columnKey) => {
515
+ const tableColumn = this.state.columns.find((column) => column.reactDataGridColumn.key === columnKey);
516
+ if (tableColumn && tableColumn.distinctValueCollection) {
517
+ return tableColumn.distinctValueCollection.values;
518
+ }
519
+ return [];
520
+ };
521
+ // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer
522
+ // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });
523
+ // private _onPopupHide = () => this.setState({ popup: undefined });
524
+ // istanbul ignore next
525
+ this._onScroll = (scrollData) => {
526
+ this._topRowIndex = scrollData.rowVisibleStartIdx;
527
+ if (this.props.onScrollToRow)
528
+ this.props.onScrollToRow(scrollData.rowVisibleStartIdx);
529
+ };
530
+ this._onKeyboardEvent = (e, keyDown) => {
531
+ if ((0, core_react_1.isNavigationKey)(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {
532
+ if (this._tableSelectionTarget === TableSelectionTarget.Row) {
533
+ const handleKeyboardSelectItem = (index) => {
534
+ const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));
535
+ selectionFunction(e.shiftKey, e.ctrlKey);
536
+ };
537
+ const handleKeyboardActivateItem = (index) => {
538
+ // istanbul ignore else
539
+ if (this.state.keyboardEditorCellKey) {
540
+ const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);
541
+ // istanbul ignore else
542
+ if (0 <= columnIndex && columnIndex < this.state.columns.length) {
543
+ const columnDescription = this.state.columns[columnIndex].columnDescription;
544
+ // istanbul ignore else
545
+ if (columnDescription && columnDescription.editable)
546
+ this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);
547
+ }
548
+ }
549
+ };
550
+ const handleCrossAxisArrowKey = (forward) => {
551
+ // istanbul ignore else
552
+ if (this.state.keyboardEditorCellKey) {
553
+ let newEditorCellKey;
554
+ const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);
555
+ // istanbul ignore else
556
+ if (columnIndex >= 0) {
557
+ let newColIndex = columnIndex;
558
+ while (!newEditorCellKey) {
559
+ if (forward)
560
+ newColIndex++;
561
+ else
562
+ newColIndex--;
563
+ if (newColIndex < 0)
564
+ newColIndex = this.state.columns.length - 1;
565
+ else if (newColIndex >= this.state.columns.length)
566
+ newColIndex = 0;
567
+ // istanbul ignore next
568
+ if (newColIndex === columnIndex)
569
+ break;
570
+ const isEditable = this.state.columns[newColIndex].columnDescription.editable;
571
+ if (isEditable)
572
+ newEditorCellKey = this.state.columns[newColIndex].key;
573
+ }
574
+ // istanbul ignore else
575
+ if (newEditorCellKey)
576
+ this.setState({ keyboardEditorCellKey: newEditorCellKey });
577
+ }
578
+ }
579
+ };
580
+ const itemKeyboardNavigator = new core_react_1.ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);
581
+ itemKeyboardNavigator.orientation = core_react_1.Orientation.Vertical;
582
+ itemKeyboardNavigator.allowWrap = false;
583
+ itemKeyboardNavigator.itemCount = this.state.rowsCount;
584
+ itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;
585
+ const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;
586
+ keyDown ?
587
+ itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :
588
+ itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);
589
+ }
590
+ else {
591
+ const handleKeyboardSelectItem = (index) => {
592
+ const processedCell = this._cellSelectionHandler.processedItem;
593
+ // istanbul ignore else
594
+ if (processedCell) {
595
+ const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };
596
+ const selectionHandler = this.createCellItemSelectionHandler(cellKey);
597
+ const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
598
+ selectionFunction(e.shiftKey, e.ctrlKey);
599
+ }
600
+ };
601
+ const handleKeyboardActivateItem = (index) => {
602
+ const processedCell = this._cellSelectionHandler.processedItem;
603
+ // istanbul ignore else
604
+ if (processedCell) {
605
+ const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);
606
+ // istanbul ignore else
607
+ if (0 <= columnIndex && columnIndex < this.state.columns.length) {
608
+ const columnDescription = this.state.columns[columnIndex].columnDescription;
609
+ // istanbul ignore else
610
+ if (columnDescription && columnDescription.editable)
611
+ this.activateCellEditor(index, columnIndex, processedCell.columnKey);
612
+ }
613
+ }
614
+ };
615
+ const handleCrossAxisArrowKey = (forward) => {
616
+ const processedCell = this._cellSelectionHandler.processedItem;
617
+ // istanbul ignore else
618
+ if (processedCell) {
619
+ const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);
620
+ // istanbul ignore else
621
+ if (columnIndex >= 0) {
622
+ let newColIndex = columnIndex;
623
+ if (forward)
624
+ newColIndex++;
625
+ else
626
+ newColIndex--;
627
+ if (newColIndex < 0)
628
+ newColIndex = this.state.columns.length - 1;
629
+ else if (newColIndex >= this.state.columns.length)
630
+ newColIndex = 0;
631
+ const columnKey = this.state.columns[newColIndex].key;
632
+ const cellKey = { rowIndex: processedCell.rowIndex, columnKey };
633
+ const selectionHandler = this.createCellItemSelectionHandler(cellKey);
634
+ const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
635
+ selectionFunction(e.shiftKey, e.ctrlKey);
636
+ }
637
+ }
638
+ };
639
+ const itemKeyboardNavigator = new core_react_1.ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);
640
+ itemKeyboardNavigator.orientation = core_react_1.Orientation.Vertical;
641
+ itemKeyboardNavigator.allowWrap = false;
642
+ itemKeyboardNavigator.itemCount = this.state.rowsCount;
643
+ itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;
644
+ const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;
645
+ keyDown ?
646
+ itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :
647
+ itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);
648
+ }
649
+ }
650
+ };
651
+ this._onKeyDown = (e) => this._onKeyboardEvent(e, true);
652
+ this._onKeyUp = (e) => this._onKeyboardEvent(e, false);
653
+ if (props.pageAmount)
654
+ this._pageAmount = props.pageAmount;
655
+ this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));
656
+ this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));
657
+ this._rowSelectionHandler = new SelectionHandler_1.SelectionHandler(props.selectionMode ? props.selectionMode : SelectionModes_1.SelectionMode.Single);
658
+ this._cellSelectionHandler = new SelectionHandler_1.SelectionHandler(props.selectionMode ? props.selectionMode : SelectionModes_1.SelectionMode.Single);
659
+ this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;
660
+ this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;
661
+ this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;
662
+ this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;
663
+ }
664
+ // eslint-disable-next-line @typescript-eslint/naming-convention
665
+ get rowItemSelectionHandlers() {
666
+ // istanbul ignore else
667
+ if (!this._rowItemSelectionHandlers) {
668
+ this._rowItemSelectionHandlers = [];
669
+ for (let i = 0; i < this.state.rowsCount; i++)
670
+ this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));
671
+ }
672
+ return this._rowItemSelectionHandlers;
673
+ }
674
+ // eslint-disable-next-line @typescript-eslint/naming-convention
675
+ get cellItemSelectionHandlers() {
676
+ // istanbul ignore else
677
+ if (!this._cellItemSelectionHandlers) {
678
+ this._cellItemSelectionHandlers = [];
679
+ for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {
680
+ this._cellItemSelectionHandlers[rowIndex] = [];
681
+ for (const column of this.state.columns) {
682
+ this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));
683
+ }
684
+ }
685
+ }
686
+ return this._cellItemSelectionHandlers;
687
+ }
688
+ async *createRowIterator(rowIndices) {
689
+ for (const index of rowIndices)
690
+ yield await this.props.dataProvider.getRow(index);
691
+ }
692
+ async *createCellIterator(cellKeys) {
693
+ for (const key of cellKeys) {
694
+ const row = await this.props.dataProvider.getRow(key.rowIndex);
695
+ yield [row, this._getCellItem(row, key.columnKey)];
696
+ }
697
+ }
698
+ get _tableSelectionTarget() {
699
+ return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;
700
+ }
701
+ /** @internal */
702
+ componentDidUpdate(previousProps, previousState) {
703
+ this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionModes_1.SelectionMode.Single;
704
+ this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionModes_1.SelectionMode.Single;
705
+ if (previousProps.dataProvider !== this.props.dataProvider) {
706
+ this._disposableListeners.dispose();
707
+ this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));
708
+ this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));
709
+ }
710
+ if (this.props.dataProvider !== previousProps.dataProvider) {
711
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
712
+ this.update();
713
+ return;
714
+ }
715
+ // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.
716
+ if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)
717
+ this.forceUpdate();
718
+ if (this.props.isCellSelected !== previousProps.isCellSelected
719
+ || this.props.isRowSelected !== previousProps.isRowSelected
720
+ || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {
721
+ this.updateSelectedRows();
722
+ this.updateSelectedCells();
723
+ }
724
+ if (this.props.scrollToRow !== previousProps.scrollToRow) {
725
+ // istanbul ignore else
726
+ if (this.props.scrollToRow !== undefined)
727
+ this.scrollToRow(this.props.scrollToRow);
728
+ }
729
+ /* istanbul ignore next */
730
+ if (this.props.onRender)
731
+ this.props.onRender();
732
+ }
733
+ /** @internal */
734
+ componentDidMount() {
735
+ let gridContainer = null;
736
+ this._isMounted = true;
737
+ // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode
738
+ // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the
739
+ // same HTMLDivElement from grid as was used previously by ReactResizeDetector.
740
+ if (this._gridRef.current) {
741
+ const grid = this._gridRef.current;
742
+ gridContainer = grid.getDataGridDOMNode();
743
+ }
744
+ this.setState({ gridContainer }, () => {
745
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
746
+ this.update();
747
+ });
748
+ }
749
+ /** @internal */
750
+ componentWillUnmount() {
751
+ this._isMounted = false;
752
+ this._disposableListeners.dispose();
753
+ this._unsetPokeScrollTimeout();
754
+ }
755
+ scrollToRow(rowIndex) {
756
+ // istanbul ignore else
757
+ if (this._gridRef.current) {
758
+ const grid = this._gridRef.current;
759
+ // istanbul ignore else
760
+ if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {
761
+ const top = TABLE_ROW_HEIGHT * rowIndex;
762
+ const gridCanvas = grid.getDataGridDOMNode().querySelector(".react-grid-Canvas");
763
+ gridCanvas.scrollTop = top;
764
+ this._topRowIndex = rowIndex;
765
+ // istanbul ignore else
766
+ if (this.props.onScrollToRow)
767
+ this.props.onScrollToRow(rowIndex);
768
+ }
769
+ }
770
+ }
771
+ setFocusToSelected() {
772
+ // istanbul ignore next
773
+ if (this._gridRef.current) {
774
+ const grid = this._gridRef.current;
775
+ // istanbul ignore else
776
+ if (grid.getDataGridDOMNode) {
777
+ const gridSelected = grid.getDataGridDOMNode().querySelector(".rdg-selected");
778
+ // istanbul ignore else
779
+ if (gridSelected) {
780
+ gridSelected.focus();
781
+ }
782
+ }
783
+ }
784
+ }
785
+ async handlePendingUpdate() {
786
+ const update = this._pendingUpdate;
787
+ this._pendingUpdate = 0 /* None */;
788
+ let status = 0 /* Continue */;
789
+ if (update === 2 /* Complete */)
790
+ status = await this.updateColumns();
791
+ // istanbul ignore else
792
+ if (status === 0 /* Continue */ && update > 0 /* None */)
793
+ status = await this.updateRows();
794
+ return status;
795
+ }
796
+ async updateColumns() {
797
+ if (this._currentUpdate !== 0 /* None */) {
798
+ this._pendingUpdate = 2 /* Complete */;
799
+ return 1 /* Abort */;
800
+ }
801
+ this._currentUpdate = 2 /* Complete */;
802
+ const columnDescriptions = await this.props.dataProvider.getColumns();
803
+ this._currentUpdate = 0 /* None */;
804
+ // istanbul ignore next
805
+ if (!this._isMounted)
806
+ return 1 /* Abort */;
807
+ if (this._pendingUpdate === 2 /* Complete */) {
808
+ await this.handlePendingUpdate();
809
+ return 1 /* Abort */;
810
+ }
811
+ let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);
812
+ if (this.props.settingsIdentifier) {
813
+ const stateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new core_react_1.LocalStateStorage();
814
+ const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, "ColumnReorder");
815
+ // istanbul ignore next
816
+ if (reorderResult.status === core_react_1.UiStateStorageStatus.Success) {
817
+ const setting = reorderResult.setting;
818
+ // map columns according to the keys in columns, in the order of the loaded array of keys
819
+ dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);
820
+ }
821
+ else if (reorderResult.status === core_react_1.UiStateStorageStatus.NotFound) {
822
+ const keys = columnDescriptions.map((col) => col.key);
823
+ await stateStorage.saveSetting(this.props.settingsIdentifier, "ColumnReorder", keys);
824
+ }
825
+ const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, "ColumnShowHideHiddenColumns");
826
+ // istanbul ignore next
827
+ if (showhideResult.status === core_react_1.UiStateStorageStatus.Success) {
828
+ const hiddenColumns = showhideResult.setting;
829
+ this.setState({ hiddenColumns });
830
+ }
831
+ }
832
+ let keyboardEditorCellKey;
833
+ const tableColumns = dataGridColumns.map((dataGridColumn, index) => {
834
+ const tableColumn = new TableColumn_1.TableColumn(this, columnDescriptions[index], dataGridColumn);
835
+ tableColumn.dataProvider = this.props.dataProvider;
836
+ if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)
837
+ keyboardEditorCellKey = tableColumn.key;
838
+ if (tableColumn.filterable)
839
+ dataGridColumn.filterableColumn = tableColumn;
840
+ return tableColumn;
841
+ });
842
+ for (const tableColumn of tableColumns) {
843
+ if (tableColumn.filterable)
844
+ tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);
845
+ }
846
+ this.setState({ columns: tableColumns, keyboardEditorCellKey });
847
+ if (this._pendingUpdate !== 0 /* None */) {
848
+ return this.handlePendingUpdate();
849
+ }
850
+ return 0 /* Continue */;
851
+ }
852
+ async updateRows() {
853
+ if (this._currentUpdate !== 0 /* None */) {
854
+ if (this._pendingUpdate === 0 /* None */)
855
+ this._pendingUpdate = 1 /* Rows */;
856
+ return 1 /* Abort */;
857
+ }
858
+ this._currentUpdate = 1 /* Rows */;
859
+ const rowsCount = await this.props.dataProvider.getRowsCount();
860
+ this._currentUpdate = 0 /* None */;
861
+ // istanbul ignore next
862
+ if (!this._isMounted)
863
+ return 1 /* Abort */;
864
+ if (this._pendingUpdate !== 0 /* None */) {
865
+ return this.handlePendingUpdate();
866
+ }
867
+ if (rowsCount !== this.state.rowsCount) {
868
+ this._rowItemSelectionHandlers = undefined;
869
+ this._cellItemSelectionHandlers = undefined;
870
+ // when updating the rows with new data from dataProvider clear out existing selections
871
+ this._selectedRowIndices.clear();
872
+ this._selectedCellKeys.clear();
873
+ }
874
+ this._rowGetterAsync.cache.clear();
875
+ this.setState({ rowsCount, rows: [] });
876
+ return 0 /* Continue */;
877
+ }
878
+ /** @internal */
879
+ async update() {
880
+ let status = await this.updateColumns();
881
+ if (status !== 1 /* Abort */)
882
+ status = await this.updateRows();
883
+ if (this.props.scrollToRow !== undefined)
884
+ this.scrollToRow(this.props.scrollToRow);
885
+ /* istanbul ignore next */
886
+ if (this.props.onRender)
887
+ this.props.onRender();
888
+ return status;
889
+ }
890
+ /** @internal */
891
+ updateSelectedRows() {
892
+ const selectedRowIndices = new Set();
893
+ if (this.props.isRowSelected) {
894
+ for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {
895
+ if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))
896
+ selectedRowIndices.add(rowIndex);
897
+ }
898
+ }
899
+ this._selectedRowIndices = selectedRowIndices;
900
+ this.forceUpdate();
901
+ }
902
+ /** @internal */
903
+ updateSelectedCells() {
904
+ const selectedCellKeys = new Map();
905
+ if (this.props.isCellSelected) {
906
+ for (const column of this.state.columns) {
907
+ const set = new Set();
908
+ for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {
909
+ // istanbul ignore next
910
+ if (!this.state.rows[rowIndex])
911
+ continue;
912
+ const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);
913
+ if (this.props.isCellSelected(rowIndex, cellItem))
914
+ set.add(rowIndex);
915
+ }
916
+ // istanbul ignore else
917
+ if (set.size !== 0)
918
+ selectedCellKeys.set(column.key, set);
919
+ }
920
+ }
921
+ this._selectedCellKeys = selectedCellKeys;
922
+ this.forceUpdate();
923
+ }
924
+ isCellSelected(key) {
925
+ const set = this._selectedCellKeys.get(key.columnKey);
926
+ if (set)
927
+ return set.has(key.rowIndex);
928
+ return false;
929
+ }
930
+ selectCells(cellKeys) {
931
+ for (const key of cellKeys) {
932
+ let set = this._selectedCellKeys.get(key.columnKey);
933
+ if (!set) {
934
+ set = new Set();
935
+ this._selectedCellKeys.set(key.columnKey, set);
936
+ }
937
+ set.add(key.rowIndex);
938
+ }
939
+ }
940
+ deselectCells(cellKeys) {
941
+ for (const key of cellKeys) {
942
+ // istanbul ignore else
943
+ const set = this._selectedCellKeys.get(key.columnKey);
944
+ // istanbul ignore else
945
+ if (set)
946
+ set.delete(key.rowIndex);
947
+ }
948
+ }
949
+ createRowItemSelectionHandler(rowIndex) {
950
+ return {
951
+ preselect: () => {
952
+ this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);
953
+ },
954
+ select: () => {
955
+ // istanbul ignore else
956
+ if (!this._selectedRowIndices.has(rowIndex)) {
957
+ this._selectedRowIndices.add(rowIndex);
958
+ if (!this._pressedItemSelected)
959
+ this.forceUpdate();
960
+ }
961
+ },
962
+ deselect: () => {
963
+ // istanbul ignore else
964
+ if (this._selectedRowIndices.has(rowIndex)) {
965
+ this._selectedRowIndices.delete(rowIndex);
966
+ this.forceUpdate();
967
+ }
968
+ },
969
+ isSelected: () => this._selectedRowIndices.has(rowIndex),
970
+ item: () => rowIndex,
971
+ };
972
+ }
973
+ createCellItemSelectionHandler(cellKey) {
974
+ return {
975
+ preselect: () => {
976
+ this._pressedItemSelected = this.isCellSelected(cellKey);
977
+ },
978
+ select: () => {
979
+ this.selectCells([cellKey]);
980
+ this.forceUpdate();
981
+ },
982
+ deselect: () => {
983
+ this.deselectCells([cellKey]);
984
+ this.forceUpdate();
985
+ },
986
+ isSelected: () => this.isCellSelected(cellKey),
987
+ item: () => cellKey,
988
+ };
989
+ }
990
+ async renderCellContent(cellItem, column, displayValue) {
991
+ if (column.icon)
992
+ return () => React.createElement(TableCell_1.TableIconCellContent, { iconName: displayValue });
993
+ return (props) => {
994
+ var _a;
995
+ return (React.createElement(TableCell_1.TableCellContent, { height: TABLE_ROW_HEIGHT, isSelected: props.isSelected, cellItem: cellItem, onDialogOpen: this._onDialogOpen, propertyValueRendererManager: this.props.propertyValueRendererManager
996
+ ? this.props.propertyValueRendererManager
997
+ : ValueRendererManager_1.PropertyValueRendererManager.defaultManager, style: { zIndex: (((_a = cellItem.mergedCellsCount) !== null && _a !== void 0 ? _a : 1) > 1) ? 1 : undefined } }));
998
+ };
999
+ }
1000
+ async getCellDisplayValue(cellItem) {
1001
+ var _a;
1002
+ // istanbul ignore next
1003
+ if (!cellItem.record || cellItem.record.value.valueFormat !== appui_abstract_1.PropertyValueFormat.Primitive)
1004
+ return "";
1005
+ const value = cellItem.record.value.value;
1006
+ if (value === undefined)
1007
+ return "";
1008
+ const displayValue = await TypeConverterManager_1.TypeConverterManager
1009
+ .getConverter(cellItem.record.property.typename, (_a = cellItem.record.property.converter) === null || _a === void 0 ? void 0 : _a.name)
1010
+ .convertPropertyToString(cellItem.record.property, value);
1011
+ return displayValue ? displayValue : /* istanbul ignore next */ "";
1012
+ }
1013
+ async createPropsForRowItem(item, index) {
1014
+ const cellProps = {};
1015
+ for (const column of this.state.columns) {
1016
+ const cellItem = this._getCellItem(item, column.key);
1017
+ const displayValue = await this.getCellDisplayValue(cellItem);
1018
+ cellProps[column.key] = {
1019
+ item: cellItem,
1020
+ displayValue,
1021
+ render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),
1022
+ };
1023
+ }
1024
+ const rowStyle = ItemStyle_1.TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});
1025
+ return {
1026
+ item,
1027
+ index,
1028
+ cells: cellProps,
1029
+ render: undefined,
1030
+ style: rowStyle,
1031
+ };
1032
+ }
1033
+ async loadRows(beginIndex, endIndex) {
1034
+ const result = {
1035
+ rows: [],
1036
+ selectedRowIndices: [],
1037
+ selectedCellKeys: [],
1038
+ };
1039
+ this._rowLoadGuid = core_bentley_1.Guid.createValue();
1040
+ const currentSelectedRowGuid = this._rowLoadGuid;
1041
+ const promises = new Array();
1042
+ for (let i = beginIndex; i < endIndex; ++i) {
1043
+ promises.push(this.props.dataProvider.getRow(i).then(async (rowData) => this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps))));
1044
+ }
1045
+ try {
1046
+ result.rows = await Promise.all(promises);
1047
+ }
1048
+ catch { }
1049
+ // istanbul ignore else
1050
+ // Check if another loadRows got called while this one was still going
1051
+ if (currentSelectedRowGuid === this._rowLoadGuid) {
1052
+ for (const rowProps of result.rows) {
1053
+ if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))
1054
+ result.selectedRowIndices.push(rowProps.index);
1055
+ if (this.props.isCellSelected) {
1056
+ for (const column of this.state.columns) {
1057
+ const cellItem = this._getCellItem(rowProps.item, column.key);
1058
+ if (this.props.isCellSelected(rowProps.index, cellItem))
1059
+ result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });
1060
+ }
1061
+ }
1062
+ }
1063
+ }
1064
+ return result;
1065
+ }
1066
+ getColumnIndexFromKey(columnKey) {
1067
+ return this.state.columns.findIndex((column) => column.key === columnKey);
1068
+ }
1069
+ async gridSortAsync(columnKey, directionEnum) {
1070
+ const columnIndex = this.getColumnIndexFromKey(columnKey);
1071
+ // istanbul ignore next
1072
+ if (columnIndex < 0)
1073
+ return;
1074
+ await this.props.dataProvider.sort(columnIndex, directionEnum);
1075
+ // istanbul ignore next
1076
+ if (!this._isMounted)
1077
+ return;
1078
+ this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises
1079
+ }
1080
+ createRowCells(rowProps, isSelected) {
1081
+ var _a;
1082
+ const cells = {};
1083
+ let gridColumns = [];
1084
+ let foundHiddenColumns = 0;
1085
+ // istanbul ignore else
1086
+ if (this._gridRef.current && this._gridRef.current.getDataGridDOMNode)
1087
+ gridColumns = this._gridRef.current.getDataGridDOMNode().querySelectorAll(".react-grid-HeaderCell");
1088
+ for (let index = 0; index < this.state.columns.length; index++) {
1089
+ const column = this.state.columns[index];
1090
+ const cellProps = rowProps.cells[column.key];
1091
+ if (!cellProps) {
1092
+ continue;
1093
+ }
1094
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1095
+ const CellContent = cellProps.render;
1096
+ const isEditorCell = this.state.cellEditorState.active
1097
+ && this.state.cellEditorState.rowIndex === rowProps.index
1098
+ && this.state.cellEditorState.colIndex === index
1099
+ && cellProps.item.record;
1100
+ let onClick;
1101
+ let onMouseMove;
1102
+ let onMouseDown;
1103
+ let className;
1104
+ const cellKey = { rowIndex: rowProps.index, columnKey: column.key };
1105
+ if (this._tableSelectionTarget === TableSelectionTarget.Cell) {
1106
+ const selectionHandler = this.createCellItemSelectionHandler(cellKey);
1107
+ const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);
1108
+ onClick = (e) => selectionFunction(e.shiftKey, e.ctrlKey);
1109
+ onMouseMove = (e) => {
1110
+ // istanbul ignore else
1111
+ if (e.buttons === 1)
1112
+ this._cellSelectionHandler.updateDragAction(cellKey);
1113
+ };
1114
+ onMouseDown = () => {
1115
+ this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);
1116
+ };
1117
+ className = (0, classnames_1.default)({ "is-selected": this.isCellSelected(cellKey) });
1118
+ }
1119
+ else {
1120
+ if (this._selectedRowIndices.has(rowProps.index))
1121
+ className = (0, classnames_1.default)({ "is-keyboard-editable": this.state.keyboardEditorCellKey === column.key });
1122
+ }
1123
+ className = (0, classnames_1.default)(className, this.getCellBorderStyle(cellKey));
1124
+ const mergedAdjacentCellsCount = ((_a = cellProps.item.mergedCellsCount) !== null && _a !== void 0 ? _a : 1) - 1;
1125
+ let cellWidth = 0;
1126
+ for (let i = 0; i <= mergedAdjacentCellsCount; i++) {
1127
+ const col = this.state.columns[index + i];
1128
+ if (this.state.hiddenColumns.indexOf(col.key) === -1) {
1129
+ const gridColumn = gridColumns[index + i - foundHiddenColumns];
1130
+ const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;
1131
+ cellWidth += gridColumnWidth;
1132
+ }
1133
+ else {
1134
+ foundHiddenColumns++;
1135
+ }
1136
+ if (i > 0) {
1137
+ cells[col.key] = (React.createElement(TableCell_1.TableCell, { className: className.replace("border-bottom", ""), title: "empty-cell", onClick: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown }));
1138
+ }
1139
+ const mergedColumn = this.state.columns[index + i];
1140
+ const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };
1141
+ className = (0, dedupe_1.default)(className, this.getCellBorderStyle(emptyCellKey));
1142
+ }
1143
+ index += mergedAdjacentCellsCount;
1144
+ cells[column.key] = (React.createElement(TableCell_1.TableCell, { className: className, title: cellProps.displayValue, onClick: onClick, onMouseMove: onMouseMove, onMouseDown: onMouseDown, cellEditingProps: isEditorCell ? {
1145
+ onCancel: this._deactivateCellEditor,
1146
+ onCommit: this._onCellCommit,
1147
+ propertyRecord: cellProps.item.record,
1148
+ setFocus: true,
1149
+ } : undefined, style: { width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined } },
1150
+ React.createElement(CellContent, { isSelected: isSelected })));
1151
+ }
1152
+ return cells;
1153
+ }
1154
+ getCellBorderStyle(key) {
1155
+ const isCellSelected = (cellKey) => {
1156
+ if (this._tableSelectionTarget === TableSelectionTarget.Row) {
1157
+ return this._selectedRowIndices.has(cellKey.rowIndex);
1158
+ }
1159
+ return this.isCellSelected(cellKey);
1160
+ };
1161
+ const cellIsSelected = isCellSelected(key);
1162
+ const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);
1163
+ const isTopBorderVisible = () => {
1164
+ if (key.rowIndex === 0) {
1165
+ return cellIsSelected;
1166
+ }
1167
+ if (cellIsSelected) {
1168
+ return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });
1169
+ }
1170
+ // Bottom border is rendered by drawing the top border on the node below
1171
+ // Check if the node above needs its bottom border drawn
1172
+ return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });
1173
+ };
1174
+ const isRightBorderVisible = () => {
1175
+ if (!cellIsSelected) {
1176
+ return false;
1177
+ }
1178
+ if (columnIndex === this.state.columns.length - 1) {
1179
+ return true;
1180
+ }
1181
+ return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });
1182
+ };
1183
+ const isBottomBorderVisible = () => {
1184
+ return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;
1185
+ };
1186
+ const isLeftBorderVisible = () => {
1187
+ if (!cellIsSelected) {
1188
+ return false;
1189
+ }
1190
+ if (columnIndex === 0) {
1191
+ return true;
1192
+ }
1193
+ return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });
1194
+ };
1195
+ return (0, classnames_1.default)({
1196
+ "border-top": isTopBorderVisible(),
1197
+ "border-right": isRightBorderVisible(),
1198
+ "border-bottom": isBottomBorderVisible(),
1199
+ "border-left": isLeftBorderVisible(),
1200
+ });
1201
+ }
1202
+ cellEditOnClick(column, _ev, args) {
1203
+ // Prevent editing when property record is not primitive
1204
+ // istanbul ignore else
1205
+ if (this.state.rows[args.rowIdx]) {
1206
+ const record = this._getCellItem(this.state.rows[0].item, column.key).record;
1207
+ // istanbul ignore next
1208
+ if (record && record.value.valueFormat !== appui_abstract_1.PropertyValueFormat.Primitive)
1209
+ return;
1210
+ }
1211
+ if (this.state.keyboardEditorCellKey !== column.key)
1212
+ this.setState({ keyboardEditorCellKey: column.key });
1213
+ let activate = false;
1214
+ if (this._pressedItemSelected)
1215
+ activate = true;
1216
+ if (activate)
1217
+ this.activateCellEditor(args.rowIdx, args.idx, column.key);
1218
+ else
1219
+ this._deactivateCellEditor();
1220
+ }
1221
+ cellContextMenu(column, e, args) {
1222
+ // istanbul ignore else
1223
+ if (this.props.onCellContextMenu) {
1224
+ const contextMenuArgs = {
1225
+ rowIndex: args.rowIdx,
1226
+ colIndex: args.idx,
1227
+ cellKey: column.key,
1228
+ event: e,
1229
+ };
1230
+ // istanbul ignore else
1231
+ if (this.state.rows[args.rowIdx])
1232
+ contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);
1233
+ e.preventDefault();
1234
+ this.props.onCellContextMenu(contextMenuArgs);
1235
+ }
1236
+ }
1237
+ activateCellEditor(rowIndex, colIndex, cellKey) {
1238
+ const cellEditorState = { active: true, rowIndex, colIndex, cellKey };
1239
+ // istanbul ignore else
1240
+ if (cellEditorState !== this.state.cellEditorState) {
1241
+ this.setState({ cellEditorState }, () => {
1242
+ // istanbul ignore else
1243
+ if (this.props.onPropertyEditing)
1244
+ this.props.onPropertyEditing(cellEditorState);
1245
+ });
1246
+ }
1247
+ }
1248
+ /** @internal */
1249
+ shouldComponentUpdate(_props) {
1250
+ return true;
1251
+ }
1252
+ _isShowFilterRow() {
1253
+ return this.state.columns.some((tableColumn) => tableColumn.filterable);
1254
+ }
1255
+ /** Turn on/off filter row */
1256
+ toggleFilterRow(showFilter) {
1257
+ // istanbul ignore else
1258
+ if (this._gridRef.current) {
1259
+ const grid = this._gridRef.current;
1260
+ // istanbul ignore else
1261
+ if (grid.onToggleFilter && showFilter !== this._filterRowShown) {
1262
+ grid.onToggleFilter();
1263
+ this._filterRowShown = showFilter;
1264
+ }
1265
+ }
1266
+ }
1267
+ /** Gets the filter descriptors for the table.
1268
+ * @internal
1269
+ */
1270
+ get filterDescriptors() {
1271
+ if (undefined === this._filterDescriptors) {
1272
+ this._filterDescriptors = new TableFilterDescriptorCollection_1.TableFilterDescriptorCollection();
1273
+ this._filterDescriptors.logicalOperator = ColumnFiltering_1.FilterCompositionLogicalOperator.And;
1274
+ }
1275
+ return this._filterDescriptors;
1276
+ }
1277
+ /** Gets ECExpression to get property display value.
1278
+ * @internal
1279
+ */
1280
+ // istanbul ignore next
1281
+ getPropertyDisplayValueExpression(property) {
1282
+ if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)
1283
+ return this.props.dataProvider.getPropertyDisplayValueExpression(property);
1284
+ return property;
1285
+ }
1286
+ /** Determines if focus is in an input element - for filter checking */
1287
+ isFocusOnInputElement() {
1288
+ const element = document.activeElement;
1289
+ return element &&
1290
+ (element instanceof HTMLInputElement ||
1291
+ element instanceof HTMLSelectElement ||
1292
+ element instanceof HTMLTextAreaElement);
1293
+ }
1294
+ /** @internal */
1295
+ render() {
1296
+ const rowRenderer = React.createElement(TableRowRenderer, { rowRendererCreator: () => this._createRowRenderer() });
1297
+ const visibleColumns = this._getVisibleColumns();
1298
+ const tableClassName = (0, classnames_1.default)("components-table", "components-smallEditor-host", this.props.className, {
1299
+ "hide-header": this.props.hideHeader,
1300
+ "striped-rows": this.props.stripedRows,
1301
+ "row-selection": this._tableSelectionTarget === TableSelectionTarget.Row,
1302
+ "cell-selection": this._tableSelectionTarget === TableSelectionTarget.Cell,
1303
+ });
1304
+ return (React.createElement(React.Fragment, null,
1305
+ React.createElement("div", { className: tableClassName, style: this.props.style, onMouseDown: this._onMouseDown, onContextMenu: this.props.showHideColumns ? this._handleShowHideContextMenu : undefined, onKeyDown: this._onKeyDown, onKeyUp: this._onKeyUp, role: "presentation" },
1306
+ this.props.showHideColumns &&
1307
+ React.createElement(ShowHideMenu_1.ShowHideMenu, { opened: this.state.menuVisible, items: this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name })), x: this.state.menuX, y: this.state.menuY, initialHidden: this.state.hiddenColumns, onClose: this._hideContextMenu, onShowHideChange: this._handleShowHideChange }),
1308
+ React.createElement(core_react_1.ElementResizeObserver, { watchedElement: this.state.gridContainer, render: ({ width, height }) => {
1309
+ setTimeout(() => this._queuePokeScroll());
1310
+ return (React.createElement(react_data_grid_1.default, { ref: this._gridRef, columns: visibleColumns, rowGetter: this._rowGetter, rowRenderer: rowRenderer, rowsCount: this.state.rowsCount, ...(this.props.reorderableColumns ? {
1311
+ draggableHeaderCell: DragDropHeaderCell_1.DragDropHeaderCell,
1312
+ onHeaderDrop: this._onHeaderDrop,
1313
+ } : {}), minHeight: height, minWidth: width, headerRowHeight: TABLE_ROW_HEIGHT, rowHeight: TABLE_ROW_HEIGHT, onGridSort: this._handleGridSort, enableRowSelect: null, onAddFilter: this._handleFilterChange, onClearFilters: this._handleOnClearFilters, headerFiltersHeight: TABLE_FILTER_ROW_HEIGHT, getValidFilterValues: this._getValidFilterValues, onScroll: this._onScroll }));
1314
+ } })),
1315
+ React.createElement("div", { ref: this._tableRef }, this.state.dialog
1316
+ ?
1317
+ // istanbul ignore next
1318
+ React.createElement(core_react_1.Dialog, { opened: true, onClose: this._onDialogClose, title: this.state.dialog.title, height: "50vh" }, this.state.dialog.content)
1319
+ : undefined)));
1320
+ }
1321
+ }
1322
+ exports.Table = Table;
1323
+ /**
1324
+ * Default component for rendering a row for the Table
1325
+ * @internal
1326
+ */
1327
+ class TableRow extends React.Component {
1328
+ /** @internal */
1329
+ render() {
1330
+ const { cells, isSelected, ...props } = this.props;
1331
+ return (React.createElement(react_data_grid_1.default.Row, { ...props, row: cells, isSelected: isSelected }));
1332
+ }
1333
+ }
1334
+ exports.TableRow = TableRow;
1335
1335
  //# sourceMappingURL=Table.js.map