@itwin/components-react 3.7.0-dev.3 → 3.7.0-dev.5

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