@itwin/components-react 4.0.0-dev.1 → 4.0.0-dev.10

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