@itwin/components-react 3.5.0-dev.18 → 3.5.0-dev.19

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