@itwin/components-react 4.1.0-dev.0 → 4.1.0

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 (940) hide show
  1. package/CHANGELOG.md +44 -6
  2. package/lib/cjs/components-react/UiComponents.d.ts +1 -1
  3. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  4. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  5. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +1 -1
  6. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/DelayedSpinner.js +3 -2
  8. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  9. package/lib/cjs/components-react/common/ImageRenderer.d.ts +1 -1
  10. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  11. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  12. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +1 -1
  13. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  14. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +2 -1
  16. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  17. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  18. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  19. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  20. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  21. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  22. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  23. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  24. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  25. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +1 -1
  27. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  28. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  29. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  30. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  31. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  33. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  34. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +3 -2
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  37. package/lib/cjs/components-react/converters/NumericTypeConverter.js +4 -2
  38. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +2 -2
  40. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  41. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  42. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +1 -1
  43. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  44. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  45. package/lib/cjs/components-react/converters/TypeConverter.d.ts +2 -2
  46. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  47. package/lib/cjs/components-react/converters/TypeConverter.js +2 -2
  48. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  49. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +1 -1
  50. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  51. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  52. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  53. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  55. package/lib/cjs/components-react/datepicker/DateField.d.ts +3 -2
  56. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  57. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  58. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  59. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  60. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  61. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +1 -1
  62. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  64. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  65. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  66. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  67. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +2 -2
  68. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  69. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  70. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +2 -2
  71. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  72. package/lib/cjs/components-react/editors/CustomNumberEditor.js +4 -2
  73. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  74. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +4 -3
  75. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  76. package/lib/cjs/components-react/editors/DateTimeEditor.js +3 -2
  77. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  78. package/lib/cjs/components-react/editors/EditorContainer.d.ts +2 -2
  79. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  80. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  81. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  82. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  84. package/lib/cjs/components-react/editors/EnumEditor.d.ts +3 -3
  85. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  86. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  87. package/lib/cjs/components-react/editors/IconEditor.d.ts +2 -2
  88. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  89. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  90. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  91. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  92. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  93. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +2 -2
  94. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  95. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  96. package/lib/cjs/components-react/editors/PopupButton.d.ts +1 -1
  97. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  98. package/lib/cjs/components-react/editors/PopupButton.js +4 -3
  99. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  100. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +1 -1
  101. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  102. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  103. package/lib/cjs/components-react/editors/SliderEditor.d.ts +2 -2
  104. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  105. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  106. package/lib/cjs/components-react/editors/TextEditor.d.ts +2 -2
  107. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  108. package/lib/cjs/components-react/editors/TextEditor.js +4 -2
  109. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  110. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +2 -2
  111. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  113. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +2 -2
  114. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  115. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  116. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  117. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  118. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  120. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  121. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +3 -2
  122. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  123. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  124. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  125. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  126. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  127. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  128. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  129. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  130. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  131. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  132. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  133. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  134. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  135. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  136. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  137. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  138. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  139. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  140. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  141. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  142. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  143. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  144. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  145. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  146. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  147. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  148. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  149. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  150. package/lib/cjs/components-react/filter-builder/Operators.d.ts +1 -1
  151. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  152. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  153. package/lib/cjs/components-react/filter-builder/Types.d.ts +2 -2
  154. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  155. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  156. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +2 -2
  157. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  158. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  159. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +1 -1
  160. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  161. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  162. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  163. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  164. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  165. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +2 -2
  166. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  167. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  168. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  169. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  170. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  171. package/lib/cjs/components-react/properties/LinkHandler.d.ts +1 -1
  172. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  173. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  174. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +3 -3
  175. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  176. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  177. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  178. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  179. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  180. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  181. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  182. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  183. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  184. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  185. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  186. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  187. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  188. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  189. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  190. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  191. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  192. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  193. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  194. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  195. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  196. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  197. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  198. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +1 -1
  199. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  200. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  201. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +5 -0
  202. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  203. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  204. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  205. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  206. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  207. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  208. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  209. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  210. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  211. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  212. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  213. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  214. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  215. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  216. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  217. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  218. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  219. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  220. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  221. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  222. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +18 -17
  223. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  224. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  225. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  227. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  229. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  230. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  231. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  233. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  236. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  239. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  242. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  243. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  245. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  246. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  248. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  251. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  252. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  253. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  254. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  255. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  256. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  257. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  258. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  259. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  260. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  261. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  262. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  263. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  264. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  265. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  266. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  267. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  268. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  269. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  270. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  271. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  272. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  273. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  274. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  275. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  276. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  277. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  278. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  279. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  280. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  281. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  282. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  283. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  284. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  286. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  287. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  288. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  289. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  290. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  291. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  292. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  293. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  294. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  296. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  297. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  298. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  299. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  301. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  302. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  304. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  306. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  307. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  309. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  310. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  311. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  313. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  316. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  319. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  321. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  322. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  323. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  325. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  326. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  328. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  329. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  331. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  333. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  335. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  336. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  337. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  338. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  339. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  340. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  341. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  343. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  345. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  346. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  347. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  349. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  351. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  352. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  353. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  354. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  355. package/lib/cjs/components-react/selectable-content/SelectableContent.js +3 -2
  356. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  357. package/lib/cjs/components-react/toolbar/Item.d.ts +1 -1
  358. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  359. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  360. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +1 -1
  361. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  362. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  363. package/lib/cjs/components-react/toolbar/Items.d.ts +2 -2
  364. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  365. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  366. package/lib/cjs/components-react/toolbar/Overflow.d.ts +1 -1
  367. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  368. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  369. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +1 -1
  370. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  371. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  372. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +2 -2
  373. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  374. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  375. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  376. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  377. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  378. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  379. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  380. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  381. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +2 -2
  382. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  383. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  384. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  385. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  386. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  387. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  388. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  389. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  390. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  391. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  392. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  393. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  394. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  395. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  396. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  397. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  398. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  399. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  400. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  401. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  402. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  403. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  404. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  406. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  407. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  408. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  409. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  410. package/lib/cjs/components-react/tree/ImageLoader.d.ts +2 -2
  411. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  412. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  413. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  414. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  415. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  416. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +4 -4
  417. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  418. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  419. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +1 -1
  420. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  421. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  422. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  423. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  424. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  425. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  426. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  427. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  428. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  429. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  430. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  431. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  432. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  433. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  434. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +3 -3
  435. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  436. package/lib/cjs/components-react/tree/controlled/TreeModel.js +7 -4
  437. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  438. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  439. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  440. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  441. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  442. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  443. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  444. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  445. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  446. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  447. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  448. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  449. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  450. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  451. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  452. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  453. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  454. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  455. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  456. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  457. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  458. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  459. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  460. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  461. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  462. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +2 -1
  463. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  464. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  465. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  466. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  467. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  468. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  469. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  470. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  471. package/lib/esm/components-react/UiComponents.d.ts +1 -1
  472. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  473. package/lib/esm/components-react/UiComponents.js.map +1 -1
  474. package/lib/esm/components-react/common/DelayedSpinner.d.ts +1 -1
  475. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  476. package/lib/esm/components-react/common/DelayedSpinner.js +3 -2
  477. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  478. package/lib/esm/components-react/common/ImageRenderer.d.ts +1 -1
  479. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  480. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  481. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +1 -1
  482. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  483. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  484. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +2 -1
  485. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  486. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  487. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  488. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  489. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  490. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  491. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  492. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  493. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  494. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  495. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +1 -1
  496. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  497. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  498. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  499. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  500. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  501. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  502. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  503. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  504. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +3 -2
  505. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  506. package/lib/esm/components-react/converters/NumericTypeConverter.js +4 -2
  507. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  508. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +2 -2
  509. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  510. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  511. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +1 -1
  512. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  513. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  514. package/lib/esm/components-react/converters/TypeConverter.d.ts +2 -2
  515. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  516. package/lib/esm/components-react/converters/TypeConverter.js +2 -2
  517. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  518. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +1 -1
  519. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  520. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  521. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  522. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  523. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  524. package/lib/esm/components-react/datepicker/DateField.d.ts +3 -2
  525. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  526. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  527. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  528. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  529. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  530. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +1 -1
  531. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  532. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  533. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  534. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  535. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  536. package/lib/esm/components-react/editors/BooleanEditor.d.ts +2 -2
  537. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  538. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  539. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +2 -2
  540. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  541. package/lib/esm/components-react/editors/CustomNumberEditor.js +4 -2
  542. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  543. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +4 -3
  544. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  545. package/lib/esm/components-react/editors/DateTimeEditor.js +3 -2
  546. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  547. package/lib/esm/components-react/editors/EditorContainer.d.ts +2 -2
  548. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  549. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  550. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  551. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  552. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  553. package/lib/esm/components-react/editors/EnumEditor.d.ts +3 -3
  554. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  555. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  556. package/lib/esm/components-react/editors/IconEditor.d.ts +2 -2
  557. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  558. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  559. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  560. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  561. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  562. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +2 -2
  563. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  564. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  565. package/lib/esm/components-react/editors/PopupButton.d.ts +1 -1
  566. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  567. package/lib/esm/components-react/editors/PopupButton.js +4 -3
  568. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  569. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +1 -1
  570. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  571. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  572. package/lib/esm/components-react/editors/SliderEditor.d.ts +2 -2
  573. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  574. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  575. package/lib/esm/components-react/editors/TextEditor.d.ts +2 -2
  576. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  577. package/lib/esm/components-react/editors/TextEditor.js +4 -2
  578. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  579. package/lib/esm/components-react/editors/TextareaEditor.d.ts +2 -2
  580. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  581. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  582. package/lib/esm/components-react/editors/ToggleEditor.d.ts +2 -2
  583. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  584. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  585. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  586. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  587. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  588. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  589. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  590. package/lib/esm/components-react/favorite/FavoritePropertyList.js +3 -2
  591. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  592. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  593. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  594. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  595. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  596. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  597. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  598. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  599. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  600. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  601. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  602. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  603. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  604. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  605. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  606. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  607. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  608. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  609. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  610. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  611. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  612. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  613. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  614. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  615. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  616. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  617. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  618. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  619. package/lib/esm/components-react/filter-builder/Operators.d.ts +1 -1
  620. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  621. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  622. package/lib/esm/components-react/filter-builder/Types.d.ts +2 -2
  623. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  624. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  625. package/lib/esm/components-react/filtering/FilteringInput.d.ts +2 -2
  626. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  627. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  628. package/lib/esm/components-react/filtering/ResultSelector.d.ts +1 -1
  629. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  630. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  631. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  632. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  633. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  634. package/lib/esm/components-react/inputs/ParsedInput.d.ts +2 -2
  635. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  636. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  637. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  638. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  639. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  640. package/lib/esm/components-react/properties/LinkHandler.d.ts +1 -1
  641. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  642. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  643. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +3 -3
  644. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  645. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  646. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  647. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  648. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  649. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  650. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  651. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  652. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  653. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  654. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  655. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  656. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  657. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  658. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  659. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  660. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  661. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  662. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  663. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  664. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  665. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  666. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  667. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +1 -1
  668. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  669. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  670. package/lib/esm/components-react/properties/renderers/PropertyView.scss +5 -0
  671. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  672. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  673. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  674. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  675. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  676. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  677. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  678. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  679. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  680. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  681. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  682. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  683. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  684. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  685. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  686. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  687. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  688. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  689. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  690. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  691. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +16 -18
  692. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  693. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  694. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  695. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  696. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  697. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  698. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  699. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  700. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  701. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  702. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  704. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  705. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  706. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  707. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  708. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  709. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  710. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  711. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  712. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  713. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  714. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  715. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  716. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  717. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  718. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  719. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  720. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  721. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  722. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  723. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  724. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  725. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  726. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  727. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  728. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  729. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  730. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  731. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  732. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  733. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  734. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  735. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  736. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  737. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  738. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  739. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  740. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  741. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  742. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  743. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  744. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  745. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  746. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  747. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  748. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  749. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  750. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  751. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  752. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  753. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  754. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  755. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  756. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  757. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  758. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  759. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  760. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  761. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  762. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  763. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  764. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  765. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  766. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  767. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  768. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  769. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  770. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  771. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  772. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  773. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  774. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  775. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  776. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  777. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  778. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  779. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  780. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  781. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  782. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  783. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  784. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  785. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  786. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  787. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  788. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  789. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  790. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  791. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  792. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  793. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  794. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  795. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  796. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  797. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  798. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  799. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  800. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  801. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  802. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  803. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  804. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  805. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  806. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  807. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  808. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  809. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  810. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  811. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  812. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  813. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  814. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  815. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  816. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  818. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  819. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  820. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  821. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  822. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  823. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  824. package/lib/esm/components-react/selectable-content/SelectableContent.js +3 -2
  825. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  826. package/lib/esm/components-react/toolbar/Item.d.ts +1 -1
  827. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  828. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  829. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +1 -1
  830. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  831. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  832. package/lib/esm/components-react/toolbar/Items.d.ts +2 -2
  833. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  834. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  835. package/lib/esm/components-react/toolbar/Overflow.d.ts +1 -1
  836. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  837. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  838. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +1 -1
  839. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  840. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  841. package/lib/esm/components-react/toolbar/PopupItem.d.ts +2 -2
  842. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  843. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  844. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  845. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  846. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  847. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  848. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  849. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  850. package/lib/esm/components-react/toolbar/Toolbar.d.ts +2 -2
  851. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  852. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  853. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  854. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  855. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  856. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  857. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  858. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  859. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  860. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  861. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  862. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  863. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  864. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  865. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  866. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  867. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  868. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  869. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  870. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  871. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  872. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  873. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  874. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  875. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  876. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  877. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  878. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  879. package/lib/esm/components-react/tree/ImageLoader.d.ts +2 -2
  880. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  881. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  882. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  883. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  884. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  885. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +4 -4
  886. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  887. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  888. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +1 -1
  889. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  890. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  891. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  892. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  893. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  894. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  895. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  896. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  897. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  898. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  899. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  900. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  901. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  902. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  903. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +3 -3
  904. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  905. package/lib/esm/components-react/tree/controlled/TreeModel.js +7 -4
  906. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  907. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  908. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  909. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  910. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  911. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  912. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  913. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  914. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  915. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  916. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  917. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  918. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  919. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  920. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  921. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  922. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  923. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  924. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  925. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  926. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  927. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  928. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  929. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  930. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  931. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +2 -1
  932. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  933. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  934. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  935. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  936. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  937. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  938. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  939. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  940. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport {\r\n ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem,\r\n} from \"../TreeDataProvider\";\r\nimport { Observable, toRxjsObservable } from \"./Observable\";\r\nimport { isTreeModelNode, MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport type { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport type {\r\n ImmediatelyLoadedTreeNodeItem,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem} from \"../TreeDataProvider\";\r\nimport { isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n} from \"../TreeDataProvider\";\r\nimport type { Observable} from \"./Observable\";\r\nimport { toRxjsObservable } from \"./Observable\";\r\nimport type { MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { isTreeModelNode } from \"./TreeModel\";\r\nimport type { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
@@ -2,13 +2,13 @@
2
2
  * @module Tree
3
3
  */
4
4
  import * as React from "react";
5
- import { CommonProps } from "@itwin/core-react";
6
- import { SelectionMode } from "../../../common/selection/SelectionModes";
7
- import { HighlightableTreeProps } from "../../HighlightingEngine";
8
- import { TreeEvents } from "../TreeEvents";
9
- import { TreeModel } from "../TreeModel";
10
- import { ITreeNodeLoader } from "../TreeNodeLoader";
11
- import { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
5
+ import type { CommonProps } from "@itwin/core-react";
6
+ import type { SelectionMode } from "../../../common/selection/SelectionModes";
7
+ import type { HighlightableTreeProps } from "../../HighlightingEngine";
8
+ import type { TreeEvents } from "../TreeEvents";
9
+ import type { TreeModel } from "../TreeModel";
10
+ import type { ITreeNodeLoader } from "../TreeNodeLoader";
11
+ import type { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
12
12
  /**
13
13
  * Properties for [[ControlledTree]]
14
14
  * @public
@@ -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,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAwC,SAAS,EAA6D,MAAM,cAAc,CAAC;AAC1I,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAErF;;;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,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 +1 @@
1
- {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, FillCentered } from \"@itwin/core-react\";\r\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\r\nimport { SelectionMode } from \"../../../common/selection/SelectionModes\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { HighlightableTreeProps } from \"../../HighlightingEngine\";\r\nimport { TreeImageLoader } from \"../../ImageLoader\";\r\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\r\nimport { TreeEvents } from \"../TreeEvents\";\r\nimport { computeVisibleNodes, isTreeModelNode, TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\r\nimport { ITreeNodeLoader } from \"../TreeNodeLoader\";\r\nimport { TreeNodeRenderer, TreeNodeRendererProps } from \"./TreeNodeRenderer\";\r\nimport { RenderedItemsRange, TreeRenderer, TreeRendererProps } from \"./TreeRenderer\";\r\n\r\n/**\r\n * Properties for [[ControlledTree]]\r\n * @public\r\n */\r\nexport interface ControlledTreeProps extends CommonProps {\r\n /** Model of the tree to display. */\r\n model: TreeModel;\r\n /** Node loader used to load root nodes and placeholder nodes. */\r\n nodeLoader: ITreeNodeLoader;\r\n /** Tree events handler. */\r\n eventsHandler: TreeEvents;\r\n /** Mode of nodes' selection in tree. */\r\n selectionMode: SelectionMode;\r\n /**\r\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\r\n * If custom node renderer and node height callbacks are used it does nothing.\r\n */\r\n descriptionsEnabled?: boolean;\r\n /**\r\n * Specifies whether to show node icon or not. It is used in default node renderer.\r\n * If custom node renderer is used it does nothing.\r\n */\r\n iconsEnabled?: boolean;\r\n /**\r\n * Used to highlight matches when filtering tree.\r\n * It is passed to treeRenderer.\r\n */\r\n nodeHighlightingProps?: HighlightableTreeProps;\r\n /** Custom renderer to be used to render a tree. */\r\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\r\n /** Custom renderer to be used while root nodes is loading. */\r\n spinnerRenderer?: () => React.ReactElement;\r\n /** Custom renderer to be used when there is no data to show in tree. */\r\n noDataRenderer?: () => React.ReactElement;\r\n /** Callback that is invoked when rendered items range changes. */\r\n onItemsRendered?: (items: RenderedItemsRange) => void;\r\n /** Width of the tree renderer. */\r\n width: number;\r\n /** Height of the tree renderer. */\r\n height: number;\r\n}\r\n\r\n/**\r\n * React tree component which rendering is fully controlled from outside.\r\n * @public\r\n */\r\nexport function ControlledTree(props: ControlledTreeProps) {\r\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\r\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\r\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\r\n <TreeNodeRenderer\r\n {...nodeProps}\r\n descriptionEnabled={props.descriptionsEnabled}\r\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\r\n />\r\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\r\n\r\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\r\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\r\n\r\n const treeProps: TreeRendererProps = {\r\n nodeRenderer,\r\n nodeHeight,\r\n visibleNodes,\r\n treeActions: eventDispatcher,\r\n nodeLoader: props.nodeLoader,\r\n nodeHighlightingProps: props.nodeHighlightingProps,\r\n onItemsRendered: props.onItemsRendered,\r\n width: props.width,\r\n height: props.height,\r\n };\r\n\r\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\r\n const noData = visibleNodes.getNumRootNodes() === 0;\r\n return (\r\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\r\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\r\n </Loader>\r\n );\r\n}\r\n\r\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\r\n React.useEffect(() => {\r\n if (visibleNodes.getNumRootNodes() === undefined) {\r\n const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();\r\n return () => subscription.unsubscribe();\r\n }\r\n\r\n return () => { };\r\n }, [visibleNodes, nodeLoader]);\r\n\r\n return visibleNodes.getNumRootNodes() === undefined;\r\n}\r\n\r\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\r\n /* istanbul ignore next */\r\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\r\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\r\n\r\n React.useEffect(() => {\r\n eventDispatcher.setVisibleNodes(getVisibleNodes);\r\n }, [eventDispatcher, getVisibleNodes]);\r\n\r\n return eventDispatcher;\r\n}\r\n\r\ninterface LoaderProps {\r\n loading: boolean;\r\n noData: boolean;\r\n spinnerRenderer?: () => React.ReactElement;\r\n noDataRenderer?: () => React.ReactElement;\r\n children: JSX.Element;\r\n}\r\n\r\nfunction Loader(props: LoaderProps) {\r\n if (props.loading) {\r\n return props.spinnerRenderer\r\n ? props.spinnerRenderer()\r\n : (\r\n <div className=\"components-controlledTree-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n if (props.noData) {\r\n return props.noDataRenderer\r\n ? props.noDataRenderer()\r\n : (\r\n <FillCentered>\r\n <p className=\"components-controlledTree-errorMessage\">\r\n {UiComponents.translate(\"general.noData\")}\r\n </p>\r\n </FillCentered>\r\n );\r\n }\r\n\r\n return props.children;\r\n}\r\n\r\nfunction useNodeHeight(\r\n descriptionsEnabled: boolean,\r\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\r\n return React.useCallback(\r\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\r\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\r\n const borderSize = 1;\r\n // Not counting node's border size twice because we want neighboring borders to overlap\r\n return contentHeight + borderSize;\r\n },\r\n [descriptionsEnabled],\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps} from \"@itwin/core-react\";\r\nimport { FillCentered } from \"@itwin/core-react\";\r\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\r\nimport type { SelectionMode } from \"../../../common/selection/SelectionModes\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport type { HighlightableTreeProps } from \"../../HighlightingEngine\";\r\nimport { TreeImageLoader } from \"../../ImageLoader\";\r\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\r\nimport type { TreeEvents } from \"../TreeEvents\";\r\nimport type { TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\r\nimport { computeVisibleNodes, isTreeModelNode } from \"../TreeModel\";\r\nimport type { ITreeNodeLoader } from \"../TreeNodeLoader\";\r\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\r\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\r\nimport type { RenderedItemsRange, TreeRendererProps } from \"./TreeRenderer\";\r\nimport { TreeRenderer } from \"./TreeRenderer\";\r\n\r\n/**\r\n * Properties for [[ControlledTree]]\r\n * @public\r\n */\r\nexport interface ControlledTreeProps extends CommonProps {\r\n /** Model of the tree to display. */\r\n model: TreeModel;\r\n /** Node loader used to load root nodes and placeholder nodes. */\r\n nodeLoader: ITreeNodeLoader;\r\n /** Tree events handler. */\r\n eventsHandler: TreeEvents;\r\n /** Mode of nodes' selection in tree. */\r\n selectionMode: SelectionMode;\r\n /**\r\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\r\n * If custom node renderer and node height callbacks are used it does nothing.\r\n */\r\n descriptionsEnabled?: boolean;\r\n /**\r\n * Specifies whether to show node icon or not. It is used in default node renderer.\r\n * If custom node renderer is used it does nothing.\r\n */\r\n iconsEnabled?: boolean;\r\n /**\r\n * Used to highlight matches when filtering tree.\r\n * It is passed to treeRenderer.\r\n */\r\n nodeHighlightingProps?: HighlightableTreeProps;\r\n /** Custom renderer to be used to render a tree. */\r\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\r\n /** Custom renderer to be used while root nodes is loading. */\r\n spinnerRenderer?: () => React.ReactElement;\r\n /** Custom renderer to be used when there is no data to show in tree. */\r\n noDataRenderer?: () => React.ReactElement;\r\n /** Callback that is invoked when rendered items range changes. */\r\n onItemsRendered?: (items: RenderedItemsRange) => void;\r\n /** Width of the tree renderer. */\r\n width: number;\r\n /** Height of the tree renderer. */\r\n height: number;\r\n}\r\n\r\n/**\r\n * React tree component which rendering is fully controlled from outside.\r\n * @public\r\n */\r\nexport function ControlledTree(props: ControlledTreeProps) {\r\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\r\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\r\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\r\n <TreeNodeRenderer\r\n {...nodeProps}\r\n descriptionEnabled={props.descriptionsEnabled}\r\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\r\n />\r\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\r\n\r\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\r\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\r\n\r\n const treeProps: TreeRendererProps = {\r\n nodeRenderer,\r\n nodeHeight,\r\n visibleNodes,\r\n treeActions: eventDispatcher,\r\n nodeLoader: props.nodeLoader,\r\n nodeHighlightingProps: props.nodeHighlightingProps,\r\n onItemsRendered: props.onItemsRendered,\r\n width: props.width,\r\n height: props.height,\r\n };\r\n\r\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\r\n const noData = visibleNodes.getNumRootNodes() === 0;\r\n return (\r\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\r\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\r\n </Loader>\r\n );\r\n}\r\n\r\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\r\n React.useEffect(() => {\r\n if (visibleNodes.getNumRootNodes() === undefined) {\r\n const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();\r\n return () => subscription.unsubscribe();\r\n }\r\n\r\n return () => { };\r\n }, [visibleNodes, nodeLoader]);\r\n\r\n return visibleNodes.getNumRootNodes() === undefined;\r\n}\r\n\r\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\r\n /* istanbul ignore next */\r\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\r\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\r\n\r\n React.useEffect(() => {\r\n eventDispatcher.setVisibleNodes(getVisibleNodes);\r\n }, [eventDispatcher, getVisibleNodes]);\r\n\r\n return eventDispatcher;\r\n}\r\n\r\ninterface LoaderProps {\r\n loading: boolean;\r\n noData: boolean;\r\n spinnerRenderer?: () => React.ReactElement;\r\n noDataRenderer?: () => React.ReactElement;\r\n children: JSX.Element;\r\n}\r\n\r\nfunction Loader(props: LoaderProps) {\r\n if (props.loading) {\r\n return props.spinnerRenderer\r\n ? props.spinnerRenderer()\r\n : (\r\n <div className=\"components-controlledTree-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n if (props.noData) {\r\n return props.noDataRenderer\r\n ? props.noDataRenderer()\r\n : (\r\n <FillCentered>\r\n <p className=\"components-controlledTree-errorMessage\">\r\n {UiComponents.translate(\"general.noData\")}\r\n </p>\r\n </FillCentered>\r\n );\r\n }\r\n\r\n return props.children;\r\n}\r\n\r\nfunction useNodeHeight(\r\n descriptionsEnabled: boolean,\r\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\r\n return React.useCallback(\r\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\r\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\r\n const borderSize = 1;\r\n // Not counting node's border size twice because we want neighboring borders to overlap\r\n return contentHeight + borderSize;\r\n },\r\n [descriptionsEnabled],\r\n );\r\n}\r\n"]}
@@ -26,11 +26,11 @@
26
26
 
27
27
  /**
28
28
  * Workaround for horizontal scroll issue.
29
- * based on https://github.com/bvaughn/react-virtualized/issues/1248
29
+ * based on https://github.com/bvaughn/react-window/issues/681
30
30
  */
31
31
  .ReactVirtualized__Grid,
32
32
  .ReactWindow__VariableSizeList {
33
- overflow: auto !important;
33
+ overflow: scroll !important;
34
34
  background-color: inherit;
35
35
 
36
36
  @include uicore-scrollbar;
@@ -3,11 +3,11 @@
3
3
  */
4
4
  /// <reference types="react" />
5
5
  import "./NodeContent.scss";
6
- import { CommonProps } from "@itwin/core-react";
7
- import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
- import { HighlightableTreeNodeProps } from "../../HighlightingEngine";
9
- import { TreeModelNode } from "../TreeModel";
10
- import { TreeNodeEditorRenderer } from "./TreeNodeEditor";
6
+ import type { CommonProps } from "@itwin/core-react";
7
+ import type { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
+ import type { HighlightableTreeNodeProps } from "../../HighlightingEngine";
9
+ import type { TreeModelNode } from "../TreeModel";
10
+ import type { TreeNodeEditorRenderer } from "./TreeNodeEditor";
11
11
  /** Properties for [[TreeNodeContent]] component
12
12
  * @internal
13
13
  */
@@ -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,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAuD,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAsB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;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,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 +1 @@
1
- {"version":3,"file":"NodeContent.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport \"./NodeContent.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { CommonProps, TreeNodePlaceholder } from \"@itwin/core-react\";\r\nimport { ItemStyle, ItemStyleProvider } from \"../../../properties/ItemStyle\";\r\nimport { PropertyContainerType, PropertyValueRendererContext, PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\r\nimport { HighlightableTreeNodeProps, HighlightingEngine } from \"../../HighlightingEngine\";\r\nimport { TreeModelNode } from \"../TreeModel\";\r\nimport { TreeNodeEditor, TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\r\n\r\n/** Properties for [[TreeNodeContent]] component\r\n * @internal\r\n */\r\nexport interface TreeNodeContentProps extends CommonProps {\r\n node: TreeModelNode;\r\n showDescription?: boolean;\r\n highlightProps?: HighlightableTreeNodeProps;\r\n valueRendererManager: PropertyValueRendererManager;\r\n\r\n onLabelRendered?: (node: TreeModelNode) => void;\r\n nodeEditorRenderer?: TreeNodeEditorRenderer;\r\n}\r\n\r\n/** React component for displaying [[TreeNode]] label\r\n * @internal\r\n */\r\nexport function TreeNodeContent(props: TreeNodeContentProps) {\r\n const { node, valueRendererManager, onLabelRendered, highlightProps } = props;\r\n // eslint-disable-next-line @typescript-eslint/promise-function-async\r\n const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);\r\n React.useEffect(() => {\r\n onLabelRendered && onLabelRendered(node);\r\n }, [label, node, onLabelRendered]);\r\n\r\n // handle cell editing\r\n let editor: React.ReactNode;\r\n if (props.node.editingInfo) {\r\n // if cell editing is enabled, return editor instead of the label\r\n const style = getStyle(props.node.item.style, props.node.isSelected);\r\n const editorProps = {\r\n node: props.node,\r\n onCancel: props.node.editingInfo.onCancel,\r\n onCommit: props.node.editingInfo.onCommit,\r\n style,\r\n };\r\n editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : <TreeNodeEditor {...editorProps} />;\r\n }\r\n\r\n const isDescriptionEnabled = props.node.item.description && props.showDescription;\r\n\r\n const containerClassName = classnames(\r\n \"components-controlledTree-node-content\",\r\n isDescriptionEnabled ? \"with-description\" : undefined,\r\n props.className,\r\n );\r\n\r\n const descriptionClassName = classnames(\r\n \"components-controlledTree-node-description\",\r\n editor ? \"with-editor\" : undefined,\r\n );\r\n\r\n return (\r\n <div className={containerClassName} style={props.style}>\r\n <>\r\n {editor ? editor : label}\r\n {isDescriptionEnabled ?\r\n <div className={descriptionClassName}>\r\n {props.node.item.description}\r\n </div>\r\n : undefined}\r\n </>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getLabel(\r\n node: TreeModelNode,\r\n valueRendererManager: PropertyValueRendererManager,\r\n highlightProps?: HighlightableTreeNodeProps): React.ReactNode | Promise<React.ReactNode> {\r\n // handle filtered matches' highlighting\r\n const highlightCallback = highlightProps\r\n ? (text: string) => HighlightingEngine.renderNodeLabel(text, highlightProps)\r\n : undefined;\r\n\r\n // handle custom cell rendering\r\n const context: PropertyValueRendererContext = {\r\n containerType: PropertyContainerType.Tree,\r\n style: getStyle(node.item.style, node.isSelected),\r\n textHighlighter: highlightCallback,\r\n defaultValue: <TreeNodePlaceholder level={0} data-testid={\"node-label-placeholder\"} />,\r\n };\r\n\r\n return valueRendererManager.render(node.item.label, context);\r\n}\r\n\r\nfunction getStyle(style?: ItemStyle, isSelected?: boolean): React.CSSProperties {\r\n return ItemStyleProvider.createStyle(style ? style : {}, isSelected);\r\n}\r\n"]}
1
+ {"version":3,"file":"NodeContent.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport \"./NodeContent.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { CommonProps} from \"@itwin/core-react\";\r\nimport { TreeNodePlaceholder } from \"@itwin/core-react\";\r\nimport type { ItemStyle} from \"../../../properties/ItemStyle\";\r\nimport { ItemStyleProvider } from \"../../../properties/ItemStyle\";\r\nimport type { PropertyValueRendererContext, PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\r\nimport { PropertyContainerType } from \"../../../properties/ValueRendererManager\";\r\nimport type { HighlightableTreeNodeProps} from \"../../HighlightingEngine\";\r\nimport { HighlightingEngine } from \"../../HighlightingEngine\";\r\nimport type { TreeModelNode } from \"../TreeModel\";\r\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\r\nimport { TreeNodeEditor } from \"./TreeNodeEditor\";\r\n\r\n/** Properties for [[TreeNodeContent]] component\r\n * @internal\r\n */\r\nexport interface TreeNodeContentProps extends CommonProps {\r\n node: TreeModelNode;\r\n showDescription?: boolean;\r\n highlightProps?: HighlightableTreeNodeProps;\r\n valueRendererManager: PropertyValueRendererManager;\r\n\r\n onLabelRendered?: (node: TreeModelNode) => void;\r\n nodeEditorRenderer?: TreeNodeEditorRenderer;\r\n}\r\n\r\n/** React component for displaying [[TreeNode]] label\r\n * @internal\r\n */\r\nexport function TreeNodeContent(props: TreeNodeContentProps) {\r\n const { node, valueRendererManager, onLabelRendered, highlightProps } = props;\r\n // eslint-disable-next-line @typescript-eslint/promise-function-async\r\n const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);\r\n React.useEffect(() => {\r\n onLabelRendered && onLabelRendered(node);\r\n }, [label, node, onLabelRendered]);\r\n\r\n // handle cell editing\r\n let editor: React.ReactNode;\r\n if (props.node.editingInfo) {\r\n // if cell editing is enabled, return editor instead of the label\r\n const style = getStyle(props.node.item.style, props.node.isSelected);\r\n const editorProps = {\r\n node: props.node,\r\n onCancel: props.node.editingInfo.onCancel,\r\n onCommit: props.node.editingInfo.onCommit,\r\n style,\r\n };\r\n editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : <TreeNodeEditor {...editorProps} />;\r\n }\r\n\r\n const isDescriptionEnabled = props.node.item.description && props.showDescription;\r\n\r\n const containerClassName = classnames(\r\n \"components-controlledTree-node-content\",\r\n isDescriptionEnabled ? \"with-description\" : undefined,\r\n props.className,\r\n );\r\n\r\n const descriptionClassName = classnames(\r\n \"components-controlledTree-node-description\",\r\n editor ? \"with-editor\" : undefined,\r\n );\r\n\r\n return (\r\n <div className={containerClassName} style={props.style}>\r\n <>\r\n {editor ? editor : label}\r\n {isDescriptionEnabled ?\r\n <div className={descriptionClassName}>\r\n {props.node.item.description}\r\n </div>\r\n : undefined}\r\n </>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getLabel(\r\n node: TreeModelNode,\r\n valueRendererManager: PropertyValueRendererManager,\r\n highlightProps?: HighlightableTreeNodeProps): React.ReactNode | Promise<React.ReactNode> {\r\n // handle filtered matches' highlighting\r\n const highlightCallback = highlightProps\r\n ? (text: string) => HighlightingEngine.renderNodeLabel(text, highlightProps)\r\n : undefined;\r\n\r\n // handle custom cell rendering\r\n const context: PropertyValueRendererContext = {\r\n containerType: PropertyContainerType.Tree,\r\n style: getStyle(node.item.style, node.isSelected),\r\n textHighlighter: highlightCallback,\r\n defaultValue: <TreeNodePlaceholder level={0} data-testid={\"node-label-placeholder\"} />,\r\n };\r\n\r\n return valueRendererManager.render(node.item.label, context);\r\n}\r\n\r\nfunction getStyle(style?: ItemStyle, isSelected?: boolean): React.CSSProperties {\r\n return ItemStyleProvider.createStyle(style ? style : {}, isSelected);\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Tree
3
3
  */
4
4
  import * as React from "react";
5
- import { TreeModelNode } from "../TreeModel";
5
+ import type { TreeModelNode } from "../TreeModel";
6
6
  /**
7
7
  * Properties for [[TreeNodeEditor]] component.
8
8
  * @public
@@ -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;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;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;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 +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;AAC/B,0DAA4F;AAC5F,sEAAwF;AA2BxF;;;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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PrimitiveValue, PropertyDescription, PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { EditorContainer, PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\r\nimport { TreeModelNode } from \"../TreeModel\";\r\n\r\n/**\r\n * Properties for [[TreeNodeEditor]] component.\r\n * @public\r\n */\r\nexport interface TreeNodeEditorProps {\r\n /** Tree node which is in editing mode. */\r\n node: TreeModelNode;\r\n /** Callback that is called when changes are committed. */\r\n onCommit: (node: TreeModelNode, newValue: string) => void;\r\n /** Callback that is called when editing is canceled. */\r\n onCancel: () => void;\r\n /** Editor style. */\r\n style?: React.CSSProperties;\r\n\r\n /** @internal */\r\n ignoreEditorBlur?: boolean;\r\n}\r\n\r\n/**\r\n * Type for tree node editor renderer.\r\n * @public\r\n */\r\nexport type TreeNodeEditorRenderer = (props: TreeNodeEditorProps) => React.ReactNode;\r\n\r\n/**\r\n * React component for displaying tree node editor.\r\n * @public\r\n */\r\nexport function TreeNodeEditor(props: TreeNodeEditorProps) {\r\n const onCommit = (args: PropertyUpdatedArgs) => {\r\n const newValue = (args.newValue as PrimitiveValue).value as string;\r\n props.onCommit(props.node, newValue);\r\n };\r\n\r\n const propertyRecord = createPropertyRecord(props.node.item.label);\r\n\r\n return (\r\n <span style={props.style}>\r\n <EditorContainer\r\n propertyRecord={propertyRecord}\r\n title={propertyRecord.description}\r\n onCommit={onCommit}\r\n onCancel={props.onCancel}\r\n ignoreEditorBlur={props.ignoreEditorBlur}\r\n setFocus={true}\r\n />\r\n </span>\r\n );\r\n}\r\n\r\nfunction createPropertyRecord(label: PropertyRecord) {\r\n const property: PropertyDescription = {\r\n name: \"tree-node-editor\",\r\n displayLabel: \"Tree Node Editor\",\r\n typename: label.property.typename,\r\n };\r\n\r\n const record = new PropertyRecord(label.value, property);\r\n record.description = \"\";\r\n record.isReadonly = false;\r\n\r\n return record;\r\n}\r\n"]}
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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PrimitiveValue, PropertyDescription} from \"@itwin/appui-abstract\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport type { PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\r\nimport { EditorContainer } from \"../../../editors/EditorContainer\";\r\nimport type { TreeModelNode } from \"../TreeModel\";\r\n\r\n/**\r\n * Properties for [[TreeNodeEditor]] component.\r\n * @public\r\n */\r\nexport interface TreeNodeEditorProps {\r\n /** Tree node which is in editing mode. */\r\n node: TreeModelNode;\r\n /** Callback that is called when changes are committed. */\r\n onCommit: (node: TreeModelNode, newValue: string) => void;\r\n /** Callback that is called when editing is canceled. */\r\n onCancel: () => void;\r\n /** Editor style. */\r\n style?: React.CSSProperties;\r\n\r\n /** @internal */\r\n ignoreEditorBlur?: boolean;\r\n}\r\n\r\n/**\r\n * Type for tree node editor renderer.\r\n * @public\r\n */\r\nexport type TreeNodeEditorRenderer = (props: TreeNodeEditorProps) => React.ReactNode;\r\n\r\n/**\r\n * React component for displaying tree node editor.\r\n * @public\r\n */\r\nexport function TreeNodeEditor(props: TreeNodeEditorProps) {\r\n const onCommit = (args: PropertyUpdatedArgs) => {\r\n const newValue = (args.newValue as PrimitiveValue).value as string;\r\n props.onCommit(props.node, newValue);\r\n };\r\n\r\n const propertyRecord = createPropertyRecord(props.node.item.label);\r\n\r\n return (\r\n <span style={props.style}>\r\n <EditorContainer\r\n propertyRecord={propertyRecord}\r\n title={propertyRecord.description}\r\n onCommit={onCommit}\r\n onCancel={props.onCancel}\r\n ignoreEditorBlur={props.ignoreEditorBlur}\r\n setFocus={true}\r\n />\r\n </span>\r\n );\r\n}\r\n\r\nfunction createPropertyRecord(label: PropertyRecord) {\r\n const property: PropertyDescription = {\r\n name: \"tree-node-editor\",\r\n displayLabel: \"Tree Node Editor\",\r\n typename: label.property.typename,\r\n };\r\n\r\n const record = new PropertyRecord(label.value, property);\r\n record.description = \"\";\r\n record.isReadonly = false;\r\n\r\n return record;\r\n}\r\n"]}
@@ -2,12 +2,12 @@
2
2
  * @module Tree
3
3
  */
4
4
  import * as React from "react";
5
- import { CommonProps, NodeCheckboxRenderer } from "@itwin/core-react";
6
- import { HighlightableTreeNodeProps } from "../../HighlightingEngine";
7
- import { ITreeImageLoader } from "../../ImageLoader";
8
- import { TreeActions } from "../TreeActions";
9
- import { TreeModelNode } from "../TreeModel";
10
- import { TreeNodeEditorRenderer } from "./TreeNodeEditor";
5
+ import type { CommonProps, NodeCheckboxRenderer } from "@itwin/core-react";
6
+ import type { HighlightableTreeNodeProps } from "../../HighlightingEngine";
7
+ import type { ITreeImageLoader } from "../../ImageLoader";
8
+ import type { TreeActions } from "../TreeActions";
9
+ import type { TreeModelNode } from "../TreeModel";
10
+ import type { TreeNodeEditorRenderer } from "./TreeNodeEditor";
11
11
  /**
12
12
  * Properties for [[TreeNodeRenderer]].
13
13
  * @public
@@ -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,EAAE,WAAW,EAAqB,oBAAoB,EAAY,MAAM,mBAAmB,CAAC;AAGnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;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,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 +1 @@
1
- {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, NodeCheckboxProps, NodeCheckboxRenderer, TreeNode } from \"@itwin/core-react\";\r\nimport { ImageRenderer } from \"../../../common/ImageRenderer\";\r\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\r\nimport { HighlightableTreeNodeProps } from \"../../HighlightingEngine\";\r\nimport { ITreeImageLoader } from \"../../ImageLoader\";\r\nimport { TreeComponentTestId } from \"../../TreeComponentTestId\";\r\nimport { TreeActions } from \"../TreeActions\";\r\nimport { CheckBoxInfo, TreeModelNode } from \"../TreeModel\";\r\nimport { TreeNodeContent } from \"./NodeContent\";\r\nimport { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\r\n\r\n/**\r\n * Properties for [[TreeNodeRenderer]].\r\n * @public\r\n */\r\nexport interface TreeNodeRendererProps extends CommonProps {\r\n /** Tree node to render. */\r\n node: TreeModelNode;\r\n\r\n /** Action handler. */\r\n treeActions: TreeActions;\r\n\r\n /** Properties used to highlight matches when tree is filtered. */\r\n nodeHighlightProps?: HighlightableTreeNodeProps;\r\n\r\n /** Specifies whether to show descriptions or not. */\r\n descriptionEnabled?: boolean;\r\n\r\n /** Image loader for node icons. */\r\n imageLoader?: ITreeImageLoader;\r\n\r\n /** Callback to render custom checkbox. */\r\n checkboxRenderer?: NodeCheckboxRenderer;\r\n\r\n /** Callback to render custom node editor when node is in editing mode. */\r\n nodeEditorRenderer?: TreeNodeEditorRenderer;\r\n\r\n /**\r\n * Callback used to detect when label is rendered. It is used by TreeRenderer for scrolling to active match.\r\n * @internal\r\n */\r\n onLabelRendered?: (node: TreeModelNode) => void;\r\n\r\n /** Child components to render inside the node.*/\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Default component for rendering tree node.\r\n * @public\r\n */\r\nexport const TreeNodeRenderer = React.memo(function TreeNodeRenderer(props: TreeNodeRendererProps) {\r\n const label = (\r\n <TreeNodeContent\r\n key={props.node.id}\r\n node={props.node}\r\n showDescription={props.descriptionEnabled}\r\n valueRendererManager={PropertyValueRendererManager.defaultManager}\r\n highlightProps={props.nodeHighlightProps}\r\n onLabelRendered={props.onLabelRendered}\r\n nodeEditorRenderer={props.nodeEditorRenderer}\r\n />\r\n );\r\n\r\n function onExpansionToggle() {\r\n if (props.node.isExpanded)\r\n props.treeActions.onNodeCollapsed(props.node.id);\r\n else\r\n props.treeActions.onNodeExpanded(props.node.id);\r\n }\r\n\r\n const createCheckboxProps = (checkboxInfo: CheckBoxInfo): NodeCheckboxProps => ({\r\n state: checkboxInfo.state,\r\n tooltip: checkboxInfo.tooltip,\r\n isDisabled: checkboxInfo.isDisabled,\r\n onClick: (newState) => props.treeActions.onNodeCheckboxClicked(props.node.id, newState),\r\n });\r\n\r\n return (\r\n <TreeNode\r\n data-testid={TreeComponentTestId.Node}\r\n className={props.className}\r\n checkboxProps={props.node.checkbox.isVisible ? createCheckboxProps(props.node.checkbox) : undefined}\r\n style={props.style}\r\n isExpanded={props.node.isExpanded}\r\n isSelected={props.node.isSelected}\r\n isLoading={props.node.isLoading}\r\n isLeaf={props.node.numChildren === 0}\r\n icon={props.imageLoader ? <TreeNodeIcon node={props.node} imageLoader={props.imageLoader} /> : undefined}\r\n label={label}\r\n level={props.node.depth}\r\n onClick={(event) => props.treeActions.onNodeClicked(props.node.id, event)}\r\n onMouseDown={() => props.treeActions.onNodeMouseDown(props.node.id)}\r\n onMouseMove={() => props.treeActions.onNodeMouseMove(props.node.id)}\r\n onClickExpansionToggle={onExpansionToggle}\r\n renderOverrides={{ renderCheckbox: props.checkboxRenderer }}\r\n >\r\n {props.children}\r\n </TreeNode>\r\n );\r\n});\r\n\r\ninterface TreeNodeIconProps {\r\n node: TreeModelNode;\r\n imageLoader: ITreeImageLoader;\r\n}\r\n\r\nfunction TreeNodeIcon(props: TreeNodeIconProps) {\r\n const { imageLoader, node } = props;\r\n const image = imageLoader.load(node.item);\r\n\r\n if (!image)\r\n return null;\r\n\r\n const renderer = new ImageRenderer();\r\n return <>{renderer.render(image)}</>;\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { CommonProps, NodeCheckboxProps, NodeCheckboxRenderer} from \"@itwin/core-react\";\r\nimport { TreeNode } from \"@itwin/core-react\";\r\nimport { ImageRenderer } from \"../../../common/ImageRenderer\";\r\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\r\nimport type { HighlightableTreeNodeProps } from \"../../HighlightingEngine\";\r\nimport type { ITreeImageLoader } from \"../../ImageLoader\";\r\nimport { TreeComponentTestId } from \"../../TreeComponentTestId\";\r\nimport type { TreeActions } from \"../TreeActions\";\r\nimport type { CheckBoxInfo, TreeModelNode } from \"../TreeModel\";\r\nimport { TreeNodeContent } from \"./NodeContent\";\r\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\r\n\r\n/**\r\n * Properties for [[TreeNodeRenderer]].\r\n * @public\r\n */\r\nexport interface TreeNodeRendererProps extends CommonProps {\r\n /** Tree node to render. */\r\n node: TreeModelNode;\r\n\r\n /** Action handler. */\r\n treeActions: TreeActions;\r\n\r\n /** Properties used to highlight matches when tree is filtered. */\r\n nodeHighlightProps?: HighlightableTreeNodeProps;\r\n\r\n /** Specifies whether to show descriptions or not. */\r\n descriptionEnabled?: boolean;\r\n\r\n /** Image loader for node icons. */\r\n imageLoader?: ITreeImageLoader;\r\n\r\n /** Callback to render custom checkbox. */\r\n checkboxRenderer?: NodeCheckboxRenderer;\r\n\r\n /** Callback to render custom node editor when node is in editing mode. */\r\n nodeEditorRenderer?: TreeNodeEditorRenderer;\r\n\r\n /**\r\n * Callback used to detect when label is rendered. It is used by TreeRenderer for scrolling to active match.\r\n * @internal\r\n */\r\n onLabelRendered?: (node: TreeModelNode) => void;\r\n\r\n /** Child components to render inside the node.*/\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Default component for rendering tree node.\r\n * @public\r\n */\r\nexport const TreeNodeRenderer = React.memo(function TreeNodeRenderer(props: TreeNodeRendererProps) {\r\n const label = (\r\n <TreeNodeContent\r\n key={props.node.id}\r\n node={props.node}\r\n showDescription={props.descriptionEnabled}\r\n valueRendererManager={PropertyValueRendererManager.defaultManager}\r\n highlightProps={props.nodeHighlightProps}\r\n onLabelRendered={props.onLabelRendered}\r\n nodeEditorRenderer={props.nodeEditorRenderer}\r\n />\r\n );\r\n\r\n function onExpansionToggle() {\r\n if (props.node.isExpanded)\r\n props.treeActions.onNodeCollapsed(props.node.id);\r\n else\r\n props.treeActions.onNodeExpanded(props.node.id);\r\n }\r\n\r\n const createCheckboxProps = (checkboxInfo: CheckBoxInfo): NodeCheckboxProps => ({\r\n state: checkboxInfo.state,\r\n tooltip: checkboxInfo.tooltip,\r\n isDisabled: checkboxInfo.isDisabled,\r\n onClick: (newState) => props.treeActions.onNodeCheckboxClicked(props.node.id, newState),\r\n });\r\n\r\n return (\r\n <TreeNode\r\n data-testid={TreeComponentTestId.Node}\r\n className={props.className}\r\n checkboxProps={props.node.checkbox.isVisible ? createCheckboxProps(props.node.checkbox) : undefined}\r\n style={props.style}\r\n isExpanded={props.node.isExpanded}\r\n isSelected={props.node.isSelected}\r\n isLoading={props.node.isLoading}\r\n isLeaf={props.node.numChildren === 0}\r\n icon={props.imageLoader ? <TreeNodeIcon node={props.node} imageLoader={props.imageLoader} /> : undefined}\r\n label={label}\r\n level={props.node.depth}\r\n onClick={(event) => props.treeActions.onNodeClicked(props.node.id, event)}\r\n onMouseDown={() => props.treeActions.onNodeMouseDown(props.node.id)}\r\n onMouseMove={() => props.treeActions.onNodeMouseMove(props.node.id)}\r\n onClickExpansionToggle={onExpansionToggle}\r\n renderOverrides={{ renderCheckbox: props.checkboxRenderer }}\r\n >\r\n {props.children}\r\n </TreeNode>\r\n );\r\n});\r\n\r\ninterface TreeNodeIconProps {\r\n node: TreeModelNode;\r\n imageLoader: ITreeImageLoader;\r\n}\r\n\r\nfunction TreeNodeIcon(props: TreeNodeIconProps) {\r\n const { imageLoader, node } = props;\r\n const image = imageLoader.load(node.item);\r\n\r\n if (!image)\r\n return null;\r\n\r\n const renderer = new ImageRenderer();\r\n return <>{renderer.render(image)}</>;\r\n}\r\n"]}
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import "./ControlledTree.scss";
5
5
  import * as React from "react";
6
- import { HighlightableTreeProps } from "../../HighlightingEngine";
7
- import { TreeActions } from "../TreeActions";
8
- import { TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from "../TreeModel";
9
- import { ITreeNodeLoader } from "../TreeNodeLoader";
10
- import { TreeNodeRendererProps } from "./TreeNodeRenderer";
6
+ import type { HighlightableTreeProps } from "../../HighlightingEngine";
7
+ import type { TreeActions } from "../TreeActions";
8
+ import type { TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from "../TreeModel";
9
+ import type { ITreeNodeLoader } from "../TreeNodeLoader";
10
+ import type { TreeNodeRendererProps } from "./TreeNodeRenderer";
11
11
  /**
12
12
  * Data structure that describes range of rendered items in the tree.
13
13
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"TreeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,sBAAsB,EAAsB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAC6D,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAC5H,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI7E;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;IAE5B,sDAAsD;IACtD,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,wBAAwB,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAEtF,yCAAyC;IACzC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAEjE,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAE/C,iEAAiE;IACjE,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEhC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3D;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAsC/D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAE,YAAW,sBAAsB;IACpG,OAAO,CAAC,IAAI,CAA6C;IAEzD,kBAAkB;IACX,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAMzC,MAAM;CAKvB"}
1
+ {"version":3,"file":"TreeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAI7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAKhE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;IAE5B,sDAAsD;IACtD,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,wBAAwB,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAEtF,yCAAyC;IACzC,YAAY,EAAE,gBAAgB,CAAC;IAE/B,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAEjE,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAE/C,iEAAiE;IACjE,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEhC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3D;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAmC/D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAE,YAAW,sBAAsB;IACpG,OAAO,CAAC,IAAI,CAA6C;IAEzD,kBAAkB;IACX,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAMzC,MAAM;CAKvB"}
@@ -89,7 +89,6 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
89
89
  }
90
90
  }
91
91
  const coreTreeRef = React.useRef(null);
92
- const minContainerWidth = React.useRef(0);
93
92
  const onLabelRendered = useScrollToActiveMatch(coreTreeRef, props.nodeHighlightingProps);
94
93
  const highlightingEngine = React.useMemo(() => props.nodeHighlightingProps && new HighlightingEngine_1.HighlightingEngine(props.nodeHighlightingProps), [props.nodeHighlightingProps]);
95
94
  const rendererContext = React.useMemo(() => ({
@@ -99,20 +98,11 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
99
98
  visibleNodes: props.visibleNodes,
100
99
  onLabelRendered,
101
100
  highlightingEngine,
102
- onNodeWidthMeasured: (width) => {
103
- if (width > minContainerWidth.current)
104
- minContainerWidth.current = width;
105
- },
106
101
  onNodeEditorClosed: () => {
107
102
  setFocusToSelected(coreTreeRef);
108
103
  props.onNodeEditorClosed && props.onNodeEditorClosed();
109
104
  },
110
105
  }), [props, onLabelRendered, highlightingEngine]);
111
- const prevTreeWidth = React.useRef(0);
112
- if (props.width !== prevTreeWidth.current) {
113
- minContainerWidth.current = 0;
114
- prevTreeWidth.current = props.width;
115
- }
116
106
  const itemKey = React.useCallback((index) => getNodeKey(props.visibleNodes.getAtIndex(index)), [props.visibleNodes]);
117
107
  const { nodeHeight, visibleNodes } = props;
118
108
  const itemSize = React.useCallback((index) => nodeHeight(visibleNodes.getAtIndex(index), index), [nodeHeight, visibleNodes]);
@@ -130,10 +120,6 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
130
120
  (0, core_bentley_1.assert)(variableSizeListRef.current !== null);
131
121
  variableSizeListRef.current.scrollToItem(index);
132
122
  }, [nodeHighlightingProps]); // eslint-disable-line react-hooks/exhaustive-deps
133
- // eslint-disable-next-line react-hooks/exhaustive-deps
134
- const innerElementType = React.useCallback(
135
- // eslint-disable-next-line react/display-name
136
- React.forwardRef(({ style, ...rest }, innerRef) => (React.createElement("div", { ref: innerRef, style: { ...style, minWidth: minContainerWidth.current }, ...rest }))), []);
137
123
  const handleKeyDown = React.useCallback((e) => {
138
124
  props.treeActions.onTreeKeyDown(e);
139
125
  }, [props.treeActions]);
@@ -146,7 +132,7 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
146
132
  }, [onItemsRendered]);
147
133
  return (React.createElement(TreeRendererContextProvider, { value: rendererContext },
148
134
  React.createElement(core_react_1.Tree, { ref: coreTreeRef, className: (0, classnames_1.default)("components-controlledTree", "components-smallEditor-host"), onKeyDown: handleKeyDown, onKeyUp: handleKeyUp },
149
- React.createElement(react_window_1.VariableSizeList, { ref: variableSizeListRef, className: "ReactWindow__VariableSizeList", width: props.width, height: props.height, itemCount: props.visibleNodes.getNumNodes(), itemSize: itemSize, estimatedItemSize: 25, overscanCount: 10, itemKey: itemKey, innerElementType: innerElementType, onItemsRendered: handleRenderedItemsChange }, Node))));
135
+ React.createElement(react_window_1.VariableSizeList, { ref: variableSizeListRef, className: "ReactWindow__VariableSizeList", width: props.width, height: props.height, itemCount: props.visibleNodes.getNumNodes(), itemSize: itemSize, estimatedItemSize: 25, overscanCount: 10, itemKey: itemKey, onItemsRendered: handleRenderedItemsChange }, Node))));
150
136
  });
151
137
  function getNodeKey(node) {
152
138
  if ((0, TreeModel_1.isTreeModelNode)(node)) {
@@ -157,17 +143,11 @@ function getNodeKey(node) {
157
143
  const Node = React.memo(// eslint-disable-line @typescript-eslint/naming-convention
158
144
  function Node(props) {
159
145
  const { index, style } = props;
160
- const { nodeRenderer, visibleNodes, treeActions, nodeLoader, onLabelRendered, highlightingEngine, onNodeWidthMeasured, onNodeEditorClosed, } = useTreeRendererContext(Node);
146
+ const { nodeRenderer, visibleNodes, treeActions, nodeLoader, onLabelRendered, highlightingEngine, onNodeEditorClosed, } = useTreeRendererContext(Node);
161
147
  const node = visibleNodes.getAtIndex(index);
162
148
  useNodeLoading(node, visibleNodes, nodeLoader);
163
149
  // Mark selected node's wrapper to make detecting consecutively selected nodes with css selectors possible
164
150
  const className = (0, classnames_1.default)("node-wrapper", { "is-selected": (0, TreeModel_1.isTreeModelNode)(node) && node.isSelected });
165
- const ref = React.useRef(null);
166
- React.useEffect(() => {
167
- // istanbul ignore else
168
- if (onNodeWidthMeasured && ref.current)
169
- onNodeWidthMeasured(ref.current.offsetWidth);
170
- }, [onNodeWidthMeasured]);
171
151
  const isEditing = React.useRef(false);
172
152
  React.useEffect(() => {
173
153
  if (!(0, TreeModel_1.isTreeModelNode)(node))
@@ -182,7 +162,7 @@ function Node(props) {
182
162
  onNodeEditorClosed();
183
163
  }
184
164
  }, [node, onNodeEditorClosed]);
185
- return (React.createElement("div", { className: className, style: style, ref: ref }, React.useMemo(() => {
165
+ return (React.createElement("div", { className: className, style: style }, React.useMemo(() => {
186
166
  if ((0, TreeModel_1.isTreeModelNode)(node)) {
187
167
  const nodeHighlightProps = highlightingEngine ? highlightingEngine.createRenderProps(node) : undefined;
188
168
  return nodeRenderer({ node, treeActions, onLabelRendered, nodeHighlightProps });