@itwin/components-react 3.7.12 → 3.7.14

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