@itwin/components-react 4.1.0-dev.1 → 4.2.0-dev.1

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 (1078) hide show
  1. package/CHANGELOG.md +1805 -1797
  2. package/LICENSE.md +9 -9
  3. package/README.md +11 -11
  4. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  5. package/lib/cjs/components-react/UiComponents.js +9 -5
  6. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  7. package/lib/cjs/components-react/_target.scss +5 -4
  8. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  9. package/lib/cjs/components-react/common/DateUtils.js +15 -9
  10. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js +5 -5
  13. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightedText.js +9 -5
  15. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  16. package/lib/cjs/components-react/common/HighlightingComponentProps.js +3 -3
  17. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  18. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  19. package/lib/cjs/components-react/common/IImageLoader.js +3 -3
  20. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  21. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  22. package/lib/cjs/components-react/common/ImageRenderer.js +12 -9
  23. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  24. package/lib/cjs/components-react/common/Links.d.ts.map +1 -1
  25. package/lib/cjs/components-react/common/Links.js +12 -5
  26. package/lib/cjs/components-react/common/Links.js.map +1 -1
  27. package/lib/cjs/components-react/common/PageOptions.js +3 -3
  28. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  29. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  30. package/lib/cjs/components-react/common/SubscriptionScheduler.js +4 -4
  31. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  32. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  33. package/lib/cjs/components-react/common/UseAsyncValue.js +9 -5
  34. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  35. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  36. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  37. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  38. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  39. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +8 -6
  40. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  41. package/lib/cjs/components-react/common/UseRerender.d.ts.map +1 -1
  42. package/lib/cjs/components-react/common/UseRerender.js +8 -4
  43. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  44. package/lib/cjs/components-react/common/countMatchesInString.d.ts.map +1 -1
  45. package/lib/cjs/components-react/common/countMatchesInString.js +3 -3
  46. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  47. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  48. package/lib/cjs/components-react/common/selection/SelectionHandler.js +32 -13
  49. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  50. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  51. package/lib/cjs/components-react/common/selection/SelectionModes.js +3 -3
  52. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  53. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +15 -7
  55. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  56. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  57. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +5 -4
  58. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  59. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  60. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +23 -11
  61. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  62. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/converters/EnumTypeConverter.js +4 -4
  64. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  65. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  66. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +3 -3
  67. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  68. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  69. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  70. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  71. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  72. package/lib/cjs/components-react/converters/NumericTypeConverter.js +7 -5
  73. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  74. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  75. package/lib/cjs/components-react/converters/PointTypeConverter.js +11 -6
  76. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  77. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  78. package/lib/cjs/components-react/converters/StringTypeConverter.js +16 -9
  79. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  80. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  81. package/lib/cjs/components-react/converters/TypeConverter.js +18 -8
  82. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  83. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  84. package/lib/cjs/components-react/converters/TypeConverterManager.js +4 -4
  85. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  86. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  87. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  88. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  89. package/lib/cjs/components-react/datepicker/DateField.d.ts +1 -1
  90. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  91. package/lib/cjs/components-react/datepicker/DateField.js +32 -10
  92. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  93. package/lib/cjs/components-react/datepicker/DateField.scss +4 -4
  94. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  95. package/lib/cjs/components-react/datepicker/DatePicker.js +15 -11
  96. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  97. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  98. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  99. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +14 -11
  100. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  101. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  102. package/lib/cjs/components-react/datepicker/IntlFormatter.js +11 -11
  103. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  104. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  105. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  106. package/lib/cjs/components-react/datepicker/TimeField.js +72 -31
  107. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  108. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  109. package/lib/cjs/components-react/editors/BooleanEditor.js +9 -5
  110. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  111. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/CustomNumberEditor.js +48 -28
  113. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  114. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +4 -4
  115. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +6 -6
  116. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  117. package/lib/cjs/components-react/editors/DateTimeEditor.js +25 -20
  118. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  119. package/lib/cjs/components-react/editors/DateTimeEditor.scss +4 -4
  120. package/lib/cjs/components-react/editors/EditorContainer.d.ts +3 -3
  121. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  122. package/lib/cjs/components-react/editors/EditorContainer.js +21 -13
  123. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  124. package/lib/cjs/components-react/editors/EditorContainer.scss +4 -4
  125. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  126. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +20 -11
  127. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  128. package/lib/cjs/components-react/editors/EnumEditor.d.ts +5 -5
  129. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  130. package/lib/cjs/components-react/editors/EnumEditor.js +25 -14
  131. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  132. package/lib/cjs/components-react/editors/EnumEditor.scss +5 -5
  133. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  134. package/lib/cjs/components-react/editors/IconEditor.js +10 -8
  135. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  136. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  137. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +13 -6
  138. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  139. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  140. package/lib/cjs/components-react/editors/NumericInputEditor.js +25 -8
  141. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  142. package/lib/cjs/components-react/editors/NumericInputEditor.scss +4 -6
  143. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  144. package/lib/cjs/components-react/editors/PopupButton.js +7 -4
  145. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  146. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  147. package/lib/cjs/components-react/editors/PropertyEditorManager.js +7 -5
  148. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  149. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  150. package/lib/cjs/components-react/editors/SliderEditor.js +46 -19
  151. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  152. package/lib/cjs/components-react/editors/SliderEditor.scss +4 -4
  153. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  154. package/lib/cjs/components-react/editors/TextEditor.js +24 -9
  155. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  156. package/lib/cjs/components-react/editors/TextEditor.scss +4 -4
  157. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  158. package/lib/cjs/components-react/editors/TextareaEditor.js +21 -8
  159. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/TextareaEditor.scss +4 -4
  161. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  162. package/lib/cjs/components-react/editors/ToggleEditor.js +11 -7
  163. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/variables.scss +4 -4
  165. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  166. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  167. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  168. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  169. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +4 -5
  170. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  171. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  172. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +16 -6
  173. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  174. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  175. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +6 -4
  176. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  177. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  178. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  179. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +25 -18
  180. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  181. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  182. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +46 -22
  183. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  184. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  185. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +5 -5
  186. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  187. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  188. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  189. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  190. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  191. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  192. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  193. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  194. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +21 -13
  195. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  196. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  197. package/lib/cjs/components-react/filter-builder/Operators.js +17 -18
  198. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  199. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  200. package/lib/cjs/components-react/filter-builder/Types.js +3 -3
  201. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  202. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +1 -1
  203. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  204. package/lib/cjs/components-react/filtering/FilteringInput.js +23 -21
  205. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  206. package/lib/cjs/components-react/filtering/FilteringInput.scss +4 -4
  207. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  208. package/lib/cjs/components-react/filtering/ResultSelector.js +16 -9
  209. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  210. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  211. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +9 -10
  212. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  213. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +1 -1
  214. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  215. package/lib/cjs/components-react/inputs/ParsedInput.js +8 -7
  216. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  217. package/lib/cjs/components-react/inputs/ParsedInput.scss +4 -4
  218. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  219. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  220. package/lib/cjs/components-react/properties/ItemStyle.js +7 -7
  221. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  222. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  223. package/lib/cjs/components-react/properties/LinkHandler.js +4 -4
  224. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  225. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/ValueRendererManager.js +5 -4
  227. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  229. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -5
  230. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  231. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  233. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +21 -10
  236. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  239. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  241. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  242. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  243. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  245. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  246. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  248. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +10 -9
  249. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  251. package/lib/cjs/components-react/properties/renderers/PropertyView.js +12 -16
  252. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  253. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  255. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  256. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  258. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  259. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  260. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  261. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  262. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  263. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  265. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  266. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  267. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  268. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  269. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  271. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  272. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  273. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  275. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  276. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  278. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  279. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  280. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  281. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  282. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  283. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  284. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  285. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  286. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +10 -6
  287. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  288. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  289. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  290. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  291. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  292. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  293. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  294. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  296. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  298. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  299. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  301. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  302. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  304. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +3 -3
  306. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  307. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  309. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  310. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  311. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  313. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  316. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  319. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  321. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  322. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  323. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  325. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  326. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  328. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +16 -6
  329. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  331. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  333. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  335. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +6 -4
  336. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  337. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  338. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  340. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  341. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  343. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  345. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +9 -5
  346. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  347. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +9 -5
  349. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +9 -5
  352. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  353. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  354. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  355. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  356. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  358. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  359. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  361. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  362. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  364. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  365. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  367. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  368. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  370. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  371. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  373. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  374. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -5
  376. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  377. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +3 -3
  379. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  380. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +9 -5
  382. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  383. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  385. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  386. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  387. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  388. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  389. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  391. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +8 -4
  392. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  393. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  394. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  395. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  396. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  397. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  398. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  400. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  401. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  402. package/lib/cjs/components-react/selectable-content/SelectableContent.js +4 -6
  403. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  404. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/Item.js +4 -5
  406. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  407. package/lib/cjs/components-react/toolbar/Item.scss +7 -5
  408. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  409. package/lib/cjs/components-react/toolbar/ItemWrapper.js +3 -3
  410. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  411. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  412. package/lib/cjs/components-react/toolbar/Items.js +16 -8
  413. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  414. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  415. package/lib/cjs/components-react/toolbar/Overflow.js +3 -3
  416. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  417. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  418. package/lib/cjs/components-react/toolbar/OverflowPanel.js +14 -9
  419. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  420. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  421. package/lib/cjs/components-react/toolbar/PopupItem.js +7 -9
  422. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  423. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  424. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +20 -11
  425. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  426. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  427. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +23 -22
  428. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  429. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  430. package/lib/cjs/components-react/toolbar/Toolbar.js +29 -16
  431. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  432. package/lib/cjs/components-react/toolbar/Toolbar.scss +6 -6
  433. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  434. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  435. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +97 -57
  436. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  437. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  438. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  439. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  440. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  441. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +3 -3
  442. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  443. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  444. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +3 -3
  445. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  446. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  447. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +3 -3
  448. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  449. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  450. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +3 -3
  451. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  452. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +4 -4
  453. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  454. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  455. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  456. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  457. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  458. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  459. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  460. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  461. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  462. package/lib/cjs/components-react/toolbar/useDragInteraction.js +6 -5
  463. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  464. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  465. package/lib/cjs/components-react/toolbar/utilities/Direction.js +3 -3
  466. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  467. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  468. package/lib/cjs/components-react/tree/HighlightingEngine.js +4 -4
  469. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  470. package/lib/cjs/components-react/tree/HighlightingEngine.scss +4 -4
  471. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  472. package/lib/cjs/components-react/tree/ImageLoader.js +3 -3
  473. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  474. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  475. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +3 -3
  476. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  477. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  478. package/lib/cjs/components-react/tree/TreeComponentTestId.js +3 -3
  479. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  480. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  481. package/lib/cjs/components-react/tree/TreeDataProvider.js +9 -7
  482. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  483. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  484. package/lib/cjs/components-react/tree/controlled/Observable.js +6 -4
  485. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  486. package/lib/cjs/components-react/tree/controlled/TreeActions.js +3 -3
  487. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  488. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  489. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +41 -23
  490. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  491. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  492. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  493. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +12 -8
  494. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  495. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  496. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +3 -3
  497. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  498. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  499. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +3 -3
  500. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  501. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  502. package/lib/cjs/components-react/tree/controlled/TreeModel.js +39 -14
  503. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  504. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  505. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +22 -8
  506. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  507. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  508. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +48 -30
  509. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  510. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  511. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +14 -14
  512. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  513. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  514. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  515. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  516. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +16 -15
  517. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  518. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  519. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  520. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  522. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  523. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +17 -7
  524. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  525. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  526. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  527. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  528. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  529. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +3 -3
  530. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  531. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  532. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  533. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  534. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  535. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +38 -20
  536. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  537. package/lib/cjs/components-react.d.ts +1 -0
  538. package/lib/cjs/components-react.d.ts.map +1 -1
  539. package/lib/cjs/components-react.js +4 -3
  540. package/lib/cjs/components-react.js.map +1 -1
  541. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  542. package/lib/esm/components-react/UiComponents.js +9 -5
  543. package/lib/esm/components-react/UiComponents.js.map +1 -1
  544. package/lib/esm/components-react/_target.scss +5 -4
  545. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  546. package/lib/esm/components-react/common/DateUtils.js +15 -9
  547. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  548. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  549. package/lib/esm/components-react/common/DelayedSpinner.js +5 -5
  550. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  551. package/lib/esm/components-react/common/HighlightedText.js +9 -5
  552. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  553. package/lib/esm/components-react/common/HighlightingComponentProps.js +3 -3
  554. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  555. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  556. package/lib/esm/components-react/common/IImageLoader.js +3 -3
  557. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  558. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  559. package/lib/esm/components-react/common/ImageRenderer.js +12 -9
  560. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  561. package/lib/esm/components-react/common/Links.d.ts.map +1 -1
  562. package/lib/esm/components-react/common/Links.js +12 -5
  563. package/lib/esm/components-react/common/Links.js.map +1 -1
  564. package/lib/esm/components-react/common/PageOptions.js +3 -3
  565. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  566. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  567. package/lib/esm/components-react/common/SubscriptionScheduler.js +4 -4
  568. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  569. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  570. package/lib/esm/components-react/common/UseAsyncValue.js +9 -5
  571. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  572. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  573. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  574. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  575. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  576. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +9 -7
  577. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  578. package/lib/esm/components-react/common/UseRerender.d.ts.map +1 -1
  579. package/lib/esm/components-react/common/UseRerender.js +8 -4
  580. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  581. package/lib/esm/components-react/common/countMatchesInString.d.ts.map +1 -1
  582. package/lib/esm/components-react/common/countMatchesInString.js +3 -3
  583. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  584. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  585. package/lib/esm/components-react/common/selection/SelectionHandler.js +33 -14
  586. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  587. package/lib/esm/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  588. package/lib/esm/components-react/common/selection/SelectionModes.js +3 -3
  589. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  590. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  591. package/lib/esm/components-react/converters/BooleanTypeConverter.js +15 -7
  592. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  593. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  594. package/lib/esm/components-react/converters/CompositeTypeConverter.js +5 -4
  595. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  596. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  597. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +24 -12
  598. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  599. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  600. package/lib/esm/components-react/converters/EnumTypeConverter.js +4 -4
  601. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  602. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  603. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +3 -3
  604. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  605. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  606. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  607. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  608. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  609. package/lib/esm/components-react/converters/NumericTypeConverter.js +7 -5
  610. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  611. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  612. package/lib/esm/components-react/converters/PointTypeConverter.js +11 -6
  613. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  614. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  615. package/lib/esm/components-react/converters/StringTypeConverter.js +16 -9
  616. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  617. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  618. package/lib/esm/components-react/converters/TypeConverter.js +18 -8
  619. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  620. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  621. package/lib/esm/components-react/converters/TypeConverterManager.js +4 -4
  622. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  623. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  624. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  625. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  626. package/lib/esm/components-react/datepicker/DateField.d.ts +1 -1
  627. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  628. package/lib/esm/components-react/datepicker/DateField.js +32 -10
  629. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  630. package/lib/esm/components-react/datepicker/DateField.scss +4 -4
  631. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  632. package/lib/esm/components-react/datepicker/DatePicker.js +15 -11
  633. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  634. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  635. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  636. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +14 -11
  637. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  638. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  639. package/lib/esm/components-react/datepicker/IntlFormatter.js +11 -11
  640. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  641. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  642. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  643. package/lib/esm/components-react/datepicker/TimeField.js +72 -31
  644. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  645. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  646. package/lib/esm/components-react/editors/BooleanEditor.js +10 -6
  647. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  648. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  649. package/lib/esm/components-react/editors/CustomNumberEditor.js +49 -29
  650. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  651. package/lib/esm/components-react/editors/CustomNumberEditor.scss +4 -4
  652. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +6 -6
  653. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  654. package/lib/esm/components-react/editors/DateTimeEditor.js +26 -21
  655. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  656. package/lib/esm/components-react/editors/DateTimeEditor.scss +4 -4
  657. package/lib/esm/components-react/editors/EditorContainer.d.ts +3 -3
  658. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  659. package/lib/esm/components-react/editors/EditorContainer.js +21 -13
  660. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  661. package/lib/esm/components-react/editors/EditorContainer.scss +4 -4
  662. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  663. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +21 -12
  664. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  665. package/lib/esm/components-react/editors/EnumEditor.d.ts +5 -5
  666. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  667. package/lib/esm/components-react/editors/EnumEditor.js +26 -15
  668. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  669. package/lib/esm/components-react/editors/EnumEditor.scss +5 -5
  670. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  671. package/lib/esm/components-react/editors/IconEditor.js +11 -9
  672. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  673. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  674. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +14 -7
  675. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  676. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  677. package/lib/esm/components-react/editors/NumericInputEditor.js +26 -9
  678. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  679. package/lib/esm/components-react/editors/NumericInputEditor.scss +4 -6
  680. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  681. package/lib/esm/components-react/editors/PopupButton.js +8 -5
  682. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  683. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  684. package/lib/esm/components-react/editors/PropertyEditorManager.js +7 -5
  685. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  686. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  687. package/lib/esm/components-react/editors/SliderEditor.js +47 -20
  688. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  689. package/lib/esm/components-react/editors/SliderEditor.scss +4 -4
  690. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  691. package/lib/esm/components-react/editors/TextEditor.js +24 -9
  692. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  693. package/lib/esm/components-react/editors/TextEditor.scss +4 -4
  694. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  695. package/lib/esm/components-react/editors/TextareaEditor.js +22 -9
  696. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  697. package/lib/esm/components-react/editors/TextareaEditor.scss +4 -4
  698. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  699. package/lib/esm/components-react/editors/ToggleEditor.js +13 -9
  700. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  701. package/lib/esm/components-react/editors/variables.scss +4 -4
  702. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  704. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  705. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  706. package/lib/esm/components-react/favorite/FavoritePropertyList.js +4 -5
  707. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  708. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  709. package/lib/esm/components-react/filter-builder/FilterBuilder.js +17 -7
  710. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  711. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  712. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +6 -4
  713. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  714. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  715. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  716. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +26 -19
  717. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  718. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  719. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +47 -23
  720. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  721. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  722. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +6 -6
  723. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  724. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  725. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  726. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  727. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  728. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  729. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  730. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  731. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +22 -14
  732. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  733. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  734. package/lib/esm/components-react/filter-builder/Operators.js +17 -18
  735. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  736. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  737. package/lib/esm/components-react/filter-builder/Types.js +3 -3
  738. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  739. package/lib/esm/components-react/filtering/FilteringInput.d.ts +1 -1
  740. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  741. package/lib/esm/components-react/filtering/FilteringInput.js +23 -21
  742. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  743. package/lib/esm/components-react/filtering/FilteringInput.scss +4 -4
  744. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  745. package/lib/esm/components-react/filtering/ResultSelector.js +16 -9
  746. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  747. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  748. package/lib/esm/components-react/iconpicker/IconPickerButton.js +9 -10
  749. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  750. package/lib/esm/components-react/inputs/ParsedInput.d.ts +1 -1
  751. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  752. package/lib/esm/components-react/inputs/ParsedInput.js +8 -7
  753. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  754. package/lib/esm/components-react/inputs/ParsedInput.scss +4 -4
  755. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  756. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  757. package/lib/esm/components-react/properties/ItemStyle.js +7 -7
  758. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  759. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  760. package/lib/esm/components-react/properties/LinkHandler.js +4 -4
  761. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  762. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  763. package/lib/esm/components-react/properties/ValueRendererManager.js +5 -4
  764. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  765. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  766. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +5 -5
  767. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  768. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  769. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  770. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  771. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  772. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +22 -11
  773. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  774. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  775. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  776. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  777. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  778. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  779. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  780. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  781. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  782. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  783. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  784. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  785. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +10 -9
  786. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  787. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  788. package/lib/esm/components-react/properties/renderers/PropertyView.js +12 -16
  789. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  790. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  791. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  792. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  793. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  794. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  795. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  796. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  797. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  798. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  799. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  800. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  801. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  802. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  803. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  804. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  805. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  806. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  807. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  808. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  809. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  810. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  811. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  812. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  813. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  814. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  815. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  816. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  818. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  819. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  820. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  821. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  822. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  823. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +11 -7
  824. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  825. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  826. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  827. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  828. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  829. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  830. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  831. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  832. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  833. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  834. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  835. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  836. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  837. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  838. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  839. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  840. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  841. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  842. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +3 -3
  843. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  844. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  845. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  846. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  847. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  848. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  849. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  850. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  851. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  852. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  853. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  854. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  855. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  856. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  857. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  858. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  859. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  860. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  861. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  862. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  863. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  864. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  865. package/lib/esm/components-react/propertygrid/component/PropertyList.js +16 -6
  866. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  867. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  868. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  869. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  870. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  871. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  872. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +7 -5
  873. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  874. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  875. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  876. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  877. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  878. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  879. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  880. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  881. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  882. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +10 -6
  883. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  884. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  885. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +10 -6
  886. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  887. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  888. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +10 -6
  889. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  890. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  891. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  892. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  893. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  894. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  895. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  896. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  897. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  898. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  899. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  900. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  901. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  902. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  903. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  904. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  905. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  906. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  907. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  908. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  909. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  910. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  911. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  912. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +10 -6
  913. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  914. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  915. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +4 -4
  916. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  917. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  918. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +10 -6
  919. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  920. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  921. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  922. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  923. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  924. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  925. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  926. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  927. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  928. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +9 -5
  929. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  930. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  931. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  932. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  933. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  934. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  935. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  936. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  937. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  938. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  939. package/lib/esm/components-react/selectable-content/SelectableContent.js +4 -6
  940. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  941. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  942. package/lib/esm/components-react/toolbar/Item.js +4 -5
  943. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  944. package/lib/esm/components-react/toolbar/Item.scss +7 -5
  945. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  946. package/lib/esm/components-react/toolbar/ItemWrapper.js +5 -5
  947. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  948. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  949. package/lib/esm/components-react/toolbar/Items.js +17 -9
  950. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  951. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  952. package/lib/esm/components-react/toolbar/Overflow.js +4 -4
  953. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  954. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  955. package/lib/esm/components-react/toolbar/OverflowPanel.js +16 -11
  956. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  957. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  958. package/lib/esm/components-react/toolbar/PopupItem.js +8 -10
  959. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  960. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  961. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +22 -13
  962. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  963. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  964. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +24 -23
  965. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  966. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  967. package/lib/esm/components-react/toolbar/Toolbar.js +31 -18
  968. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  969. package/lib/esm/components-react/toolbar/Toolbar.scss +6 -6
  970. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  971. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  972. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +98 -58
  973. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  974. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  975. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  976. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  977. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  978. package/lib/esm/components-react/toolbar/groupPanel/Column.js +3 -3
  979. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  980. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  981. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +3 -3
  982. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  983. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  984. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +3 -3
  985. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  986. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  987. package/lib/esm/components-react/toolbar/groupPanel/Title.js +3 -3
  988. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  989. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +4 -4
  990. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  991. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  992. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  993. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  994. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  995. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  996. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  997. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  998. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  999. package/lib/esm/components-react/toolbar/useDragInteraction.js +6 -5
  1000. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1001. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  1002. package/lib/esm/components-react/toolbar/utilities/Direction.js +3 -3
  1003. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1004. package/lib/esm/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  1005. package/lib/esm/components-react/tree/HighlightingEngine.js +4 -4
  1006. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1007. package/lib/esm/components-react/tree/HighlightingEngine.scss +4 -4
  1008. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  1009. package/lib/esm/components-react/tree/ImageLoader.js +3 -3
  1010. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1011. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  1012. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +3 -3
  1013. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1014. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  1015. package/lib/esm/components-react/tree/TreeComponentTestId.js +3 -3
  1016. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1017. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1018. package/lib/esm/components-react/tree/TreeDataProvider.js +9 -7
  1019. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1020. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  1021. package/lib/esm/components-react/tree/controlled/Observable.js +6 -4
  1022. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1023. package/lib/esm/components-react/tree/controlled/TreeActions.js +3 -3
  1024. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1025. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  1026. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +42 -24
  1027. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1028. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  1029. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  1030. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +12 -8
  1031. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1032. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  1033. package/lib/esm/components-react/tree/controlled/TreeEvents.js +3 -3
  1034. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1035. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  1036. package/lib/esm/components-react/tree/controlled/TreeHooks.js +3 -3
  1037. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1038. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  1039. package/lib/esm/components-react/tree/controlled/TreeModel.js +39 -14
  1040. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1041. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  1042. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +22 -8
  1043. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1044. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  1045. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +49 -31
  1046. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1047. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  1048. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +14 -14
  1049. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1050. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  1051. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  1052. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  1053. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +15 -14
  1054. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1055. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  1056. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  1057. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1058. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  1059. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  1060. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +16 -7
  1061. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1062. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1063. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  1064. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1065. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  1066. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +3 -3
  1067. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1068. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  1069. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  1070. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1071. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  1072. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +39 -21
  1073. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1074. package/lib/esm/components-react.d.ts +1 -0
  1075. package/lib/esm/components-react.d.ts.map +1 -1
  1076. package/lib/esm/components-react.js +4 -3
  1077. package/lib/esm/components-react.js.map +1 -1
  1078. package/package.json +12 -21
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport type { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\nimport { defer } from \"rxjs/internal/observable/defer\";\nimport { from } from \"rxjs/internal/observable/from\";\nimport { of } from \"rxjs/internal/observable/of\";\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\nimport { finalize } from \"rxjs/internal/operators/finalize\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { publish } from \"rxjs/internal/operators/publish\";\nimport { refCount } from \"rxjs/internal/operators/refCount\";\nimport { toArray } from \"rxjs/internal/operators/toArray\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\nimport { UiComponents } from \"../../UiComponents\";\nimport type {\n ImmediatelyLoadedTreeNodeItem,\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem} from \"../TreeDataProvider\";\nimport { isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\n} from \"../TreeDataProvider\";\nimport type { Observable} from \"./Observable\";\nimport { toRxjsObservable } from \"./Observable\";\nimport type { MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\nimport { isTreeModelNode } from \"./TreeModel\";\nimport type { TreeModelSource } from \"./TreeModelSource\";\n\n/**\n * Data structure that describes node load result\n * @public\n */\nexport interface TreeNodeLoadResult {\n loadedNodes: TreeNodeItem[];\n}\n\n/**\n * Tree node loader which is used to load tree nodes.\n * @public\n */\nexport interface ITreeNodeLoader {\n /**\n * Loads node at specified place in tree.\n * @param parentId specifies tree branch\n * @param childIndex specifies offset in the branch.\n */\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\n}\n\n/**\n * Tree node loader which uses `TreeDataProvider` to load nodes.\n * @public\n */\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\n /** Returns `TreeDataProvider` used to load nodes. */\n readonly dataProvider: TDataProvider;\n}\n\n/**\n * Abstract node loader implementation which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\n private _treeModelSource: TreeModelSource;\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n protected constructor(modelSource: TreeModelSource) {\n this._treeModelSource = modelSource;\n }\n\n public get modelSource() { return this._treeModelSource; }\n\n /** Do not override this method. @see `load` */\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._loadScheduler),\n );\n }\n\n /**\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\n * in the hierarchy, etc.)\n */\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\n }\n\n /** An abstract method to load a node at the specific index for the specified parent. */\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\n}\n\n/**\n * Abstract node loader with tree data provider which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\n private _dataProvider: TDataProvider;\n\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\n super(modelSource);\n this._dataProvider = dataProvider;\n }\n\n public get dataProvider() { return this._dataProvider; }\n}\n\n/**\n * Default tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n }\n\n /**\n * Schedules to load children of node and returns an Observable.\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const activeRequest = this._activeRequests.get(parentId);\n if (activeRequest) {\n return activeRequest;\n }\n\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\n .pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => this._activeRequests.delete(parentId))\n );\n this._activeRequests.set(parentId, newRequest);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Default paged tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _pageSize: number;\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n this._pageSize = pageSize;\n this._activePageRequests = new Map();\n this._scheduler = new SubscriptionScheduler();\n }\n\n /** Returns page size used by tree node loader. */\n public get pageSize(): number { return this._pageSize; }\n\n /**\n * Schedules to load one page of node children and returns an Observable.\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const parentPageRequests = this._activePageRequests.get(parentId)\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\n const page = Math.trunc(childIndex / this._pageSize);\n const activeRequest = parentPageRequests.get(page);\n if (activeRequest) {\n return activeRequest;\n }\n\n const startIndex = page * this._pageSize;\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n startIndex,\n this._pageSize,\n parent.numChildren === undefined,\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => {\n parentPageRequests.delete(page);\n if (parentPageRequests.size === 0) {\n this._activePageRequests.delete(parentId);\n }\n }),\n );\n\n parentPageRequests.set(page, newRequest);\n this._activePageRequests.set(parentId, parentPageRequests);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Data structure that describes hierarchy loaded for parent node.\n * @public\n */\nexport interface LoadedNodeHierarchy {\n /** Node id of the parent node for loaded hierarchy. */\n parentId: string | undefined;\n /** Hierarchy items offset in parent node children array. */\n offset: number;\n /** Loaded hierarchy items. */\n hierarchyItems: LoadedNodeHierarchyItem[];\n /** Number of children parent node has. */\n numChildren?: number;\n}\n\n/**\n * Data structure that describes one loaded hierarchy item.\n * @public\n */\nexport interface LoadedNodeHierarchyItem {\n /** Loaded tree node item. */\n item: TreeNodeItemData;\n /** Children of loaded tree node item. */\n children?: LoadedNodeHierarchyItem[];\n /** Number of children tree node item has. */\n numChildren?: number;\n}\n\nfunction requestLoadedHierarchy(\n parentItem: TreeNodeItem | undefined,\n dataSource: TreeDataSource,\n start: number,\n take: number,\n requestNumChildren: boolean,\n) {\n const parentId = parentItem && parentItem.id;\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\n .pipe(\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\n .pipe(\n map((hierarchyItems) => ({\n parentId,\n offset: start,\n hierarchyItems,\n numChildren,\n })),\n ),\n ),\n );\n}\n\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\n return from(rootItems)\n .pipe(\n concatMap((item) => {\n if (!item.autoExpand || item.children) {\n return of(convertToLoadedNodeHierarchyItem(item));\n }\n\n return dataSource.requestItems(item, 0, take, true)\n .pipe(\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\n .pipe(\n map((children) => ({ item, children, numChildren })),\n ),\n ),\n );\n }),\n toArray(),\n );\n}\n\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\n return {\n item,\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\n numChildren: item.children ? item.children.length : undefined,\n };\n}\n\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\n for (const hierarchyItem of hierarchyItems) {\n result.push(hierarchyItem.item);\n if (hierarchyItem.children)\n collectTreeNodeItems(hierarchyItem.children, result);\n }\n\n return result;\n}\n\n/** @internal */\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\n modelSource.modifyModel((model) => {\n if (loadedHierarchy.parentId !== undefined) {\n // Make sure the model sill contains the parent node\n /* istanbul ignore if */\n if (model.getNode(loadedHierarchy.parentId) === undefined)\n return;\n }\n\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\n if (loadedHierarchy.parentId !== undefined) {\n const parentNode = model.getNode(loadedHierarchy.parentId);\n /* istanbul ignore else */\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\n parentNode.isLoading = false;\n }\n }\n });\n}\n\nfunction updateChildren(\n model: MutableTreeModel,\n parentId: string | undefined,\n hierarchyItems: LoadedNodeHierarchyItem[],\n startIndex: number,\n numChildren?: number,\n) {\n // numChildren set to undefined indicates that this is not the first request for children\n if (numChildren !== undefined) {\n model.setNumChildren(parentId, numChildren);\n }\n\n // if children array is undefined do not add children as they should be disposed\n if (model.getChildren(parentId) === undefined) {\n return;\n }\n\n let offset = startIndex;\n for (const hierarchyItem of hierarchyItems) {\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\n const existingNode = model.getNode(hierarchyItem.item.id);\n\n // if same item exists in the same position and is expanded update it without removing it's subtree\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\n model.setChildren(parentId, [nodeInput], offset);\n } else {\n existingNode.label = nodeInput.label;\n existingNode.description = nodeInput.description ?? \"\";\n existingNode.item = nodeInput.item;\n }\n\n if (hierarchyItem.children) {\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\n }\n offset++;\n }\n}\n\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\n let numChildren: number | undefined;\n if (item.children) {\n numChildren = item.children.length;\n } else if (!item.hasChildren) {\n numChildren = 0;\n }\n\n return {\n description: item.description,\n isExpanded: !!item.autoExpand,\n id: item.id,\n item,\n label: item.label,\n isLoading: false,\n numChildren,\n isSelected: false,\n };\n}\n\ninterface TreeDataSourceResult {\n loadedItems: TreeNodeItemData[];\n numChildren?: number;\n}\n\n/**\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\n *\n * @internal\n */\nexport class TreeDataSource {\n private _dataProvider: TreeDataProvider;\n\n constructor(dataProvider: TreeDataProvider) {\n this._dataProvider = dataProvider;\n }\n\n public requestItems(\n parent: TreeNodeItem | undefined,\n firstItemIndex: number,\n numItems: number,\n requestNumChildren: boolean,\n ): RxjsObservable<TreeDataSourceResult> {\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\n return defer(async () => {\n if (isTreeDataProviderInterface(this._dataProvider)) {\n const dataProvider = this._dataProvider;\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\n .pipe(\n concatMap(async (numChildren) => {\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\n return {\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\n numChildren,\n };\n }),\n );\n }\n\n return from(this.getItems(parent))\n .pipe(\n map((loadedItems) => ({\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\n numChildren: loadedItems.length,\n })),\n );\n })\n .pipe(\n concatAll(),\n publish(),\n refCount(),\n );\n }\n\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\n if (isTreeDataProviderRaw(this._dataProvider)) {\n return this.getChildren(this._dataProvider, parent);\n }\n\n if (isTreeDataProviderMethod(this._dataProvider)) {\n return this._dataProvider(parent);\n }\n\n if (isTreeDataProviderPromise(this._dataProvider)) {\n this._dataProvider = await this._dataProvider;\n return this.getChildren(this._dataProvider, parent);\n }\n\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\n }\n\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\n if (parent === undefined)\n return rawProvider;\n\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\n }\n}\n"]}
1
+ {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport type { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\nimport { defer } from \"rxjs/internal/observable/defer\";\nimport { from } from \"rxjs/internal/observable/from\";\nimport { of } from \"rxjs/internal/observable/of\";\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\nimport { finalize } from \"rxjs/internal/operators/finalize\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { publish } from \"rxjs/internal/operators/publish\";\nimport { refCount } from \"rxjs/internal/operators/refCount\";\nimport { toArray } from \"rxjs/internal/operators/toArray\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport {\n scheduleSubscription,\n SubscriptionScheduler,\n} from \"../../common/SubscriptionScheduler\";\nimport { UiComponents } from \"../../UiComponents\";\nimport type {\n ImmediatelyLoadedTreeNodeItem,\n TreeDataProvider,\n TreeDataProviderRaw,\n TreeNodeItem,\n} from \"../TreeDataProvider\";\nimport {\n isTreeDataProviderInterface,\n isTreeDataProviderMethod,\n isTreeDataProviderPromise,\n isTreeDataProviderRaw,\n} from \"../TreeDataProvider\";\nimport type { Observable } from \"./Observable\";\nimport { toRxjsObservable } from \"./Observable\";\nimport type {\n MutableTreeModel,\n TreeModelNode,\n TreeModelNodeInput,\n TreeModelRootNode,\n TreeNodeItemData,\n} from \"./TreeModel\";\nimport { isTreeModelNode } from \"./TreeModel\";\nimport type { TreeModelSource } from \"./TreeModelSource\";\n\n/**\n * Data structure that describes node load result\n * @public\n */\nexport interface TreeNodeLoadResult {\n loadedNodes: TreeNodeItem[];\n}\n\n/**\n * Tree node loader which is used to load tree nodes.\n * @public\n */\nexport interface ITreeNodeLoader {\n /**\n * Loads node at specified place in tree.\n * @param parentId specifies tree branch\n * @param childIndex specifies offset in the branch.\n */\n loadNode(\n parentId: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult>;\n}\n\n/**\n * Tree node loader which uses `TreeDataProvider` to load nodes.\n * @public\n */\nexport interface ITreeNodeLoaderWithProvider<\n TDataProvider extends TreeDataProvider\n> extends ITreeNodeLoader {\n /** Returns `TreeDataProvider` used to load nodes. */\n readonly dataProvider: TDataProvider;\n}\n\n/**\n * Abstract node loader implementation which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\n private _treeModelSource: TreeModelSource;\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n protected constructor(modelSource: TreeModelSource) {\n this._treeModelSource = modelSource;\n }\n\n public get modelSource() {\n return this._treeModelSource;\n }\n\n /** Do not override this method. @see `load` */\n public loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult> {\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._loadScheduler)\n );\n }\n\n /**\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\n * in the hierarchy, etc.)\n */\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\n }\n\n /** An abstract method to load a node at the specific index for the specified parent. */\n protected abstract load(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<LoadedNodeHierarchy>;\n}\n\n/**\n * Abstract node loader with tree data provider which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoaderWithProvider<\n TDataProvider extends TreeDataProvider\n >\n extends AbstractTreeNodeLoader\n implements ITreeNodeLoaderWithProvider<TDataProvider>\n{\n private _dataProvider: TDataProvider;\n\n protected constructor(\n modelSource: TreeModelSource,\n dataProvider: TDataProvider\n ) {\n super(modelSource);\n this._dataProvider = dataProvider;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n}\n\n/**\n * Default tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class TreeNodeLoader<\n TDataProvider extends TreeDataProvider\n> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _activeRequests = new Map<\n string | undefined,\n RxjsObservable<TreeNodeLoadResult>\n >();\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n }\n\n /**\n * Schedules to load children of node and returns an Observable.\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n _childIndex?: number\n ): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const activeRequest = this._activeRequests.get(parentId);\n if (activeRequest) {\n return activeRequest;\n }\n\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n 0,\n 0,\n parent.numChildren === undefined\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => this._activeRequests.delete(parentId))\n );\n this._activeRequests.set(parentId, newRequest);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Default paged tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class PagedTreeNodeLoader<\n TDataProvider extends TreeDataProvider\n> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _pageSize: number;\n private _activePageRequests: Map<\n string | undefined,\n Map<number, Observable<TreeNodeLoadResult>>\n >;\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\n\n constructor(\n dataProvider: TDataProvider,\n modelSource: TreeModelSource,\n pageSize: number\n ) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n this._pageSize = pageSize;\n this._activePageRequests = new Map();\n this._scheduler = new SubscriptionScheduler();\n }\n\n /** Returns page size used by tree node loader. */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * Schedules to load one page of node children and returns an Observable.\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const parentPageRequests =\n this._activePageRequests.get(parentId) ??\n new Map<number, Observable<TreeNodeLoadResult>>();\n const page = Math.trunc(childIndex / this._pageSize);\n const activeRequest = parentPageRequests.get(page);\n if (activeRequest) {\n return activeRequest;\n }\n\n const startIndex = page * this._pageSize;\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n startIndex,\n this._pageSize,\n parent.numChildren === undefined\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => {\n parentPageRequests.delete(page);\n if (parentPageRequests.size === 0) {\n this._activePageRequests.delete(parentId);\n }\n })\n );\n\n parentPageRequests.set(page, newRequest);\n this._activePageRequests.set(parentId, parentPageRequests);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Data structure that describes hierarchy loaded for parent node.\n * @public\n */\nexport interface LoadedNodeHierarchy {\n /** Node id of the parent node for loaded hierarchy. */\n parentId: string | undefined;\n /** Hierarchy items offset in parent node children array. */\n offset: number;\n /** Loaded hierarchy items. */\n hierarchyItems: LoadedNodeHierarchyItem[];\n /** Number of children parent node has. */\n numChildren?: number;\n}\n\n/**\n * Data structure that describes one loaded hierarchy item.\n * @public\n */\nexport interface LoadedNodeHierarchyItem {\n /** Loaded tree node item. */\n item: TreeNodeItemData;\n /** Children of loaded tree node item. */\n children?: LoadedNodeHierarchyItem[];\n /** Number of children tree node item has. */\n numChildren?: number;\n}\n\nfunction requestLoadedHierarchy(\n parentItem: TreeNodeItem | undefined,\n dataSource: TreeDataSource,\n start: number,\n take: number,\n requestNumChildren: boolean\n) {\n const parentId = parentItem && parentItem.id;\n return dataSource\n .requestItems(parentItem, start, take, requestNumChildren)\n .pipe(\n concatMap(({ numChildren, loadedItems }) =>\n loadHierarchy(loadedItems, dataSource, take).pipe(\n map((hierarchyItems) => ({\n parentId,\n offset: start,\n hierarchyItems,\n numChildren,\n }))\n )\n )\n );\n}\n\nfunction loadHierarchy(\n rootItems: TreeNodeItemData[],\n dataSource: TreeDataSource,\n take: number\n): RxjsObservable<LoadedNodeHierarchyItem[]> {\n return from(rootItems).pipe(\n concatMap((item) => {\n if (!item.autoExpand || item.children) {\n return of(convertToLoadedNodeHierarchyItem(item));\n }\n\n return dataSource\n .requestItems(item, 0, take, true)\n .pipe(\n concatMap(({ numChildren, loadedItems }) =>\n loadHierarchy(loadedItems, dataSource, take).pipe(\n map((children) => ({ item, children, numChildren }))\n )\n )\n );\n }),\n toArray()\n );\n}\n\nfunction convertToLoadedNodeHierarchyItem(\n item: TreeNodeItemData\n): LoadedNodeHierarchyItem {\n return {\n item,\n children: item.children\n ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child))\n : undefined,\n numChildren: item.children ? item.children.length : undefined,\n };\n}\n\nfunction collectTreeNodeItems(\n hierarchyItems: LoadedNodeHierarchyItem[],\n result: TreeNodeItem[] = []\n) {\n for (const hierarchyItem of hierarchyItems) {\n result.push(hierarchyItem.item);\n if (hierarchyItem.children)\n collectTreeNodeItems(hierarchyItem.children, result);\n }\n\n return result;\n}\n\n/** @internal */\nexport function handleLoadedNodeHierarchy(\n modelSource: TreeModelSource,\n loadedHierarchy: LoadedNodeHierarchy\n) {\n modelSource.modifyModel((model) => {\n if (loadedHierarchy.parentId !== undefined) {\n // Make sure the model sill contains the parent node\n /* istanbul ignore if */\n if (model.getNode(loadedHierarchy.parentId) === undefined) return;\n }\n\n updateChildren(\n model,\n loadedHierarchy.parentId,\n loadedHierarchy.hierarchyItems,\n loadedHierarchy.offset,\n loadedHierarchy.numChildren\n );\n if (loadedHierarchy.parentId !== undefined) {\n const parentNode = model.getNode(loadedHierarchy.parentId);\n /* istanbul ignore else */\n if (\n parentNode &&\n parentNode.isLoading &&\n parentNode.numChildren !== undefined\n ) {\n parentNode.isLoading = false;\n }\n }\n });\n}\n\nfunction updateChildren(\n model: MutableTreeModel,\n parentId: string | undefined,\n hierarchyItems: LoadedNodeHierarchyItem[],\n startIndex: number,\n numChildren?: number\n) {\n // numChildren set to undefined indicates that this is not the first request for children\n if (numChildren !== undefined) {\n model.setNumChildren(parentId, numChildren);\n }\n\n // if children array is undefined do not add children as they should be disposed\n if (model.getChildren(parentId) === undefined) {\n return;\n }\n\n let offset = startIndex;\n for (const hierarchyItem of hierarchyItems) {\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\n const existingNode = model.getNode(hierarchyItem.item.id);\n\n // if same item exists in the same position and is expanded update it without removing it's subtree\n if (\n !existingNode ||\n !existingNode.isExpanded ||\n model.getChildOffset(parentId, existingNode.id) !== offset ||\n nodeInput.numChildren === 0\n ) {\n model.setChildren(parentId, [nodeInput], offset);\n } else {\n existingNode.label = nodeInput.label;\n existingNode.description = nodeInput.description ?? \"\";\n existingNode.item = nodeInput.item;\n }\n\n if (hierarchyItem.children) {\n updateChildren(\n model,\n hierarchyItem.item.id,\n hierarchyItem.children,\n 0,\n hierarchyItem.numChildren\n );\n }\n offset++;\n }\n}\n\nfunction convertToTreeModelNodeInput(\n item: TreeNodeItemData\n): TreeModelNodeInput {\n let numChildren: number | undefined;\n if (item.children) {\n numChildren = item.children.length;\n } else if (!item.hasChildren) {\n numChildren = 0;\n }\n\n return {\n description: item.description,\n isExpanded: !!item.autoExpand,\n id: item.id,\n item,\n label: item.label,\n isLoading: false,\n numChildren,\n isSelected: false,\n };\n}\n\ninterface TreeDataSourceResult {\n loadedItems: TreeNodeItemData[];\n numChildren?: number;\n}\n\n/**\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\n *\n * @internal\n */\nexport class TreeDataSource {\n private _dataProvider: TreeDataProvider;\n\n constructor(dataProvider: TreeDataProvider) {\n this._dataProvider = dataProvider;\n }\n\n public requestItems(\n parent: TreeNodeItem | undefined,\n firstItemIndex: number,\n numItems: number,\n requestNumChildren: boolean\n ): RxjsObservable<TreeDataSourceResult> {\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\n return defer(async () => {\n if (isTreeDataProviderInterface(this._dataProvider)) {\n const dataProvider = this._dataProvider;\n return from(\n requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined]\n ).pipe(\n concatMap(async (numChildren) => {\n const pageOptions =\n numItems !== 0\n ? { size: numItems, start: firstItemIndex }\n : undefined;\n return {\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\n numChildren,\n };\n })\n );\n }\n\n return from(this.getItems(parent)).pipe(\n map((loadedItems) => ({\n loadedItems:\n numItems !== 0\n ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems)\n : loadedItems,\n numChildren: loadedItems.length,\n }))\n );\n }).pipe(concatAll(), publish(), refCount());\n }\n\n private async getItems(\n parent: TreeNodeItem | undefined\n ): Promise<TreeNodeItemData[]> {\n if (isTreeDataProviderRaw(this._dataProvider)) {\n return this.getChildren(this._dataProvider, parent);\n }\n\n if (isTreeDataProviderMethod(this._dataProvider)) {\n return this._dataProvider(parent);\n }\n\n if (isTreeDataProviderPromise(this._dataProvider)) {\n this._dataProvider = await this._dataProvider;\n return this.getChildren(this._dataProvider, parent);\n }\n\n throw new UiError(\n UiComponents.loggerCategory(this),\n \"Unsupported TreeDataProvider.\"\n );\n }\n\n private getChildren(\n rawProvider: TreeDataProviderRaw,\n parent: TreeNodeItem | undefined\n ): TreeNodeItemData[] {\n if (parent === undefined) return rawProvider;\n\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAA6D,MAAM,cAAc,CAAC;AAEzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,eAAe,CAAC;IAC5B,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,wCAAwC;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC3C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC1C,kEAAkE;IAClE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAiCxD"}
1
+ {"version":3,"file":"ControlledTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,eAAe,CAAC;IAC5B,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,wCAAwC;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC3C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC1C,kEAAkE;IAClE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAqDxD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -63,13 +63,15 @@ function ControlledTree(props) {
63
63
  };
64
64
  const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);
65
65
  const noData = visibleNodes.getNumRootNodes() === 0;
66
- return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? props.treeRenderer(treeProps) : React.createElement(TreeRenderer_1.TreeRenderer, { ...treeProps })));
66
+ return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? (props.treeRenderer(treeProps)) : (React.createElement(TreeRenderer_1.TreeRenderer, { ...treeProps }))));
67
67
  }
68
68
  exports.ControlledTree = ControlledTree;
69
69
  function useRootNodeLoader(visibleNodes, nodeLoader) {
70
70
  React.useEffect(() => {
71
71
  if (visibleNodes.getNumRootNodes() === undefined) {
72
- const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();
72
+ const subscription = nodeLoader
73
+ .loadNode(visibleNodes.getModel().getRootNode(), 0)
74
+ .subscribe();
73
75
  return () => subscription.unsubscribe();
74
76
  }
75
77
  return () => { };
@@ -87,22 +89,20 @@ function useEventDispatcher(nodeLoader, treeEvents, selectionMode, visibleNodes)
87
89
  }
88
90
  function Loader(props) {
89
91
  if (props.loading) {
90
- return props.spinnerRenderer
91
- ? props.spinnerRenderer()
92
- : (React.createElement("div", { className: "components-controlledTree-loader" },
93
- React.createElement(DelayedSpinner_1.DelayedSpinner, { size: "large" })));
92
+ return props.spinnerRenderer ? (props.spinnerRenderer()) : (React.createElement("div", { className: "components-controlledTree-loader" },
93
+ React.createElement(DelayedSpinner_1.DelayedSpinner, { size: "large" })));
94
94
  }
95
95
  if (props.noData) {
96
- return props.noDataRenderer
97
- ? props.noDataRenderer()
98
- : (React.createElement(core_react_1.FillCentered, null,
99
- React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents_1.UiComponents.translate("general.noData"))));
96
+ return props.noDataRenderer ? (props.noDataRenderer()) : (React.createElement(core_react_1.FillCentered, null,
97
+ React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents_1.UiComponents.translate("general.noData"))));
100
98
  }
101
99
  return props.children;
102
100
  }
103
101
  function useNodeHeight(descriptionsEnabled) {
104
102
  return React.useCallback((node) => {
105
- const contentHeight = ((0, TreeModel_1.isTreeModelNode)(node) && descriptionsEnabled && node && node.description) ? 43 : 24;
103
+ const contentHeight = (0, TreeModel_1.isTreeModelNode)(node) && descriptionsEnabled && node && node.description
104
+ ? 43
105
+ : 24;
106
106
  const borderSize = 1;
107
107
  // Not counting node's border size twice because we want neighboring borders to overlap
108
108
  return contentHeight + borderSize;
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type { CommonProps} from \"@itwin/core-react\";\nimport { FillCentered } from \"@itwin/core-react\";\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\nimport type { SelectionMode } from \"../../../common/selection/SelectionModes\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport type { HighlightableTreeProps } from \"../../HighlightingEngine\";\nimport { TreeImageLoader } from \"../../ImageLoader\";\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\nimport type { TreeEvents } from \"../TreeEvents\";\nimport type { TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\nimport { computeVisibleNodes, isTreeModelNode } from \"../TreeModel\";\nimport type { ITreeNodeLoader } from \"../TreeNodeLoader\";\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\nimport type { RenderedItemsRange, TreeRendererProps } from \"./TreeRenderer\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\n/**\n * Properties for [[ControlledTree]]\n * @public\n */\nexport interface ControlledTreeProps extends CommonProps {\n /** Model of the tree to display. */\n model: TreeModel;\n /** Node loader used to load root nodes and placeholder nodes. */\n nodeLoader: ITreeNodeLoader;\n /** Tree events handler. */\n eventsHandler: TreeEvents;\n /** Mode of nodes' selection in tree. */\n selectionMode: SelectionMode;\n /**\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\n * If custom node renderer and node height callbacks are used it does nothing.\n */\n descriptionsEnabled?: boolean;\n /**\n * Specifies whether to show node icon or not. It is used in default node renderer.\n * If custom node renderer is used it does nothing.\n */\n iconsEnabled?: boolean;\n /**\n * Used to highlight matches when filtering tree.\n * It is passed to treeRenderer.\n */\n nodeHighlightingProps?: HighlightableTreeProps;\n /** Custom renderer to be used to render a tree. */\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\n /** Custom renderer to be used while root nodes is loading. */\n spinnerRenderer?: () => React.ReactElement;\n /** Custom renderer to be used when there is no data to show in tree. */\n noDataRenderer?: () => React.ReactElement;\n /** Callback that is invoked when rendered items range changes. */\n onItemsRendered?: (items: RenderedItemsRange) => void;\n /** Width of the tree renderer. */\n width: number;\n /** Height of the tree renderer. */\n height: number;\n}\n\n/**\n * React tree component which rendering is fully controlled from outside.\n * @public\n */\nexport function ControlledTree(props: ControlledTreeProps) {\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\n <TreeNodeRenderer\n {...nodeProps}\n descriptionEnabled={props.descriptionsEnabled}\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\n />\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\n\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\n\n const treeProps: TreeRendererProps = {\n nodeRenderer,\n nodeHeight,\n visibleNodes,\n treeActions: eventDispatcher,\n nodeLoader: props.nodeLoader,\n nodeHighlightingProps: props.nodeHighlightingProps,\n onItemsRendered: props.onItemsRendered,\n width: props.width,\n height: props.height,\n };\n\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\n const noData = visibleNodes.getNumRootNodes() === 0;\n return (\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\n </Loader>\n );\n}\n\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\n React.useEffect(() => {\n if (visibleNodes.getNumRootNodes() === undefined) {\n const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();\n return () => subscription.unsubscribe();\n }\n\n return () => { };\n }, [visibleNodes, nodeLoader]);\n\n return visibleNodes.getNumRootNodes() === undefined;\n}\n\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\n /* istanbul ignore next */\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\n\n React.useEffect(() => {\n eventDispatcher.setVisibleNodes(getVisibleNodes);\n }, [eventDispatcher, getVisibleNodes]);\n\n return eventDispatcher;\n}\n\ninterface LoaderProps {\n loading: boolean;\n noData: boolean;\n spinnerRenderer?: () => React.ReactElement;\n noDataRenderer?: () => React.ReactElement;\n children: JSX.Element;\n}\n\nfunction Loader(props: LoaderProps) {\n if (props.loading) {\n return props.spinnerRenderer\n ? props.spinnerRenderer()\n : (\n <div className=\"components-controlledTree-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n if (props.noData) {\n return props.noDataRenderer\n ? props.noDataRenderer()\n : (\n <FillCentered>\n <p className=\"components-controlledTree-errorMessage\">\n {UiComponents.translate(\"general.noData\")}\n </p>\n </FillCentered>\n );\n }\n\n return props.children;\n}\n\nfunction useNodeHeight(\n descriptionsEnabled: boolean,\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\n return React.useCallback(\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\n const borderSize = 1;\n // Not counting node's border size twice because we want neighboring borders to overlap\n return contentHeight + borderSize;\n },\n [descriptionsEnabled],\n );\n}\n"]}
1
+ {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { FillCentered } from \"@itwin/core-react\";\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\nimport type { SelectionMode } from \"../../../common/selection/SelectionModes\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport type { HighlightableTreeProps } from \"../../HighlightingEngine\";\nimport { TreeImageLoader } from \"../../ImageLoader\";\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\nimport type { TreeEvents } from \"../TreeEvents\";\nimport type {\n TreeModel,\n TreeModelNode,\n TreeModelNodePlaceholder,\n VisibleTreeNodes,\n} from \"../TreeModel\";\nimport { computeVisibleNodes, isTreeModelNode } from \"../TreeModel\";\nimport type { ITreeNodeLoader } from \"../TreeNodeLoader\";\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\nimport type { RenderedItemsRange, TreeRendererProps } from \"./TreeRenderer\";\nimport { TreeRenderer } from \"./TreeRenderer\";\n\n/**\n * Properties for [[ControlledTree]]\n * @public\n */\nexport interface ControlledTreeProps extends CommonProps {\n /** Model of the tree to display. */\n model: TreeModel;\n /** Node loader used to load root nodes and placeholder nodes. */\n nodeLoader: ITreeNodeLoader;\n /** Tree events handler. */\n eventsHandler: TreeEvents;\n /** Mode of nodes' selection in tree. */\n selectionMode: SelectionMode;\n /**\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\n * If custom node renderer and node height callbacks are used it does nothing.\n */\n descriptionsEnabled?: boolean;\n /**\n * Specifies whether to show node icon or not. It is used in default node renderer.\n * If custom node renderer is used it does nothing.\n */\n iconsEnabled?: boolean;\n /**\n * Used to highlight matches when filtering tree.\n * It is passed to treeRenderer.\n */\n nodeHighlightingProps?: HighlightableTreeProps;\n /** Custom renderer to be used to render a tree. */\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\n /** Custom renderer to be used while root nodes is loading. */\n spinnerRenderer?: () => React.ReactElement;\n /** Custom renderer to be used when there is no data to show in tree. */\n noDataRenderer?: () => React.ReactElement;\n /** Callback that is invoked when rendered items range changes. */\n onItemsRendered?: (items: RenderedItemsRange) => void;\n /** Width of the tree renderer. */\n width: number;\n /** Height of the tree renderer. */\n height: number;\n}\n\n/**\n * React tree component which rendering is fully controlled from outside.\n * @public\n */\nexport function ControlledTree(props: ControlledTreeProps) {\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\n const nodeRenderer = React.useCallback(\n (nodeProps: TreeNodeRendererProps) => (\n <TreeNodeRenderer\n {...nodeProps}\n descriptionEnabled={props.descriptionsEnabled}\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\n />\n ),\n [props.descriptionsEnabled, props.iconsEnabled, imageLoader]\n );\n\n const visibleNodes = React.useMemo(\n () => computeVisibleNodes(props.model),\n [props.model]\n );\n const eventDispatcher = useEventDispatcher(\n props.nodeLoader,\n props.eventsHandler,\n props.selectionMode,\n visibleNodes\n );\n\n const treeProps: TreeRendererProps = {\n nodeRenderer,\n nodeHeight,\n visibleNodes,\n treeActions: eventDispatcher,\n nodeLoader: props.nodeLoader,\n nodeHighlightingProps: props.nodeHighlightingProps,\n onItemsRendered: props.onItemsRendered,\n width: props.width,\n height: props.height,\n };\n\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\n const noData = visibleNodes.getNumRootNodes() === 0;\n return (\n <Loader\n loading={loading}\n noData={noData}\n spinnerRenderer={props.spinnerRenderer}\n noDataRenderer={props.noDataRenderer}\n >\n {props.treeRenderer ? (\n props.treeRenderer(treeProps)\n ) : (\n <TreeRenderer {...treeProps} />\n )}\n </Loader>\n );\n}\n\nfunction useRootNodeLoader(\n visibleNodes: VisibleTreeNodes,\n nodeLoader: ITreeNodeLoader\n): boolean {\n React.useEffect(() => {\n if (visibleNodes.getNumRootNodes() === undefined) {\n const subscription = nodeLoader\n .loadNode(visibleNodes.getModel().getRootNode(), 0)\n .subscribe();\n return () => subscription.unsubscribe();\n }\n\n return () => {};\n }, [visibleNodes, nodeLoader]);\n\n return visibleNodes.getNumRootNodes() === undefined;\n}\n\nfunction useEventDispatcher(\n nodeLoader: ITreeNodeLoader,\n treeEvents: TreeEvents,\n selectionMode: SelectionMode,\n visibleNodes: VisibleTreeNodes\n) {\n /* istanbul ignore next */\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\n const eventDispatcher = React.useMemo(\n () => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode),\n [treeEvents, nodeLoader, selectionMode]\n );\n\n React.useEffect(() => {\n eventDispatcher.setVisibleNodes(getVisibleNodes);\n }, [eventDispatcher, getVisibleNodes]);\n\n return eventDispatcher;\n}\n\ninterface LoaderProps {\n loading: boolean;\n noData: boolean;\n spinnerRenderer?: () => React.ReactElement;\n noDataRenderer?: () => React.ReactElement;\n children: React.ReactElement;\n}\n\nfunction Loader(props: LoaderProps) {\n if (props.loading) {\n return props.spinnerRenderer ? (\n props.spinnerRenderer()\n ) : (\n <div className=\"components-controlledTree-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n if (props.noData) {\n return props.noDataRenderer ? (\n props.noDataRenderer()\n ) : (\n <FillCentered>\n <p className=\"components-controlledTree-errorMessage\">\n {UiComponents.translate(\"general.noData\")}\n </p>\n </FillCentered>\n );\n }\n\n return props.children;\n}\n\nfunction useNodeHeight(\n descriptionsEnabled: boolean\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\n return React.useCallback(\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\n const contentHeight =\n isTreeModelNode(node) && descriptionsEnabled && node && node.description\n ? 43\n : 24;\n const borderSize = 1;\n // Not counting node's border size twice because we want neighboring borders to overlap\n return contentHeight + borderSize;\n },\n [descriptionsEnabled]\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
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
- *--------------------------------------------------------------------------------------------*/
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
5
  @import "~@itwin/core-react/lib/cjs/core-react/scrollbar";
6
6
 
7
7
  .components-controlledTree-loader {
@@ -39,7 +39,7 @@
39
39
  outline: none;
40
40
  }
41
41
 
42
- >div {
42
+ > div {
43
43
  overflow: visible !important;
44
44
  max-width: none !important;
45
45
  }
@@ -61,7 +61,6 @@
61
61
  }
62
62
 
63
63
  .core-tree-node {
64
-
65
64
  &.is-focused,
66
65
  &:focus {
67
66
  outline: none;
@@ -100,4 +99,4 @@
100
99
  @include enable-border("bottom");
101
100
  }
102
101
  }
103
- }
102
+ }
@@ -4,23 +4,28 @@
4
4
  /// <reference types="react" />
5
5
  import "./NodeContent.scss";
6
6
  import type { CommonProps } from "@itwin/core-react";
7
- import type { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
7
  import type { HighlightableTreeNodeProps } from "../../HighlightingEngine";
9
8
  import type { TreeModelNode } from "../TreeModel";
10
9
  import type { TreeNodeEditorRenderer } from "./TreeNodeEditor";
11
- /** Properties for [[TreeNodeContent]] component
12
- * @internal
10
+ /**
11
+ * Properties for [[TreeNodeContent]] component
12
+ * @public
13
13
  */
14
14
  export interface TreeNodeContentProps extends CommonProps {
15
+ /** Tree node to render label for. */
15
16
  node: TreeModelNode;
17
+ /** Flag that specified whether the description should be shown or not. */
16
18
  showDescription?: boolean;
19
+ /** Props for highlighting label parts that matches filter when tree is filtered. */
17
20
  highlightProps?: HighlightableTreeNodeProps;
18
- valueRendererManager: PropertyValueRendererManager;
21
+ /** Callback used to detect when label is rendered. */
19
22
  onLabelRendered?: (node: TreeModelNode) => void;
23
+ /** Callback to render custom node editor when node is in editing mode. */
20
24
  nodeEditorRenderer?: TreeNodeEditorRenderer;
21
25
  }
22
- /** React component for displaying [[TreeNode]] label
23
- * @internal
26
+ /**
27
+ * React component for displaying [[TreeNode]] label
28
+ * @public
24
29
  */
25
30
  export declare function TreeNodeContent(props: TreeNodeContentProps): JSX.Element;
26
31
  //# sourceMappingURL=NodeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAIpD,OAAO,KAAK,EAAgC,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAE3H,OAAO,KAAK,EAAE,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,oBAAoB,EAAE,4BAA4B,CAAC;IAEnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA+C1D"}
1
+ {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG/D;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,qCAAqC;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,sDAAsD;IACtD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAuD1D"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -40,15 +40,18 @@ const React = __importStar(require("react"));
40
40
  const core_react_1 = require("@itwin/core-react");
41
41
  const ItemStyle_1 = require("../../../properties/ItemStyle");
42
42
  const ValueRendererManager_1 = require("../../../properties/ValueRendererManager");
43
+ const ValueRendererManager_2 = require("../../../properties/ValueRendererManager");
43
44
  const HighlightingEngine_1 = require("../../HighlightingEngine");
44
45
  const TreeNodeEditor_1 = require("./TreeNodeEditor");
45
- /** React component for displaying [[TreeNode]] label
46
- * @internal
46
+ /**
47
+ * React component for displaying [[TreeNode]] label
48
+ * @public
47
49
  */
48
50
  function TreeNodeContent(props) {
49
- const { node, valueRendererManager, onLabelRendered, highlightProps } = props;
51
+ const { node, onLabelRendered, highlightProps } = props;
52
+ const label = React.useMemo(
50
53
  // eslint-disable-next-line @typescript-eslint/promise-function-async
51
- const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);
54
+ () => getLabel(node, highlightProps), [node, highlightProps]);
52
55
  React.useEffect(() => {
53
56
  onLabelRendered && onLabelRendered(node);
54
57
  }, [label, node, onLabelRendered]);
@@ -63,7 +66,7 @@ function TreeNodeContent(props) {
63
66
  onCommit: props.node.editingInfo.onCommit,
64
67
  style,
65
68
  };
66
- editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : React.createElement(TreeNodeEditor_1.TreeNodeEditor, { ...editorProps });
69
+ editor = props.nodeEditorRenderer ? (props.nodeEditorRenderer(editorProps)) : (React.createElement(TreeNodeEditor_1.TreeNodeEditor, { ...editorProps }));
67
70
  }
68
71
  const isDescriptionEnabled = props.node.item.description && props.showDescription;
69
72
  const containerClassName = (0, classnames_1.default)("components-controlledTree-node-content", isDescriptionEnabled ? "with-description" : undefined, props.className);
@@ -71,24 +74,22 @@ function TreeNodeContent(props) {
71
74
  return (React.createElement("div", { className: containerClassName, style: props.style },
72
75
  React.createElement(React.Fragment, null,
73
76
  editor ? editor : label,
74
- isDescriptionEnabled ?
75
- React.createElement("div", { className: descriptionClassName }, props.node.item.description)
76
- : undefined)));
77
+ isDescriptionEnabled ? (React.createElement("div", { className: descriptionClassName }, props.node.item.description)) : undefined)));
77
78
  }
78
79
  exports.TreeNodeContent = TreeNodeContent;
79
- function getLabel(node, valueRendererManager, highlightProps) {
80
+ function getLabel(node, highlightProps) {
80
81
  // handle filtered matches' highlighting
81
82
  const highlightCallback = highlightProps
82
83
  ? (text) => HighlightingEngine_1.HighlightingEngine.renderNodeLabel(text, highlightProps)
83
84
  : undefined;
84
85
  // handle custom cell rendering
85
86
  const context = {
86
- containerType: ValueRendererManager_1.PropertyContainerType.Tree,
87
+ containerType: ValueRendererManager_2.PropertyContainerType.Tree,
87
88
  style: getStyle(node.item.style, node.isSelected),
88
89
  textHighlighter: highlightCallback,
89
- defaultValue: React.createElement(core_react_1.TreeNodePlaceholder, { level: 0, "data-testid": "node-label-placeholder" }),
90
+ defaultValue: (React.createElement(core_react_1.TreeNodePlaceholder, { level: 0, "data-testid": "node-label-placeholder" })),
90
91
  };
91
- return valueRendererManager.render(node.item.label, context);
92
+ return ValueRendererManager_1.PropertyValueRendererManager.defaultManager.render(node.item.label, context);
92
93
  }
93
94
  function getStyle(style, isSelected) {
94
95
  return ItemStyle_1.ItemStyleProvider.createStyle(style ? style : {}, isSelected);
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContent.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport \"./NodeContent.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps} from \"@itwin/core-react\";\nimport { TreeNodePlaceholder } from \"@itwin/core-react\";\nimport type { ItemStyle} from \"../../../properties/ItemStyle\";\nimport { ItemStyleProvider } from \"../../../properties/ItemStyle\";\nimport type { PropertyValueRendererContext, PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport { PropertyContainerType } from \"../../../properties/ValueRendererManager\";\nimport type { HighlightableTreeNodeProps} from \"../../HighlightingEngine\";\nimport { HighlightingEngine } from \"../../HighlightingEngine\";\nimport type { TreeModelNode } from \"../TreeModel\";\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\nimport { TreeNodeEditor } from \"./TreeNodeEditor\";\n\n/** Properties for [[TreeNodeContent]] component\n * @internal\n */\nexport interface TreeNodeContentProps extends CommonProps {\n node: TreeModelNode;\n showDescription?: boolean;\n highlightProps?: HighlightableTreeNodeProps;\n valueRendererManager: PropertyValueRendererManager;\n\n onLabelRendered?: (node: TreeModelNode) => void;\n nodeEditorRenderer?: TreeNodeEditorRenderer;\n}\n\n/** React component for displaying [[TreeNode]] label\n * @internal\n */\nexport function TreeNodeContent(props: TreeNodeContentProps) {\n const { node, valueRendererManager, onLabelRendered, highlightProps } = props;\n // eslint-disable-next-line @typescript-eslint/promise-function-async\n const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);\n React.useEffect(() => {\n onLabelRendered && onLabelRendered(node);\n }, [label, node, onLabelRendered]);\n\n // handle cell editing\n let editor: React.ReactNode;\n if (props.node.editingInfo) {\n // if cell editing is enabled, return editor instead of the label\n const style = getStyle(props.node.item.style, props.node.isSelected);\n const editorProps = {\n node: props.node,\n onCancel: props.node.editingInfo.onCancel,\n onCommit: props.node.editingInfo.onCommit,\n style,\n };\n editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : <TreeNodeEditor {...editorProps} />;\n }\n\n const isDescriptionEnabled = props.node.item.description && props.showDescription;\n\n const containerClassName = classnames(\n \"components-controlledTree-node-content\",\n isDescriptionEnabled ? \"with-description\" : undefined,\n props.className,\n );\n\n const descriptionClassName = classnames(\n \"components-controlledTree-node-description\",\n editor ? \"with-editor\" : undefined,\n );\n\n return (\n <div className={containerClassName} style={props.style}>\n <>\n {editor ? editor : label}\n {isDescriptionEnabled ?\n <div className={descriptionClassName}>\n {props.node.item.description}\n </div>\n : undefined}\n </>\n </div>\n );\n}\n\nfunction getLabel(\n node: TreeModelNode,\n valueRendererManager: PropertyValueRendererManager,\n highlightProps?: HighlightableTreeNodeProps): React.ReactNode | Promise<React.ReactNode> {\n // handle filtered matches' highlighting\n const highlightCallback = highlightProps\n ? (text: string) => HighlightingEngine.renderNodeLabel(text, highlightProps)\n : undefined;\n\n // handle custom cell rendering\n const context: PropertyValueRendererContext = {\n containerType: PropertyContainerType.Tree,\n style: getStyle(node.item.style, node.isSelected),\n textHighlighter: highlightCallback,\n defaultValue: <TreeNodePlaceholder level={0} data-testid={\"node-label-placeholder\"} />,\n };\n\n return valueRendererManager.render(node.item.label, context);\n}\n\nfunction getStyle(style?: ItemStyle, isSelected?: boolean): React.CSSProperties {\n return ItemStyleProvider.createStyle(style ? style : {}, isSelected);\n}\n"]}
1
+ {"version":3,"file":"NodeContent.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport \"./NodeContent.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { TreeNodePlaceholder } from \"@itwin/core-react\";\nimport type { ItemStyle } from \"../../../properties/ItemStyle\";\nimport { ItemStyleProvider } from \"../../../properties/ItemStyle\";\nimport type { PropertyValueRendererContext } from \"../../../properties/ValueRendererManager\";\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport { PropertyContainerType } from \"../../../properties/ValueRendererManager\";\nimport type { HighlightableTreeNodeProps } from \"../../HighlightingEngine\";\nimport { HighlightingEngine } from \"../../HighlightingEngine\";\nimport type { TreeModelNode } from \"../TreeModel\";\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\nimport { TreeNodeEditor } from \"./TreeNodeEditor\";\n\n/**\n * Properties for [[TreeNodeContent]] component\n * @public\n */\nexport interface TreeNodeContentProps extends CommonProps {\n /** Tree node to render label for. */\n node: TreeModelNode;\n /** Flag that specified whether the description should be shown or not. */\n showDescription?: boolean;\n /** Props for highlighting label parts that matches filter when tree is filtered. */\n highlightProps?: HighlightableTreeNodeProps;\n /** Callback used to detect when label is rendered. */\n onLabelRendered?: (node: TreeModelNode) => void;\n /** Callback to render custom node editor when node is in editing mode. */\n nodeEditorRenderer?: TreeNodeEditorRenderer;\n}\n\n/**\n * React component for displaying [[TreeNode]] label\n * @public\n */\nexport function TreeNodeContent(props: TreeNodeContentProps) {\n const { node, onLabelRendered, highlightProps } = props;\n const label = React.useMemo(\n // eslint-disable-next-line @typescript-eslint/promise-function-async\n () => getLabel(node, highlightProps),\n [node, highlightProps]\n );\n React.useEffect(() => {\n onLabelRendered && onLabelRendered(node);\n }, [label, node, onLabelRendered]);\n\n // handle cell editing\n let editor: React.ReactNode;\n if (props.node.editingInfo) {\n // if cell editing is enabled, return editor instead of the label\n const style = getStyle(props.node.item.style, props.node.isSelected);\n const editorProps = {\n node: props.node,\n onCancel: props.node.editingInfo.onCancel,\n onCommit: props.node.editingInfo.onCommit,\n style,\n };\n editor = props.nodeEditorRenderer ? (\n props.nodeEditorRenderer(editorProps)\n ) : (\n <TreeNodeEditor {...editorProps} />\n );\n }\n\n const isDescriptionEnabled =\n props.node.item.description && props.showDescription;\n\n const containerClassName = classnames(\n \"components-controlledTree-node-content\",\n isDescriptionEnabled ? \"with-description\" : undefined,\n props.className\n );\n\n const descriptionClassName = classnames(\n \"components-controlledTree-node-description\",\n editor ? \"with-editor\" : undefined\n );\n\n return (\n <div className={containerClassName} style={props.style}>\n <>\n {editor ? editor : label}\n {isDescriptionEnabled ? (\n <div className={descriptionClassName}>\n {props.node.item.description}\n </div>\n ) : undefined}\n </>\n </div>\n );\n}\n\nfunction getLabel(\n node: TreeModelNode,\n highlightProps?: HighlightableTreeNodeProps\n): React.ReactNode | Promise<React.ReactNode> {\n // handle filtered matches' highlighting\n const highlightCallback = highlightProps\n ? (text: string) => HighlightingEngine.renderNodeLabel(text, highlightProps)\n : undefined;\n\n // handle custom cell rendering\n const context: PropertyValueRendererContext = {\n containerType: PropertyContainerType.Tree,\n style: getStyle(node.item.style, node.isSelected),\n textHighlighter: highlightCallback,\n defaultValue: (\n <TreeNodePlaceholder level={0} data-testid={\"node-label-placeholder\"} />\n ),\n };\n\n return PropertyValueRendererManager.defaultManager.render(\n node.item.label,\n context\n );\n}\n\nfunction getStyle(\n style?: ItemStyle,\n isSelected?: boolean\n): React.CSSProperties {\n return ItemStyleProvider.createStyle(style ? style : {}, isSelected);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;AAErF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAoBxD"}
1
+ {"version":3,"file":"TreeNodeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,mBAAmB,KACvB,KAAK,CAAC,SAAS,CAAC;AAErB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAoBxD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeEditor.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAE/B,0DAAuD;AAEvD,sEAAmE;AA2BnE;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAI,IAAI,CAAC,QAA2B,CAAC,KAAe,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnE,OAAO,CACL,8BAAM,KAAK,EAAE,KAAK,CAAC,KAAK;QACtB,oBAAC,iCAAe,IACd,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,cAAc,CAAC,WAAW,EACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,QAAQ,EAAE,IAAI,GACd,CACG,CACR,CAAC;AACJ,CAAC;AApBD,wCAoBC;AAED,SAAS,oBAAoB,CAAC,KAAqB;IACjD,MAAM,QAAQ,GAAwB;QACpC,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;KAClC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type { PrimitiveValue, PropertyDescription} from \"@itwin/appui-abstract\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\nimport { EditorContainer } from \"../../../editors/EditorContainer\";\nimport type { TreeModelNode } from \"../TreeModel\";\n\n/**\n * Properties for [[TreeNodeEditor]] component.\n * @public\n */\nexport interface TreeNodeEditorProps {\n /** Tree node which is in editing mode. */\n node: TreeModelNode;\n /** Callback that is called when changes are committed. */\n onCommit: (node: TreeModelNode, newValue: string) => void;\n /** Callback that is called when editing is canceled. */\n onCancel: () => void;\n /** Editor style. */\n style?: React.CSSProperties;\n\n /** @internal */\n ignoreEditorBlur?: boolean;\n}\n\n/**\n * Type for tree node editor renderer.\n * @public\n */\nexport type TreeNodeEditorRenderer = (props: TreeNodeEditorProps) => React.ReactNode;\n\n/**\n * React component for displaying tree node editor.\n * @public\n */\nexport function TreeNodeEditor(props: TreeNodeEditorProps) {\n const onCommit = (args: PropertyUpdatedArgs) => {\n const newValue = (args.newValue as PrimitiveValue).value as string;\n props.onCommit(props.node, newValue);\n };\n\n const propertyRecord = createPropertyRecord(props.node.item.label);\n\n return (\n <span style={props.style}>\n <EditorContainer\n propertyRecord={propertyRecord}\n title={propertyRecord.description}\n onCommit={onCommit}\n onCancel={props.onCancel}\n ignoreEditorBlur={props.ignoreEditorBlur}\n setFocus={true}\n />\n </span>\n );\n}\n\nfunction createPropertyRecord(label: PropertyRecord) {\n const property: PropertyDescription = {\n name: \"tree-node-editor\",\n displayLabel: \"Tree Node Editor\",\n typename: label.property.typename,\n };\n\n const record = new PropertyRecord(label.value, property);\n record.description = \"\";\n record.isReadonly = false;\n\n return record;\n}\n"]}
1
+ {"version":3,"file":"TreeNodeEditor.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAK/B,0DAAuD;AAEvD,sEAAmE;AA6BnE;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAI,IAAI,CAAC,QAA2B,CAAC,KAAe,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnE,OAAO,CACL,8BAAM,KAAK,EAAE,KAAK,CAAC,KAAK;QACtB,oBAAC,iCAAe,IACd,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,cAAc,CAAC,WAAW,EACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,QAAQ,EAAE,IAAI,GACd,CACG,CACR,CAAC;AACJ,CAAC;AApBD,wCAoBC;AAED,SAAS,oBAAoB,CAAC,KAAqB;IACjD,MAAM,QAAQ,GAAwB;QACpC,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;KAClC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type {\n PrimitiveValue,\n PropertyDescription,\n} from \"@itwin/appui-abstract\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\nimport { EditorContainer } from \"../../../editors/EditorContainer\";\nimport type { TreeModelNode } from \"../TreeModel\";\n\n/**\n * Properties for [[TreeNodeEditor]] component.\n * @public\n */\nexport interface TreeNodeEditorProps {\n /** Tree node which is in editing mode. */\n node: TreeModelNode;\n /** Callback that is called when changes are committed. */\n onCommit: (node: TreeModelNode, newValue: string) => void;\n /** Callback that is called when editing is canceled. */\n onCancel: () => void;\n /** Editor style. */\n style?: React.CSSProperties;\n\n /** @internal */\n ignoreEditorBlur?: boolean;\n}\n\n/**\n * Type for tree node editor renderer.\n * @public\n */\nexport type TreeNodeEditorRenderer = (\n props: TreeNodeEditorProps\n) => React.ReactNode;\n\n/**\n * React component for displaying tree node editor.\n * @public\n */\nexport function TreeNodeEditor(props: TreeNodeEditorProps) {\n const onCommit = (args: PropertyUpdatedArgs) => {\n const newValue = (args.newValue as PrimitiveValue).value as string;\n props.onCommit(props.node, newValue);\n };\n\n const propertyRecord = createPropertyRecord(props.node.item.label);\n\n return (\n <span style={props.style}>\n <EditorContainer\n propertyRecord={propertyRecord}\n title={propertyRecord.description}\n onCommit={onCommit}\n onCancel={props.onCancel}\n ignoreEditorBlur={props.ignoreEditorBlur}\n setFocus={true}\n />\n </span>\n );\n}\n\nfunction createPropertyRecord(label: PropertyRecord) {\n const property: PropertyDescription = {\n name: \"tree-node-editor\",\n displayLabel: \"Tree Node Editor\",\n typename: label.property.typename,\n };\n\n const record = new PropertyRecord(label.value, property);\n record.description = \"\";\n record.isReadonly = false;\n\n return record;\n}\n"]}
@@ -32,6 +32,8 @@ export interface TreeNodeRendererProps extends CommonProps {
32
32
  * @internal
33
33
  */
34
34
  onLabelRendered?: (node: TreeModelNode) => void;
35
+ /** Callback that is invoked when context menu should be opened. */
36
+ onContextMenu?: (e: React.MouseEvent, node: TreeModelNode) => void;
35
37
  /** Child components to render inside the node.*/
36
38
  children?: React.ReactNode;
37
39
  }
@@ -40,4 +42,19 @@ export interface TreeNodeRendererProps extends CommonProps {
40
42
  * @public
41
43
  */
42
44
  export declare const TreeNodeRenderer: React.NamedExoticComponent<TreeNodeRendererProps>;
45
+ /**
46
+ * Props for [[TreeNodeIcon]] component.
47
+ * @public
48
+ */
49
+ export interface TreeNodeIconProps {
50
+ /** Tree node to render icon for. */
51
+ node: TreeModelNode;
52
+ /** Image loader used to load tree node icon. */
53
+ imageLoader: ITreeImageLoader;
54
+ }
55
+ /**
56
+ * React component that renders icon for [[TreeNode]].
57
+ * @public
58
+ */
59
+ export declare function TreeNodeIcon(props: TreeNodeIconProps): JSX.Element | null;
43
60
  //# sourceMappingURL=TreeNodeRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAqB,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAI7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IAEpB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IAEzB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAEhD,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mCAAmC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,mDAiD3B,CAAC"}
1
+ {"version":3,"file":"TreeNodeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EAEX,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IAEpB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IAEzB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAEhD,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mCAAmC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEnE,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,mDAiE3B,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,sBAQpD"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -30,11 +30,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
30
30
  return result;
31
31
  };
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.TreeNodeRenderer = void 0;
33
+ exports.TreeNodeIcon = exports.TreeNodeRenderer = void 0;
34
34
  const React = __importStar(require("react"));
35
35
  const core_react_1 = require("@itwin/core-react");
36
36
  const ImageRenderer_1 = require("../../../common/ImageRenderer");
37
- const ValueRendererManager_1 = require("../../../properties/ValueRendererManager");
38
37
  const TreeComponentTestId_1 = require("../../TreeComponentTestId");
39
38
  const NodeContent_1 = require("./NodeContent");
40
39
  /**
@@ -42,21 +41,31 @@ const NodeContent_1 = require("./NodeContent");
42
41
  * @public
43
42
  */
44
43
  exports.TreeNodeRenderer = React.memo(function TreeNodeRenderer(props) {
45
- const label = (React.createElement(NodeContent_1.TreeNodeContent, { key: props.node.id, node: props.node, showDescription: props.descriptionEnabled, valueRendererManager: ValueRendererManager_1.PropertyValueRendererManager.defaultManager, highlightProps: props.nodeHighlightProps, onLabelRendered: props.onLabelRendered, nodeEditorRenderer: props.nodeEditorRenderer }));
44
+ const label = (React.createElement(NodeContent_1.TreeNodeContent, { key: props.node.id, node: props.node, showDescription: props.descriptionEnabled, highlightProps: props.nodeHighlightProps, onLabelRendered: props.onLabelRendered, nodeEditorRenderer: props.nodeEditorRenderer }));
46
45
  function onExpansionToggle() {
47
46
  if (props.node.isExpanded)
48
47
  props.treeActions.onNodeCollapsed(props.node.id);
49
48
  else
50
49
  props.treeActions.onNodeExpanded(props.node.id);
51
50
  }
51
+ function onContextMenu(e) {
52
+ e.preventDefault();
53
+ props.onContextMenu && props.onContextMenu(e, props.node);
54
+ }
52
55
  const createCheckboxProps = (checkboxInfo) => ({
53
56
  state: checkboxInfo.state,
54
57
  tooltip: checkboxInfo.tooltip,
55
58
  isDisabled: checkboxInfo.isDisabled,
56
59
  onClick: (newState) => props.treeActions.onNodeCheckboxClicked(props.node.id, newState),
57
60
  });
58
- return (React.createElement(core_react_1.TreeNode, { "data-testid": TreeComponentTestId_1.TreeComponentTestId.Node, className: props.className, checkboxProps: props.node.checkbox.isVisible ? createCheckboxProps(props.node.checkbox) : undefined, style: props.style, isExpanded: props.node.isExpanded, isSelected: props.node.isSelected, isLoading: props.node.isLoading, isLeaf: props.node.numChildren === 0, icon: props.imageLoader ? React.createElement(TreeNodeIcon, { node: props.node, imageLoader: props.imageLoader }) : undefined, label: label, level: props.node.depth, onClick: (event) => props.treeActions.onNodeClicked(props.node.id, event), onMouseDown: () => props.treeActions.onNodeMouseDown(props.node.id), onMouseMove: () => props.treeActions.onNodeMouseMove(props.node.id), onClickExpansionToggle: onExpansionToggle, renderOverrides: { renderCheckbox: props.checkboxRenderer } }, props.children));
61
+ return (React.createElement(core_react_1.TreeNode, { "data-testid": TreeComponentTestId_1.TreeComponentTestId.Node, className: props.className, checkboxProps: props.node.checkbox.isVisible
62
+ ? createCheckboxProps(props.node.checkbox)
63
+ : undefined, style: props.style, isExpanded: props.node.isExpanded, isSelected: props.node.isSelected, isLoading: props.node.isLoading, isLeaf: props.node.numChildren === 0, icon: props.imageLoader ? (React.createElement(TreeNodeIcon, { node: props.node, imageLoader: props.imageLoader })) : undefined, label: label, level: props.node.depth, onClick: (event) => props.treeActions.onNodeClicked(props.node.id, event), onMouseDown: () => props.treeActions.onNodeMouseDown(props.node.id), onMouseMove: () => props.treeActions.onNodeMouseMove(props.node.id), onClickExpansionToggle: onExpansionToggle, onContextMenu: onContextMenu, renderOverrides: { renderCheckbox: props.checkboxRenderer } }, props.children));
59
64
  });
65
+ /**
66
+ * React component that renders icon for [[TreeNode]].
67
+ * @public
68
+ */
60
69
  function TreeNodeIcon(props) {
61
70
  const { imageLoader, node } = props;
62
71
  const image = imageLoader.load(node.item);
@@ -65,4 +74,5 @@ function TreeNodeIcon(props) {
65
74
  const renderer = new ImageRenderer_1.ImageRenderer();
66
75
  return React.createElement(React.Fragment, null, renderer.render(image));
67
76
  }
77
+ exports.TreeNodeIcon = TreeNodeIcon;
68
78
  //# sourceMappingURL=TreeNodeRenderer.js.map