@itwin/components-react 3.4.4 → 3.4.6

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