@itwin/components-react 4.1.0 → 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 (1143) hide show
  1. package/CHANGELOG.md +1805 -1805
  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 +10 -9
  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 +23 -23
  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/DatePicker.scss +176 -176
  98. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  99. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  100. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +14 -11
  101. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  102. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  103. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  104. package/lib/cjs/components-react/datepicker/IntlFormatter.js +11 -11
  105. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  106. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  107. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  108. package/lib/cjs/components-react/datepicker/TimeField.js +72 -31
  109. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  110. package/lib/cjs/components-react/datepicker/TimeField.scss +76 -76
  111. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/BooleanEditor.js +9 -5
  113. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  114. package/lib/cjs/components-react/editors/BooleanEditor.scss +22 -22
  115. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  116. package/lib/cjs/components-react/editors/CustomNumberEditor.js +48 -28
  117. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  118. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  119. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +6 -6
  120. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  121. package/lib/cjs/components-react/editors/DateTimeEditor.js +25 -20
  122. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  123. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  124. package/lib/cjs/components-react/editors/EditorContainer.d.ts +3 -3
  125. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  126. package/lib/cjs/components-react/editors/EditorContainer.js +21 -13
  127. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  128. package/lib/cjs/components-react/editors/EditorContainer.scss +7 -7
  129. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  130. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +20 -11
  131. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  132. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  133. package/lib/cjs/components-react/editors/EnumEditor.d.ts +5 -5
  134. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  135. package/lib/cjs/components-react/editors/EnumEditor.js +25 -14
  136. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  137. package/lib/cjs/components-react/editors/EnumEditor.scss +23 -23
  138. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  139. package/lib/cjs/components-react/editors/IconEditor.js +10 -8
  140. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  141. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  142. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  143. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +13 -6
  144. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  145. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  146. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  147. package/lib/cjs/components-react/editors/NumericInputEditor.js +25 -8
  148. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  149. package/lib/cjs/components-react/editors/NumericInputEditor.scss +15 -17
  150. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  151. package/lib/cjs/components-react/editors/PopupButton.js +7 -4
  152. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  153. package/lib/cjs/components-react/editors/PopupButton.scss +116 -116
  154. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  155. package/lib/cjs/components-react/editors/PropertyEditorManager.js +7 -5
  156. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  157. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  158. package/lib/cjs/components-react/editors/SliderEditor.js +46 -19
  159. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/SliderEditor.scss +14 -14
  161. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  162. package/lib/cjs/components-react/editors/TextEditor.js +24 -9
  163. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  165. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  166. package/lib/cjs/components-react/editors/TextareaEditor.js +21 -8
  167. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  168. package/lib/cjs/components-react/editors/TextareaEditor.scss +15 -15
  169. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  170. package/lib/cjs/components-react/editors/ToggleEditor.js +11 -7
  171. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  172. package/lib/cjs/components-react/editors/ToggleEditor.scss +23 -23
  173. package/lib/cjs/components-react/editors/variables.scss +8 -8
  174. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  175. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  176. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  177. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  178. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +4 -5
  179. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  180. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  181. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +16 -6
  182. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  183. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  184. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +6 -4
  185. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  186. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  187. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  188. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +25 -18
  189. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  190. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  191. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  192. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +46 -22
  193. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  194. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  195. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  196. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +5 -5
  197. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  198. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  199. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  200. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  201. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  202. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  203. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  204. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  205. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +21 -13
  206. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  207. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  208. package/lib/cjs/components-react/filter-builder/Operators.js +17 -18
  209. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  210. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  211. package/lib/cjs/components-react/filter-builder/Types.js +3 -3
  212. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  213. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +1 -1
  214. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  215. package/lib/cjs/components-react/filtering/FilteringInput.js +23 -21
  216. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  217. package/lib/cjs/components-react/filtering/FilteringInput.scss +59 -59
  218. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  219. package/lib/cjs/components-react/filtering/ResultSelector.js +16 -9
  220. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  221. package/lib/cjs/components-react/filtering/ResultSelector.scss +68 -68
  222. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  223. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +9 -10
  224. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  225. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +75 -75
  226. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +1 -1
  227. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  228. package/lib/cjs/components-react/inputs/ParsedInput.js +8 -7
  229. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  230. package/lib/cjs/components-react/inputs/ParsedInput.scss +24 -24
  231. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  232. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  233. package/lib/cjs/components-react/properties/ItemStyle.js +7 -7
  234. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  235. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  236. package/lib/cjs/components-react/properties/LinkHandler.js +4 -4
  237. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  238. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  239. package/lib/cjs/components-react/properties/ValueRendererManager.js +5 -4
  240. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  242. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -5
  243. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  245. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  246. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  247. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  248. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +21 -10
  250. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  251. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  252. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  253. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  255. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  256. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  258. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  259. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  260. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  261. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  262. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  263. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +10 -9
  264. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  265. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  266. package/lib/cjs/components-react/properties/renderers/PropertyView.js +12 -16
  267. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  268. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +111 -111
  269. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  271. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  272. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  273. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  274. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  275. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  276. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  278. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  279. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  280. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  281. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  282. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  283. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  284. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  285. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  286. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  287. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  288. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  289. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  290. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  291. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  292. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  293. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  294. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  295. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  296. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  298. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  299. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  300. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  301. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  302. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  303. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +10 -6
  304. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  305. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  306. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  307. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  308. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  309. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  310. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  311. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  312. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  313. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  314. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  315. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  316. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  319. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  321. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  322. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +3 -3
  323. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  325. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  326. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  328. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  329. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  330. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  331. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  333. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  335. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  336. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  337. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +73 -74
  338. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  340. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  341. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  343. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  345. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +16 -6
  346. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  347. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  348. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  349. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  350. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  352. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  353. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +6 -4
  354. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  355. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  356. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  358. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  359. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  361. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  362. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +9 -5
  364. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  365. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +9 -5
  367. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  368. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +9 -5
  370. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  371. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  373. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  374. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  376. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  377. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  379. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  380. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  382. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  383. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  385. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  386. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  387. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  388. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  389. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  391. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  392. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  393. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -5
  394. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  395. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  396. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +3 -3
  397. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  398. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +9 -5
  400. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  401. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  402. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  403. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  404. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  405. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  406. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  407. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  408. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  409. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +8 -4
  410. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  411. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  412. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  413. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  414. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  415. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  416. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  417. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  418. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  419. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  420. package/lib/cjs/components-react/selectable-content/SelectableContent.js +4 -6
  421. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  422. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +20 -20
  423. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  424. package/lib/cjs/components-react/toolbar/Item.js +4 -5
  425. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  426. package/lib/cjs/components-react/toolbar/Item.scss +94 -92
  427. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  428. package/lib/cjs/components-react/toolbar/ItemWrapper.js +3 -3
  429. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  430. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  431. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  432. package/lib/cjs/components-react/toolbar/Items.js +16 -8
  433. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  434. package/lib/cjs/components-react/toolbar/Items.scss +96 -96
  435. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  436. package/lib/cjs/components-react/toolbar/Overflow.js +3 -3
  437. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  438. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  439. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  440. package/lib/cjs/components-react/toolbar/OverflowPanel.js +14 -9
  441. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  442. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  443. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  444. package/lib/cjs/components-react/toolbar/PopupItem.js +7 -9
  445. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  446. package/lib/cjs/components-react/toolbar/PopupItem.scss +88 -88
  447. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  448. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +20 -11
  449. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  450. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  451. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +23 -22
  452. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  453. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  454. package/lib/cjs/components-react/toolbar/Toolbar.js +29 -16
  455. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  456. package/lib/cjs/components-react/toolbar/Toolbar.scss +19 -19
  457. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  458. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  459. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +97 -57
  460. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  461. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  462. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  463. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  464. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  465. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  466. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  467. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +3 -3
  468. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  469. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  470. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  471. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +3 -3
  472. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  473. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  474. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  475. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +3 -3
  476. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  477. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +15 -15
  478. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  479. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +3 -3
  480. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  481. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +33 -33
  482. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +17 -17
  483. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  484. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  485. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  486. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +30 -29
  487. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  488. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  489. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  490. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  491. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +13 -13
  492. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  493. package/lib/cjs/components-react/toolbar/useDragInteraction.js +6 -5
  494. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  495. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  496. package/lib/cjs/components-react/toolbar/utilities/Direction.js +3 -3
  497. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  498. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  499. package/lib/cjs/components-react/tree/HighlightingEngine.js +4 -4
  500. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  501. package/lib/cjs/components-react/tree/HighlightingEngine.scss +8 -8
  502. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  503. package/lib/cjs/components-react/tree/ImageLoader.js +3 -3
  504. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  505. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  506. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +3 -3
  507. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  508. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  509. package/lib/cjs/components-react/tree/TreeComponentTestId.js +3 -3
  510. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  511. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  512. package/lib/cjs/components-react/tree/TreeDataProvider.js +9 -7
  513. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  514. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  515. package/lib/cjs/components-react/tree/controlled/Observable.js +6 -4
  516. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  517. package/lib/cjs/components-react/tree/controlled/TreeActions.js +3 -3
  518. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  519. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  520. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +41 -23
  521. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  522. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  523. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  524. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +12 -8
  525. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  526. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  527. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +3 -3
  528. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  529. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  530. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +3 -3
  531. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  532. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  533. package/lib/cjs/components-react/tree/controlled/TreeModel.js +39 -14
  534. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  535. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  536. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +22 -8
  537. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  538. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  539. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +48 -30
  540. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  541. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  542. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +14 -14
  543. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  544. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -103
  545. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  546. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  547. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +16 -15
  548. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  549. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +27 -27
  550. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  551. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  552. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  553. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  554. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  555. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +17 -7
  556. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  557. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  558. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  559. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  560. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  561. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +3 -3
  562. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  563. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  564. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  565. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  566. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  567. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +38 -20
  568. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  569. package/lib/cjs/components-react.d.ts +1 -0
  570. package/lib/cjs/components-react.d.ts.map +1 -1
  571. package/lib/cjs/components-react.js +4 -3
  572. package/lib/cjs/components-react.js.map +1 -1
  573. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  574. package/lib/esm/components-react/UiComponents.js +9 -5
  575. package/lib/esm/components-react/UiComponents.js.map +1 -1
  576. package/lib/esm/components-react/_target.scss +10 -9
  577. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  578. package/lib/esm/components-react/common/DateUtils.js +15 -9
  579. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  580. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  581. package/lib/esm/components-react/common/DelayedSpinner.js +5 -5
  582. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  583. package/lib/esm/components-react/common/HighlightedText.js +9 -5
  584. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  585. package/lib/esm/components-react/common/HighlightingComponentProps.js +3 -3
  586. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  587. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  588. package/lib/esm/components-react/common/IImageLoader.js +3 -3
  589. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  590. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  591. package/lib/esm/components-react/common/ImageRenderer.js +12 -9
  592. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  593. package/lib/esm/components-react/common/Links.d.ts.map +1 -1
  594. package/lib/esm/components-react/common/Links.js +12 -5
  595. package/lib/esm/components-react/common/Links.js.map +1 -1
  596. package/lib/esm/components-react/common/PageOptions.js +3 -3
  597. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  598. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  599. package/lib/esm/components-react/common/SubscriptionScheduler.js +4 -4
  600. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  601. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  602. package/lib/esm/components-react/common/UseAsyncValue.js +9 -5
  603. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  604. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  605. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  606. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  607. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  608. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +9 -7
  609. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  610. package/lib/esm/components-react/common/UseRerender.d.ts.map +1 -1
  611. package/lib/esm/components-react/common/UseRerender.js +8 -4
  612. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  613. package/lib/esm/components-react/common/countMatchesInString.d.ts.map +1 -1
  614. package/lib/esm/components-react/common/countMatchesInString.js +3 -3
  615. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  616. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  617. package/lib/esm/components-react/common/selection/SelectionHandler.js +33 -14
  618. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  619. package/lib/esm/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  620. package/lib/esm/components-react/common/selection/SelectionModes.js +3 -3
  621. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  622. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  623. package/lib/esm/components-react/converters/BooleanTypeConverter.js +15 -7
  624. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  625. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  626. package/lib/esm/components-react/converters/CompositeTypeConverter.js +5 -4
  627. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  628. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  629. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +24 -12
  630. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  631. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  632. package/lib/esm/components-react/converters/EnumTypeConverter.js +4 -4
  633. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  634. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  635. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +3 -3
  636. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  637. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  638. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  639. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  640. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  641. package/lib/esm/components-react/converters/NumericTypeConverter.js +7 -5
  642. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  643. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  644. package/lib/esm/components-react/converters/PointTypeConverter.js +11 -6
  645. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  646. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  647. package/lib/esm/components-react/converters/StringTypeConverter.js +16 -9
  648. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  649. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  650. package/lib/esm/components-react/converters/TypeConverter.js +18 -8
  651. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  652. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  653. package/lib/esm/components-react/converters/TypeConverterManager.js +4 -4
  654. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  655. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  656. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  657. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  658. package/lib/esm/components-react/datepicker/DateField.d.ts +1 -1
  659. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  660. package/lib/esm/components-react/datepicker/DateField.js +32 -10
  661. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  662. package/lib/esm/components-react/datepicker/DateField.scss +23 -23
  663. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  664. package/lib/esm/components-react/datepicker/DatePicker.js +15 -11
  665. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  666. package/lib/esm/components-react/datepicker/DatePicker.scss +176 -176
  667. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  668. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  669. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +14 -11
  670. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  671. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  672. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  673. package/lib/esm/components-react/datepicker/IntlFormatter.js +11 -11
  674. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  675. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  676. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  677. package/lib/esm/components-react/datepicker/TimeField.js +72 -31
  678. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  679. package/lib/esm/components-react/datepicker/TimeField.scss +76 -76
  680. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  681. package/lib/esm/components-react/editors/BooleanEditor.js +10 -6
  682. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  683. package/lib/esm/components-react/editors/BooleanEditor.scss +22 -22
  684. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  685. package/lib/esm/components-react/editors/CustomNumberEditor.js +49 -29
  686. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  687. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  688. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +6 -6
  689. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  690. package/lib/esm/components-react/editors/DateTimeEditor.js +26 -21
  691. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  692. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  693. package/lib/esm/components-react/editors/EditorContainer.d.ts +3 -3
  694. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  695. package/lib/esm/components-react/editors/EditorContainer.js +21 -13
  696. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  697. package/lib/esm/components-react/editors/EditorContainer.scss +7 -7
  698. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  699. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +21 -12
  700. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  701. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  702. package/lib/esm/components-react/editors/EnumEditor.d.ts +5 -5
  703. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  704. package/lib/esm/components-react/editors/EnumEditor.js +26 -15
  705. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  706. package/lib/esm/components-react/editors/EnumEditor.scss +23 -23
  707. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  708. package/lib/esm/components-react/editors/IconEditor.js +11 -9
  709. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  710. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  711. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  712. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +14 -7
  713. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  714. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  715. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  716. package/lib/esm/components-react/editors/NumericInputEditor.js +26 -9
  717. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  718. package/lib/esm/components-react/editors/NumericInputEditor.scss +15 -17
  719. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  720. package/lib/esm/components-react/editors/PopupButton.js +8 -5
  721. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  722. package/lib/esm/components-react/editors/PopupButton.scss +116 -116
  723. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  724. package/lib/esm/components-react/editors/PropertyEditorManager.js +7 -5
  725. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  726. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  727. package/lib/esm/components-react/editors/SliderEditor.js +47 -20
  728. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  729. package/lib/esm/components-react/editors/SliderEditor.scss +14 -14
  730. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  731. package/lib/esm/components-react/editors/TextEditor.js +24 -9
  732. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  733. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  734. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  735. package/lib/esm/components-react/editors/TextareaEditor.js +22 -9
  736. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  737. package/lib/esm/components-react/editors/TextareaEditor.scss +15 -15
  738. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  739. package/lib/esm/components-react/editors/ToggleEditor.js +13 -9
  740. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  741. package/lib/esm/components-react/editors/ToggleEditor.scss +23 -23
  742. package/lib/esm/components-react/editors/variables.scss +8 -8
  743. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  744. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  745. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  746. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  747. package/lib/esm/components-react/favorite/FavoritePropertyList.js +4 -5
  748. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  749. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  750. package/lib/esm/components-react/filter-builder/FilterBuilder.js +17 -7
  751. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  752. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  753. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +6 -4
  754. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  755. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  756. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  757. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +26 -19
  758. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  759. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  760. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  761. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +47 -23
  762. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  763. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  764. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  765. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +6 -6
  766. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  767. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  768. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  769. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  770. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  771. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  772. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  773. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  774. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +22 -14
  775. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  776. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  777. package/lib/esm/components-react/filter-builder/Operators.js +17 -18
  778. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  779. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  780. package/lib/esm/components-react/filter-builder/Types.js +3 -3
  781. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  782. package/lib/esm/components-react/filtering/FilteringInput.d.ts +1 -1
  783. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  784. package/lib/esm/components-react/filtering/FilteringInput.js +23 -21
  785. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  786. package/lib/esm/components-react/filtering/FilteringInput.scss +59 -59
  787. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  788. package/lib/esm/components-react/filtering/ResultSelector.js +16 -9
  789. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  790. package/lib/esm/components-react/filtering/ResultSelector.scss +68 -68
  791. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  792. package/lib/esm/components-react/iconpicker/IconPickerButton.js +9 -10
  793. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  794. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +75 -75
  795. package/lib/esm/components-react/inputs/ParsedInput.d.ts +1 -1
  796. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  797. package/lib/esm/components-react/inputs/ParsedInput.js +8 -7
  798. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  799. package/lib/esm/components-react/inputs/ParsedInput.scss +24 -24
  800. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  801. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  802. package/lib/esm/components-react/properties/ItemStyle.js +7 -7
  803. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  804. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  805. package/lib/esm/components-react/properties/LinkHandler.js +4 -4
  806. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  807. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  808. package/lib/esm/components-react/properties/ValueRendererManager.js +5 -4
  809. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  810. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  811. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +5 -5
  812. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  813. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  814. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  815. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  816. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  817. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  818. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +22 -11
  819. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  820. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  821. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  822. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  823. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  824. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  825. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  826. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  827. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  828. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  829. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  830. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  831. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  832. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +10 -9
  833. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  834. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  835. package/lib/esm/components-react/properties/renderers/PropertyView.js +12 -16
  836. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  837. package/lib/esm/components-react/properties/renderers/PropertyView.scss +111 -111
  838. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  839. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  840. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  841. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  842. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  843. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  844. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  845. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  846. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  847. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  848. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  849. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  850. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  851. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  852. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  853. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  854. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  855. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  856. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  857. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  858. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  859. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  860. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  861. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  862. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  863. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  864. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  865. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  866. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  867. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  868. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  869. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  870. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  871. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  872. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +11 -7
  873. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  874. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  875. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  876. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  877. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  878. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  879. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  880. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  881. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  882. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  883. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  884. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  885. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  886. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  887. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  888. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  889. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  890. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  891. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +3 -3
  892. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  893. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  894. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  895. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  896. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  897. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  898. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  899. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  900. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  901. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  902. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  903. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  904. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  905. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  906. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +73 -74
  907. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  908. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  909. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  910. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  911. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  912. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  913. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  914. package/lib/esm/components-react/propertygrid/component/PropertyList.js +16 -6
  915. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  916. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  917. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  918. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  919. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  920. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  921. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  922. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +7 -5
  923. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  924. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  925. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  926. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  927. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  928. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  929. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  930. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  931. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  932. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +10 -6
  933. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  934. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  935. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +10 -6
  936. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  937. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  938. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +10 -6
  939. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  940. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  941. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  942. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  943. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  944. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  945. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  946. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  947. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  948. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  949. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  950. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  951. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  952. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  953. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  954. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  955. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  956. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  957. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  958. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  959. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  960. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  961. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  962. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +10 -6
  963. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  964. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  965. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +4 -4
  966. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  967. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  968. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +10 -6
  969. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  970. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  971. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  972. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  973. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  974. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  975. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  976. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  977. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  978. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +9 -5
  979. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  980. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  981. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  982. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  983. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  984. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  985. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  986. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  987. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  988. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  989. package/lib/esm/components-react/selectable-content/SelectableContent.js +4 -6
  990. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  991. package/lib/esm/components-react/selectable-content/SelectableContent.scss +20 -20
  992. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  993. package/lib/esm/components-react/toolbar/Item.js +4 -5
  994. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  995. package/lib/esm/components-react/toolbar/Item.scss +94 -92
  996. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  997. package/lib/esm/components-react/toolbar/ItemWrapper.js +5 -5
  998. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  999. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  1000. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  1001. package/lib/esm/components-react/toolbar/Items.js +17 -9
  1002. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  1003. package/lib/esm/components-react/toolbar/Items.scss +96 -96
  1004. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  1005. package/lib/esm/components-react/toolbar/Overflow.js +4 -4
  1006. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  1007. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  1008. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  1009. package/lib/esm/components-react/toolbar/OverflowPanel.js +16 -11
  1010. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  1011. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  1012. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  1013. package/lib/esm/components-react/toolbar/PopupItem.js +8 -10
  1014. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  1015. package/lib/esm/components-react/toolbar/PopupItem.scss +88 -88
  1016. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  1017. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +22 -13
  1018. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  1019. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  1020. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +24 -23
  1021. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  1022. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  1023. package/lib/esm/components-react/toolbar/Toolbar.js +31 -18
  1024. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  1025. package/lib/esm/components-react/toolbar/Toolbar.scss +19 -19
  1026. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  1027. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  1028. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +98 -58
  1029. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  1030. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  1031. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  1032. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  1033. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  1034. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  1035. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  1036. package/lib/esm/components-react/toolbar/groupPanel/Column.js +3 -3
  1037. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  1038. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  1039. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  1040. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +3 -3
  1041. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  1042. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  1043. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  1044. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +3 -3
  1045. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  1046. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +15 -15
  1047. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  1048. package/lib/esm/components-react/toolbar/groupPanel/Title.js +3 -3
  1049. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  1050. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +33 -33
  1051. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +17 -17
  1052. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  1053. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  1054. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  1055. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +30 -29
  1056. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  1057. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  1058. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  1059. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  1060. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +13 -13
  1061. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  1062. package/lib/esm/components-react/toolbar/useDragInteraction.js +6 -5
  1063. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1064. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  1065. package/lib/esm/components-react/toolbar/utilities/Direction.js +3 -3
  1066. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1067. package/lib/esm/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  1068. package/lib/esm/components-react/tree/HighlightingEngine.js +4 -4
  1069. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1070. package/lib/esm/components-react/tree/HighlightingEngine.scss +8 -8
  1071. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  1072. package/lib/esm/components-react/tree/ImageLoader.js +3 -3
  1073. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1074. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  1075. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +3 -3
  1076. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1077. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  1078. package/lib/esm/components-react/tree/TreeComponentTestId.js +3 -3
  1079. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1080. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1081. package/lib/esm/components-react/tree/TreeDataProvider.js +9 -7
  1082. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1083. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  1084. package/lib/esm/components-react/tree/controlled/Observable.js +6 -4
  1085. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1086. package/lib/esm/components-react/tree/controlled/TreeActions.js +3 -3
  1087. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1088. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  1089. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +42 -24
  1090. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1091. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  1092. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  1093. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +12 -8
  1094. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1095. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  1096. package/lib/esm/components-react/tree/controlled/TreeEvents.js +3 -3
  1097. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1098. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  1099. package/lib/esm/components-react/tree/controlled/TreeHooks.js +3 -3
  1100. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1101. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  1102. package/lib/esm/components-react/tree/controlled/TreeModel.js +39 -14
  1103. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1104. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  1105. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +22 -8
  1106. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1107. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  1108. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +49 -31
  1109. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1110. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  1111. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +14 -14
  1112. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1113. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -103
  1114. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  1115. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  1116. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +15 -14
  1117. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1118. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +27 -27
  1119. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  1120. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  1121. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1122. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  1123. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  1124. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +16 -7
  1125. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1126. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1127. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  1128. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1129. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  1130. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +3 -3
  1131. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1132. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  1133. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  1134. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1135. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  1136. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +39 -21
  1137. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1138. package/lib/esm/components-react.d.ts +1 -0
  1139. package/lib/esm/components-react.d.ts.map +1 -1
  1140. package/lib/esm/components-react.js +4 -3
  1141. package/lib/esm/components-react.js.map +1 -1
  1142. package/lib/public/locales/en/UiComponents.json +139 -139
  1143. package/package.json +12 -21
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModel.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { immerable } from \"immer\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport type { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport type { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, TreeNodeItem } from \"../TreeDataProvider\";\r\nimport type { SparseArray} from \"./internal/SparseTree\";\r\nimport { SparseTree } from \"./internal/SparseTree\";\r\n\r\n/**\r\n * Immutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNode {\r\n readonly id: string;\r\n readonly parentId: string | undefined;\r\n readonly depth: number;\r\n\r\n readonly isLoading?: boolean;\r\n readonly numChildren: number | undefined;\r\n\r\n readonly description: string | undefined;\r\n readonly isExpanded: boolean;\r\n readonly label: PropertyRecord;\r\n readonly isSelected: boolean;\r\n readonly isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n readonly editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n readonly checkbox: CheckBoxInfo;\r\n\r\n readonly item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Immutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface CheckBoxInfo {\r\n readonly state: CheckBoxState;\r\n readonly tooltip?: string;\r\n readonly isDisabled: boolean;\r\n readonly isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface MutableTreeModelNode extends TreeModelNode {\r\n isLoading: boolean;\r\n\r\n description: string;\r\n isExpanded: boolean;\r\n label: PropertyRecord;\r\n isSelected: boolean;\r\n isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n checkbox: MutableCheckBoxInfo;\r\n\r\n item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Data structure that holds callbacks used for tree node editing.\r\n * @public\r\n */\r\nexport interface TreeModelNodeEditingInfo {\r\n onCommit: (node: TreeModelNode, newValue: string) => void;\r\n onCancel: () => void;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface MutableCheckBoxInfo extends CheckBoxInfo {\r\n state: CheckBoxState;\r\n tooltip?: string;\r\n isDisabled: boolean;\r\n isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree node placeholder.\r\n * @public\r\n */\r\nexport interface TreeModelNodePlaceholder {\r\n readonly childIndex: number;\r\n readonly depth: number;\r\n readonly parentId?: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree root node.\r\n * @public\r\n */\r\nexport interface TreeModelRootNode {\r\n readonly depth: -1;\r\n readonly id: undefined;\r\n readonly numChildren: number | undefined;\r\n}\r\n\r\n/**\r\n * Data structure that describes input used to create tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNodeInput {\r\n readonly description?: string;\r\n readonly isExpanded: boolean;\r\n readonly id: string;\r\n readonly item: TreeNodeItem;\r\n readonly label: PropertyRecord;\r\n readonly isLoading: boolean;\r\n readonly numChildren?: number;\r\n readonly isSelected: boolean;\r\n}\r\n\r\n/**\r\n * Type definition of all tree model nodes.\r\n * @public\r\n */\r\nexport type TreeModelNodeType = TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode;\r\n\r\n/**\r\n * Checks if object is [[TreeModelNode]]\r\n * @public\r\n */\r\nexport function isTreeModelNode(obj: TreeModelNodeType | undefined): obj is TreeModelNode {\r\n return obj !== undefined && !isTreeModelNodePlaceholder(obj) && !isTreeModelRootNode(obj);\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelNodePlaceholder]]\r\n * @public\r\n */\r\nexport function isTreeModelNodePlaceholder(obj: TreeModelNodeType | undefined): obj is TreeModelNodePlaceholder {\r\n return obj !== undefined && \"childIndex\" in obj;\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelRootNode]]\r\n * @public\r\n */\r\nexport function isTreeModelRootNode(obj: TreeModelNodeType | undefined): obj is TreeModelRootNode {\r\n return obj !== undefined && (obj as TreeModelRootNode).id === undefined && !(\"childIndex\" in obj);\r\n}\r\n\r\n/**\r\n * Type definition of tree node item data.\r\n * @public\r\n */\r\nexport type TreeNodeItemData = ImmediatelyLoadedTreeNodeItem & DelayLoadedTreeNodeItem;\r\n\r\n/**\r\n * Data structure that describes set of visible tree nodes as a flat list.\r\n * @public\r\n */\r\nexport interface VisibleTreeNodes extends Iterable<TreeModelNode | TreeModelNodePlaceholder> {\r\n getNumNodes(): number;\r\n getAtIndex(index: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getModel(): TreeModel;\r\n getNumRootNodes(): number | undefined;\r\n getIndexOfNode(nodeId: string): number;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree model.\r\n * @public\r\n */\r\nexport interface TreeModel {\r\n getRootNode(): TreeModelRootNode;\r\n\r\n getNode(id: string): TreeModelNode | undefined;\r\n getNode(parentId: string | undefined, childIndex: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getNode(nodeId: string | undefined, childIndex?: number): TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode | undefined;\r\n\r\n getChildren(parentId: string | undefined): SparseArray<string> | undefined;\r\n getChildOffset(parentId: string | undefined, childId: string): number | undefined;\r\n\r\n iterateTreeModelNodes(parentId?: string): IterableIterator<TreeModelNode>;\r\n}\r\n\r\n/**\r\n * Mutable tree model which holds nodes and allows adding or removing them.\r\n * @public\r\n */\r\nexport class MutableTreeModel implements TreeModel {\r\n public [immerable] = true;\r\n\r\n private _tree = new SparseTree<MutableTreeModelNode>();\r\n private _rootNode: TreeModelRootNode = { depth: -1, id: undefined, numChildren: undefined };\r\n\r\n public constructor(seed?: TreeModel) {\r\n if (!seed) {\r\n return;\r\n }\r\n\r\n cloneSubree(seed, this, undefined);\r\n }\r\n\r\n /** Returns root node of a tree. This node is not visible and is there to allow having multiple visible root nodes. */\r\n public getRootNode(): TreeModelRootNode {\r\n return this._rootNode;\r\n }\r\n\r\n /** Returns tree node or placeholder for node that is not loaded yet.\r\n * @returns node, node placeholder or undefined if node is not found in model.\r\n */\r\n public getNode(id: string): MutableTreeModelNode | undefined;\r\n public getNode(parentId: string | undefined, childIndex: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined;\r\n public getNode(nodeId: string | undefined, childIndex?: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined {\r\n if (childIndex === undefined) {\r\n return this._tree.getNode(nodeId!);\r\n }\r\n\r\n const children = this._tree.getChildren(nodeId);\r\n const childId = children !== undefined ? children.get(childIndex) : undefined;\r\n if (childId !== undefined) {\r\n return this._tree.getNode(childId);\r\n }\r\n\r\n const parentNode = nodeId === undefined ? this._rootNode : this._tree.getNode(nodeId);\r\n if (parentNode !== undefined) {\r\n return {\r\n childIndex,\r\n depth: parentNode.depth + 1,\r\n parentId: nodeId,\r\n };\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns children for specific parent.\r\n * @param parentId id of parent node.\r\n * @returns children of parent node or root nodes if undefined is passed as parent id.\r\n */\r\n public getChildren(parentId: string | undefined): SparseArray<string> | undefined {\r\n return this._tree.getChildren(parentId);\r\n }\r\n\r\n /** Returns children offset in children array for specific parent. */\r\n public getChildOffset(parentId: string | undefined, childId: string): number | undefined {\r\n return this._tree.getChildOffset(parentId, childId);\r\n }\r\n\r\n /**\r\n * Sets children for parent node starting from the specific offset.\r\n * If offset overlaps with already added nodes, the overlapping nodes are overwritten.\r\n */\r\n public setChildren(parentId: string | undefined, nodeInputs: TreeModelNodeInput[], offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const children: MutableTreeModelNode[] = [];\r\n for (const input of nodeInputs) {\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, input);\r\n children.push(child);\r\n }\r\n\r\n this._tree.setChildren(parentNode.id, children, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Inserts child in the specified position.\r\n * If offset is higher then current length of children array, the length is increased.\r\n */\r\n public insertChild(parentId: string | undefined, childNodeInput: TreeModelNodeInput, offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, childNodeInput);\r\n\r\n this._tree.insertChild(parentNode.id, child, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Changes the id of target node.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public changeNodeId(currentId: string, newId: string): boolean {\r\n const node = this.getNode(currentId);\r\n if (node === undefined) {\r\n return false;\r\n }\r\n\r\n if (currentId === newId) {\r\n return true;\r\n }\r\n\r\n const index = this.getChildOffset(node.parentId, currentId);\r\n assert(index !== undefined);\r\n\r\n if (!this._tree.setNodeId(node.parentId, index, newId)) {\r\n return false;\r\n }\r\n\r\n (node.id as string) = newId; // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\r\n for (const [childId] of this.getChildren(newId)?.iterateValues() ?? []) {\r\n const child = this.getNode(childId);\r\n assert(child !== undefined);\r\n (child.parentId as string) = newId;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Transfers node along with its children to a new location. Fails if destination has undefined child count.\r\n * @param sourceNodeId Node that is being moved.\r\n * @param targetParentId Node that will receive a new child.\r\n * @param targetIndex Insertion location among target's *current* children.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public moveNode(sourceNodeId: string, targetParentId: string | undefined, targetIndex: number): boolean {\r\n const sourceNode = this.getNode(sourceNodeId);\r\n if (sourceNode === undefined) {\r\n return false;\r\n }\r\n\r\n const targetParent = targetParentId === undefined ? this._rootNode : this.getNode(targetParentId);\r\n if (targetParent === undefined || targetParent.numChildren === undefined) {\r\n return false;\r\n }\r\n\r\n if (targetParentId !== undefined && this.areNodesRelated(sourceNodeId, targetParentId)) {\r\n return false;\r\n }\r\n\r\n this._tree.moveNode(sourceNode.parentId, sourceNodeId, targetParentId, targetIndex);\r\n\r\n const sourceParent = sourceNode.parentId === undefined ? this._rootNode : this.getNode(sourceNode.parentId);\r\n assert(sourceParent !== undefined);\r\n MutableTreeModel.setNumChildrenForNode(sourceParent, this._tree.getChildren(sourceNode.parentId));\r\n MutableTreeModel.setNumChildrenForNode(targetParent, this._tree.getChildren(targetParentId));\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (sourceNode.parentId as string | undefined) = targetParentId;\r\n\r\n const updateDepths = (parentId: string, depth: number) => {\r\n const node = this.getNode(parentId);\r\n assert(node !== undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.depth as number) = depth;\r\n for (const [nodeId] of this.getChildren(parentId)?.iterateValues() ?? []) {\r\n updateDepths(nodeId, depth + 1);\r\n }\r\n };\r\n\r\n updateDepths(sourceNodeId, targetParent.depth + 1);\r\n return true;\r\n }\r\n\r\n private areNodesRelated(ancestorNodeId: string, descendantNodeId: string): boolean {\r\n const node = this.getNode(descendantNodeId);\r\n if (node === undefined || node.parentId === undefined) {\r\n return false;\r\n }\r\n\r\n return node.parentId === ancestorNodeId ? true : this.areNodesRelated(ancestorNodeId, node.parentId);\r\n }\r\n\r\n /**\r\n * Sets the number of child nodes a parent is expected to contain. All child nodes of this parent will be subsequently\r\n * removed.\r\n */\r\n public setNumChildren(parentId: string | undefined, numChildren: number | undefined): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = numChildren;\r\n this._tree.setNumChildren(parentId, numChildren ?? 0);\r\n }\r\n\r\n /** Removes children specified by id.\r\n * @param parentId id of the parent node.\r\n * @param child child node id or index that should be removed.\r\n */\r\n public removeChild(parentId: string | undefined, child: string | number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n this._tree.removeChild(parentId, child);\r\n\r\n // istanbul ignore else\r\n if (parentNode)\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /** Removes all children for parent specified by id.\r\n * @param parentId id of parent node or undefined to remove root nodes.\r\n */\r\n public clearChildren(parentId: string | undefined) {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = undefined;\r\n }\r\n this._tree.deleteSubtree(parentId, false);\r\n }\r\n\r\n /** Iterates over all nodes present in the tree model. */\r\n public * iterateTreeModelNodes(parentId?: string): IterableIterator<MutableTreeModelNode> {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const _this = this;\r\n function* iterateDescendants(subParentId: string | undefined): IterableIterator<MutableTreeModelNode> {\r\n const children = _this.getChildren(subParentId);\r\n if (children === undefined) {\r\n return;\r\n }\r\n\r\n for (const [nodeId] of children.iterateValues()) {\r\n const node = _this.getNode(nodeId);\r\n if (node !== undefined) {\r\n yield node;\r\n yield* iterateDescendants(nodeId);\r\n }\r\n }\r\n }\r\n\r\n yield* iterateDescendants(parentId);\r\n }\r\n\r\n private static setNumChildrenForNode(node: TreeModelRootNode | MutableTreeModelNode, children: SparseArray<string> | undefined) {\r\n const numChildren = children ? children.getLength() : undefined;\r\n if (node.numChildren === numChildren)\r\n return;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.numChildren as number | undefined) = numChildren;\r\n }\r\n\r\n private static createTreeModelNode(parentNode: TreeModelNode | TreeModelRootNode, input: TreeModelNodeInput): MutableTreeModelNode {\r\n return {\r\n id: input.id,\r\n parentId: parentNode.id,\r\n depth: parentNode.depth + 1,\r\n\r\n isLoading: input.isLoading,\r\n numChildren: input.numChildren,\r\n\r\n description: input.description || \"\",\r\n isExpanded: input.isExpanded,\r\n label: input.label,\r\n isSelected: input.isSelected,\r\n isSelectionDisabled: input.item.isSelectionDisabled,\r\n\r\n checkbox: {\r\n state: input.item.checkBoxState || CheckBoxState.Off,\r\n isDisabled: !!input.item.isCheckboxDisabled,\r\n isVisible: !!input.item.isCheckboxVisible,\r\n },\r\n\r\n item: cloneDeep(input.item),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Generates flat list of visible nodes in the tree model.\r\n * @public\r\n */\r\nexport function computeVisibleNodes(model: TreeModel): VisibleTreeNodes {\r\n const result = getVisibleDescendants(model, model.getRootNode());\r\n return {\r\n getNumNodes: () => result.length,\r\n getAtIndex: (index: number): TreeModelNode | TreeModelNodePlaceholder | undefined => {\r\n return result[index];\r\n },\r\n getModel: () => model,\r\n getNumRootNodes: () => model.getRootNode().numChildren,\r\n [Symbol.iterator]: () => result[Symbol.iterator](),\r\n getIndexOfNode: (nodeId: string): number => {\r\n return result.findIndex((visibleNode) => (visibleNode as TreeModelNode).id === nodeId);\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * Traverses the tree and collects visible descendants.\r\n * @public\r\n */\r\nexport function getVisibleDescendants(\r\n model: TreeModel,\r\n parentNode: TreeModelNode | TreeModelRootNode,\r\n result: Array<TreeModelNode | TreeModelNodePlaceholder> = [],\r\n): Array<TreeModelNode | TreeModelNodePlaceholder> {\r\n const children = model.getChildren(parentNode.id);\r\n if (!children) {\r\n return result;\r\n }\r\n\r\n let index = 0;\r\n for (const childId of children) {\r\n if (childId === undefined) {\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n const childNode = model.getNode(childId);\r\n if (childNode === undefined) {\r\n // node was disposed\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n result.push(childNode);\r\n if (childNode.isExpanded && childNode.numChildren !== undefined) {\r\n getVisibleDescendants(model, childNode, result);\r\n }\r\n }\r\n }\r\n ++index;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction cloneSubree(source: TreeModel, target: MutableTreeModel, parentId: string | undefined): void {\r\n target.setNumChildren(\r\n parentId,\r\n (parentId === undefined ? source.getRootNode() : source.getNode(parentId)!).numChildren,\r\n );\r\n for (const [childId, index] of source.getChildren(parentId)?.iterateValues() ?? []) {\r\n const node = source.getNode(childId)!;\r\n target.setChildren(parentId, [{ ...node, isLoading: !!node.isLoading }], index);\r\n cloneSubree(source, target, childId);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeModel.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.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 { cloneDeep } from \"lodash\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { CheckBoxState } from \"@itwin/core-react\";\nimport type {\n DelayLoadedTreeNodeItem,\n ImmediatelyLoadedTreeNodeItem,\n TreeNodeItem,\n} from \"../TreeDataProvider\";\nimport type { SparseArray } from \"./internal/SparseTree\";\nimport { SparseTree } from \"./internal/SparseTree\";\n\n/**\n * Immutable data structure that describes tree node.\n * @public\n */\nexport interface TreeModelNode {\n readonly id: string;\n readonly parentId: string | undefined;\n readonly depth: number;\n\n readonly isLoading?: boolean;\n readonly numChildren: number | undefined;\n\n readonly description: string | undefined;\n readonly isExpanded: boolean;\n readonly label: PropertyRecord;\n readonly isSelected: boolean;\n readonly isSelectionDisabled?: boolean;\n\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\n readonly editingInfo?: TreeModelNodeEditingInfo;\n\n readonly checkbox: CheckBoxInfo;\n\n readonly item: TreeNodeItem;\n}\n\n/**\n * Immutable data structure that describes checkbox info.\n * @public\n */\nexport interface CheckBoxInfo {\n readonly state: CheckBoxState;\n readonly tooltip?: string;\n readonly isDisabled: boolean;\n readonly isVisible: boolean;\n}\n\n/**\n * Mutable data structure that describes tree node.\n * @public\n */\nexport interface MutableTreeModelNode extends TreeModelNode {\n isLoading: boolean;\n\n description: string;\n isExpanded: boolean;\n label: PropertyRecord;\n isSelected: boolean;\n isSelectionDisabled?: boolean;\n\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\n editingInfo?: TreeModelNodeEditingInfo;\n\n checkbox: MutableCheckBoxInfo;\n\n item: TreeNodeItem;\n}\n\n/**\n * Data structure that holds callbacks used for tree node editing.\n * @public\n */\nexport interface TreeModelNodeEditingInfo {\n onCommit: (node: TreeModelNode, newValue: string) => void;\n onCancel: () => void;\n}\n\n/**\n * Mutable data structure that describes checkbox info.\n * @public\n */\nexport interface MutableCheckBoxInfo extends CheckBoxInfo {\n state: CheckBoxState;\n tooltip?: string;\n isDisabled: boolean;\n isVisible: boolean;\n}\n\n/**\n * Data structure that describes tree node placeholder.\n * @public\n */\nexport interface TreeModelNodePlaceholder {\n readonly childIndex: number;\n readonly depth: number;\n readonly parentId?: string;\n}\n\n/**\n * Data structure that describes tree root node.\n * @public\n */\nexport interface TreeModelRootNode {\n readonly depth: -1;\n readonly id: undefined;\n readonly numChildren: number | undefined;\n}\n\n/**\n * Data structure that describes input used to create tree node.\n * @public\n */\nexport interface TreeModelNodeInput {\n readonly description?: string;\n readonly isExpanded: boolean;\n readonly id: string;\n readonly item: TreeNodeItem;\n readonly label: PropertyRecord;\n readonly isLoading: boolean;\n readonly numChildren?: number;\n readonly isSelected: boolean;\n}\n\n/**\n * Type definition of all tree model nodes.\n * @public\n */\nexport type TreeModelNodeType =\n | TreeModelNode\n | TreeModelNodePlaceholder\n | TreeModelRootNode;\n\n/**\n * Checks if object is [[TreeModelNode]]\n * @public\n */\nexport function isTreeModelNode(\n obj: TreeModelNodeType | undefined\n): obj is TreeModelNode {\n return (\n obj !== undefined &&\n !isTreeModelNodePlaceholder(obj) &&\n !isTreeModelRootNode(obj)\n );\n}\n\n/**\n * Checks if object is [[TreeModelNodePlaceholder]]\n * @public\n */\nexport function isTreeModelNodePlaceholder(\n obj: TreeModelNodeType | undefined\n): obj is TreeModelNodePlaceholder {\n return obj !== undefined && \"childIndex\" in obj;\n}\n\n/**\n * Checks if object is [[TreeModelRootNode]]\n * @public\n */\nexport function isTreeModelRootNode(\n obj: TreeModelNodeType | undefined\n): obj is TreeModelRootNode {\n return (\n obj !== undefined &&\n (obj as TreeModelRootNode).id === undefined &&\n !(\"childIndex\" in obj)\n );\n}\n\n/**\n * Type definition of tree node item data.\n * @public\n */\nexport type TreeNodeItemData = ImmediatelyLoadedTreeNodeItem &\n DelayLoadedTreeNodeItem;\n\n/**\n * Data structure that describes set of visible tree nodes as a flat list.\n * @public\n */\nexport interface VisibleTreeNodes\n extends Iterable<TreeModelNode | TreeModelNodePlaceholder> {\n getNumNodes(): number;\n getAtIndex(\n index: number\n ): TreeModelNode | TreeModelNodePlaceholder | undefined;\n getModel(): TreeModel;\n getNumRootNodes(): number | undefined;\n getIndexOfNode(nodeId: string): number;\n}\n\n/**\n * Data structure that describes tree model.\n * @public\n */\nexport interface TreeModel {\n getRootNode(): TreeModelRootNode;\n\n getNode(id: string): TreeModelNode | undefined;\n getNode(\n parentId: string | undefined,\n childIndex: number\n ): TreeModelNode | TreeModelNodePlaceholder | undefined;\n getNode(\n nodeId: string | undefined,\n childIndex?: number\n ): TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode | undefined;\n\n getChildren(parentId: string | undefined): SparseArray<string> | undefined;\n getChildOffset(\n parentId: string | undefined,\n childId: string\n ): number | undefined;\n\n iterateTreeModelNodes(parentId?: string): IterableIterator<TreeModelNode>;\n}\n\n/**\n * Mutable tree model which holds nodes and allows adding or removing them.\n * @public\n */\nexport class MutableTreeModel implements TreeModel {\n public [immerable] = true;\n\n private _tree = new SparseTree<MutableTreeModelNode>();\n private _rootNode: TreeModelRootNode = {\n depth: -1,\n id: undefined,\n numChildren: undefined,\n };\n\n public constructor(seed?: TreeModel) {\n if (!seed) {\n return;\n }\n\n cloneSubree(seed, this, undefined);\n }\n\n /** Returns root node of a tree. This node is not visible and is there to allow having multiple visible root nodes. */\n public getRootNode(): TreeModelRootNode {\n return this._rootNode;\n }\n\n /** Returns tree node or placeholder for node that is not loaded yet.\n * @returns node, node placeholder or undefined if node is not found in model.\n */\n public getNode(id: string): MutableTreeModelNode | undefined;\n public getNode(\n parentId: string | undefined,\n childIndex: number\n ): MutableTreeModelNode | TreeModelNodePlaceholder | undefined;\n public getNode(\n nodeId: string | undefined,\n childIndex?: number\n ): MutableTreeModelNode | TreeModelNodePlaceholder | undefined {\n if (childIndex === undefined) {\n return this._tree.getNode(nodeId!);\n }\n\n const children = this._tree.getChildren(nodeId);\n const childId =\n children !== undefined ? children.get(childIndex) : undefined;\n if (childId !== undefined) {\n return this._tree.getNode(childId);\n }\n\n const parentNode =\n nodeId === undefined ? this._rootNode : this._tree.getNode(nodeId);\n if (parentNode !== undefined) {\n return {\n childIndex,\n depth: parentNode.depth + 1,\n parentId: nodeId,\n };\n }\n\n return undefined;\n }\n\n /** Returns children for specific parent.\n * @param parentId id of parent node.\n * @returns children of parent node or root nodes if undefined is passed as parent id.\n */\n public getChildren(\n parentId: string | undefined\n ): SparseArray<string> | undefined {\n return this._tree.getChildren(parentId);\n }\n\n /** Returns children offset in children array for specific parent. */\n public getChildOffset(\n parentId: string | undefined,\n childId: string\n ): number | undefined {\n return this._tree.getChildOffset(parentId, childId);\n }\n\n /**\n * Sets children for parent node starting from the specific offset.\n * If offset overlaps with already added nodes, the overlapping nodes are overwritten.\n */\n public setChildren(\n parentId: string | undefined,\n nodeInputs: TreeModelNodeInput[],\n offset: number\n ): void {\n const parentNode =\n parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\n if (parentNode === undefined) return;\n\n const children: MutableTreeModelNode[] = [];\n for (const input of nodeInputs) {\n const child = MutableTreeModel.createTreeModelNode(parentNode, input);\n children.push(child);\n }\n\n this._tree.setChildren(parentNode.id, children, offset);\n MutableTreeModel.setNumChildrenForNode(\n parentNode,\n this._tree.getChildren(parentNode.id)\n );\n }\n\n /**\n * Inserts child in the specified position.\n * If offset is higher then current length of children array, the length is increased.\n */\n public insertChild(\n parentId: string | undefined,\n childNodeInput: TreeModelNodeInput,\n offset: number\n ): void {\n const parentNode =\n parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\n if (parentNode === undefined) return;\n\n const child = MutableTreeModel.createTreeModelNode(\n parentNode,\n childNodeInput\n );\n\n this._tree.insertChild(parentNode.id, child, offset);\n MutableTreeModel.setNumChildrenForNode(\n parentNode,\n this._tree.getChildren(parentNode.id)\n );\n }\n\n /**\n * Changes the id of target node.\n * @returns `true` on success, `false` otherwise.\n */\n public changeNodeId(currentId: string, newId: string): boolean {\n const node = this.getNode(currentId);\n if (node === undefined) {\n return false;\n }\n\n if (currentId === newId) {\n return true;\n }\n\n const index = this.getChildOffset(node.parentId, currentId);\n assert(index !== undefined);\n\n if (!this._tree.setNodeId(node.parentId, index, newId)) {\n return false;\n }\n\n (node.id as string) = newId; // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\n for (const [childId] of this.getChildren(newId)?.iterateValues() ?? []) {\n const child = this.getNode(childId);\n assert(child !== undefined);\n (child.parentId as string) = newId;\n }\n\n return true;\n }\n\n /**\n * Transfers node along with its children to a new location. Fails if destination has undefined child count.\n * @param sourceNodeId Node that is being moved.\n * @param targetParentId Node that will receive a new child.\n * @param targetIndex Insertion location among target's *current* children.\n * @returns `true` on success, `false` otherwise.\n */\n public moveNode(\n sourceNodeId: string,\n targetParentId: string | undefined,\n targetIndex: number\n ): boolean {\n const sourceNode = this.getNode(sourceNodeId);\n if (sourceNode === undefined) {\n return false;\n }\n\n const targetParent =\n targetParentId === undefined\n ? this._rootNode\n : this.getNode(targetParentId);\n if (targetParent === undefined || targetParent.numChildren === undefined) {\n return false;\n }\n\n if (\n targetParentId !== undefined &&\n this.areNodesRelated(sourceNodeId, targetParentId)\n ) {\n return false;\n }\n\n this._tree.moveNode(\n sourceNode.parentId,\n sourceNodeId,\n targetParentId,\n targetIndex\n );\n\n const sourceParent =\n sourceNode.parentId === undefined\n ? this._rootNode\n : this.getNode(sourceNode.parentId);\n assert(sourceParent !== undefined);\n MutableTreeModel.setNumChildrenForNode(\n sourceParent,\n this._tree.getChildren(sourceNode.parentId)\n );\n MutableTreeModel.setNumChildrenForNode(\n targetParent,\n this._tree.getChildren(targetParentId)\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n (sourceNode.parentId as string | undefined) = targetParentId;\n\n const updateDepths = (parentId: string, depth: number) => {\n const node = this.getNode(parentId);\n assert(node !== undefined);\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n (node.depth as number) = depth;\n for (const [nodeId] of this.getChildren(parentId)?.iterateValues() ??\n []) {\n updateDepths(nodeId, depth + 1);\n }\n };\n\n updateDepths(sourceNodeId, targetParent.depth + 1);\n return true;\n }\n\n private areNodesRelated(\n ancestorNodeId: string,\n descendantNodeId: string\n ): boolean {\n const node = this.getNode(descendantNodeId);\n if (node === undefined || node.parentId === undefined) {\n return false;\n }\n\n return node.parentId === ancestorNodeId\n ? true\n : this.areNodesRelated(ancestorNodeId, node.parentId);\n }\n\n /**\n * Sets the number of child nodes a parent is expected to contain. All child nodes of this parent will be subsequently\n * removed.\n */\n public setNumChildren(\n parentId: string | undefined,\n numChildren: number | undefined\n ): void {\n const parentNode =\n parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\n if (parentNode === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n (parentNode.numChildren as number | undefined) = numChildren;\n this._tree.setNumChildren(parentId, numChildren ?? 0);\n }\n\n /** Removes children specified by id.\n * @param parentId id of the parent node.\n * @param child child node id or index that should be removed.\n */\n public removeChild(\n parentId: string | undefined,\n child: string | number\n ): void {\n const parentNode =\n parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\n this._tree.removeChild(parentId, child);\n\n // istanbul ignore else\n if (parentNode)\n MutableTreeModel.setNumChildrenForNode(\n parentNode,\n this._tree.getChildren(parentNode.id)\n );\n }\n\n /** Removes all children for parent specified by id.\n * @param parentId id of parent node or undefined to remove root nodes.\n */\n public clearChildren(parentId: string | undefined) {\n const parentNode =\n parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\n if (parentNode !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n (parentNode.numChildren as number | undefined) = undefined;\n }\n this._tree.deleteSubtree(parentId, false);\n }\n\n /** Iterates over all nodes present in the tree model. */\n public *iterateTreeModelNodes(\n parentId?: string\n ): IterableIterator<MutableTreeModelNode> {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n function* iterateDescendants(\n subParentId: string | undefined\n ): IterableIterator<MutableTreeModelNode> {\n const children = _this.getChildren(subParentId);\n if (children === undefined) {\n return;\n }\n\n for (const [nodeId] of children.iterateValues()) {\n const node = _this.getNode(nodeId);\n if (node !== undefined) {\n yield node;\n yield* iterateDescendants(nodeId);\n }\n }\n }\n\n yield* iterateDescendants(parentId);\n }\n\n private static setNumChildrenForNode(\n node: TreeModelRootNode | MutableTreeModelNode,\n children: SparseArray<string> | undefined\n ) {\n const numChildren = children ? children.getLength() : undefined;\n if (node.numChildren === numChildren) return;\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n (node.numChildren as number | undefined) = numChildren;\n }\n\n private static createTreeModelNode(\n parentNode: TreeModelNode | TreeModelRootNode,\n input: TreeModelNodeInput\n ): MutableTreeModelNode {\n return {\n id: input.id,\n parentId: parentNode.id,\n depth: parentNode.depth + 1,\n\n isLoading: input.isLoading,\n numChildren: input.numChildren,\n\n description: input.description || \"\",\n isExpanded: input.isExpanded,\n label: input.label,\n isSelected: input.isSelected,\n isSelectionDisabled: input.item.isSelectionDisabled,\n\n checkbox: {\n state: input.item.checkBoxState || CheckBoxState.Off,\n isDisabled: !!input.item.isCheckboxDisabled,\n isVisible: !!input.item.isCheckboxVisible,\n },\n\n item: cloneDeep(input.item),\n };\n }\n}\n\n/**\n * Generates flat list of visible nodes in the tree model.\n * @public\n */\nexport function computeVisibleNodes(model: TreeModel): VisibleTreeNodes {\n const result = getVisibleDescendants(model, model.getRootNode());\n return {\n getNumNodes: () => result.length,\n getAtIndex: (\n index: number\n ): TreeModelNode | TreeModelNodePlaceholder | undefined => {\n return result[index];\n },\n getModel: () => model,\n getNumRootNodes: () => model.getRootNode().numChildren,\n [Symbol.iterator]: () => result[Symbol.iterator](),\n getIndexOfNode: (nodeId: string): number => {\n return result.findIndex(\n (visibleNode) => (visibleNode as TreeModelNode).id === nodeId\n );\n },\n };\n}\n\n/**\n * Traverses the tree and collects visible descendants.\n * @public\n */\nexport function getVisibleDescendants(\n model: TreeModel,\n parentNode: TreeModelNode | TreeModelRootNode,\n result: Array<TreeModelNode | TreeModelNodePlaceholder> = []\n): Array<TreeModelNode | TreeModelNodePlaceholder> {\n const children = model.getChildren(parentNode.id);\n if (!children) {\n return result;\n }\n\n let index = 0;\n for (const childId of children) {\n if (childId === undefined) {\n result.push({\n parentId: parentNode.id,\n depth: parentNode.depth + 1,\n childIndex: index,\n });\n } else {\n const childNode = model.getNode(childId);\n if (childNode === undefined) {\n // node was disposed\n result.push({\n parentId: parentNode.id,\n depth: parentNode.depth + 1,\n childIndex: index,\n });\n } else {\n result.push(childNode);\n if (childNode.isExpanded && childNode.numChildren !== undefined) {\n getVisibleDescendants(model, childNode, result);\n }\n }\n }\n ++index;\n }\n\n return result;\n}\n\nfunction cloneSubree(\n source: TreeModel,\n target: MutableTreeModel,\n parentId: string | undefined\n): void {\n target.setNumChildren(\n parentId,\n (parentId === undefined ? source.getRootNode() : source.getNode(parentId)!)\n .numChildren\n );\n for (const [childId, index] of source\n .getChildren(parentId)\n ?.iterateValues() ?? []) {\n const node = source.getNode(childId)!;\n target.setChildren(\n parentId,\n [{ ...node, isLoading: !!node.isLoading }],\n index\n );\n cloneSubree(source, target, childId);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModelSource.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModelSource.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAKd,OAAO,CAAC,MAAM;IAH1B,8DAA8D;IACvD,cAAc,2CAAkD;gBAEnD,MAAM,GAAE,gBAAyC;IAGrE;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAUrE,0BAA0B;IACnB,QAAQ,IAAI,SAAS;IAE5B,OAAO,CAAC,mBAAmB;CAiC5B"}
1
+ {"version":3,"file":"TreeModelSource.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModelSource.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAId,OAAO,CAAC,MAAM;IAH1B,8DAA8D;IACvD,cAAc,2CAAkD;gBAEnD,MAAM,GAAE,gBAAyC;IAErE;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAoBrE,0BAA0B;IACnB,QAAQ,IAAI,SAAS;IAI5B,OAAO,CAAC,mBAAmB;CAyC5B"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module Tree
7
7
  */
@@ -24,21 +24,31 @@ export class TreeModelSource {
24
24
  * If changes to tree model is detected then onModelChanged event is emitted.
25
25
  */
26
26
  modifyModel(callback) {
27
- let changes = { addedNodeIds: [], modifiedNodeIds: [], removedNodeIds: [] };
28
- const newModel = produce(this._model, (draft) => callback(draft), (patches) => { changes = this.collectModelChanges(patches); });
27
+ let changes = {
28
+ addedNodeIds: [],
29
+ modifiedNodeIds: [],
30
+ removedNodeIds: [],
31
+ };
32
+ const newModel = produce(this._model, (draft) => callback(draft), (patches) => {
33
+ changes = this.collectModelChanges(patches);
34
+ });
29
35
  if (newModel !== this._model) {
30
36
  this._model = newModel;
31
37
  this.onModelChanged.emit([this._model, changes]);
32
38
  }
33
39
  }
34
40
  /** Returns tree model. */
35
- getModel() { return this._model; }
41
+ getModel() {
42
+ return this._model;
43
+ }
36
44
  collectModelChanges(modelPatches) {
37
45
  const addedNodeIds = [];
38
46
  const modifiedNodeIds = new Set();
39
47
  const removedNodeIds = [];
40
48
  for (const patch of modelPatches) {
41
- if (patch.path.length >= 3 && patch.path[0] === "_tree" && patch.path[1] === "_idToNode") {
49
+ if (patch.path.length >= 3 &&
50
+ patch.path[0] === "_tree" &&
51
+ patch.path[1] === "_idToNode") {
42
52
  const nodeId = patch.path[2];
43
53
  if (patch.path.length > 3) {
44
54
  // Modification occured somewhere inside a node
@@ -59,7 +69,11 @@ export class TreeModelSource {
59
69
  }
60
70
  }
61
71
  }
62
- return { addedNodeIds, modifiedNodeIds: [...modifiedNodeIds], removedNodeIds };
72
+ return {
73
+ addedNodeIds,
74
+ modifiedNodeIds: [...modifiedNodeIds],
75
+ removedNodeIds,
76
+ };
63
77
  }
64
78
  }
65
79
  //# sourceMappingURL=TreeModelSource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeModelSource.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModelSource.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/C;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAK1B,YAAoB,SAA2B,IAAI,gBAAgB,EAAE;QAAjD,WAAM,GAAN,MAAM,CAA2C;QAHrE,8DAA8D;QACvD,mBAAc,GAAG,IAAI,SAAS,EAAiC,CAAC;IAGvE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAA2C;QAC5D,IAAI,OAAO,GAAqB,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5J,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,0BAA0B;IACnB,QAAQ,KAAgB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C,mBAAmB,CAAC,YAAqB;QAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;gBACxF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gBAEvC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,+CAA+C;oBAC/C,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5B,SAAS;iBACV;gBAED,oDAAoD;gBACpD,QAAQ,KAAK,CAAC,EAAE,EAAE;oBAChB,KAAK,KAAK;wBACR,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM;oBAER,KAAK,QAAQ;wBACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,MAAM;oBAER,KAAK,SAAS;wBACZ,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC5B,MAAM;iBACT;aACF;SACF;QAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACjF,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport type { Patch} from \"immer\";\r\nimport { produce } from \"immer\";\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport type { TreeModel } from \"./TreeModel\";\r\nimport { MutableTreeModel } from \"./TreeModel\";\r\n\r\n/**\r\n * Data structure that describes changes which happened to the tree model\r\n * @public\r\n */\r\nexport interface TreeModelChanges {\r\n addedNodeIds: string[];\r\n modifiedNodeIds: string[];\r\n removedNodeIds: string[];\r\n}\r\n\r\n/**\r\n * Controls tree model.\r\n * It is used to modify model and inform when tree model changes.\r\n * @public\r\n */\r\nexport class TreeModelSource {\r\n\r\n /** Event that is emitted every time tree model is changed. */\r\n public onModelChanged = new BeUiEvent<[TreeModel, TreeModelChanges]>();\r\n\r\n constructor(private _model: MutableTreeModel = new MutableTreeModel()) {\r\n }\r\n\r\n /**\r\n * Modifies tree model using provided callback.\r\n * If changes to tree model is detected then onModelChanged event is emitted.\r\n */\r\n public modifyModel(callback: (model: MutableTreeModel) => void): void {\r\n let changes: TreeModelChanges = { addedNodeIds: [], modifiedNodeIds: [], removedNodeIds: [] };\r\n const newModel = produce(this._model, (draft: MutableTreeModel) => callback(draft), (patches: Patch[]) => { changes = this.collectModelChanges(patches); });\r\n\r\n if (newModel !== this._model) {\r\n this._model = newModel;\r\n this.onModelChanged.emit([this._model, changes]);\r\n }\r\n }\r\n\r\n /** Returns tree model. */\r\n public getModel(): TreeModel { return this._model; }\r\n\r\n private collectModelChanges(modelPatches: Patch[]): TreeModelChanges {\r\n const addedNodeIds: string[] = [];\r\n const modifiedNodeIds = new Set<string>();\r\n const removedNodeIds: string[] = [];\r\n for (const patch of modelPatches) {\r\n if (patch.path.length >= 3 && patch.path[0] === \"_tree\" && patch.path[1] === \"_idToNode\") {\r\n const nodeId = patch.path[2] as string;\r\n\r\n if (patch.path.length > 3) {\r\n // Modification occured somewhere inside a node\r\n modifiedNodeIds.add(nodeId);\r\n continue;\r\n }\r\n\r\n // Modification occured directly on _idToNode object\r\n switch (patch.op) {\r\n case \"add\":\r\n addedNodeIds.push(nodeId);\r\n break;\r\n\r\n case \"remove\":\r\n removedNodeIds.push(nodeId);\r\n break;\r\n\r\n case \"replace\":\r\n modifiedNodeIds.add(nodeId);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return { addedNodeIds, modifiedNodeIds: [...modifiedNodeIds], removedNodeIds };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeModelSource.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModelSource.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAY/C;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAI1B,YAAoB,SAA2B,IAAI,gBAAgB,EAAE;QAAjD,WAAM,GAAN,MAAM,CAA2C;QAHrE,8DAA8D;QACvD,mBAAc,GAAG,IAAI,SAAS,EAAiC,CAAC;IAEC,CAAC;IAEzE;;;OAGG;IACI,WAAW,CAAC,QAA2C;QAC5D,IAAI,OAAO,GAAqB;YAC9B,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CACtB,IAAI,CAAC,MAAM,EACX,CAAC,KAAuB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC5C,CAAC,OAAgB,EAAE,EAAE;YACnB,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;QAEF,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,0BAA0B;IACnB,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,mBAAmB,CAAC,YAAqB;QAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YAChC,IACE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;gBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAC7B;gBACA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;gBAEvC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,+CAA+C;oBAC/C,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5B,SAAS;iBACV;gBAED,oDAAoD;gBACpD,QAAQ,KAAK,CAAC,EAAE,EAAE;oBAChB,KAAK,KAAK;wBACR,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM;oBAER,KAAK,QAAQ;wBACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,MAAM;oBAER,KAAK,SAAS;wBACZ,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC5B,MAAM;iBACT;aACF;SACF;QAED,OAAO;YACL,YAAY;YACZ,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;YACrC,cAAc;SACf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport type { Patch } from \"immer\";\nimport { produce } from \"immer\";\nimport { BeUiEvent } from \"@itwin/core-bentley\";\nimport type { TreeModel } from \"./TreeModel\";\nimport { MutableTreeModel } from \"./TreeModel\";\n\n/**\n * Data structure that describes changes which happened to the tree model\n * @public\n */\nexport interface TreeModelChanges {\n addedNodeIds: string[];\n modifiedNodeIds: string[];\n removedNodeIds: string[];\n}\n\n/**\n * Controls tree model.\n * It is used to modify model and inform when tree model changes.\n * @public\n */\nexport class TreeModelSource {\n /** Event that is emitted every time tree model is changed. */\n public onModelChanged = new BeUiEvent<[TreeModel, TreeModelChanges]>();\n\n constructor(private _model: MutableTreeModel = new MutableTreeModel()) {}\n\n /**\n * Modifies tree model using provided callback.\n * If changes to tree model is detected then onModelChanged event is emitted.\n */\n public modifyModel(callback: (model: MutableTreeModel) => void): void {\n let changes: TreeModelChanges = {\n addedNodeIds: [],\n modifiedNodeIds: [],\n removedNodeIds: [],\n };\n const newModel = produce(\n this._model,\n (draft: MutableTreeModel) => callback(draft),\n (patches: Patch[]) => {\n changes = this.collectModelChanges(patches);\n }\n );\n\n if (newModel !== this._model) {\n this._model = newModel;\n this.onModelChanged.emit([this._model, changes]);\n }\n }\n\n /** Returns tree model. */\n public getModel(): TreeModel {\n return this._model;\n }\n\n private collectModelChanges(modelPatches: Patch[]): TreeModelChanges {\n const addedNodeIds: string[] = [];\n const modifiedNodeIds = new Set<string>();\n const removedNodeIds: string[] = [];\n for (const patch of modelPatches) {\n if (\n patch.path.length >= 3 &&\n patch.path[0] === \"_tree\" &&\n patch.path[1] === \"_idToNode\"\n ) {\n const nodeId = patch.path[2] as string;\n\n if (patch.path.length > 3) {\n // Modification occured somewhere inside a node\n modifiedNodeIds.add(nodeId);\n continue;\n }\n\n // Modification occured directly on _idToNode object\n switch (patch.op) {\n case \"add\":\n addedNodeIds.push(nodeId);\n break;\n\n case \"remove\":\n removedNodeIds.push(nodeId);\n break;\n\n case \"replace\":\n modifiedNodeIds.add(nodeId);\n break;\n }\n }\n }\n\n return {\n addedNodeIds,\n modifiedNodeIds: [...modifiedNodeIds],\n removedNodeIds,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeNodeLoader.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module Tree
7
7
  */
@@ -16,7 +16,7 @@ import { publish } from "rxjs/internal/operators/publish";
16
16
  import { refCount } from "rxjs/internal/operators/refCount";
17
17
  import { toArray } from "rxjs/internal/operators/toArray";
18
18
  import { UiError } from "@itwin/appui-abstract";
19
- import { scheduleSubscription, SubscriptionScheduler } from "../../common/SubscriptionScheduler";
19
+ import { scheduleSubscription, SubscriptionScheduler, } from "../../common/SubscriptionScheduler";
20
20
  import { UiComponents } from "../../UiComponents";
21
21
  import { isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw, } from "../TreeDataProvider";
22
22
  import { toRxjsObservable } from "./Observable";
@@ -30,12 +30,16 @@ export class AbstractTreeNodeLoader {
30
30
  this._loadScheduler = new SubscriptionScheduler();
31
31
  this._treeModelSource = modelSource;
32
32
  }
33
- get modelSource() { return this._treeModelSource; }
33
+ get modelSource() {
34
+ return this._treeModelSource;
35
+ }
34
36
  /** Do not override this method. @see `load` */
35
37
  loadNode(parent, childIndex) {
36
38
  return toRxjsObservable(this.load(parent, childIndex)).pipe(map((loadedHierarchy) => {
37
39
  this.updateModel(loadedHierarchy);
38
- return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };
40
+ return {
41
+ loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),
42
+ };
39
43
  }), scheduleSubscription(this._loadScheduler));
40
44
  }
41
45
  /**
@@ -57,7 +61,9 @@ export class AbstractTreeNodeLoaderWithProvider extends AbstractTreeNodeLoader {
57
61
  super(modelSource);
58
62
  this._dataProvider = dataProvider;
59
63
  }
60
- get dataProvider() { return this._dataProvider; }
64
+ get dataProvider() {
65
+ return this._dataProvider;
66
+ }
61
67
  }
62
68
  /**
63
69
  * Default tree node loader with `TreeDataProvider` implementation.
@@ -82,10 +88,11 @@ export class TreeNodeLoader extends AbstractTreeNodeLoaderWithProvider {
82
88
  if (activeRequest) {
83
89
  return activeRequest;
84
90
  }
85
- const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)
86
- .pipe(map((loadedHierarchy) => {
91
+ const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined).pipe(map((loadedHierarchy) => {
87
92
  this.updateModel(loadedHierarchy);
88
- return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };
93
+ return {
94
+ loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),
95
+ };
89
96
  }), scheduleSubscription(this._scheduler), finalize(() => this._activeRequests.delete(parentId)));
90
97
  this._activeRequests.set(parentId, newRequest);
91
98
  return newRequest;
@@ -109,7 +116,9 @@ export class PagedTreeNodeLoader extends AbstractTreeNodeLoaderWithProvider {
109
116
  this._scheduler = new SubscriptionScheduler();
110
117
  }
111
118
  /** Returns page size used by tree node loader. */
112
- get pageSize() { return this._pageSize; }
119
+ get pageSize() {
120
+ return this._pageSize;
121
+ }
113
122
  /**
114
123
  * Schedules to load one page of node children and returns an Observable.
115
124
  * @note It does not start loading node page until '.subscribe()' is called on returned Observable.
@@ -128,7 +137,9 @@ export class PagedTreeNodeLoader extends AbstractTreeNodeLoaderWithProvider {
128
137
  const startIndex = page * this._pageSize;
129
138
  const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, startIndex, this._pageSize, parent.numChildren === undefined).pipe(map((loadedHierarchy) => {
130
139
  this.updateModel(loadedHierarchy);
131
- return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };
140
+ return {
141
+ loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),
142
+ };
132
143
  }), scheduleSubscription(this._scheduler), finalize(() => {
133
144
  parentPageRequests.delete(page);
134
145
  if (parentPageRequests.size === 0) {
@@ -147,9 +158,9 @@ export class PagedTreeNodeLoader extends AbstractTreeNodeLoaderWithProvider {
147
158
  }
148
159
  function requestLoadedHierarchy(parentItem, dataSource, start, take, requestNumChildren) {
149
160
  const parentId = parentItem && parentItem.id;
150
- return dataSource.requestItems(parentItem, start, take, requestNumChildren)
151
- .pipe(concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)
152
- .pipe(map((hierarchyItems) => ({
161
+ return dataSource
162
+ .requestItems(parentItem, start, take, requestNumChildren)
163
+ .pipe(concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take).pipe(map((hierarchyItems) => ({
153
164
  parentId,
154
165
  offset: start,
155
166
  hierarchyItems,
@@ -157,20 +168,21 @@ function requestLoadedHierarchy(parentItem, dataSource, start, take, requestNumC
157
168
  })))));
158
169
  }
159
170
  function loadHierarchy(rootItems, dataSource, take) {
160
- return from(rootItems)
161
- .pipe(concatMap((item) => {
171
+ return from(rootItems).pipe(concatMap((item) => {
162
172
  if (!item.autoExpand || item.children) {
163
173
  return of(convertToLoadedNodeHierarchyItem(item));
164
174
  }
165
- return dataSource.requestItems(item, 0, take, true)
166
- .pipe(concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)
167
- .pipe(map((children) => ({ item, children, numChildren })))));
175
+ return dataSource
176
+ .requestItems(item, 0, take, true)
177
+ .pipe(concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take).pipe(map((children) => ({ item, children, numChildren })))));
168
178
  }), toArray());
169
179
  }
170
180
  function convertToLoadedNodeHierarchyItem(item) {
171
181
  return {
172
182
  item,
173
- children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,
183
+ children: item.children
184
+ ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child))
185
+ : undefined,
174
186
  numChildren: item.children ? item.children.length : undefined,
175
187
  };
176
188
  }
@@ -195,7 +207,9 @@ export function handleLoadedNodeHierarchy(modelSource, loadedHierarchy) {
195
207
  if (loadedHierarchy.parentId !== undefined) {
196
208
  const parentNode = model.getNode(loadedHierarchy.parentId);
197
209
  /* istanbul ignore else */
198
- if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {
210
+ if (parentNode &&
211
+ parentNode.isLoading &&
212
+ parentNode.numChildren !== undefined) {
199
213
  parentNode.isLoading = false;
200
214
  }
201
215
  }
@@ -216,7 +230,10 @@ function updateChildren(model, parentId, hierarchyItems, startIndex, numChildren
216
230
  const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);
217
231
  const existingNode = model.getNode(hierarchyItem.item.id);
218
232
  // if same item exists in the same position and is expanded update it without removing it's subtree
219
- if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {
233
+ if (!existingNode ||
234
+ !existingNode.isExpanded ||
235
+ model.getChildOffset(parentId, existingNode.id) !== offset ||
236
+ nodeInput.numChildren === 0) {
220
237
  model.setChildren(parentId, [nodeInput], offset);
221
238
  }
222
239
  else {
@@ -266,22 +283,23 @@ export class TreeDataSource {
266
283
  return defer(async () => {
267
284
  if (isTreeDataProviderInterface(this._dataProvider)) {
268
285
  const dataProvider = this._dataProvider;
269
- return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])
270
- .pipe(concatMap(async (numChildren) => {
271
- const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;
286
+ return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined]).pipe(concatMap(async (numChildren) => {
287
+ const pageOptions = numItems !== 0
288
+ ? { size: numItems, start: firstItemIndex }
289
+ : undefined;
272
290
  return {
273
291
  loadedItems: await dataProvider.getNodes(parent, pageOptions),
274
292
  numChildren,
275
293
  };
276
294
  }));
277
295
  }
278
- return from(this.getItems(parent))
279
- .pipe(map((loadedItems) => ({
280
- loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,
296
+ return from(this.getItems(parent)).pipe(map((loadedItems) => ({
297
+ loadedItems: numItems !== 0
298
+ ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems)
299
+ : loadedItems,
281
300
  numChildren: loadedItems.length,
282
301
  })));
283
- })
284
- .pipe(concatAll(), publish(), refCount());
302
+ }).pipe(concatAll(), publish(), refCount());
285
303
  }
286
304
  async getItems(parent) {
287
305
  if (isTreeDataProviderRaw(this._dataProvider)) {
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport type { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport type {\r\n ImmediatelyLoadedTreeNodeItem,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem} from \"../TreeDataProvider\";\r\nimport { isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n} from \"../TreeDataProvider\";\r\nimport type { Observable} from \"./Observable\";\r\nimport { toRxjsObservable } from \"./Observable\";\r\nimport type { MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { isTreeModelNode } from \"./TreeModel\";\r\nimport type { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport type { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\nimport { defer } from \"rxjs/internal/observable/defer\";\nimport { from } from \"rxjs/internal/observable/from\";\nimport { of } from \"rxjs/internal/observable/of\";\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\nimport { finalize } from \"rxjs/internal/operators/finalize\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { publish } from \"rxjs/internal/operators/publish\";\nimport { refCount } from \"rxjs/internal/operators/refCount\";\nimport { toArray } from \"rxjs/internal/operators/toArray\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport {\n scheduleSubscription,\n SubscriptionScheduler,\n} from \"../../common/SubscriptionScheduler\";\nimport { UiComponents } from \"../../UiComponents\";\nimport type {\n ImmediatelyLoadedTreeNodeItem,\n TreeDataProvider,\n TreeDataProviderRaw,\n TreeNodeItem,\n} from \"../TreeDataProvider\";\nimport {\n isTreeDataProviderInterface,\n isTreeDataProviderMethod,\n isTreeDataProviderPromise,\n isTreeDataProviderRaw,\n} from \"../TreeDataProvider\";\nimport type { Observable } from \"./Observable\";\nimport { toRxjsObservable } from \"./Observable\";\nimport type {\n MutableTreeModel,\n TreeModelNode,\n TreeModelNodeInput,\n TreeModelRootNode,\n TreeNodeItemData,\n} from \"./TreeModel\";\nimport { isTreeModelNode } from \"./TreeModel\";\nimport type { TreeModelSource } from \"./TreeModelSource\";\n\n/**\n * Data structure that describes node load result\n * @public\n */\nexport interface TreeNodeLoadResult {\n loadedNodes: TreeNodeItem[];\n}\n\n/**\n * Tree node loader which is used to load tree nodes.\n * @public\n */\nexport interface ITreeNodeLoader {\n /**\n * Loads node at specified place in tree.\n * @param parentId specifies tree branch\n * @param childIndex specifies offset in the branch.\n */\n loadNode(\n parentId: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult>;\n}\n\n/**\n * Tree node loader which uses `TreeDataProvider` to load nodes.\n * @public\n */\nexport interface ITreeNodeLoaderWithProvider<\n TDataProvider extends TreeDataProvider\n> extends ITreeNodeLoader {\n /** Returns `TreeDataProvider` used to load nodes. */\n readonly dataProvider: TDataProvider;\n}\n\n/**\n * Abstract node loader implementation which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\n private _treeModelSource: TreeModelSource;\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n protected constructor(modelSource: TreeModelSource) {\n this._treeModelSource = modelSource;\n }\n\n public get modelSource() {\n return this._treeModelSource;\n }\n\n /** Do not override this method. @see `load` */\n public loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult> {\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._loadScheduler)\n );\n }\n\n /**\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\n * in the hierarchy, etc.)\n */\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\n }\n\n /** An abstract method to load a node at the specific index for the specified parent. */\n protected abstract load(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<LoadedNodeHierarchy>;\n}\n\n/**\n * Abstract node loader with tree data provider which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoaderWithProvider<\n TDataProvider extends TreeDataProvider\n >\n extends AbstractTreeNodeLoader\n implements ITreeNodeLoaderWithProvider<TDataProvider>\n{\n private _dataProvider: TDataProvider;\n\n protected constructor(\n modelSource: TreeModelSource,\n dataProvider: TDataProvider\n ) {\n super(modelSource);\n this._dataProvider = dataProvider;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n}\n\n/**\n * Default tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class TreeNodeLoader<\n TDataProvider extends TreeDataProvider\n> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _activeRequests = new Map<\n string | undefined,\n RxjsObservable<TreeNodeLoadResult>\n >();\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n }\n\n /**\n * Schedules to load children of node and returns an Observable.\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n _childIndex?: number\n ): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const activeRequest = this._activeRequests.get(parentId);\n if (activeRequest) {\n return activeRequest;\n }\n\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n 0,\n 0,\n parent.numChildren === undefined\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => this._activeRequests.delete(parentId))\n );\n this._activeRequests.set(parentId, newRequest);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Default paged tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class PagedTreeNodeLoader<\n TDataProvider extends TreeDataProvider\n> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _pageSize: number;\n private _activePageRequests: Map<\n string | undefined,\n Map<number, Observable<TreeNodeLoadResult>>\n >;\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\n\n constructor(\n dataProvider: TDataProvider,\n modelSource: TreeModelSource,\n pageSize: number\n ) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n this._pageSize = pageSize;\n this._activePageRequests = new Map();\n this._scheduler = new SubscriptionScheduler();\n }\n\n /** Returns page size used by tree node loader. */\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /**\n * Schedules to load one page of node children and returns an Observable.\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(\n parent: TreeModelNode | TreeModelRootNode,\n childIndex: number\n ): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const parentPageRequests =\n this._activePageRequests.get(parentId) ??\n new Map<number, Observable<TreeNodeLoadResult>>();\n const page = Math.trunc(childIndex / this._pageSize);\n const activeRequest = parentPageRequests.get(page);\n if (activeRequest) {\n return activeRequest;\n }\n\n const startIndex = page * this._pageSize;\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n startIndex,\n this._pageSize,\n parent.numChildren === undefined\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return {\n loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems),\n };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => {\n parentPageRequests.delete(page);\n if (parentPageRequests.size === 0) {\n this._activePageRequests.delete(parentId);\n }\n })\n );\n\n parentPageRequests.set(page, newRequest);\n this._activePageRequests.set(parentId, parentPageRequests);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Data structure that describes hierarchy loaded for parent node.\n * @public\n */\nexport interface LoadedNodeHierarchy {\n /** Node id of the parent node for loaded hierarchy. */\n parentId: string | undefined;\n /** Hierarchy items offset in parent node children array. */\n offset: number;\n /** Loaded hierarchy items. */\n hierarchyItems: LoadedNodeHierarchyItem[];\n /** Number of children parent node has. */\n numChildren?: number;\n}\n\n/**\n * Data structure that describes one loaded hierarchy item.\n * @public\n */\nexport interface LoadedNodeHierarchyItem {\n /** Loaded tree node item. */\n item: TreeNodeItemData;\n /** Children of loaded tree node item. */\n children?: LoadedNodeHierarchyItem[];\n /** Number of children tree node item has. */\n numChildren?: number;\n}\n\nfunction requestLoadedHierarchy(\n parentItem: TreeNodeItem | undefined,\n dataSource: TreeDataSource,\n start: number,\n take: number,\n requestNumChildren: boolean\n) {\n const parentId = parentItem && parentItem.id;\n return dataSource\n .requestItems(parentItem, start, take, requestNumChildren)\n .pipe(\n concatMap(({ numChildren, loadedItems }) =>\n loadHierarchy(loadedItems, dataSource, take).pipe(\n map((hierarchyItems) => ({\n parentId,\n offset: start,\n hierarchyItems,\n numChildren,\n }))\n )\n )\n );\n}\n\nfunction loadHierarchy(\n rootItems: TreeNodeItemData[],\n dataSource: TreeDataSource,\n take: number\n): RxjsObservable<LoadedNodeHierarchyItem[]> {\n return from(rootItems).pipe(\n concatMap((item) => {\n if (!item.autoExpand || item.children) {\n return of(convertToLoadedNodeHierarchyItem(item));\n }\n\n return dataSource\n .requestItems(item, 0, take, true)\n .pipe(\n concatMap(({ numChildren, loadedItems }) =>\n loadHierarchy(loadedItems, dataSource, take).pipe(\n map((children) => ({ item, children, numChildren }))\n )\n )\n );\n }),\n toArray()\n );\n}\n\nfunction convertToLoadedNodeHierarchyItem(\n item: TreeNodeItemData\n): LoadedNodeHierarchyItem {\n return {\n item,\n children: item.children\n ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child))\n : undefined,\n numChildren: item.children ? item.children.length : undefined,\n };\n}\n\nfunction collectTreeNodeItems(\n hierarchyItems: LoadedNodeHierarchyItem[],\n result: TreeNodeItem[] = []\n) {\n for (const hierarchyItem of hierarchyItems) {\n result.push(hierarchyItem.item);\n if (hierarchyItem.children)\n collectTreeNodeItems(hierarchyItem.children, result);\n }\n\n return result;\n}\n\n/** @internal */\nexport function handleLoadedNodeHierarchy(\n modelSource: TreeModelSource,\n loadedHierarchy: LoadedNodeHierarchy\n) {\n modelSource.modifyModel((model) => {\n if (loadedHierarchy.parentId !== undefined) {\n // Make sure the model sill contains the parent node\n /* istanbul ignore if */\n if (model.getNode(loadedHierarchy.parentId) === undefined) return;\n }\n\n updateChildren(\n model,\n loadedHierarchy.parentId,\n loadedHierarchy.hierarchyItems,\n loadedHierarchy.offset,\n loadedHierarchy.numChildren\n );\n if (loadedHierarchy.parentId !== undefined) {\n const parentNode = model.getNode(loadedHierarchy.parentId);\n /* istanbul ignore else */\n if (\n parentNode &&\n parentNode.isLoading &&\n parentNode.numChildren !== undefined\n ) {\n parentNode.isLoading = false;\n }\n }\n });\n}\n\nfunction updateChildren(\n model: MutableTreeModel,\n parentId: string | undefined,\n hierarchyItems: LoadedNodeHierarchyItem[],\n startIndex: number,\n numChildren?: number\n) {\n // numChildren set to undefined indicates that this is not the first request for children\n if (numChildren !== undefined) {\n model.setNumChildren(parentId, numChildren);\n }\n\n // if children array is undefined do not add children as they should be disposed\n if (model.getChildren(parentId) === undefined) {\n return;\n }\n\n let offset = startIndex;\n for (const hierarchyItem of hierarchyItems) {\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\n const existingNode = model.getNode(hierarchyItem.item.id);\n\n // if same item exists in the same position and is expanded update it without removing it's subtree\n if (\n !existingNode ||\n !existingNode.isExpanded ||\n model.getChildOffset(parentId, existingNode.id) !== offset ||\n nodeInput.numChildren === 0\n ) {\n model.setChildren(parentId, [nodeInput], offset);\n } else {\n existingNode.label = nodeInput.label;\n existingNode.description = nodeInput.description ?? \"\";\n existingNode.item = nodeInput.item;\n }\n\n if (hierarchyItem.children) {\n updateChildren(\n model,\n hierarchyItem.item.id,\n hierarchyItem.children,\n 0,\n hierarchyItem.numChildren\n );\n }\n offset++;\n }\n}\n\nfunction convertToTreeModelNodeInput(\n item: TreeNodeItemData\n): TreeModelNodeInput {\n let numChildren: number | undefined;\n if (item.children) {\n numChildren = item.children.length;\n } else if (!item.hasChildren) {\n numChildren = 0;\n }\n\n return {\n description: item.description,\n isExpanded: !!item.autoExpand,\n id: item.id,\n item,\n label: item.label,\n isLoading: false,\n numChildren,\n isSelected: false,\n };\n}\n\ninterface TreeDataSourceResult {\n loadedItems: TreeNodeItemData[];\n numChildren?: number;\n}\n\n/**\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\n *\n * @internal\n */\nexport class TreeDataSource {\n private _dataProvider: TreeDataProvider;\n\n constructor(dataProvider: TreeDataProvider) {\n this._dataProvider = dataProvider;\n }\n\n public requestItems(\n parent: TreeNodeItem | undefined,\n firstItemIndex: number,\n numItems: number,\n requestNumChildren: boolean\n ): RxjsObservable<TreeDataSourceResult> {\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\n return defer(async () => {\n if (isTreeDataProviderInterface(this._dataProvider)) {\n const dataProvider = this._dataProvider;\n return from(\n requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined]\n ).pipe(\n concatMap(async (numChildren) => {\n const pageOptions =\n numItems !== 0\n ? { size: numItems, start: firstItemIndex }\n : undefined;\n return {\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\n numChildren,\n };\n })\n );\n }\n\n return from(this.getItems(parent)).pipe(\n map((loadedItems) => ({\n loadedItems:\n numItems !== 0\n ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems)\n : loadedItems,\n numChildren: loadedItems.length,\n }))\n );\n }).pipe(concatAll(), publish(), refCount());\n }\n\n private async getItems(\n parent: TreeNodeItem | undefined\n ): Promise<TreeNodeItemData[]> {\n if (isTreeDataProviderRaw(this._dataProvider)) {\n return this.getChildren(this._dataProvider, parent);\n }\n\n if (isTreeDataProviderMethod(this._dataProvider)) {\n return this._dataProvider(parent);\n }\n\n if (isTreeDataProviderPromise(this._dataProvider)) {\n this._dataProvider = await this._dataProvider;\n return this.getChildren(this._dataProvider, parent);\n }\n\n throw new UiError(\n UiComponents.loggerCategory(this),\n \"Unsupported TreeDataProvider.\"\n );\n }\n\n private getChildren(\n rawProvider: TreeDataProviderRaw,\n parent: TreeNodeItem | undefined\n ): TreeNodeItemData[] {\n if (parent === undefined) return rawProvider;\n\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAA6D,MAAM,cAAc,CAAC;AAEzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,eAAe,CAAC;IAC5B,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,wCAAwC;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC3C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC1C,kEAAkE;IAClE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAiCxD"}
1
+ {"version":3,"file":"ControlledTree.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,eAAe,CAAC;IAC5B,2BAA2B;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,wCAAwC;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC3C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAC1C,kEAAkE;IAClE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAqDxD"}