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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/CHANGELOG.md +1805 -1797
  2. package/LICENSE.md +9 -9
  3. package/README.md +11 -11
  4. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  5. package/lib/cjs/components-react/UiComponents.js +9 -5
  6. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  7. package/lib/cjs/components-react/_target.scss +5 -4
  8. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  9. package/lib/cjs/components-react/common/DateUtils.js +15 -9
  10. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js +5 -5
  13. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightedText.js +9 -5
  15. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  16. package/lib/cjs/components-react/common/HighlightingComponentProps.js +3 -3
  17. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  18. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  19. package/lib/cjs/components-react/common/IImageLoader.js +3 -3
  20. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  21. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  22. package/lib/cjs/components-react/common/ImageRenderer.js +12 -9
  23. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  24. package/lib/cjs/components-react/common/Links.d.ts.map +1 -1
  25. package/lib/cjs/components-react/common/Links.js +12 -5
  26. package/lib/cjs/components-react/common/Links.js.map +1 -1
  27. package/lib/cjs/components-react/common/PageOptions.js +3 -3
  28. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  29. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  30. package/lib/cjs/components-react/common/SubscriptionScheduler.js +4 -4
  31. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  32. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  33. package/lib/cjs/components-react/common/UseAsyncValue.js +9 -5
  34. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  35. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  36. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  37. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  38. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  39. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +8 -6
  40. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  41. package/lib/cjs/components-react/common/UseRerender.d.ts.map +1 -1
  42. package/lib/cjs/components-react/common/UseRerender.js +8 -4
  43. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  44. package/lib/cjs/components-react/common/countMatchesInString.d.ts.map +1 -1
  45. package/lib/cjs/components-react/common/countMatchesInString.js +3 -3
  46. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  47. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  48. package/lib/cjs/components-react/common/selection/SelectionHandler.js +32 -13
  49. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  50. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  51. package/lib/cjs/components-react/common/selection/SelectionModes.js +3 -3
  52. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  53. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +15 -7
  55. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  56. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  57. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +5 -4
  58. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  59. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  60. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +23 -11
  61. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  62. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/converters/EnumTypeConverter.js +4 -4
  64. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  65. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  66. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +3 -3
  67. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  68. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  69. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  70. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  71. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  72. package/lib/cjs/components-react/converters/NumericTypeConverter.js +7 -5
  73. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  74. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  75. package/lib/cjs/components-react/converters/PointTypeConverter.js +11 -6
  76. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  77. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  78. package/lib/cjs/components-react/converters/StringTypeConverter.js +16 -9
  79. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  80. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  81. package/lib/cjs/components-react/converters/TypeConverter.js +18 -8
  82. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  83. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  84. package/lib/cjs/components-react/converters/TypeConverterManager.js +4 -4
  85. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  86. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  87. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  88. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  89. package/lib/cjs/components-react/datepicker/DateField.d.ts +1 -1
  90. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  91. package/lib/cjs/components-react/datepicker/DateField.js +32 -10
  92. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  93. package/lib/cjs/components-react/datepicker/DateField.scss +4 -4
  94. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  95. package/lib/cjs/components-react/datepicker/DatePicker.js +15 -11
  96. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  97. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  98. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  99. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +14 -11
  100. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  101. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  102. package/lib/cjs/components-react/datepicker/IntlFormatter.js +11 -11
  103. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  104. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  105. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  106. package/lib/cjs/components-react/datepicker/TimeField.js +72 -31
  107. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  108. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  109. package/lib/cjs/components-react/editors/BooleanEditor.js +9 -5
  110. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  111. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/CustomNumberEditor.js +48 -28
  113. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  114. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +4 -4
  115. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +6 -6
  116. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  117. package/lib/cjs/components-react/editors/DateTimeEditor.js +25 -20
  118. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  119. package/lib/cjs/components-react/editors/DateTimeEditor.scss +4 -4
  120. package/lib/cjs/components-react/editors/EditorContainer.d.ts +3 -3
  121. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  122. package/lib/cjs/components-react/editors/EditorContainer.js +21 -13
  123. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  124. package/lib/cjs/components-react/editors/EditorContainer.scss +4 -4
  125. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  126. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +20 -11
  127. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  128. package/lib/cjs/components-react/editors/EnumEditor.d.ts +5 -5
  129. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  130. package/lib/cjs/components-react/editors/EnumEditor.js +25 -14
  131. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  132. package/lib/cjs/components-react/editors/EnumEditor.scss +5 -5
  133. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  134. package/lib/cjs/components-react/editors/IconEditor.js +10 -8
  135. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  136. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  137. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +13 -6
  138. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  139. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  140. package/lib/cjs/components-react/editors/NumericInputEditor.js +25 -8
  141. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  142. package/lib/cjs/components-react/editors/NumericInputEditor.scss +4 -6
  143. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  144. package/lib/cjs/components-react/editors/PopupButton.js +7 -4
  145. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  146. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  147. package/lib/cjs/components-react/editors/PropertyEditorManager.js +7 -5
  148. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  149. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  150. package/lib/cjs/components-react/editors/SliderEditor.js +46 -19
  151. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  152. package/lib/cjs/components-react/editors/SliderEditor.scss +4 -4
  153. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  154. package/lib/cjs/components-react/editors/TextEditor.js +24 -9
  155. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  156. package/lib/cjs/components-react/editors/TextEditor.scss +4 -4
  157. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  158. package/lib/cjs/components-react/editors/TextareaEditor.js +21 -8
  159. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/TextareaEditor.scss +4 -4
  161. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  162. package/lib/cjs/components-react/editors/ToggleEditor.js +11 -7
  163. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/variables.scss +4 -4
  165. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  166. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  167. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  168. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  169. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +4 -5
  170. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  171. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  172. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +16 -6
  173. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  174. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  175. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +6 -4
  176. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  177. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  178. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  179. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +25 -18
  180. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  181. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  182. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +46 -22
  183. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  184. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  185. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +5 -5
  186. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  187. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  188. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  189. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  190. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  191. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  192. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  193. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  194. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +21 -13
  195. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  196. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  197. package/lib/cjs/components-react/filter-builder/Operators.js +17 -18
  198. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  199. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  200. package/lib/cjs/components-react/filter-builder/Types.js +3 -3
  201. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  202. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +1 -1
  203. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  204. package/lib/cjs/components-react/filtering/FilteringInput.js +23 -21
  205. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  206. package/lib/cjs/components-react/filtering/FilteringInput.scss +4 -4
  207. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  208. package/lib/cjs/components-react/filtering/ResultSelector.js +16 -9
  209. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  210. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  211. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +9 -10
  212. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  213. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +1 -1
  214. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  215. package/lib/cjs/components-react/inputs/ParsedInput.js +8 -7
  216. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  217. package/lib/cjs/components-react/inputs/ParsedInput.scss +4 -4
  218. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  219. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  220. package/lib/cjs/components-react/properties/ItemStyle.js +7 -7
  221. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  222. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  223. package/lib/cjs/components-react/properties/LinkHandler.js +4 -4
  224. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  225. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/ValueRendererManager.js +5 -4
  227. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  229. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -5
  230. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  231. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  233. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +21 -10
  236. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  239. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  241. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  242. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  243. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  245. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  246. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  248. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +10 -9
  249. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  251. package/lib/cjs/components-react/properties/renderers/PropertyView.js +12 -16
  252. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  253. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  255. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  256. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  258. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  259. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  260. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  261. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  262. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  263. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  265. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  266. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  267. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  268. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  269. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  271. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  272. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  273. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  275. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  276. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  278. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  279. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  280. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  281. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  282. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  283. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  284. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  285. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  286. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +10 -6
  287. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  288. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  289. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  290. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  291. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  292. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  293. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  294. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  296. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  298. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  299. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  301. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  302. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  304. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +3 -3
  306. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  307. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  309. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  310. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  311. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  313. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  316. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  319. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  321. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  322. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  323. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  325. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  326. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  328. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +16 -6
  329. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  331. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  333. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  335. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +6 -4
  336. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  337. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  338. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  340. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  341. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  343. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  345. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +9 -5
  346. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  347. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +9 -5
  349. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +9 -5
  352. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  353. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  354. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  355. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  356. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  358. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  359. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  361. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  362. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  364. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  365. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  367. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  368. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  370. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  371. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  373. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  374. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -5
  376. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  377. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +3 -3
  379. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  380. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +9 -5
  382. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  383. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  385. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  386. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  387. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  388. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  389. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  391. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +8 -4
  392. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  393. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  394. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  395. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  396. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  397. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  398. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  400. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  401. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  402. package/lib/cjs/components-react/selectable-content/SelectableContent.js +4 -6
  403. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  404. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/Item.js +4 -5
  406. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  407. package/lib/cjs/components-react/toolbar/Item.scss +7 -5
  408. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  409. package/lib/cjs/components-react/toolbar/ItemWrapper.js +3 -3
  410. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  411. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  412. package/lib/cjs/components-react/toolbar/Items.js +16 -8
  413. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  414. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  415. package/lib/cjs/components-react/toolbar/Overflow.js +3 -3
  416. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  417. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  418. package/lib/cjs/components-react/toolbar/OverflowPanel.js +14 -9
  419. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  420. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  421. package/lib/cjs/components-react/toolbar/PopupItem.js +7 -9
  422. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  423. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  424. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +20 -11
  425. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  426. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  427. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +23 -22
  428. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  429. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  430. package/lib/cjs/components-react/toolbar/Toolbar.js +29 -16
  431. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  432. package/lib/cjs/components-react/toolbar/Toolbar.scss +6 -6
  433. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  434. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  435. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +97 -57
  436. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  437. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  438. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  439. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  440. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  441. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +3 -3
  442. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  443. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  444. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +3 -3
  445. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  446. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  447. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +3 -3
  448. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  449. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  450. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +3 -3
  451. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  452. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +4 -4
  453. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  454. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  455. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  456. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  457. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  458. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  459. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  460. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  461. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  462. package/lib/cjs/components-react/toolbar/useDragInteraction.js +6 -5
  463. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  464. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  465. package/lib/cjs/components-react/toolbar/utilities/Direction.js +3 -3
  466. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  467. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  468. package/lib/cjs/components-react/tree/HighlightingEngine.js +4 -4
  469. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  470. package/lib/cjs/components-react/tree/HighlightingEngine.scss +4 -4
  471. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  472. package/lib/cjs/components-react/tree/ImageLoader.js +3 -3
  473. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  474. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  475. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +3 -3
  476. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  477. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  478. package/lib/cjs/components-react/tree/TreeComponentTestId.js +3 -3
  479. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  480. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  481. package/lib/cjs/components-react/tree/TreeDataProvider.js +9 -7
  482. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  483. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  484. package/lib/cjs/components-react/tree/controlled/Observable.js +6 -4
  485. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  486. package/lib/cjs/components-react/tree/controlled/TreeActions.js +3 -3
  487. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  488. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  489. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +41 -23
  490. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  491. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  492. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  493. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +12 -8
  494. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  495. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  496. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +3 -3
  497. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  498. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  499. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +3 -3
  500. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  501. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  502. package/lib/cjs/components-react/tree/controlled/TreeModel.js +39 -14
  503. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  504. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  505. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +22 -8
  506. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  507. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  508. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +48 -30
  509. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  510. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  511. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +14 -14
  512. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  513. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  514. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  515. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  516. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +16 -15
  517. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  518. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  519. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  520. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  522. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  523. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +17 -7
  524. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  525. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  526. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  527. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  528. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  529. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +3 -3
  530. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  531. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  532. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  533. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  534. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  535. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +38 -20
  536. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  537. package/lib/cjs/components-react.d.ts +1 -0
  538. package/lib/cjs/components-react.d.ts.map +1 -1
  539. package/lib/cjs/components-react.js +4 -3
  540. package/lib/cjs/components-react.js.map +1 -1
  541. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  542. package/lib/esm/components-react/UiComponents.js +9 -5
  543. package/lib/esm/components-react/UiComponents.js.map +1 -1
  544. package/lib/esm/components-react/_target.scss +5 -4
  545. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  546. package/lib/esm/components-react/common/DateUtils.js +15 -9
  547. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  548. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  549. package/lib/esm/components-react/common/DelayedSpinner.js +5 -5
  550. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  551. package/lib/esm/components-react/common/HighlightedText.js +9 -5
  552. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  553. package/lib/esm/components-react/common/HighlightingComponentProps.js +3 -3
  554. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  555. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  556. package/lib/esm/components-react/common/IImageLoader.js +3 -3
  557. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  558. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  559. package/lib/esm/components-react/common/ImageRenderer.js +12 -9
  560. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  561. package/lib/esm/components-react/common/Links.d.ts.map +1 -1
  562. package/lib/esm/components-react/common/Links.js +12 -5
  563. package/lib/esm/components-react/common/Links.js.map +1 -1
  564. package/lib/esm/components-react/common/PageOptions.js +3 -3
  565. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  566. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  567. package/lib/esm/components-react/common/SubscriptionScheduler.js +4 -4
  568. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  569. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  570. package/lib/esm/components-react/common/UseAsyncValue.js +9 -5
  571. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  572. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  573. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  574. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  575. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  576. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +9 -7
  577. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  578. package/lib/esm/components-react/common/UseRerender.d.ts.map +1 -1
  579. package/lib/esm/components-react/common/UseRerender.js +8 -4
  580. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  581. package/lib/esm/components-react/common/countMatchesInString.d.ts.map +1 -1
  582. package/lib/esm/components-react/common/countMatchesInString.js +3 -3
  583. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  584. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  585. package/lib/esm/components-react/common/selection/SelectionHandler.js +33 -14
  586. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  587. package/lib/esm/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  588. package/lib/esm/components-react/common/selection/SelectionModes.js +3 -3
  589. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  590. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  591. package/lib/esm/components-react/converters/BooleanTypeConverter.js +15 -7
  592. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  593. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  594. package/lib/esm/components-react/converters/CompositeTypeConverter.js +5 -4
  595. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  596. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  597. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +24 -12
  598. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  599. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  600. package/lib/esm/components-react/converters/EnumTypeConverter.js +4 -4
  601. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  602. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  603. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +3 -3
  604. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  605. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  606. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  607. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  608. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  609. package/lib/esm/components-react/converters/NumericTypeConverter.js +7 -5
  610. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  611. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  612. package/lib/esm/components-react/converters/PointTypeConverter.js +11 -6
  613. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  614. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  615. package/lib/esm/components-react/converters/StringTypeConverter.js +16 -9
  616. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  617. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  618. package/lib/esm/components-react/converters/TypeConverter.js +18 -8
  619. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  620. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  621. package/lib/esm/components-react/converters/TypeConverterManager.js +4 -4
  622. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  623. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  624. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  625. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  626. package/lib/esm/components-react/datepicker/DateField.d.ts +1 -1
  627. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  628. package/lib/esm/components-react/datepicker/DateField.js +32 -10
  629. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  630. package/lib/esm/components-react/datepicker/DateField.scss +4 -4
  631. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  632. package/lib/esm/components-react/datepicker/DatePicker.js +15 -11
  633. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  634. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  635. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  636. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +14 -11
  637. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  638. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  639. package/lib/esm/components-react/datepicker/IntlFormatter.js +11 -11
  640. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  641. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  642. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  643. package/lib/esm/components-react/datepicker/TimeField.js +72 -31
  644. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  645. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  646. package/lib/esm/components-react/editors/BooleanEditor.js +10 -6
  647. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  648. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  649. package/lib/esm/components-react/editors/CustomNumberEditor.js +49 -29
  650. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  651. package/lib/esm/components-react/editors/CustomNumberEditor.scss +4 -4
  652. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +6 -6
  653. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  654. package/lib/esm/components-react/editors/DateTimeEditor.js +26 -21
  655. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  656. package/lib/esm/components-react/editors/DateTimeEditor.scss +4 -4
  657. package/lib/esm/components-react/editors/EditorContainer.d.ts +3 -3
  658. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  659. package/lib/esm/components-react/editors/EditorContainer.js +21 -13
  660. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  661. package/lib/esm/components-react/editors/EditorContainer.scss +4 -4
  662. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  663. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +21 -12
  664. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  665. package/lib/esm/components-react/editors/EnumEditor.d.ts +5 -5
  666. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  667. package/lib/esm/components-react/editors/EnumEditor.js +26 -15
  668. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  669. package/lib/esm/components-react/editors/EnumEditor.scss +5 -5
  670. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  671. package/lib/esm/components-react/editors/IconEditor.js +11 -9
  672. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  673. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  674. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +14 -7
  675. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  676. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  677. package/lib/esm/components-react/editors/NumericInputEditor.js +26 -9
  678. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  679. package/lib/esm/components-react/editors/NumericInputEditor.scss +4 -6
  680. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  681. package/lib/esm/components-react/editors/PopupButton.js +8 -5
  682. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  683. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  684. package/lib/esm/components-react/editors/PropertyEditorManager.js +7 -5
  685. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  686. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  687. package/lib/esm/components-react/editors/SliderEditor.js +47 -20
  688. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  689. package/lib/esm/components-react/editors/SliderEditor.scss +4 -4
  690. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  691. package/lib/esm/components-react/editors/TextEditor.js +24 -9
  692. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  693. package/lib/esm/components-react/editors/TextEditor.scss +4 -4
  694. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  695. package/lib/esm/components-react/editors/TextareaEditor.js +22 -9
  696. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  697. package/lib/esm/components-react/editors/TextareaEditor.scss +4 -4
  698. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  699. package/lib/esm/components-react/editors/ToggleEditor.js +13 -9
  700. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  701. package/lib/esm/components-react/editors/variables.scss +4 -4
  702. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  704. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  705. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  706. package/lib/esm/components-react/favorite/FavoritePropertyList.js +4 -5
  707. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  708. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  709. package/lib/esm/components-react/filter-builder/FilterBuilder.js +17 -7
  710. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  711. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  712. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +6 -4
  713. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  714. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  715. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  716. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +26 -19
  717. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  718. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  719. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +47 -23
  720. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  721. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  722. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +6 -6
  723. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  724. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  725. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  726. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  727. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  728. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  729. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  730. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  731. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +22 -14
  732. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  733. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  734. package/lib/esm/components-react/filter-builder/Operators.js +17 -18
  735. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  736. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  737. package/lib/esm/components-react/filter-builder/Types.js +3 -3
  738. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  739. package/lib/esm/components-react/filtering/FilteringInput.d.ts +1 -1
  740. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  741. package/lib/esm/components-react/filtering/FilteringInput.js +23 -21
  742. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  743. package/lib/esm/components-react/filtering/FilteringInput.scss +4 -4
  744. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  745. package/lib/esm/components-react/filtering/ResultSelector.js +16 -9
  746. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  747. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  748. package/lib/esm/components-react/iconpicker/IconPickerButton.js +9 -10
  749. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  750. package/lib/esm/components-react/inputs/ParsedInput.d.ts +1 -1
  751. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  752. package/lib/esm/components-react/inputs/ParsedInput.js +8 -7
  753. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  754. package/lib/esm/components-react/inputs/ParsedInput.scss +4 -4
  755. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  756. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  757. package/lib/esm/components-react/properties/ItemStyle.js +7 -7
  758. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  759. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  760. package/lib/esm/components-react/properties/LinkHandler.js +4 -4
  761. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  762. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  763. package/lib/esm/components-react/properties/ValueRendererManager.js +5 -4
  764. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  765. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  766. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +5 -5
  767. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  768. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  769. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  770. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  771. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  772. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +22 -11
  773. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  774. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  775. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  776. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  777. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  778. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  779. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  780. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  781. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  782. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  783. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  784. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  785. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +10 -9
  786. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  787. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  788. package/lib/esm/components-react/properties/renderers/PropertyView.js +12 -16
  789. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  790. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  791. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  792. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  793. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  794. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  795. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  796. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  797. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  798. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  799. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  800. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  801. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  802. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  803. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  804. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  805. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  806. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  807. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  808. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  809. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  810. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  811. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  812. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  813. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  814. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  815. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  816. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  818. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  819. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  820. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  821. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  822. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  823. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +11 -7
  824. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  825. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  826. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  827. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  828. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  829. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  830. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  831. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  832. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  833. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  834. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  835. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  836. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  837. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  838. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  839. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  840. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  841. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  842. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +3 -3
  843. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  844. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  845. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  846. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  847. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  848. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  849. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  850. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  851. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  852. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  853. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  854. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  855. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  856. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  857. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  858. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  859. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  860. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  861. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  862. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  863. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  864. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  865. package/lib/esm/components-react/propertygrid/component/PropertyList.js +16 -6
  866. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  867. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  868. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  869. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  870. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  871. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  872. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +7 -5
  873. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  874. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  875. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  876. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  877. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  878. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  879. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  880. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  881. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  882. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +10 -6
  883. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  884. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  885. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +10 -6
  886. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  887. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  888. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +10 -6
  889. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  890. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  891. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  892. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  893. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  894. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  895. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  896. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  897. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  898. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  899. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  900. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  901. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  902. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  903. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  904. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  905. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  906. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  907. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  908. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  909. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  910. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  911. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  912. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +10 -6
  913. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  914. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  915. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +4 -4
  916. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  917. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  918. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +10 -6
  919. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  920. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  921. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  922. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  923. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  924. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  925. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  926. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  927. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  928. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +9 -5
  929. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  930. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  931. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  932. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  933. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  934. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  935. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  936. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  937. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  938. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  939. package/lib/esm/components-react/selectable-content/SelectableContent.js +4 -6
  940. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  941. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  942. package/lib/esm/components-react/toolbar/Item.js +4 -5
  943. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  944. package/lib/esm/components-react/toolbar/Item.scss +7 -5
  945. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  946. package/lib/esm/components-react/toolbar/ItemWrapper.js +5 -5
  947. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  948. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  949. package/lib/esm/components-react/toolbar/Items.js +17 -9
  950. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  951. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  952. package/lib/esm/components-react/toolbar/Overflow.js +4 -4
  953. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  954. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  955. package/lib/esm/components-react/toolbar/OverflowPanel.js +16 -11
  956. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  957. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  958. package/lib/esm/components-react/toolbar/PopupItem.js +8 -10
  959. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  960. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  961. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +22 -13
  962. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  963. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  964. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +24 -23
  965. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  966. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  967. package/lib/esm/components-react/toolbar/Toolbar.js +31 -18
  968. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  969. package/lib/esm/components-react/toolbar/Toolbar.scss +6 -6
  970. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  971. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  972. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +98 -58
  973. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  974. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  975. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  976. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  977. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  978. package/lib/esm/components-react/toolbar/groupPanel/Column.js +3 -3
  979. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  980. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  981. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +3 -3
  982. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  983. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  984. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +3 -3
  985. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  986. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  987. package/lib/esm/components-react/toolbar/groupPanel/Title.js +3 -3
  988. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  989. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +4 -4
  990. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  991. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  992. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  993. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  994. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  995. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  996. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  997. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  998. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  999. package/lib/esm/components-react/toolbar/useDragInteraction.js +6 -5
  1000. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1001. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  1002. package/lib/esm/components-react/toolbar/utilities/Direction.js +3 -3
  1003. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1004. package/lib/esm/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  1005. package/lib/esm/components-react/tree/HighlightingEngine.js +4 -4
  1006. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1007. package/lib/esm/components-react/tree/HighlightingEngine.scss +4 -4
  1008. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  1009. package/lib/esm/components-react/tree/ImageLoader.js +3 -3
  1010. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1011. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  1012. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +3 -3
  1013. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1014. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  1015. package/lib/esm/components-react/tree/TreeComponentTestId.js +3 -3
  1016. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1017. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1018. package/lib/esm/components-react/tree/TreeDataProvider.js +9 -7
  1019. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1020. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  1021. package/lib/esm/components-react/tree/controlled/Observable.js +6 -4
  1022. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1023. package/lib/esm/components-react/tree/controlled/TreeActions.js +3 -3
  1024. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1025. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  1026. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +42 -24
  1027. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1028. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  1029. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  1030. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +12 -8
  1031. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1032. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  1033. package/lib/esm/components-react/tree/controlled/TreeEvents.js +3 -3
  1034. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1035. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  1036. package/lib/esm/components-react/tree/controlled/TreeHooks.js +3 -3
  1037. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1038. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  1039. package/lib/esm/components-react/tree/controlled/TreeModel.js +39 -14
  1040. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1041. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  1042. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +22 -8
  1043. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1044. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  1045. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +49 -31
  1046. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1047. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  1048. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +14 -14
  1049. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1050. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  1051. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  1052. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  1053. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +15 -14
  1054. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1055. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  1056. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  1057. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1058. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  1059. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  1060. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +16 -7
  1061. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1062. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1063. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  1064. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1065. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  1066. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +3 -3
  1067. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1068. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  1069. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  1070. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1071. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  1072. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +39 -21
  1073. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1074. package/lib/esm/components-react.d.ts +1 -0
  1075. package/lib/esm/components-react.d.ts.map +1 -1
  1076. package/lib/esm/components-react.js +4 -3
  1077. package/lib/esm/components-react.js.map +1 -1
  1078. package/package.json +12 -21
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAE/B,kDAA6C;AAC7C,iEAA8D;AAC9D,mFAAwF;AAGxF,mEAAgE;AAGhE,+CAAgD;AAuChD;;;GAGG;AACU,QAAA,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,KAA4B;IAC/F,MAAM,KAAK,GAAG,CACZ,oBAAC,6BAAe,IACd,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAClB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,eAAe,EAAE,KAAK,CAAC,kBAAkB,EACzC,oBAAoB,EAAE,mDAA4B,CAAC,cAAc,EACjE,cAAc,EAAE,KAAK,CAAC,kBAAkB,EACxC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC5C,CACH,CAAC;IAEF,SAAS,iBAAiB;QACxB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU;YACvB,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YAEjD,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,YAA0B,EAAqB,EAAE,CAAC,CAAC;QAC9E,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;KACxF,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,qBAAQ,mBACM,yCAAmB,CAAC,IAAI,EACrC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EACnG,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EACjC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EACjC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,EACpC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAC,YAAY,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,GAAI,CAAC,CAAC,CAAC,SAAS,EACxG,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EACzE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACnE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACnE,sBAAsB,EAAE,iBAAiB,EACzC,eAAe,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAE1D,KAAK,CAAC,QAAQ,CACN,CACZ,CAAC;AACJ,CAAC,CAAC,CAAC;AAOH,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,KAAK;QACR,OAAO,IAAI,CAAC;IAEd,MAAM,QAAQ,GAAG,IAAI,6BAAa,EAAE,CAAC;IACrC,OAAO,0CAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAI,CAAC;AACvC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type { CommonProps, NodeCheckboxProps, NodeCheckboxRenderer} from \"@itwin/core-react\";\nimport { TreeNode } from \"@itwin/core-react\";\nimport { ImageRenderer } from \"../../../common/ImageRenderer\";\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport type { HighlightableTreeNodeProps } from \"../../HighlightingEngine\";\nimport type { ITreeImageLoader } from \"../../ImageLoader\";\nimport { TreeComponentTestId } from \"../../TreeComponentTestId\";\nimport type { TreeActions } from \"../TreeActions\";\nimport type { CheckBoxInfo, TreeModelNode } from \"../TreeModel\";\nimport { TreeNodeContent } from \"./NodeContent\";\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\n\n/**\n * Properties for [[TreeNodeRenderer]].\n * @public\n */\nexport interface TreeNodeRendererProps extends CommonProps {\n /** Tree node to render. */\n node: TreeModelNode;\n\n /** Action handler. */\n treeActions: TreeActions;\n\n /** Properties used to highlight matches when tree is filtered. */\n nodeHighlightProps?: HighlightableTreeNodeProps;\n\n /** Specifies whether to show descriptions or not. */\n descriptionEnabled?: boolean;\n\n /** Image loader for node icons. */\n imageLoader?: ITreeImageLoader;\n\n /** Callback to render custom checkbox. */\n checkboxRenderer?: NodeCheckboxRenderer;\n\n /** Callback to render custom node editor when node is in editing mode. */\n nodeEditorRenderer?: TreeNodeEditorRenderer;\n\n /**\n * Callback used to detect when label is rendered. It is used by TreeRenderer for scrolling to active match.\n * @internal\n */\n onLabelRendered?: (node: TreeModelNode) => void;\n\n /** Child components to render inside the node.*/\n children?: React.ReactNode;\n}\n\n/**\n * Default component for rendering tree node.\n * @public\n */\nexport const TreeNodeRenderer = React.memo(function TreeNodeRenderer(props: TreeNodeRendererProps) {\n const label = (\n <TreeNodeContent\n key={props.node.id}\n node={props.node}\n showDescription={props.descriptionEnabled}\n valueRendererManager={PropertyValueRendererManager.defaultManager}\n highlightProps={props.nodeHighlightProps}\n onLabelRendered={props.onLabelRendered}\n nodeEditorRenderer={props.nodeEditorRenderer}\n />\n );\n\n function onExpansionToggle() {\n if (props.node.isExpanded)\n props.treeActions.onNodeCollapsed(props.node.id);\n else\n props.treeActions.onNodeExpanded(props.node.id);\n }\n\n const createCheckboxProps = (checkboxInfo: CheckBoxInfo): NodeCheckboxProps => ({\n state: checkboxInfo.state,\n tooltip: checkboxInfo.tooltip,\n isDisabled: checkboxInfo.isDisabled,\n onClick: (newState) => props.treeActions.onNodeCheckboxClicked(props.node.id, newState),\n });\n\n return (\n <TreeNode\n data-testid={TreeComponentTestId.Node}\n className={props.className}\n checkboxProps={props.node.checkbox.isVisible ? createCheckboxProps(props.node.checkbox) : undefined}\n style={props.style}\n isExpanded={props.node.isExpanded}\n isSelected={props.node.isSelected}\n isLoading={props.node.isLoading}\n isLeaf={props.node.numChildren === 0}\n icon={props.imageLoader ? <TreeNodeIcon node={props.node} imageLoader={props.imageLoader} /> : undefined}\n label={label}\n level={props.node.depth}\n onClick={(event) => props.treeActions.onNodeClicked(props.node.id, event)}\n onMouseDown={() => props.treeActions.onNodeMouseDown(props.node.id)}\n onMouseMove={() => props.treeActions.onNodeMouseMove(props.node.id)}\n onClickExpansionToggle={onExpansionToggle}\n renderOverrides={{ renderCheckbox: props.checkboxRenderer }}\n >\n {props.children}\n </TreeNode>\n );\n});\n\ninterface TreeNodeIconProps {\n node: TreeModelNode;\n imageLoader: ITreeImageLoader;\n}\n\nfunction TreeNodeIcon(props: TreeNodeIconProps) {\n const { imageLoader, node } = props;\n const image = imageLoader.load(node.item);\n\n if (!image)\n return null;\n\n const renderer = new ImageRenderer();\n return <>{renderer.render(image)}</>;\n}\n"]}
1
+ {"version":3,"file":"TreeNodeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport type {\n CommonProps,\n NodeCheckboxProps,\n NodeCheckboxRenderer,\n} from \"@itwin/core-react\";\nimport { TreeNode } from \"@itwin/core-react\";\nimport { ImageRenderer } from \"../../../common/ImageRenderer\";\nimport type { HighlightableTreeNodeProps } from \"../../HighlightingEngine\";\nimport type { ITreeImageLoader } from \"../../ImageLoader\";\nimport { TreeComponentTestId } from \"../../TreeComponentTestId\";\nimport type { TreeActions } from \"../TreeActions\";\nimport type { CheckBoxInfo, TreeModelNode } from \"../TreeModel\";\nimport { TreeNodeContent } from \"./NodeContent\";\nimport type { TreeNodeEditorRenderer } from \"./TreeNodeEditor\";\n\n/**\n * Properties for [[TreeNodeRenderer]].\n * @public\n */\nexport interface TreeNodeRendererProps extends CommonProps {\n /** Tree node to render. */\n node: TreeModelNode;\n\n /** Action handler. */\n treeActions: TreeActions;\n\n /** Properties used to highlight matches when tree is filtered. */\n nodeHighlightProps?: HighlightableTreeNodeProps;\n\n /** Specifies whether to show descriptions or not. */\n descriptionEnabled?: boolean;\n\n /** Image loader for node icons. */\n imageLoader?: ITreeImageLoader;\n\n /** Callback to render custom checkbox. */\n checkboxRenderer?: NodeCheckboxRenderer;\n\n /** Callback to render custom node editor when node is in editing mode. */\n nodeEditorRenderer?: TreeNodeEditorRenderer;\n\n /**\n * Callback used to detect when label is rendered. It is used by TreeRenderer for scrolling to active match.\n * @internal\n */\n onLabelRendered?: (node: TreeModelNode) => void;\n\n /** Callback that is invoked when context menu should be opened. */\n onContextMenu?: (e: React.MouseEvent, node: TreeModelNode) => void;\n\n /** Child components to render inside the node.*/\n children?: React.ReactNode;\n}\n\n/**\n * Default component for rendering tree node.\n * @public\n */\nexport const TreeNodeRenderer = React.memo(function TreeNodeRenderer(\n props: TreeNodeRendererProps\n) {\n const label = (\n <TreeNodeContent\n key={props.node.id}\n node={props.node}\n showDescription={props.descriptionEnabled}\n highlightProps={props.nodeHighlightProps}\n onLabelRendered={props.onLabelRendered}\n nodeEditorRenderer={props.nodeEditorRenderer}\n />\n );\n\n function onExpansionToggle() {\n if (props.node.isExpanded) props.treeActions.onNodeCollapsed(props.node.id);\n else props.treeActions.onNodeExpanded(props.node.id);\n }\n\n function onContextMenu(e: React.MouseEvent) {\n e.preventDefault();\n props.onContextMenu && props.onContextMenu(e, props.node);\n }\n\n const createCheckboxProps = (\n checkboxInfo: CheckBoxInfo\n ): NodeCheckboxProps => ({\n state: checkboxInfo.state,\n tooltip: checkboxInfo.tooltip,\n isDisabled: checkboxInfo.isDisabled,\n onClick: (newState) =>\n props.treeActions.onNodeCheckboxClicked(props.node.id, newState),\n });\n\n return (\n <TreeNode\n data-testid={TreeComponentTestId.Node}\n className={props.className}\n checkboxProps={\n props.node.checkbox.isVisible\n ? createCheckboxProps(props.node.checkbox)\n : undefined\n }\n style={props.style}\n isExpanded={props.node.isExpanded}\n isSelected={props.node.isSelected}\n isLoading={props.node.isLoading}\n isLeaf={props.node.numChildren === 0}\n icon={\n props.imageLoader ? (\n <TreeNodeIcon node={props.node} imageLoader={props.imageLoader} />\n ) : undefined\n }\n label={label}\n level={props.node.depth}\n onClick={(event) => props.treeActions.onNodeClicked(props.node.id, event)}\n onMouseDown={() => props.treeActions.onNodeMouseDown(props.node.id)}\n onMouseMove={() => props.treeActions.onNodeMouseMove(props.node.id)}\n onClickExpansionToggle={onExpansionToggle}\n onContextMenu={onContextMenu}\n renderOverrides={{ renderCheckbox: props.checkboxRenderer }}\n >\n {props.children}\n </TreeNode>\n );\n});\n\n/**\n * Props for [[TreeNodeIcon]] component.\n * @public\n */\nexport interface TreeNodeIconProps {\n /** Tree node to render icon for. */\n node: TreeModelNode;\n /** Image loader used to load tree node icon. */\n imageLoader: ITreeImageLoader;\n}\n\n/**\n * React component that renders icon for [[TreeNode]].\n * @public\n */\nexport function TreeNodeIcon(props: TreeNodeIconProps) {\n const { imageLoader, node } = props;\n const image = imageLoader.load(node.item);\n\n if (!image) return null;\n\n const renderer = new ImageRenderer();\n return <>{renderer.render(image)}</>;\n}\n"]}
@@ -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;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"}
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;AAW/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAMtB,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,CACV,IAAI,EAAE,aAAa,GAAG,wBAAwB,EAC9C,KAAK,EAAE,MAAM,KACV,MAAM,CAAC;IAEZ,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;AAqC/D;;;GAGG;AACH,qBAAa,YACX,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CACzC,YAAW,sBAAsB;IAEjC,OAAO,CAAC,IAAI,CAA6C;IAEzD,kBAAkB;IACX,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAKzC,MAAM;CAGvB"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -71,7 +71,7 @@ class TreeRenderer extends React.Component {
71
71
  this._ref.current.scrollToNode(nodeId, alignment);
72
72
  }
73
73
  render() {
74
- return (React.createElement(TreeRendererInner, { ref: this._ref, ...this.props }));
74
+ return React.createElement(TreeRendererInner, { ref: this._ref, ...this.props });
75
75
  }
76
76
  }
77
77
  exports.TreeRenderer = TreeRenderer;
@@ -81,8 +81,10 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
81
81
  useTreeRendererAttributes(ref, variableSizeListRef, props.visibleNodes);
82
82
  const previousVisibleNodes = usePrevious(props.visibleNodes);
83
83
  const previousNodeHeight = usePrevious(props.nodeHeight);
84
- if ((previousVisibleNodes !== undefined && previousVisibleNodes !== props.visibleNodes)
85
- || (previousNodeHeight !== undefined && previousNodeHeight !== props.nodeHeight)) {
84
+ if ((previousVisibleNodes !== undefined &&
85
+ previousVisibleNodes !== props.visibleNodes) ||
86
+ (previousNodeHeight !== undefined &&
87
+ previousNodeHeight !== props.nodeHeight)) {
86
88
  /* istanbul ignore else */
87
89
  if (variableSizeListRef.current) {
88
90
  variableSizeListRef.current.resetAfterIndex(0, false);
@@ -90,9 +92,12 @@ const TreeRendererInner = React.forwardRef((props, ref) => {
90
92
  }
91
93
  const coreTreeRef = React.useRef(null);
92
94
  const onLabelRendered = useScrollToActiveMatch(coreTreeRef, props.nodeHighlightingProps);
93
- const highlightingEngine = React.useMemo(() => props.nodeHighlightingProps && new HighlightingEngine_1.HighlightingEngine(props.nodeHighlightingProps), [props.nodeHighlightingProps]);
95
+ const highlightingEngine = React.useMemo(() => props.nodeHighlightingProps &&
96
+ new HighlightingEngine_1.HighlightingEngine(props.nodeHighlightingProps), [props.nodeHighlightingProps]);
94
97
  const rendererContext = React.useMemo(() => ({
95
- nodeRenderer: props.nodeRenderer ? props.nodeRenderer : (nodeProps) => (React.createElement(TreeNodeRenderer_1.TreeNodeRenderer, { ...nodeProps })),
98
+ nodeRenderer: props.nodeRenderer
99
+ ? props.nodeRenderer
100
+ : (nodeProps) => React.createElement(TreeNodeRenderer_1.TreeNodeRenderer, { ...nodeProps }),
96
101
  treeActions: props.treeActions,
97
102
  nodeLoader: props.nodeLoader,
98
103
  visibleNodes: props.visibleNodes,
@@ -140,14 +145,15 @@ function getNodeKey(node) {
140
145
  }
141
146
  return `${node.parentId || ""}-${node.childIndex}`;
142
147
  }
143
- const Node = React.memo(// eslint-disable-line @typescript-eslint/naming-convention
144
- function Node(props) {
148
+ const Node = React.memo(function Node(props) {
145
149
  const { index, style } = props;
146
150
  const { nodeRenderer, visibleNodes, treeActions, nodeLoader, onLabelRendered, highlightingEngine, onNodeEditorClosed, } = useTreeRendererContext(Node);
147
151
  const node = visibleNodes.getAtIndex(index);
148
152
  useNodeLoading(node, visibleNodes, nodeLoader);
149
153
  // Mark selected node's wrapper to make detecting consecutively selected nodes with css selectors possible
150
- const className = (0, classnames_1.default)("node-wrapper", { "is-selected": (0, TreeModel_1.isTreeModelNode)(node) && node.isSelected });
154
+ const className = (0, classnames_1.default)("node-wrapper", {
155
+ "is-selected": (0, TreeModel_1.isTreeModelNode)(node) && node.isSelected,
156
+ });
151
157
  const isEditing = React.useRef(false);
152
158
  React.useEffect(() => {
153
159
  if (!(0, TreeModel_1.isTreeModelNode)(node))
@@ -164,11 +170,24 @@ function Node(props) {
164
170
  }, [node, onNodeEditorClosed]);
165
171
  return (React.createElement("div", { className: className, style: style }, React.useMemo(() => {
166
172
  if ((0, TreeModel_1.isTreeModelNode)(node)) {
167
- const nodeHighlightProps = highlightingEngine ? highlightingEngine.createRenderProps(node) : undefined;
168
- return nodeRenderer({ node, treeActions, onLabelRendered, nodeHighlightProps });
173
+ const nodeHighlightProps = highlightingEngine
174
+ ? highlightingEngine.createRenderProps(node)
175
+ : undefined;
176
+ return nodeRenderer({
177
+ node,
178
+ treeActions,
179
+ onLabelRendered,
180
+ nodeHighlightProps,
181
+ });
169
182
  }
170
183
  return React.createElement(core_react_1.TreeNodePlaceholder, { level: node.depth });
171
- }, [node, treeActions, nodeRenderer, onLabelRendered, highlightingEngine])));
184
+ }, [
185
+ node,
186
+ treeActions,
187
+ nodeRenderer,
188
+ onLabelRendered,
189
+ highlightingEngine,
190
+ ])));
172
191
  }, react_window_1.areEqual);
173
192
  function useNodeLoading(node, visibleNodes, nodeLoader) {
174
193
  React.useEffect(() => {
@@ -176,7 +195,9 @@ function useNodeLoading(node, visibleNodes, nodeLoader) {
176
195
  return;
177
196
  }
178
197
  const treeModel = visibleNodes.getModel();
179
- const parentNode = node.parentId ? treeModel.getNode(node.parentId) : treeModel.getRootNode();
198
+ const parentNode = node.parentId
199
+ ? treeModel.getNode(node.parentId)
200
+ : treeModel.getRootNode();
180
201
  if (!(0, TreeModel_1.isTreeModelNode)(parentNode) && !(0, TreeModel_1.isTreeModelRootNode)(parentNode)) {
181
202
  return;
182
203
  }
@@ -208,7 +229,7 @@ function usePrevious(value) {
208
229
  return ref.current;
209
230
  }
210
231
  function getHighlightedNodeId(highlightableTreeProps) {
211
- return (highlightableTreeProps && highlightableTreeProps.activeMatch)
232
+ return highlightableTreeProps && highlightableTreeProps.activeMatch
212
233
  ? highlightableTreeProps.activeMatch.nodeId
213
234
  : undefined;
214
235
  }
@@ -219,13 +240,22 @@ function useScrollToActiveMatch(treeRef, highlightableTreeProps) {
219
240
  }, [highlightableTreeProps]);
220
241
  const onLabelRendered = React.useCallback((node) => {
221
242
  const highlightedNodeId = getHighlightedNodeId(highlightableTreeProps);
222
- if (!treeRef.current || !scrollToActive.current || !highlightedNodeId || highlightedNodeId !== node.id)
243
+ if (!treeRef.current ||
244
+ !scrollToActive.current ||
245
+ !highlightedNodeId ||
246
+ highlightedNodeId !== node.id)
223
247
  return;
224
248
  scrollToActive.current = false;
225
- const scrollTo = [...treeRef.current.getElementsByClassName(HighlightingEngine_1.HighlightingEngine.ACTIVE_CLASS_NAME)];
249
+ const scrollTo = [
250
+ ...treeRef.current.getElementsByClassName(HighlightingEngine_1.HighlightingEngine.ACTIVE_CLASS_NAME),
251
+ ];
226
252
  // istanbul ignore else
227
253
  if (scrollTo.length > 0 && scrollTo[0].scrollIntoView !== undefined)
228
- scrollTo[0].scrollIntoView({ behavior: "auto", block: "nearest", inline: "end" });
254
+ scrollTo[0].scrollIntoView({
255
+ behavior: "auto",
256
+ block: "nearest",
257
+ inline: "end",
258
+ });
229
259
  }, [highlightableTreeProps, treeRef]);
230
260
  return onLabelRendered;
231
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport \"./ControlledTree.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { ListChildComponentProps, ListOnItemsRenderedProps} from \"react-window\";\nimport { areEqual, VariableSizeList } from \"react-window\";\nimport { concat } from \"rxjs/internal/observable/concat\";\nimport { timer } from \"rxjs/internal/observable/timer\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Tree as CoreTree, TreeNodePlaceholder } from \"@itwin/core-react\";\nimport { createContextWithMandatoryProvider } from \"../../../common/UseContextWithMandatoryProvider\";\nimport type { HighlightableTreeProps} from \"../../HighlightingEngine\";\nimport { HighlightingEngine } from \"../../HighlightingEngine\";\nimport type { TreeActions } from \"../TreeActions\";\nimport type { TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes} from \"../TreeModel\";\nimport {\n isTreeModelNode, isTreeModelNodePlaceholder, isTreeModelRootNode,\n} from \"../TreeModel\";\nimport type { ITreeNodeLoader } from \"../TreeNodeLoader\";\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\n\nconst NODE_LOAD_DELAY = 500;\n\n/**\n * Data structure that describes range of rendered items in the tree.\n * @public\n */\nexport interface RenderedItemsRange {\n overscanStartIndex: number;\n overscanStopIndex: number;\n visibleStartIndex: number;\n visibleStopIndex: number;\n}\n\n/**\n * Properties for [[TreeRenderer]] component.\n * @public\n */\nexport interface TreeRendererProps {\n treeActions: TreeActions;\n nodeLoader: ITreeNodeLoader;\n\n /** Callback that is used to determine node height. */\n nodeHeight: (node: TreeModelNode | TreeModelNodePlaceholder, index: number) => number;\n\n /** Flat list of nodes to be rendered. */\n visibleNodes: VisibleTreeNodes;\n\n /** Callback to render custom node. */\n nodeRenderer?: (props: TreeNodeRendererProps) => React.ReactNode;\n\n /** Properties used to highlight nodes and scroll to active match while filtering. */\n nodeHighlightingProps?: HighlightableTreeProps;\n\n /** Callback that is called when rendered items range changes. */\n onItemsRendered?: (renderedItems: RenderedItemsRange) => void;\n\n /**\n * Callback used when an editor closes\n * @internal\n */\n onNodeEditorClosed?: () => void;\n\n /** Width of the tree area. */\n width: number;\n\n /** Height of the tree area. */\n height: number;\n}\n\n/**\n * Attributes found on TreeRenderer component\n * @public\n */\nexport interface TreeRendererAttributes {\n /**\n * Scroll to the specified node.\n * @param nodeId Id of the target node to scroll to.\n * @param alignment Controls scrolling behavior. See [react-window](https://github.com/bvaughn/react-window) documentation\n * on `scrollToItem` for details.\n */\n scrollToNode(nodeId: string, alignment?: Alignment): void;\n}\n\ntype Alignment = \"auto\" | \"smart\" | \"center\" | \"end\" | \"start\";\n\n/** [[TreeRenderer]] context that is provided to each rendered node. */\ninterface TreeRendererContext {\n /** Callback to render custom node. */\n nodeRenderer: (props: TreeNodeRendererProps) => React.ReactNode;\n\n treeActions: TreeActions;\n nodeLoader: ITreeNodeLoader;\n\n /** Flat list of nodes to be rendered. */\n visibleNodes: VisibleTreeNodes;\n\n /** Engine used to created node highlighting properties. */\n highlightingEngine?: HighlightingEngine;\n\n /** Callback used detect when label is rendered. It is used by TreeRenderer for scrolling to active match. */\n onLabelRendered?: (node: TreeModelNode) => void;\n\n /** Callback used when an editor closes */\n onNodeEditorClosed?: () => void;\n}\n\n/** [[TreeRenderer]] context provider, consumer and custom hook. */\nconst [\n /** Context of [[TreeRenderer]] provider. */\n TreeRendererContextProvider,\n\n /** Context of [[TreeRenderer]] consumer. */\n _TreeRendererContextConsumer,\n\n /** Custom hook to use [[TreeRenderer]] context. */\n useTreeRendererContext,\n] = createContextWithMandatoryProvider<TreeRendererContext>(\"TreeRendererContext\");\n\n/**\n * Default tree rendering component.\n * @public\n */\nexport class TreeRenderer extends React.Component<TreeRendererProps> implements TreeRendererAttributes {\n private _ref = React.createRef<TreeRendererAttributes>();\n\n /** @inheritdoc */\n public scrollToNode(nodeId: string, alignment?: Alignment) {\n // istanbul ignore else\n if (this._ref.current)\n this._ref.current.scrollToNode(nodeId, alignment);\n }\n\n public override render() {\n return (\n <TreeRendererInner ref={this._ref} {...this.props} />\n );\n }\n}\n\n// eslint-disable-next-line react/display-name\nconst TreeRendererInner = React.forwardRef<TreeRendererAttributes, TreeRendererProps>((props, ref) => {\n const variableSizeListRef = React.useRef<VariableSizeList>(null);\n useTreeRendererAttributes(ref, variableSizeListRef, props.visibleNodes);\n\n const previousVisibleNodes = usePrevious(props.visibleNodes);\n const previousNodeHeight = usePrevious(props.nodeHeight);\n if ((previousVisibleNodes !== undefined && previousVisibleNodes !== props.visibleNodes)\n || (previousNodeHeight !== undefined && previousNodeHeight !== props.nodeHeight)) {\n /* istanbul ignore else */\n if (variableSizeListRef.current) {\n variableSizeListRef.current.resetAfterIndex(0, false);\n }\n }\n\n const coreTreeRef = React.useRef<CoreTree>(null);\n const onLabelRendered = useScrollToActiveMatch(coreTreeRef, props.nodeHighlightingProps);\n const highlightingEngine = React.useMemo(\n () => props.nodeHighlightingProps && new HighlightingEngine(props.nodeHighlightingProps),\n [props.nodeHighlightingProps],\n );\n\n const rendererContext = React.useMemo<TreeRendererContext>(() => ({\n nodeRenderer: props.nodeRenderer ? props.nodeRenderer : (nodeProps) => (<TreeNodeRenderer {...nodeProps} />),\n treeActions: props.treeActions,\n nodeLoader: props.nodeLoader,\n visibleNodes: props.visibleNodes,\n onLabelRendered,\n highlightingEngine,\n onNodeEditorClosed: () => {\n setFocusToSelected(coreTreeRef);\n props.onNodeEditorClosed && props.onNodeEditorClosed();\n },\n }), [props, onLabelRendered, highlightingEngine]);\n\n const itemKey = React.useCallback(\n (index: number) => getNodeKey(props.visibleNodes.getAtIndex(index)!),\n [props.visibleNodes],\n );\n\n const { nodeHeight, visibleNodes } = props;\n const itemSize = React.useCallback(\n (index: number) => nodeHeight(visibleNodes.getAtIndex(index)!, index),\n [nodeHeight, visibleNodes],\n );\n\n const { nodeHighlightingProps } = props;\n React.useEffect(() => {\n const highlightedNodeId = getHighlightedNodeId(nodeHighlightingProps);\n if (!highlightedNodeId)\n return;\n\n let index = 0;\n for (const node of visibleNodes) {\n if (isTreeModelNode(node) && node.id === highlightedNodeId)\n break;\n\n index++;\n }\n\n assert(variableSizeListRef.current !== null);\n variableSizeListRef.current.scrollToItem(index);\n }, [nodeHighlightingProps]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n props.treeActions.onTreeKeyDown(e);\n }, [props.treeActions]);\n\n const handleKeyUp = React.useCallback((e: React.KeyboardEvent) => {\n props.treeActions.onTreeKeyUp(e);\n }, [props.treeActions]);\n\n const onItemsRendered = props.onItemsRendered;\n const handleRenderedItemsChange = React.useCallback((onItemsRenderedProps: ListOnItemsRenderedProps) => {\n onItemsRendered && onItemsRendered({ ...onItemsRenderedProps });\n }, [onItemsRendered]);\n\n return (\n <TreeRendererContextProvider value={rendererContext}>\n <CoreTree ref={coreTreeRef}\n className={classnames(\"components-controlledTree\", \"components-smallEditor-host\")}\n onKeyDown={handleKeyDown} onKeyUp={handleKeyUp}\n >\n <VariableSizeList\n ref={variableSizeListRef}\n className={\"ReactWindow__VariableSizeList\"}\n width={props.width}\n height={props.height}\n itemCount={props.visibleNodes.getNumNodes()}\n itemSize={itemSize}\n estimatedItemSize={25}\n overscanCount={10}\n itemKey={itemKey}\n onItemsRendered={handleRenderedItemsChange}\n >\n {Node}\n </VariableSizeList>\n </CoreTree>\n </TreeRendererContextProvider>\n );\n});\n\nfunction getNodeKey(node: TreeModelNode | TreeModelNodePlaceholder): string {\n if (isTreeModelNode(node)) {\n return node.id;\n }\n return `${node.parentId || \"\"}-${node.childIndex}`;\n}\n\nconst Node = React.memo<React.FC<ListChildComponentProps>>( // eslint-disable-line @typescript-eslint/naming-convention\n function Node(props: ListChildComponentProps) {\n const { index, style } = props;\n\n const {\n nodeRenderer,\n visibleNodes,\n treeActions,\n nodeLoader,\n onLabelRendered,\n highlightingEngine,\n onNodeEditorClosed,\n } = useTreeRendererContext(Node);\n const node = visibleNodes.getAtIndex(index)!;\n\n useNodeLoading(node, visibleNodes, nodeLoader);\n\n // Mark selected node's wrapper to make detecting consecutively selected nodes with css selectors possible\n const className = classnames(\"node-wrapper\", { \"is-selected\": isTreeModelNode(node) && node.isSelected });\n\n const isEditing = React.useRef(false);\n React.useEffect(() => {\n if (!isTreeModelNode(node))\n return;\n\n if (!isEditing.current && node.editingInfo) {\n isEditing.current = true;\n } else if (isEditing.current && node.editingInfo === undefined) {\n isEditing.current = false;\n /* istanbul ignore else */\n if (onNodeEditorClosed)\n onNodeEditorClosed();\n }\n }, [node, onNodeEditorClosed]);\n\n return (\n <div className={className} style={style}>\n {React.useMemo(() => {\n if (isTreeModelNode(node)) {\n const nodeHighlightProps = highlightingEngine ? highlightingEngine.createRenderProps(node) : undefined;\n return nodeRenderer({ node, treeActions, onLabelRendered, nodeHighlightProps });\n }\n\n return <TreeNodePlaceholder level={node.depth} />;\n }, [node, treeActions, nodeRenderer, onLabelRendered, highlightingEngine])}\n </div>\n );\n },\n areEqual,\n);\n\nfunction useNodeLoading(\n node: TreeModelNode | TreeModelNodePlaceholder,\n visibleNodes: VisibleTreeNodes,\n nodeLoader: ITreeNodeLoader,\n): void {\n React.useEffect(\n () => {\n if (!isTreeModelNodePlaceholder(node)) {\n return;\n }\n\n const treeModel = visibleNodes.getModel();\n const parentNode = node.parentId ? treeModel.getNode(node.parentId) : treeModel.getRootNode();\n if (!isTreeModelNode(parentNode) && !isTreeModelRootNode(parentNode)) {\n return;\n }\n\n const subscription = concat(timer(NODE_LOAD_DELAY), nodeLoader.loadNode(parentNode, node.childIndex)).subscribe();\n return () => subscription.unsubscribe();\n },\n // Mounted node component never changes its node key, thus it's safe to run this effect only once for every\n // nodeLoader change.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [nodeLoader],\n );\n}\n\nfunction useTreeRendererAttributes(\n ref: React.Ref<TreeRendererAttributes>,\n variableSizeListRef: React.RefObject<VariableSizeList>,\n visibleNodes: VisibleTreeNodes,\n) {\n const visibleNodesRef = React.useRef(visibleNodes);\n visibleNodesRef.current = visibleNodes;\n React.useImperativeHandle(\n ref,\n () => ({\n scrollToNode: (nodeId, alignment) => {\n assert(variableSizeListRef.current !== null);\n variableSizeListRef.current.scrollToItem(visibleNodesRef.current.getIndexOfNode(nodeId), alignment);\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n}\n\nfunction usePrevious<T>(value: T): T | undefined {\n const ref = React.useRef<T>();\n\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nfunction getHighlightedNodeId(highlightableTreeProps?: HighlightableTreeProps) {\n return (highlightableTreeProps && highlightableTreeProps.activeMatch)\n ? highlightableTreeProps.activeMatch.nodeId\n : undefined;\n}\n\nfunction useScrollToActiveMatch(treeRef: React.RefObject<CoreTree>, highlightableTreeProps?: HighlightableTreeProps) {\n const scrollToActive = React.useRef(false);\n React.useEffect(() => {\n scrollToActive.current = true;\n }, [highlightableTreeProps]);\n\n const onLabelRendered = React.useCallback(\n (node: TreeModelNode) => {\n const highlightedNodeId = getHighlightedNodeId(highlightableTreeProps);\n if (!treeRef.current || !scrollToActive.current || !highlightedNodeId || highlightedNodeId !== node.id)\n return;\n\n scrollToActive.current = false;\n const scrollTo = [...treeRef.current.getElementsByClassName(HighlightingEngine.ACTIVE_CLASS_NAME)];\n // istanbul ignore else\n if (scrollTo.length > 0 && scrollTo[0].scrollIntoView !== undefined)\n scrollTo[0].scrollIntoView({ behavior: \"auto\", block: \"nearest\", inline: \"end\" });\n }, [highlightableTreeProps, treeRef]);\n\n return onLabelRendered;\n}\n\nfunction setFocusToSelected(treeRef: React.RefObject<CoreTree>) {\n /* istanbul ignore else */\n if (treeRef.current)\n treeRef.current.setFocusByClassName(\".core-tree-node.is-selected\");\n}\n"]}
1
+ {"version":3,"file":"TreeRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport \"./ControlledTree.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n ListChildComponentProps,\n ListOnItemsRenderedProps,\n} from \"react-window\";\nimport { areEqual, VariableSizeList } from \"react-window\";\nimport { concat } from \"rxjs/internal/observable/concat\";\nimport { timer } from \"rxjs/internal/observable/timer\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Tree as CoreTree, TreeNodePlaceholder } from \"@itwin/core-react\";\nimport { createContextWithMandatoryProvider } from \"../../../common/UseContextWithMandatoryProvider\";\nimport type { HighlightableTreeProps } from \"../../HighlightingEngine\";\nimport { HighlightingEngine } from \"../../HighlightingEngine\";\nimport type { TreeActions } from \"../TreeActions\";\nimport type {\n TreeModelNode,\n TreeModelNodePlaceholder,\n VisibleTreeNodes,\n} from \"../TreeModel\";\nimport {\n isTreeModelNode,\n isTreeModelNodePlaceholder,\n isTreeModelRootNode,\n} from \"../TreeModel\";\nimport type { ITreeNodeLoader } from \"../TreeNodeLoader\";\nimport type { TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport { TreeNodeRenderer } from \"./TreeNodeRenderer\";\n\nconst NODE_LOAD_DELAY = 500;\n\n/**\n * Data structure that describes range of rendered items in the tree.\n * @public\n */\nexport interface RenderedItemsRange {\n overscanStartIndex: number;\n overscanStopIndex: number;\n visibleStartIndex: number;\n visibleStopIndex: number;\n}\n\n/**\n * Properties for [[TreeRenderer]] component.\n * @public\n */\nexport interface TreeRendererProps {\n treeActions: TreeActions;\n nodeLoader: ITreeNodeLoader;\n\n /** Callback that is used to determine node height. */\n nodeHeight: (\n node: TreeModelNode | TreeModelNodePlaceholder,\n index: number\n ) => number;\n\n /** Flat list of nodes to be rendered. */\n visibleNodes: VisibleTreeNodes;\n\n /** Callback to render custom node. */\n nodeRenderer?: (props: TreeNodeRendererProps) => React.ReactNode;\n\n /** Properties used to highlight nodes and scroll to active match while filtering. */\n nodeHighlightingProps?: HighlightableTreeProps;\n\n /** Callback that is called when rendered items range changes. */\n onItemsRendered?: (renderedItems: RenderedItemsRange) => void;\n\n /**\n * Callback used when an editor closes\n * @internal\n */\n onNodeEditorClosed?: () => void;\n\n /** Width of the tree area. */\n width: number;\n\n /** Height of the tree area. */\n height: number;\n}\n\n/**\n * Attributes found on TreeRenderer component\n * @public\n */\nexport interface TreeRendererAttributes {\n /**\n * Scroll to the specified node.\n * @param nodeId Id of the target node to scroll to.\n * @param alignment Controls scrolling behavior. See [react-window](https://github.com/bvaughn/react-window) documentation\n * on `scrollToItem` for details.\n */\n scrollToNode(nodeId: string, alignment?: Alignment): void;\n}\n\ntype Alignment = \"auto\" | \"smart\" | \"center\" | \"end\" | \"start\";\n\n/** [[TreeRenderer]] context that is provided to each rendered node. */\ninterface TreeRendererContext {\n /** Callback to render custom node. */\n nodeRenderer: (props: TreeNodeRendererProps) => React.ReactNode;\n\n treeActions: TreeActions;\n nodeLoader: ITreeNodeLoader;\n\n /** Flat list of nodes to be rendered. */\n visibleNodes: VisibleTreeNodes;\n\n /** Engine used to created node highlighting properties. */\n highlightingEngine?: HighlightingEngine;\n\n /** Callback used detect when label is rendered. It is used by TreeRenderer for scrolling to active match. */\n onLabelRendered?: (node: TreeModelNode) => void;\n\n /** Callback used when an editor closes */\n onNodeEditorClosed?: () => void;\n}\n\n/** [[TreeRenderer]] context provider, consumer and custom hook. */\nconst [\n /** Context of [[TreeRenderer]] provider. */\n TreeRendererContextProvider,\n\n /** Context of [[TreeRenderer]] consumer. */\n _TreeRendererContextConsumer,\n\n /** Custom hook to use [[TreeRenderer]] context. */\n useTreeRendererContext,\n] = createContextWithMandatoryProvider<TreeRendererContext>(\n \"TreeRendererContext\"\n);\n\n/**\n * Default tree rendering component.\n * @public\n */\nexport class TreeRenderer\n extends React.Component<TreeRendererProps>\n implements TreeRendererAttributes\n{\n private _ref = React.createRef<TreeRendererAttributes>();\n\n /** @inheritdoc */\n public scrollToNode(nodeId: string, alignment?: Alignment) {\n // istanbul ignore else\n if (this._ref.current) this._ref.current.scrollToNode(nodeId, alignment);\n }\n\n public override render() {\n return <TreeRendererInner ref={this._ref} {...this.props} />;\n }\n}\n\n// eslint-disable-next-line react/display-name\nconst TreeRendererInner = React.forwardRef<\n TreeRendererAttributes,\n TreeRendererProps\n>((props, ref) => {\n const variableSizeListRef = React.useRef<VariableSizeList>(null);\n useTreeRendererAttributes(ref, variableSizeListRef, props.visibleNodes);\n\n const previousVisibleNodes = usePrevious(props.visibleNodes);\n const previousNodeHeight = usePrevious(props.nodeHeight);\n if (\n (previousVisibleNodes !== undefined &&\n previousVisibleNodes !== props.visibleNodes) ||\n (previousNodeHeight !== undefined &&\n previousNodeHeight !== props.nodeHeight)\n ) {\n /* istanbul ignore else */\n if (variableSizeListRef.current) {\n variableSizeListRef.current.resetAfterIndex(0, false);\n }\n }\n\n const coreTreeRef = React.useRef<CoreTree>(null);\n const onLabelRendered = useScrollToActiveMatch(\n coreTreeRef,\n props.nodeHighlightingProps\n );\n const highlightingEngine = React.useMemo(\n () =>\n props.nodeHighlightingProps &&\n new HighlightingEngine(props.nodeHighlightingProps),\n [props.nodeHighlightingProps]\n );\n\n const rendererContext = React.useMemo<TreeRendererContext>(\n () => ({\n nodeRenderer: props.nodeRenderer\n ? props.nodeRenderer\n : (nodeProps) => <TreeNodeRenderer {...nodeProps} />,\n treeActions: props.treeActions,\n nodeLoader: props.nodeLoader,\n visibleNodes: props.visibleNodes,\n onLabelRendered,\n highlightingEngine,\n onNodeEditorClosed: () => {\n setFocusToSelected(coreTreeRef);\n props.onNodeEditorClosed && props.onNodeEditorClosed();\n },\n }),\n [props, onLabelRendered, highlightingEngine]\n );\n\n const itemKey = React.useCallback(\n (index: number) => getNodeKey(props.visibleNodes.getAtIndex(index)!),\n [props.visibleNodes]\n );\n\n const { nodeHeight, visibleNodes } = props;\n const itemSize = React.useCallback(\n (index: number) => nodeHeight(visibleNodes.getAtIndex(index)!, index),\n [nodeHeight, visibleNodes]\n );\n\n const { nodeHighlightingProps } = props;\n React.useEffect(() => {\n const highlightedNodeId = getHighlightedNodeId(nodeHighlightingProps);\n if (!highlightedNodeId) return;\n\n let index = 0;\n for (const node of visibleNodes) {\n if (isTreeModelNode(node) && node.id === highlightedNodeId) break;\n\n index++;\n }\n\n assert(variableSizeListRef.current !== null);\n variableSizeListRef.current.scrollToItem(index);\n }, [nodeHighlightingProps]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n props.treeActions.onTreeKeyDown(e);\n },\n [props.treeActions]\n );\n\n const handleKeyUp = React.useCallback(\n (e: React.KeyboardEvent) => {\n props.treeActions.onTreeKeyUp(e);\n },\n [props.treeActions]\n );\n\n const onItemsRendered = props.onItemsRendered;\n const handleRenderedItemsChange = React.useCallback(\n (onItemsRenderedProps: ListOnItemsRenderedProps) => {\n onItemsRendered && onItemsRendered({ ...onItemsRenderedProps });\n },\n [onItemsRendered]\n );\n\n return (\n <TreeRendererContextProvider value={rendererContext}>\n <CoreTree\n ref={coreTreeRef}\n className={classnames(\n \"components-controlledTree\",\n \"components-smallEditor-host\"\n )}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n >\n <VariableSizeList\n ref={variableSizeListRef}\n className={\"ReactWindow__VariableSizeList\"}\n width={props.width}\n height={props.height}\n itemCount={props.visibleNodes.getNumNodes()}\n itemSize={itemSize}\n estimatedItemSize={25}\n overscanCount={10}\n itemKey={itemKey}\n onItemsRendered={handleRenderedItemsChange}\n >\n {Node}\n </VariableSizeList>\n </CoreTree>\n </TreeRendererContextProvider>\n );\n});\n\nfunction getNodeKey(node: TreeModelNode | TreeModelNodePlaceholder): string {\n if (isTreeModelNode(node)) {\n return node.id;\n }\n return `${node.parentId || \"\"}-${node.childIndex}`;\n}\n\nconst Node = React.memo<React.FC<ListChildComponentProps>>(function Node(\n props: ListChildComponentProps\n) {\n const { index, style } = props;\n\n const {\n nodeRenderer,\n visibleNodes,\n treeActions,\n nodeLoader,\n onLabelRendered,\n highlightingEngine,\n onNodeEditorClosed,\n } = useTreeRendererContext(Node);\n const node = visibleNodes.getAtIndex(index)!;\n\n useNodeLoading(node, visibleNodes, nodeLoader);\n\n // Mark selected node's wrapper to make detecting consecutively selected nodes with css selectors possible\n const className = classnames(\"node-wrapper\", {\n \"is-selected\": isTreeModelNode(node) && node.isSelected,\n });\n\n const isEditing = React.useRef(false);\n React.useEffect(() => {\n if (!isTreeModelNode(node)) return;\n\n if (!isEditing.current && node.editingInfo) {\n isEditing.current = true;\n } else if (isEditing.current && node.editingInfo === undefined) {\n isEditing.current = false;\n /* istanbul ignore else */\n if (onNodeEditorClosed) onNodeEditorClosed();\n }\n }, [node, onNodeEditorClosed]);\n\n return (\n <div className={className} style={style}>\n {React.useMemo(() => {\n if (isTreeModelNode(node)) {\n const nodeHighlightProps = highlightingEngine\n ? highlightingEngine.createRenderProps(node)\n : undefined;\n return nodeRenderer({\n node,\n treeActions,\n onLabelRendered,\n nodeHighlightProps,\n });\n }\n\n return <TreeNodePlaceholder level={node.depth} />;\n }, [\n node,\n treeActions,\n nodeRenderer,\n onLabelRendered,\n highlightingEngine,\n ])}\n </div>\n );\n},\nareEqual);\n\nfunction useNodeLoading(\n node: TreeModelNode | TreeModelNodePlaceholder,\n visibleNodes: VisibleTreeNodes,\n nodeLoader: ITreeNodeLoader\n): void {\n React.useEffect(\n () => {\n if (!isTreeModelNodePlaceholder(node)) {\n return;\n }\n\n const treeModel = visibleNodes.getModel();\n const parentNode = node.parentId\n ? treeModel.getNode(node.parentId)\n : treeModel.getRootNode();\n if (!isTreeModelNode(parentNode) && !isTreeModelRootNode(parentNode)) {\n return;\n }\n\n const subscription = concat(\n timer(NODE_LOAD_DELAY),\n nodeLoader.loadNode(parentNode, node.childIndex)\n ).subscribe();\n return () => subscription.unsubscribe();\n },\n // Mounted node component never changes its node key, thus it's safe to run this effect only once for every\n // nodeLoader change.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [nodeLoader]\n );\n}\n\nfunction useTreeRendererAttributes(\n ref: React.Ref<TreeRendererAttributes>,\n variableSizeListRef: React.RefObject<VariableSizeList>,\n visibleNodes: VisibleTreeNodes\n) {\n const visibleNodesRef = React.useRef(visibleNodes);\n visibleNodesRef.current = visibleNodes;\n React.useImperativeHandle(\n ref,\n () => ({\n scrollToNode: (nodeId, alignment) => {\n assert(variableSizeListRef.current !== null);\n variableSizeListRef.current.scrollToItem(\n visibleNodesRef.current.getIndexOfNode(nodeId),\n alignment\n );\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n}\n\nfunction usePrevious<T>(value: T): T | undefined {\n const ref = React.useRef<T>();\n\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nfunction getHighlightedNodeId(highlightableTreeProps?: HighlightableTreeProps) {\n return highlightableTreeProps && highlightableTreeProps.activeMatch\n ? highlightableTreeProps.activeMatch.nodeId\n : undefined;\n}\n\nfunction useScrollToActiveMatch(\n treeRef: React.RefObject<CoreTree>,\n highlightableTreeProps?: HighlightableTreeProps\n) {\n const scrollToActive = React.useRef(false);\n React.useEffect(() => {\n scrollToActive.current = true;\n }, [highlightableTreeProps]);\n\n const onLabelRendered = React.useCallback(\n (node: TreeModelNode) => {\n const highlightedNodeId = getHighlightedNodeId(highlightableTreeProps);\n if (\n !treeRef.current ||\n !scrollToActive.current ||\n !highlightedNodeId ||\n highlightedNodeId !== node.id\n )\n return;\n\n scrollToActive.current = false;\n const scrollTo = [\n ...treeRef.current.getElementsByClassName(\n HighlightingEngine.ACTIVE_CLASS_NAME\n ),\n ];\n // istanbul ignore else\n if (scrollTo.length > 0 && scrollTo[0].scrollIntoView !== undefined)\n scrollTo[0].scrollIntoView({\n behavior: \"auto\",\n block: \"nearest\",\n inline: \"end\",\n });\n },\n [highlightableTreeProps, treeRef]\n );\n\n return onLabelRendered;\n}\n\nfunction setFocusToSelected(treeRef: React.RefObject<CoreTree>) {\n /* istanbul ignore else */\n if (treeRef.current)\n treeRef.current.setFocusByClassName(\".core-tree-node.is-selected\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SparseTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/SparseTree.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,gBAAgB;AAChB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,IAAI;IAC7B,CAAC,SAAS,CAAC,UAAQ;IAE1B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,iBAAiB,CAA2C;IACpE,OAAO,CAAC,SAAS,CAAyB;IAEnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAItC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQjF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,GAAE,OAAe,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS;IAY7G,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM;IAavE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;IAMlE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA6B9E,QAAQ,CACb,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,WAAW,EAAE,MAAM,GAClB,IAAI;IAiBA,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM;IAShE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqBvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,GAAE,OAAc;CAiBhF;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IACrD,CAAC,SAAS,CAAC,UAAQ;IAE1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAA0B;IAExC,wEAAwE;IACjE,SAAS,IAAI,MAAM;IAI1B,4BAA4B;IACrB,SAAS,CAAC,MAAM,EAAE,MAAM;IAM/B;;;OAGG;IACI,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS;IAQnD;;;OAGG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKxC,qEAAqE;IAC9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAMlC,yEAAyE;IAClE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAWrC,wEAAwE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAelC;;;OAGG;IACI,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAIrD,kEAAkE;IAC3D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC;IAoB3D,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM,CAAC,OAAO;CAGvB"}
1
+ {"version":3,"file":"SparseTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/SparseTree.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,gBAAgB;AAChB,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,IAAI;IAC7B,CAAC,SAAS,CAAC,UAAQ;IAE1B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,iBAAiB,CAA2C;IACpE,OAAO,CAAC,SAAS,CAAyB;IAEnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAItC,cAAc,CACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IAOd,WAAW,CAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,gBAAgB,GAAE,OAAe,GAChC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS;IAY3B,WAAW,CAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,CAAC,EAAE,EACb,MAAM,EAAE,MAAM;IAcT,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;IAMlE,SAAS,CACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO;IA6BH,QAAQ,CACb,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,WAAW,EAAE,MAAM,GAClB,IAAI;IAiBA,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM;IAShE,WAAW,CAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,IAAI;IAoBA,aAAa,CAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,GAAE,OAAc;CAkB/B;AAED;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IACrD,CAAC,SAAS,CAAC,UAAQ;IAE1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAA0B;IAExC,wEAAwE;IACjE,SAAS,IAAI,MAAM;IAI1B,4BAA4B;IACrB,SAAS,CAAC,MAAM,EAAE,MAAM;IAM/B;;;OAGG;IACI,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS;IAOnD;;;OAGG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKxC,qEAAqE;IAC9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAMlC,yEAAyE;IAClE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAWrC,wEAAwE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAelC;;;OAGG;IACI,aAAa,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAIrD,kEAAkE;IAC3D,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC;IAoB3D,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,MAAM,CAAC,OAAO;CAGvB"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SparseTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/SparseTree.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport { immerable } from \"immer\";\nimport { assert, compareNumbers, lowerBound } from \"@itwin/core-bentley\";\n\n/** @internal */\nexport interface Node {\n readonly id: string;\n}\n\n/**\n * Structure for sparse tree storage.\n * It uses SparseArray to store children ids for parent. This allows\n * having tree structure with some nodes missing in the tree branch.\n * @internal\n */\nexport class SparseTree<T extends Node> {\n public [immerable] = true;\n\n private _rootNodes = new SparseArray<string>();\n private _parentToChildren: Record<string, SparseArray<string>> = {};\n private _idToNode: Record<string, T> = {};\n\n public getNode(nodeId: string): T | undefined {\n return this._idToNode[nodeId];\n }\n\n public getChildOffset(parentId: string | undefined, childId: string): number | undefined {\n const children = this.getChildren(parentId);\n if (!children)\n return undefined;\n\n return children.getIndex(childId);\n }\n\n public getChildren(parentId: string | undefined, createIfNotExist: boolean = false): SparseArray<string> | undefined {\n if (parentId === undefined) {\n return this._rootNodes;\n }\n\n if (this._parentToChildren[parentId] === undefined && createIfNotExist) {\n this._parentToChildren[parentId] = new SparseArray<string>();\n }\n\n return this._parentToChildren[parentId];\n }\n\n public setChildren(parentId: string | undefined, children: T[], offset: number) {\n const existingChildren = this.getChildren(parentId, true)!;\n children.forEach((child, index) => {\n const existingChildId = existingChildren.get(offset + index);\n if (existingChildId !== undefined) {\n this.deleteSubtree(existingChildId);\n }\n\n existingChildren.set(offset + index, child.id);\n this._idToNode[child.id] = child;\n });\n }\n\n public insertChild(parentId: string | undefined, child: T, offset: number) {\n const existingChildren = this.getChildren(parentId, true)!;\n existingChildren.insert(offset, child.id);\n this._idToNode[child.id] = child;\n }\n\n public setNodeId(parentId: string | undefined, index: number, newId: string): boolean {\n const previousNodeId = this.getChildren(parentId)?.get(index);\n if (previousNodeId === undefined) {\n return false;\n }\n\n if (previousNodeId === newId) {\n return true;\n }\n\n if (this.getNode(newId) !== undefined) {\n return false;\n }\n\n this._idToNode[newId] = this._idToNode[previousNodeId];\n delete this._idToNode[previousNodeId];\n\n this._parentToChildren[newId] = this._parentToChildren[previousNodeId];\n delete this._parentToChildren[previousNodeId];\n\n if (parentId === undefined) {\n this._rootNodes.set(index, newId);\n } else {\n this._parentToChildren[parentId].set(index, newId);\n }\n\n return true;\n }\n\n public moveNode(\n sourceParentId: string | undefined,\n sourceNodeId: string,\n targetParentId: string | undefined,\n targetIndex: number,\n ): void {\n const sourceNodeSiblings = this.getChildren(sourceParentId);\n assert(sourceNodeSiblings !== undefined);\n\n const sourceIndex = this.getChildOffset(sourceParentId, sourceNodeId);\n assert(sourceIndex !== undefined);\n\n sourceNodeSiblings.remove(sourceIndex);\n if (targetParentId === sourceParentId && targetIndex > sourceIndex) {\n targetIndex -= 1;\n }\n\n const targetNodeSiblings = this.getChildren(targetParentId, true);\n assert(targetNodeSiblings !== undefined);\n targetNodeSiblings.insert(targetIndex, sourceNodeId);\n }\n\n public setNumChildren(parentId: string | undefined, numChildren: number) {\n const children = this.getChildren(parentId, true)!;\n for (const [childId] of children.iterateValues()) {\n this.deleteSubtree(childId);\n }\n\n children.setLength(numChildren);\n }\n\n public removeChild(parentId: string | undefined, child: string | number): void {\n const children = this.getChildren(parentId);\n if (children === undefined)\n return;\n\n if (typeof child === \"string\") {\n const childIndex = children.getIndex(child);\n if (childIndex !== undefined) {\n children.remove(childIndex);\n }\n\n this.deleteSubtree(child);\n } else {\n const childId = children.get(child);\n children.remove(child);\n if (childId !== undefined) {\n this.deleteSubtree(childId);\n }\n }\n }\n\n public deleteSubtree(parentId: string | undefined, deleteParent: boolean = true) {\n const children = this.getChildren(parentId);\n if (children !== undefined) {\n for (const [childId] of children.iterateValues()) {\n this.deleteSubtree(childId);\n }\n }\n\n if (parentId === undefined) {\n this._rootNodes.setLength(0);\n return;\n }\n if (deleteParent) {\n delete this._idToNode[parentId];\n }\n delete this._parentToChildren[parentId];\n }\n}\n\n/**\n * Structure for sparse array value storage.\n * The main advantage of this class over the standard javascript array is that\n * this class does not need to check each index when iterating values that are\n * stored in the array.\n * @public\n */\nexport class SparseArray<T> implements Iterable<T | undefined> {\n public [immerable] = true;\n\n private _length = 0;\n private _array: Array<[T, number]> = [];\n\n /** Returns length of array including intermediate 'undefined' values */\n public getLength(): number {\n return this._length;\n }\n\n /** Sets length of array. */\n public setLength(length: number) {\n const { index } = this.lowerBound(length);\n this._array.length = index;\n this._length = length;\n }\n\n /** Returns index of supplied value.\n *\n * @returns index of value or undefined if value is not found.\n */\n public getIndex(lookupValue: T): number | undefined {\n for (const [value, index] of this._array) {\n if (value === lookupValue)\n return index;\n }\n return undefined;\n }\n\n /** Returns value at specific position.\n *\n * @returns stored value or undefined.\n */\n public get(index: number): T | undefined {\n const { index: i, equal } = this.lowerBound(index);\n return equal ? this._array[i][0] : undefined;\n }\n\n /** Sets value at specific position. Overrides any existing value. */\n public set(index: number, value: T) {\n const { index: i, equal } = this.lowerBound(index);\n this._array.splice(i, equal ? 1 : 0, [value, index]);\n this._length = Math.max(this._length, index + 1);\n }\n\n /** Inserts value at specific position. Increases array length by one. */\n public insert(index: number, value: T) {\n const { index: i } = this.lowerBound(index);\n this._array.splice(i, 0, [value, index]);\n\n for (let j = i + 1; j < this._array.length; j++) {\n this._array[j][1]++;\n }\n\n this._length = Math.max(this._length + 1, index + 1);\n }\n\n /** Removes value at specified index and reduces array length by one. */\n public remove(index: number): void {\n if (index >= this._length) {\n return;\n }\n\n const { index: i, equal } = this.lowerBound(index);\n this._array.splice(i, equal ? 1 : 0);\n\n for (let j = i; j < this._array.length; j++) {\n this._array[j][1]--;\n }\n\n this._length = Math.max(0, this._length - 1);\n }\n\n /**\n * Iterates values that are stored in the array\n * @returns `[value, index]` tuples.\n */\n public iterateValues(): IterableIterator<[T, number]> {\n return this._array[Symbol.iterator]();\n }\n\n /** Iterates the array with all intermediate `undefined` values */\n public [Symbol.iterator](): IterableIterator<T | undefined> {\n const array = this._array;\n const length = this._length;\n return (function* () {\n let currentIndex = 0;\n for (const [value, index] of array) {\n for (; currentIndex < index; ++currentIndex) {\n yield undefined;\n }\n\n yield value;\n ++currentIndex;\n }\n\n for (; currentIndex < length; ++currentIndex) {\n yield undefined;\n }\n })();\n }\n\n private lowerBound(index: number): {\n index: number; equal: boolean;\n } {\n return lowerBound(index, this._array, SparseArray.compare);\n }\n\n private static compare<T>(index: number, value: [T, number]): number {\n return compareNumbers(index, value[1]);\n }\n}\n"]}
1
+ {"version":3,"file":"SparseTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/SparseTree.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport { immerable } from \"immer\";\nimport { assert, compareNumbers, lowerBound } from \"@itwin/core-bentley\";\n\n/** @internal */\nexport interface Node {\n readonly id: string;\n}\n\n/**\n * Structure for sparse tree storage.\n * It uses SparseArray to store children ids for parent. This allows\n * having tree structure with some nodes missing in the tree branch.\n * @internal\n */\nexport class SparseTree<T extends Node> {\n public [immerable] = true;\n\n private _rootNodes = new SparseArray<string>();\n private _parentToChildren: Record<string, SparseArray<string>> = {};\n private _idToNode: Record<string, T> = {};\n\n public getNode(nodeId: string): T | undefined {\n return this._idToNode[nodeId];\n }\n\n public getChildOffset(\n parentId: string | undefined,\n childId: string\n ): number | undefined {\n const children = this.getChildren(parentId);\n if (!children) return undefined;\n\n return children.getIndex(childId);\n }\n\n public getChildren(\n parentId: string | undefined,\n createIfNotExist: boolean = false\n ): SparseArray<string> | undefined {\n if (parentId === undefined) {\n return this._rootNodes;\n }\n\n if (this._parentToChildren[parentId] === undefined && createIfNotExist) {\n this._parentToChildren[parentId] = new SparseArray<string>();\n }\n\n return this._parentToChildren[parentId];\n }\n\n public setChildren(\n parentId: string | undefined,\n children: T[],\n offset: number\n ) {\n const existingChildren = this.getChildren(parentId, true)!;\n children.forEach((child, index) => {\n const existingChildId = existingChildren.get(offset + index);\n if (existingChildId !== undefined) {\n this.deleteSubtree(existingChildId);\n }\n\n existingChildren.set(offset + index, child.id);\n this._idToNode[child.id] = child;\n });\n }\n\n public insertChild(parentId: string | undefined, child: T, offset: number) {\n const existingChildren = this.getChildren(parentId, true)!;\n existingChildren.insert(offset, child.id);\n this._idToNode[child.id] = child;\n }\n\n public setNodeId(\n parentId: string | undefined,\n index: number,\n newId: string\n ): boolean {\n const previousNodeId = this.getChildren(parentId)?.get(index);\n if (previousNodeId === undefined) {\n return false;\n }\n\n if (previousNodeId === newId) {\n return true;\n }\n\n if (this.getNode(newId) !== undefined) {\n return false;\n }\n\n this._idToNode[newId] = this._idToNode[previousNodeId];\n delete this._idToNode[previousNodeId];\n\n this._parentToChildren[newId] = this._parentToChildren[previousNodeId];\n delete this._parentToChildren[previousNodeId];\n\n if (parentId === undefined) {\n this._rootNodes.set(index, newId);\n } else {\n this._parentToChildren[parentId].set(index, newId);\n }\n\n return true;\n }\n\n public moveNode(\n sourceParentId: string | undefined,\n sourceNodeId: string,\n targetParentId: string | undefined,\n targetIndex: number\n ): void {\n const sourceNodeSiblings = this.getChildren(sourceParentId);\n assert(sourceNodeSiblings !== undefined);\n\n const sourceIndex = this.getChildOffset(sourceParentId, sourceNodeId);\n assert(sourceIndex !== undefined);\n\n sourceNodeSiblings.remove(sourceIndex);\n if (targetParentId === sourceParentId && targetIndex > sourceIndex) {\n targetIndex -= 1;\n }\n\n const targetNodeSiblings = this.getChildren(targetParentId, true);\n assert(targetNodeSiblings !== undefined);\n targetNodeSiblings.insert(targetIndex, sourceNodeId);\n }\n\n public setNumChildren(parentId: string | undefined, numChildren: number) {\n const children = this.getChildren(parentId, true)!;\n for (const [childId] of children.iterateValues()) {\n this.deleteSubtree(childId);\n }\n\n children.setLength(numChildren);\n }\n\n public removeChild(\n parentId: string | undefined,\n child: string | number\n ): void {\n const children = this.getChildren(parentId);\n if (children === undefined) return;\n\n if (typeof child === \"string\") {\n const childIndex = children.getIndex(child);\n if (childIndex !== undefined) {\n children.remove(childIndex);\n }\n\n this.deleteSubtree(child);\n } else {\n const childId = children.get(child);\n children.remove(child);\n if (childId !== undefined) {\n this.deleteSubtree(childId);\n }\n }\n }\n\n public deleteSubtree(\n parentId: string | undefined,\n deleteParent: boolean = true\n ) {\n const children = this.getChildren(parentId);\n if (children !== undefined) {\n for (const [childId] of children.iterateValues()) {\n this.deleteSubtree(childId);\n }\n }\n\n if (parentId === undefined) {\n this._rootNodes.setLength(0);\n return;\n }\n if (deleteParent) {\n delete this._idToNode[parentId];\n }\n delete this._parentToChildren[parentId];\n }\n}\n\n/**\n * Structure for sparse array value storage.\n * The main advantage of this class over the standard javascript array is that\n * this class does not need to check each index when iterating values that are\n * stored in the array.\n * @public\n */\nexport class SparseArray<T> implements Iterable<T | undefined> {\n public [immerable] = true;\n\n private _length = 0;\n private _array: Array<[T, number]> = [];\n\n /** Returns length of array including intermediate 'undefined' values */\n public getLength(): number {\n return this._length;\n }\n\n /** Sets length of array. */\n public setLength(length: number) {\n const { index } = this.lowerBound(length);\n this._array.length = index;\n this._length = length;\n }\n\n /** Returns index of supplied value.\n *\n * @returns index of value or undefined if value is not found.\n */\n public getIndex(lookupValue: T): number | undefined {\n for (const [value, index] of this._array) {\n if (value === lookupValue) return index;\n }\n return undefined;\n }\n\n /** Returns value at specific position.\n *\n * @returns stored value or undefined.\n */\n public get(index: number): T | undefined {\n const { index: i, equal } = this.lowerBound(index);\n return equal ? this._array[i][0] : undefined;\n }\n\n /** Sets value at specific position. Overrides any existing value. */\n public set(index: number, value: T) {\n const { index: i, equal } = this.lowerBound(index);\n this._array.splice(i, equal ? 1 : 0, [value, index]);\n this._length = Math.max(this._length, index + 1);\n }\n\n /** Inserts value at specific position. Increases array length by one. */\n public insert(index: number, value: T) {\n const { index: i } = this.lowerBound(index);\n this._array.splice(i, 0, [value, index]);\n\n for (let j = i + 1; j < this._array.length; j++) {\n this._array[j][1]++;\n }\n\n this._length = Math.max(this._length + 1, index + 1);\n }\n\n /** Removes value at specified index and reduces array length by one. */\n public remove(index: number): void {\n if (index >= this._length) {\n return;\n }\n\n const { index: i, equal } = this.lowerBound(index);\n this._array.splice(i, equal ? 1 : 0);\n\n for (let j = i; j < this._array.length; j++) {\n this._array[j][1]--;\n }\n\n this._length = Math.max(0, this._length - 1);\n }\n\n /**\n * Iterates values that are stored in the array\n * @returns `[value, index]` tuples.\n */\n public iterateValues(): IterableIterator<[T, number]> {\n return this._array[Symbol.iterator]();\n }\n\n /** Iterates the array with all intermediate `undefined` values */\n public [Symbol.iterator](): IterableIterator<T | undefined> {\n const array = this._array;\n const length = this._length;\n return (function* () {\n let currentIndex = 0;\n for (const [value, index] of array) {\n for (; currentIndex < index; ++currentIndex) {\n yield undefined;\n }\n\n yield value;\n ++currentIndex;\n }\n\n for (; currentIndex < length; ++currentIndex) {\n yield undefined;\n }\n })();\n }\n\n private lowerBound(index: number): {\n index: number;\n equal: boolean;\n } {\n return lowerBound(index, this._array, SparseArray.compare);\n }\n\n private static compare<T>(index: number, value: [T, number]): number {\n return compareNumbers(index, value[1]);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModelMutator.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeModelMutator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE7E;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,iCAAiC,CAAU;gBAEvC,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,gCAAgC,EAAE,OAAO;IAMhH,IAAW,WAAW,oBAAgC;IAE/C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAoB1D,YAAY,CAAC,MAAM,EAAE,MAAM;IAc3B,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE;IAkB9E,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE;IAe9C,kBAAkB;IAQlB,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,EAAE;IAWrD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IAYhG,OAAO,CAAC,qBAAqB;CAkB9B"}
1
+ {"version":3,"file":"TreeModelMutator.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeModelMutator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE7E;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,iCAAiC,CAAU;gBAGjD,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,eAAe,EAC3B,gCAAgC,EAAE,OAAO;IAO3C,IAAW,WAAW,oBAErB;IAEM,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,kBAAkB,CAAC;IAsB1D,YAAY,CAAC,MAAM,EAAE,MAAM;IAc3B,eAAe,CACpB,aAAa,EAAE,YAAY,EAAE,EAC7B,eAAe,EAAE,YAAY,EAAE;IAmB1B,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE;IAe9C,kBAAkB;IAQlB,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,EAAE;IAWrD,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IAY3D,OAAO,CAAC,qBAAqB;CAoB9B"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
6
  /** @packageDocumentation
7
7
  * @module Tree
8
8
  */
@@ -21,7 +21,9 @@ class TreeModelMutator {
21
21
  this._nodeLoader = nodeLoader;
22
22
  this._collapsedChildrenDisposalEnabled = collapsedChildrenDisposalEnabled;
23
23
  }
24
- get modelSource() { return this._modelSource; }
24
+ get modelSource() {
25
+ return this._modelSource;
26
+ }
25
27
  expandNode(nodeId) {
26
28
  let needToLoadChildren = false;
27
29
  this._modelSource.modifyModel((model) => {
@@ -36,7 +38,9 @@ class TreeModelMutator {
36
38
  }
37
39
  });
38
40
  const expandedNode = this._modelSource.getModel().getNode(nodeId);
39
- return needToLoadChildren && expandedNode ? this._nodeLoader.loadNode(expandedNode, 0) : empty_1.EMPTY;
41
+ return needToLoadChildren && expandedNode
42
+ ? this._nodeLoader.loadNode(expandedNode, 0)
43
+ : empty_1.EMPTY;
40
44
  }
41
45
  collapseNode(nodeId) {
42
46
  this._modelSource.modifyModel((model) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModelMutator.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeModelMutator.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAAuD;AAQvD;;;;;GAKG;AACH,MAAa,gBAAgB;IAK3B,YAAY,WAA4B,EAAE,UAA2B,EAAE,gCAAyC;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,iCAAiC,GAAG,gCAAgC,CAAC;IAC5E,CAAC;IAED,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/C,UAAU,CAAC,MAAc;QAC9B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACzC,OAAO;aACR;YAED,kBAAkB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,kBAAkB,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,kBAAkB,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC;IACjG,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1C,OAAO;aACR;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,iCAAiC,EAAE;gBAC1C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,aAA6B,EAAE,eAA+B;QACnF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;aACF;YAED,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,aAA6B;QACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE;gBAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;YAED,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE;gBAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,YAAmC;QAC1D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE;gBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;iBAChC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,MAAc,EAAE,QAAyD;QAC9F,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBACP,OAAO;YAET,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACjE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,QAAyD;QACrG,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,qBAAqB;gBACrB,IAAI,CAAC,IAAI;oBACP,OAAO;gBACT,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAE,QAAgB,EAAE,EAAE;YAChE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzB,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAC/D,CAAC;CACF;AAjID,4CAiIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\nimport type { TreeNodeItem } from \"../../TreeDataProvider\";\nimport type { Observable } from \"../Observable\";\nimport type { CheckboxStateChange } from \"../TreeEvents\";\nimport type { TreeModelNode, TreeModelNodeEditingInfo } from \"../TreeModel\";\nimport type { TreeModelSource } from \"../TreeModelSource\";\nimport type { ITreeNodeLoader, TreeNodeLoadResult } from \"../TreeNodeLoader\";\n\n/**\n * Provides basic tree manipulation implementation for various cases like\n * expand/collapse node, modify/replace/clear selection. It is used by default\n * tree event handler to modify model when events occur.\n * @internal\n */\nexport class TreeModelMutator {\n private _modelSource: TreeModelSource;\n private _nodeLoader: ITreeNodeLoader;\n private _collapsedChildrenDisposalEnabled: boolean;\n\n constructor(modelSource: TreeModelSource, nodeLoader: ITreeNodeLoader, collapsedChildrenDisposalEnabled: boolean) {\n this._modelSource = modelSource;\n this._nodeLoader = nodeLoader;\n this._collapsedChildrenDisposalEnabled = collapsedChildrenDisposalEnabled;\n }\n\n public get modelSource() { return this._modelSource; }\n\n public expandNode(nodeId: string): Observable<TreeNodeLoadResult> {\n let needToLoadChildren = false;\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (node === undefined || node.isExpanded) {\n return;\n }\n\n needToLoadChildren = node.numChildren === undefined;\n\n node.isExpanded = true;\n if (needToLoadChildren) {\n node.isLoading = true;\n }\n });\n\n const expandedNode = this._modelSource.getModel().getNode(nodeId);\n return needToLoadChildren && expandedNode ? this._nodeLoader.loadNode(expandedNode, 0) : EMPTY;\n }\n\n public collapseNode(nodeId: string) {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (node === undefined || !node.isExpanded) {\n return;\n }\n\n node.isExpanded = false;\n if (this._collapsedChildrenDisposalEnabled) {\n model.clearChildren(node.id);\n }\n });\n }\n\n public modifySelection(nodesToSelect: TreeNodeItem[], nodesToDeselect: TreeNodeItem[]) {\n this._modelSource.modifyModel((model) => {\n for (const nodeItem of nodesToSelect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = true;\n }\n }\n\n for (const nodeItem of nodesToDeselect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = false;\n }\n }\n });\n }\n\n public replaceSelection(nodesToSelect: TreeNodeItem[]) {\n this._modelSource.modifyModel((model) => {\n for (const node of model.iterateTreeModelNodes()) {\n node.isSelected = false;\n }\n\n for (const nodeItem of nodesToSelect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = true;\n }\n }\n });\n }\n\n public clearNodeSelection() {\n this._modelSource.modifyModel((model) => {\n for (const node of model.iterateTreeModelNodes()) {\n node.isSelected = false;\n }\n });\n }\n\n public setCheckboxStates(stateChanges: CheckboxStateChange[]) {\n this._modelSource.modifyModel((model) => {\n for (const { nodeItem, newState } of stateChanges) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.checkbox.state = newState;\n }\n }\n });\n }\n\n public activateEditing(nodeId: string, onCommit: (node: TreeModelNode, newValue: string) => void) {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (!node)\n return;\n\n if (node.item.isEditable) {\n node.editingInfo = this.createNodeEditingInfo(nodeId, onCommit);\n }\n });\n }\n\n private createNodeEditingInfo(nodeId: string, onCommit: (node: TreeModelNode, newValue: string) => void): TreeModelNodeEditingInfo {\n const closeEditing = () => {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n // istanbul ignore if\n if (!node)\n return;\n node.editingInfo = undefined;\n });\n };\n\n const onEditCommitted = (node: TreeModelNode, newValue: string) => {\n onCommit(node, newValue);\n closeEditing();\n };\n\n return { onCommit: onEditCommitted, onCancel: closeEditing };\n }\n}\n"]}
1
+ {"version":3,"file":"TreeModelMutator.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeModelMutator.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0DAAuD;AAQvD;;;;;GAKG;AACH,MAAa,gBAAgB;IAK3B,YACE,WAA4B,EAC5B,UAA2B,EAC3B,gCAAyC;QAEzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,iCAAiC,GAAG,gCAAgC,CAAC;IAC5E,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACzC,OAAO;aACR;YAED,kBAAkB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,kBAAkB,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,kBAAkB,IAAI,YAAY;YACvC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5C,CAAC,CAAC,aAAK,CAAC;IACZ,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1C,OAAO;aACR;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,iCAAiC,EAAE;gBAC1C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CACpB,aAA6B,EAC7B,eAA+B;QAE/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;aACF;YAED,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,aAA6B;QACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE;gBAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;YAED,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE;gBAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,YAAmC;QAC1D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,KAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE;gBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;iBAChC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CACpB,MAAc,EACd,QAAyD;QAEzD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACjE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAC3B,MAAc,EACd,QAAyD;QAEzD,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,qBAAqB;gBACrB,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAE,QAAgB,EAAE,EAAE;YAChE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzB,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAC/D,CAAC;CACF;AAhJD,4CAgJC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport { EMPTY } from \"rxjs/internal/observable/empty\";\nimport type { TreeNodeItem } from \"../../TreeDataProvider\";\nimport type { Observable } from \"../Observable\";\nimport type { CheckboxStateChange } from \"../TreeEvents\";\nimport type { TreeModelNode, TreeModelNodeEditingInfo } from \"../TreeModel\";\nimport type { TreeModelSource } from \"../TreeModelSource\";\nimport type { ITreeNodeLoader, TreeNodeLoadResult } from \"../TreeNodeLoader\";\n\n/**\n * Provides basic tree manipulation implementation for various cases like\n * expand/collapse node, modify/replace/clear selection. It is used by default\n * tree event handler to modify model when events occur.\n * @internal\n */\nexport class TreeModelMutator {\n private _modelSource: TreeModelSource;\n private _nodeLoader: ITreeNodeLoader;\n private _collapsedChildrenDisposalEnabled: boolean;\n\n constructor(\n modelSource: TreeModelSource,\n nodeLoader: ITreeNodeLoader,\n collapsedChildrenDisposalEnabled: boolean\n ) {\n this._modelSource = modelSource;\n this._nodeLoader = nodeLoader;\n this._collapsedChildrenDisposalEnabled = collapsedChildrenDisposalEnabled;\n }\n\n public get modelSource() {\n return this._modelSource;\n }\n\n public expandNode(nodeId: string): Observable<TreeNodeLoadResult> {\n let needToLoadChildren = false;\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (node === undefined || node.isExpanded) {\n return;\n }\n\n needToLoadChildren = node.numChildren === undefined;\n\n node.isExpanded = true;\n if (needToLoadChildren) {\n node.isLoading = true;\n }\n });\n\n const expandedNode = this._modelSource.getModel().getNode(nodeId);\n return needToLoadChildren && expandedNode\n ? this._nodeLoader.loadNode(expandedNode, 0)\n : EMPTY;\n }\n\n public collapseNode(nodeId: string) {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (node === undefined || !node.isExpanded) {\n return;\n }\n\n node.isExpanded = false;\n if (this._collapsedChildrenDisposalEnabled) {\n model.clearChildren(node.id);\n }\n });\n }\n\n public modifySelection(\n nodesToSelect: TreeNodeItem[],\n nodesToDeselect: TreeNodeItem[]\n ) {\n this._modelSource.modifyModel((model) => {\n for (const nodeItem of nodesToSelect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = true;\n }\n }\n\n for (const nodeItem of nodesToDeselect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = false;\n }\n }\n });\n }\n\n public replaceSelection(nodesToSelect: TreeNodeItem[]) {\n this._modelSource.modifyModel((model) => {\n for (const node of model.iterateTreeModelNodes()) {\n node.isSelected = false;\n }\n\n for (const nodeItem of nodesToSelect) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.isSelected = true;\n }\n }\n });\n }\n\n public clearNodeSelection() {\n this._modelSource.modifyModel((model) => {\n for (const node of model.iterateTreeModelNodes()) {\n node.isSelected = false;\n }\n });\n }\n\n public setCheckboxStates(stateChanges: CheckboxStateChange[]) {\n this._modelSource.modifyModel((model) => {\n for (const { nodeItem, newState } of stateChanges) {\n const node = model.getNode(nodeItem.id);\n if (node !== undefined) {\n node.checkbox.state = newState;\n }\n }\n });\n }\n\n public activateEditing(\n nodeId: string,\n onCommit: (node: TreeModelNode, newValue: string) => void\n ) {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n if (!node) return;\n\n if (node.item.isEditable) {\n node.editingInfo = this.createNodeEditingInfo(nodeId, onCommit);\n }\n });\n }\n\n private createNodeEditingInfo(\n nodeId: string,\n onCommit: (node: TreeModelNode, newValue: string) => void\n ): TreeModelNodeEditingInfo {\n const closeEditing = () => {\n this._modelSource.modifyModel((model) => {\n const node = model.getNode(nodeId);\n // istanbul ignore if\n if (!node) return;\n node.editingInfo = undefined;\n });\n };\n\n const onEditCommitted = (node: TreeModelNode, newValue: string) => {\n onCommit(node, newValue);\n closeEditing();\n };\n\n return { onCommit: onEditCommitted, onCancel: closeEditing };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeSelectionManager.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeSelectionManager.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIpE,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,mBAAmB,GAAG,cAAc,CAAC;CACvD;AAED,gBAAgB;AAChB,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,mBAAmB,GAAG,cAAc,CAAC;IACpD,eAAe,EAAE,mBAAmB,CAAC;CACtC;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CAC1D;AAED,gBAAgB;AAChB,MAAM,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC;AAE3C,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI,cAAc,CAE5E;AAED,gBAAgB;AAChB,qBAAa,oBAAqB,YAAW,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IACrH,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,uBAAuB,CAAC,CAAsC;IACtE,OAAO,CAAC,aAAa,CAA+C;IAEpE,OAAO,CAAC,gBAAgB,CAAuC;IAExD,kBAAkB,wCAA+C;IACjE,mBAAmB,uCAA8C;IACjE,eAAe,qCAA4C;gBAGhE,aAAa,EAAE,aAAa,EAC5B,eAAe,CAAC,EAAE,MAAM,gBAAgB;IA8D1C,OAAO,CAAC,qBAAqB;IAKtB,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAIlE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU;IAKrD,eAAe,CAAC,MAAM,EAAE,MAAM;IAuB9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAIrC,OAAO,CAAC,uBAAuB;IAoCxB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAIrE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI1E,OAAO,CAAC,gBAAgB,CAiFtB;CACH"}
1
+ {"version":3,"file":"TreeSelectionManager.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/internal/TreeSelectionManager.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQpE,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,mBAAmB,GAAG,cAAc,CAAC;CACvD;AAED,gBAAgB;AAChB,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,mBAAmB,GAAG,cAAc,CAAC;IACpD,eAAe,EAAE,mBAAmB,CAAC;CACtC;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CAC1D;AAED,gBAAgB;AAChB,MAAM,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC;AAE3C,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI,cAAc,CAM5E;AAED,gBAAgB;AAChB,qBAAa,oBACX,YACE,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAE5E,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,uBAAuB,CAAC,CAAsC;IACtE,OAAO,CAAC,aAAa,CAA+C;IAEpE,OAAO,CAAC,gBAAgB,CAAuC;IAExD,kBAAkB,wCAA+C;IACjE,mBAAmB,uCAA8C;IACjE,eAAe,qCAA4C;gBAGhE,aAAa,EAAE,aAAa,EAC5B,eAAe,CAAC,EAAE,MAAM,gBAAgB;IAyE1C,OAAO,CAAC,qBAAqB;IAWtB,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,gBAAgB,CAAC,GAAG,SAAS;IAIlE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU;IAOrD,eAAe,CAAC,MAAM,EAAE,MAAM;IA2B9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAIrC,OAAO,CAAC,uBAAuB;IAyCxB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAIrE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI1E,OAAO,CAAC,gBAAgB,CAiGtB;CACH"}