@itwin/components-react 3.6.0-dev.34 → 3.6.0-dev.36

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