@itwin/components-react 4.0.0-dev.12 → 4.0.0-dev.14

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 (933) hide show
  1. package/CHANGELOG.md +129 -1
  2. package/README.md +2 -2
  3. package/lib/cjs/components-react/UiComponents.d.ts +35 -35
  4. package/lib/cjs/components-react/UiComponents.js +79 -79
  5. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  6. package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
  7. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  8. package/lib/cjs/components-react/common/DateUtils.js +74 -74
  9. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +22 -22
  10. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  11. package/lib/cjs/components-react/common/DelayedSpinner.js +60 -57
  12. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  13. package/lib/cjs/components-react/common/HighlightedText.d.ts +22 -22
  14. package/lib/cjs/components-react/common/HighlightedText.js +38 -38
  15. package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
  16. package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
  17. package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
  18. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  19. package/lib/cjs/components-react/common/IImageLoader.js +9 -9
  20. package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
  21. package/lib/cjs/components-react/common/ImageRenderer.js +146 -142
  22. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  23. package/lib/cjs/components-react/common/Links.d.ts +12 -12
  24. package/lib/cjs/components-react/common/Links.js +71 -71
  25. package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
  26. package/lib/cjs/components-react/common/PageOptions.js +9 -9
  27. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
  28. package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
  29. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
  30. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  31. package/lib/cjs/components-react/common/UseAsyncValue.js +68 -64
  32. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  33. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  34. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
  35. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +15 -15
  36. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +48 -48
  37. package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
  38. package/lib/cjs/components-react/common/UseRerender.js +31 -31
  39. package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
  40. package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
  41. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
  42. package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
  43. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
  44. package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
  45. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  46. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
  47. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  48. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  49. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
  50. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  51. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
  52. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
  53. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
  55. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  56. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  57. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
  58. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  59. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  60. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
  61. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
  62. package/lib/cjs/components-react/converters/NumericTypeConverter.js +111 -113
  63. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  64. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
  65. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  66. package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
  67. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  68. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
  69. package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
  70. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  71. package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
  72. package/lib/cjs/components-react/converters/TypeConverter.js +76 -77
  73. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  74. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
  75. package/lib/cjs/components-react/converters/TypeConverterManager.js +50 -50
  76. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  77. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  78. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
  79. package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
  80. package/lib/cjs/components-react/datepicker/DateField.js +160 -156
  81. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  82. package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
  83. package/lib/cjs/components-react/datepicker/DatePicker.js +212 -208
  84. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  85. package/lib/cjs/components-react/datepicker/DatePicker.scss +0 -1
  86. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  87. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +103 -99
  88. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  89. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +1 -1
  90. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
  91. package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
  92. package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
  93. package/lib/cjs/components-react/datepicker/TimeField.js +252 -248
  94. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  95. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +45 -45
  96. package/lib/cjs/components-react/editors/BooleanEditor.js +152 -148
  97. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  98. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
  99. package/lib/cjs/components-react/editors/CustomNumberEditor.js +297 -295
  100. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  101. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +1 -2
  102. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
  103. package/lib/cjs/components-react/editors/DateTimeEditor.js +305 -302
  104. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  105. package/lib/cjs/components-react/editors/EditorContainer.d.ts +92 -92
  106. package/lib/cjs/components-react/editors/EditorContainer.js +187 -183
  107. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  108. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +44 -44
  109. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +185 -181
  110. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  111. package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
  112. package/lib/cjs/components-react/editors/EnumEditor.js +192 -188
  113. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  114. package/lib/cjs/components-react/editors/EnumEditor.scss +2 -2
  115. package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
  116. package/lib/cjs/components-react/editors/IconEditor.js +169 -165
  117. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  118. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  119. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +151 -147
  120. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  121. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
  122. package/lib/cjs/components-react/editors/NumericInputEditor.js +175 -171
  123. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  124. package/lib/cjs/components-react/editors/NumericInputEditor.scss +1 -2
  125. package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
  126. package/lib/cjs/components-react/editors/PopupButton.js +118 -115
  127. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  128. package/lib/cjs/components-react/editors/PopupButton.scss +3 -3
  129. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
  130. package/lib/cjs/components-react/editors/PropertyEditorManager.js +151 -147
  131. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  132. package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
  133. package/lib/cjs/components-react/editors/SliderEditor.js +252 -248
  134. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  135. package/lib/cjs/components-react/editors/SliderEditor.scss +2 -2
  136. package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
  137. package/lib/cjs/components-react/editors/TextEditor.js +168 -166
  138. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  139. package/lib/cjs/components-react/editors/TextEditor.scss +1 -2
  140. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
  141. package/lib/cjs/components-react/editors/TextareaEditor.js +206 -202
  142. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  143. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
  144. package/lib/cjs/components-react/editors/ToggleEditor.js +152 -148
  145. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  146. package/lib/cjs/components-react/editors/variables.scss +1 -0
  147. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +36 -36
  148. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  149. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +72 -68
  150. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  151. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  152. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +54 -51
  153. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  154. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  155. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +62 -58
  156. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  157. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +79 -79
  158. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +86 -82
  159. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  160. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +21 -21
  161. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +89 -85
  162. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  163. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -37
  164. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +90 -86
  165. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  166. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -23
  167. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +55 -52
  168. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  169. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -26
  170. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +66 -62
  171. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  172. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -22
  173. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +52 -48
  174. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  175. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +86 -86
  176. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  177. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +245 -241
  178. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  179. package/lib/cjs/components-react/filter-builder/Operators.d.ts +44 -44
  180. package/lib/cjs/components-react/filter-builder/Operators.js +130 -130
  181. package/lib/cjs/components-react/filter-builder/Types.d.ts +37 -37
  182. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  183. package/lib/cjs/components-react/filter-builder/Types.js +18 -18
  184. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
  185. package/lib/cjs/components-react/filtering/FilteringInput.js +150 -146
  186. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  187. package/lib/cjs/components-react/filtering/FilteringInput.scss +1 -2
  188. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
  189. package/lib/cjs/components-react/filtering/ResultSelector.js +129 -125
  190. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  191. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  192. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +117 -113
  193. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  194. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
  195. package/lib/cjs/components-react/inputs/ParsedInput.js +114 -110
  196. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  197. package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
  198. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  199. package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
  200. package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
  201. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  202. package/lib/cjs/components-react/properties/LinkHandler.js +108 -104
  203. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  204. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
  205. package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
  206. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  207. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +60 -56
  208. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  209. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  210. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  211. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
  212. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  213. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +95 -92
  214. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  215. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  216. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +97 -93
  217. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  218. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  219. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +59 -56
  220. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  221. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  222. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
  223. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  224. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +112 -108
  225. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  226. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
  227. package/lib/cjs/components-react/properties/renderers/PropertyView.js +105 -101
  228. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  229. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  230. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +61 -57
  231. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  233. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +47 -43
  234. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  236. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +53 -50
  237. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  239. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +62 -58
  240. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  242. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +58 -55
  243. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  245. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
  246. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +24 -24
  247. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +96 -95
  248. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  250. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +58 -55
  251. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  252. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  253. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +89 -88
  255. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  256. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  257. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +59 -55
  258. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  259. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  260. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +70 -66
  261. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  262. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  263. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +43 -39
  265. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  266. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  267. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +54 -50
  268. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  269. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +44 -44
  270. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +91 -87
  271. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  272. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  273. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +52 -48
  274. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  275. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  276. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  277. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +42 -43
  278. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  279. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  280. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
  281. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  282. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
  283. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  284. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +106 -102
  286. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  287. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  288. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +53 -49
  289. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  290. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +32 -32
  291. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +63 -60
  292. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  293. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +61 -61
  294. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +187 -185
  295. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  296. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +99 -86
  297. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  298. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
  299. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  301. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  302. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +125 -121
  303. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  304. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  305. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +72 -68
  306. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  307. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +119 -118
  308. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  309. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +266 -267
  310. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  311. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +25 -24
  312. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  313. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
  314. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  316. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +182 -184
  317. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  319. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
  320. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  321. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  322. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +50 -51
  323. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  325. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
  326. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  327. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
  328. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  329. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
  330. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  331. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
  332. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  333. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
  334. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  335. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
  336. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  337. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  338. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
  339. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  340. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
  341. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +51 -51
  342. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  343. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
  344. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  345. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
  346. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  347. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
  348. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  349. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
  350. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +21 -21
  351. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +48 -49
  352. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  353. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +163 -163
  354. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  355. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
  356. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +43 -43
  358. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +74 -75
  359. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  361. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
  362. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  364. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +72 -68
  365. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -40
  367. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +84 -82
  368. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  369. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
  370. package/lib/cjs/components-react/selectable-content/SelectableContent.js +75 -72
  371. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  372. package/lib/cjs/components-react/table/TableDataProvider.d.ts +10 -10
  373. package/lib/cjs/components-react/table/TableDataProvider.js +18 -18
  374. package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
  375. package/lib/cjs/components-react/toolbar/Item.js +50 -46
  376. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  377. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
  378. package/lib/cjs/components-react/toolbar/ItemWrapper.js +63 -59
  379. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  380. package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
  381. package/lib/cjs/components-react/toolbar/Items.js +80 -76
  382. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  383. package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
  384. package/lib/cjs/components-react/toolbar/Overflow.js +76 -72
  385. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  386. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
  387. package/lib/cjs/components-react/toolbar/OverflowPanel.js +72 -68
  388. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  389. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
  390. package/lib/cjs/components-react/toolbar/PopupItem.js +109 -105
  391. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  392. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  393. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +175 -171
  394. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  395. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  396. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +146 -142
  397. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  398. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
  399. package/lib/cjs/components-react/toolbar/Toolbar.js +98 -94
  400. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  401. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +133 -133
  402. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  403. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +477 -473
  404. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  405. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  406. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +52 -48
  407. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  408. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  409. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +47 -43
  410. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  411. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  412. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +47 -43
  413. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  414. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  415. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +49 -45
  416. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  417. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  418. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +47 -43
  419. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  420. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  421. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +50 -46
  422. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  423. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  424. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +66 -62
  425. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  426. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
  427. package/lib/cjs/components-react/toolbar/useDragInteraction.js +129 -125
  428. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  429. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
  430. package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
  431. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  432. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
  433. package/lib/cjs/components-react/tree/HighlightingEngine.js +65 -61
  434. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  435. package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
  436. package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
  437. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +23 -23
  438. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  439. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +39 -39
  440. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
  441. package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
  442. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +97 -97
  443. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  444. package/lib/cjs/components-react/tree/TreeDataProvider.js +56 -56
  445. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +97 -97
  446. package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
  447. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
  448. package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
  449. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  450. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
  451. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  452. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
  453. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  454. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
  455. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  456. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +80 -80
  457. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
  458. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  459. package/lib/cjs/components-react/tree/controlled/TreeModel.js +330 -333
  460. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  461. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  462. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
  463. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +147 -147
  464. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +312 -314
  465. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  466. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +57 -57
  467. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +110 -106
  468. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  469. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  470. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  471. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +95 -90
  472. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  473. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  474. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  475. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +61 -57
  476. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  477. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  478. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  479. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +67 -63
  480. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  481. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -72
  482. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  483. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +256 -252
  484. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  485. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  486. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +243 -244
  487. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  488. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  489. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
  490. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  491. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  492. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +251 -253
  493. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  494. package/lib/cjs/components-react.d.ts +202 -202
  495. package/lib/cjs/components-react.js +226 -222
  496. package/lib/cjs/components-react.js.map +1 -1
  497. package/lib/esm/components-react/UiComponents.d.ts +35 -35
  498. package/lib/esm/components-react/UiComponents.js +76 -75
  499. package/lib/esm/components-react/UiComponents.js.map +1 -1
  500. package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
  501. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  502. package/lib/esm/components-react/common/DateUtils.js +68 -68
  503. package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
  504. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  505. package/lib/esm/components-react/common/DelayedSpinner.js +33 -34
  506. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  507. package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
  508. package/lib/esm/components-react/common/HighlightedText.js +31 -31
  509. package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
  510. package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
  511. package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
  512. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  513. package/lib/esm/components-react/common/IImageLoader.js +8 -8
  514. package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
  515. package/lib/esm/components-react/common/ImageRenderer.js +120 -119
  516. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  517. package/lib/esm/components-react/common/Links.d.ts +12 -12
  518. package/lib/esm/components-react/common/Links.js +64 -64
  519. package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
  520. package/lib/esm/components-react/common/PageOptions.js +8 -8
  521. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
  522. package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
  523. package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
  524. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  525. package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
  526. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  527. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  528. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
  529. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +15 -15
  530. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +44 -44
  531. package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
  532. package/lib/esm/components-react/common/UseRerender.js +27 -27
  533. package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
  534. package/lib/esm/components-react/common/countMatchesInString.js +27 -27
  535. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
  536. package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
  537. package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
  538. package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
  539. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  540. package/lib/esm/components-react/converters/BooleanTypeConverter.js +51 -50
  541. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  542. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  543. package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
  544. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  545. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
  546. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
  547. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  548. package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
  549. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  550. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  551. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
  552. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  553. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  554. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
  555. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
  556. package/lib/esm/components-react/converters/NumericTypeConverter.js +105 -107
  557. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  558. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
  559. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  560. package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
  561. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  562. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
  563. package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
  564. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  565. package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
  566. package/lib/esm/components-react/converters/TypeConverter.js +72 -73
  567. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  568. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
  569. package/lib/esm/components-react/converters/TypeConverterManager.js +47 -46
  570. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  571. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  572. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
  573. package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
  574. package/lib/esm/components-react/datepicker/DateField.js +129 -129
  575. package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
  576. package/lib/esm/components-react/datepicker/DatePicker.js +182 -182
  577. package/lib/esm/components-react/datepicker/DatePicker.scss +0 -1
  578. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  579. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +76 -76
  580. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +1 -1
  581. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
  582. package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
  583. package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
  584. package/lib/esm/components-react/datepicker/TimeField.js +225 -225
  585. package/lib/esm/components-react/editors/BooleanEditor.d.ts +45 -45
  586. package/lib/esm/components-react/editors/BooleanEditor.js +121 -121
  587. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
  588. package/lib/esm/components-react/editors/CustomNumberEditor.js +266 -268
  589. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  590. package/lib/esm/components-react/editors/CustomNumberEditor.scss +1 -2
  591. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
  592. package/lib/esm/components-react/editors/DateTimeEditor.js +273 -274
  593. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  594. package/lib/esm/components-react/editors/EditorContainer.d.ts +92 -92
  595. package/lib/esm/components-react/editors/EditorContainer.js +160 -160
  596. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +44 -44
  597. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +154 -154
  598. package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
  599. package/lib/esm/components-react/editors/EnumEditor.js +161 -161
  600. package/lib/esm/components-react/editors/EnumEditor.scss +2 -2
  601. package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
  602. package/lib/esm/components-react/editors/IconEditor.js +138 -138
  603. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  604. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
  605. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
  606. package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
  607. package/lib/esm/components-react/editors/NumericInputEditor.scss +1 -2
  608. package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
  609. package/lib/esm/components-react/editors/PopupButton.js +86 -87
  610. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  611. package/lib/esm/components-react/editors/PopupButton.scss +3 -3
  612. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
  613. package/lib/esm/components-react/editors/PropertyEditorManager.js +122 -121
  614. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  615. package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
  616. package/lib/esm/components-react/editors/SliderEditor.js +221 -221
  617. package/lib/esm/components-react/editors/SliderEditor.scss +2 -2
  618. package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
  619. package/lib/esm/components-react/editors/TextEditor.js +138 -140
  620. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  621. package/lib/esm/components-react/editors/TextEditor.scss +1 -2
  622. package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
  623. package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
  624. package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
  625. package/lib/esm/components-react/editors/ToggleEditor.js +121 -121
  626. package/lib/esm/components-react/editors/variables.scss +1 -0
  627. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +36 -36
  628. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  629. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +45 -45
  630. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  631. package/lib/esm/components-react/favorite/FavoritePropertyList.js +27 -28
  632. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  633. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  634. package/lib/esm/components-react/filter-builder/FilterBuilder.js +35 -35
  635. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +79 -79
  636. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +59 -59
  637. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +21 -21
  638. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +62 -62
  639. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -37
  640. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +62 -62
  641. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -23
  642. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +28 -29
  643. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  644. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -26
  645. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +39 -39
  646. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  647. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -22
  648. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +25 -25
  649. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  650. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +86 -86
  651. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  652. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +215 -215
  653. package/lib/esm/components-react/filter-builder/Operators.d.ts +44 -44
  654. package/lib/esm/components-react/filter-builder/Operators.js +124 -124
  655. package/lib/esm/components-react/filter-builder/Types.d.ts +37 -37
  656. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  657. package/lib/esm/components-react/filter-builder/Types.js +14 -14
  658. package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
  659. package/lib/esm/components-react/filtering/FilteringInput.js +120 -120
  660. package/lib/esm/components-react/filtering/FilteringInput.scss +1 -2
  661. package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
  662. package/lib/esm/components-react/filtering/ResultSelector.js +99 -99
  663. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  664. package/lib/esm/components-react/iconpicker/IconPickerButton.js +88 -87
  665. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  666. package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
  667. package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
  668. package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
  669. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  670. package/lib/esm/components-react/properties/ItemStyle.js +61 -61
  671. package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
  672. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  673. package/lib/esm/components-react/properties/LinkHandler.js +79 -79
  674. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
  675. package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
  676. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  677. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
  678. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  679. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  680. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
  681. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  682. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +68 -69
  683. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  684. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  685. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
  686. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  687. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  688. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +32 -33
  689. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  690. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  691. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
  692. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  693. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
  694. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
  695. package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
  696. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  697. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +34 -34
  698. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  699. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
  700. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  701. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +26 -27
  702. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  703. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  704. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
  705. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  706. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +31 -32
  707. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  708. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  709. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
  710. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +24 -24
  711. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +68 -71
  712. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  713. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  714. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +31 -32
  715. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  716. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  717. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  718. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +59 -62
  719. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  720. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  721. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
  722. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  723. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
  724. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  725. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  726. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
  727. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  728. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
  729. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +44 -44
  730. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +64 -64
  731. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  732. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
  733. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  734. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  735. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
  736. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  737. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  738. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
  739. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  740. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
  741. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  742. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  743. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +80 -79
  744. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  745. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  746. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
  747. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +32 -32
  748. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +36 -37
  749. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  750. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +61 -61
  751. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +157 -159
  752. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  753. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +99 -86
  754. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  755. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +52 -51
  756. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  757. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  758. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  759. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
  760. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  761. package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
  762. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +119 -118
  763. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  764. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +236 -241
  765. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  766. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +25 -24
  767. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  768. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
  769. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  770. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  771. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +178 -180
  772. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  773. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  774. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
  775. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  776. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  777. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +46 -47
  778. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  779. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  780. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
  781. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  782. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
  783. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  784. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
  785. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  786. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
  787. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  788. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
  789. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  790. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
  791. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  792. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  793. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
  794. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  795. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
  796. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +51 -51
  797. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  798. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
  799. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  800. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
  801. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  802. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
  803. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  804. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
  805. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +21 -21
  806. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +44 -45
  807. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  808. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +163 -163
  809. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  810. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
  811. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  812. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +43 -43
  813. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +70 -71
  814. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  815. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  816. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
  817. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  818. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  819. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
  820. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  821. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -40
  822. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +57 -59
  823. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  824. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
  825. package/lib/esm/components-react/selectable-content/SelectableContent.js +47 -48
  826. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  827. package/lib/esm/components-react/table/TableDataProvider.d.ts +10 -10
  828. package/lib/esm/components-react/table/TableDataProvider.js +14 -14
  829. package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
  830. package/lib/esm/components-react/toolbar/Item.js +21 -21
  831. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
  832. package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
  833. package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
  834. package/lib/esm/components-react/toolbar/Items.js +50 -50
  835. package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
  836. package/lib/esm/components-react/toolbar/Overflow.js +45 -45
  837. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
  838. package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
  839. package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
  840. package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
  841. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  842. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
  843. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  844. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
  845. package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
  846. package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
  847. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +133 -133
  848. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  849. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +441 -440
  850. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  851. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  852. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
  853. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  854. package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
  855. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  856. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
  857. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  858. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
  859. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  860. package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
  861. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  862. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
  863. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  864. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
  865. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
  866. package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
  867. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
  868. package/lib/esm/components-react/toolbar/utilities/Direction.js +91 -89
  869. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  870. package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
  871. package/lib/esm/components-react/tree/HighlightingEngine.js +39 -38
  872. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  873. package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
  874. package/lib/esm/components-react/tree/ImageLoader.js +21 -21
  875. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +23 -23
  876. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  877. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +35 -35
  878. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
  879. package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
  880. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +97 -97
  881. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  882. package/lib/esm/components-react/tree/TreeDataProvider.js +48 -48
  883. package/lib/esm/components-react/tree/controlled/Observable.d.ts +97 -97
  884. package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
  885. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
  886. package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
  887. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  888. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
  889. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  890. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
  891. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  892. package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
  893. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  894. package/lib/esm/components-react/tree/controlled/TreeHooks.js +72 -72
  895. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
  896. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  897. package/lib/esm/components-react/tree/controlled/TreeModel.js +321 -324
  898. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  899. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  900. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
  901. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +147 -147
  902. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +303 -305
  903. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  904. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +57 -57
  905. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +83 -83
  906. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  907. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  908. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +65 -64
  909. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  910. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  911. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  912. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
  913. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  914. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  915. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
  916. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  917. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -72
  918. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  919. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
  920. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  921. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  922. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +238 -239
  923. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  924. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  925. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
  926. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  927. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  928. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +246 -248
  929. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  930. package/lib/esm/components-react.d.ts +202 -202
  931. package/lib/esm/components-react.js +208 -208
  932. package/package.json +20 -17
  933. package/ThirdPartyNotices.md +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAC0B,2BAA2B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,qBAAqB,GAEvI,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA4F,MAAM,aAAa,CAAC;AAiCxI;;;GAGG;AACH,MAAM,OAAgB,sBAAsB;IAI1C,YAAsB,WAA4B;QAF1C,mBAAc,GAAG,IAAI,qBAAqB,EAAsB,CAAC;QAGvE,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE1D,+CAA+C;IACxC,QAAQ,CAAC,MAAyC,EAAE,UAAkB;QAC3E,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACzD,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACO,WAAW,CAAC,eAAoC;QACxD,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;CAIF;AAED;;;GAGG;AACH,MAAM,OAAgB,kCAA2E,SAAQ,sBAAsB;IAG7H,YAAsB,WAA4B,EAAE,YAA2B;QAC7E,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,OAAO,cAAuD,SAAQ,kCAAiD;IAK3H,YAAY,YAA2B,EAAE,WAA4B;QACnE,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAJ3B,oBAAe,GAAG,IAAI,GAAG,EAA0D,CAAC;QACpF,eAAU,GAAG,IAAI,qBAAqB,EAAsB,CAAC;QAInE,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACa,QAAQ,CAAC,MAAyC,EAAE,WAAoB;QACtF,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,QAAQ,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE;gBACjB,OAAO,aAAa,CAAC;aACtB;YAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC;iBAChH,IAAI,CACH,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACb,IAAI;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mBAA4D,SAAQ,kCAAiD;IAMhI,YAAY,YAA2B,EAAE,WAA4B,EAAE,QAAgB;QACrF,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAChD,CAAC;IAED,kDAAkD;IAClD,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD;;;OAGG;IACa,QAAQ,CAAC,MAAyC,EAAE,UAAkB;QACpF,OAAO,KAAK,CAAC,GAAG,EAAE;;YAChB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,QAAQ,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAC;YAChC,MAAM,kBAAkB,GAAG,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAC5D,IAAI,GAAG,EAA0C,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,aAAa,EAAE;gBACjB,OAAO,aAAa,CAAC;aACtB;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACzC,MAAM,UAAU,GAAG,sBAAsB,CACvC,UAAU,EACV,IAAI,CAAC,eAAe,EACpB,UAAU,EACV,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,WAAW,KAAK,SAAS,CACjC,CAAC,IAAI,CACJ,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,QAAQ,CAAC,GAAG,EAAE;gBACZ,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE;oBACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC,CACH,CAAC;YAEF,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACb,IAAI;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AA8BD,SAAS,sBAAsB,CAC7B,UAAoC,EACpC,UAA0B,EAC1B,KAAa,EACb,IAAY,EACZ,kBAA2B;IAE3B,MAAM,QAAQ,GAAG,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC;IAC7C,OAAO,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC;SACxE,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC;SACrF,IAAI,CACH,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvB,QAAQ;QACR,MAAM,EAAE,KAAK;QACb,cAAc;QACd,WAAW;KACZ,CAAC,CAAC,CACJ,CACF,CACF,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,SAA6B,EAAE,UAA0B,EAAE,IAAY;IAC5F,OAAO,IAAI,CAAC,SAAS,CAAC;SACnB,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD;QAED,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aAChD,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC;aACrF,IAAI,CACH,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CACrD,CACF,CACF,CAAC;IACN,CAAC,CAAC,EACF,OAAO,EAAE,CACV,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAsB;IAC9D,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3G,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAyC,EAAE,SAAyB,EAAE;IAClG,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,aAAa,CAAC,QAAQ;YACxB,oBAAoB,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACxD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,yBAAyB,CAAC,WAA4B,EAAE,eAAoC;IAC1G,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC1C,oDAAoD;YACpD,wBAAwB;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS;gBACvD,OAAO;SACV;QAED,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QACrI,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3D,0BAA0B;YAC1B,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC9E,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;aAC9B;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,KAAuB,EACvB,QAA4B,EAC5B,cAAyC,EACzC,UAAkB,EAClB,WAAoB;;IAEpB,yFAAyF;IACzF,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KAC7C;IAED,gFAAgF;IAChF,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;QAC7C,OAAO;KACR;IAED,IAAI,MAAM,GAAG,UAAU,CAAC;IACxB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,SAAS,GAAG,2BAA2B,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1D,mGAAmG;QACnG,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1I,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;SAClD;aAAM;YACL,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YACrC,YAAY,CAAC,WAAW,GAAG,MAAA,SAAS,CAAC,WAAW,mCAAI,EAAE,CAAC;YACvD,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;SACpC;QAED,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;SACpG;QACD,MAAM,EAAE,CAAC;KACV;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAsB;IACzD,IAAI,WAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;KACpC;SAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAC5B,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,WAAW;QACX,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IAGzB,YAAY,YAA8B;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAEM,YAAY,CACjB,MAAgC,EAChC,cAAsB,EACtB,QAAgB,EAChB,kBAA2B;QAE3B,+GAA+G;QAC/G,+GAA+G;QAC/G,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;gBACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;qBAC/E,IAAI,CACH,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;oBAC9B,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC3F,OAAO;wBACL,WAAW,EAAE,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;wBAC7D,WAAW;qBACZ,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC/B,IAAI,CACH,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACpB,WAAW,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;gBACxG,WAAW,EAAE,WAAW,CAAC,MAAM;aAChC,CAAC,CAAC,CACJ,CAAC;QACN,CAAC,CAAC;aACC,IAAI,CACH,SAAS,EAAE,EACX,OAAO,EAAE,EACT,QAAQ,EAAE,CACX,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAgC;QACrD,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACjD,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;IACxF,CAAC;IAEO,WAAW,CAAC,WAAgC,EAAE,MAAgC;;QACpF,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,WAAW,CAAC;QAErB,OAAO,MAAC,MAAwC,CAAC,QAAQ,mCAAI,EAAE,CAAC;IAClE,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 { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport {\r\n ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem,\r\n} from \"../TreeDataProvider\";\r\nimport { Observable, toRxjsObservable } from \"./Observable\";\r\nimport { isTreeModelNode, MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAC0B,2BAA2B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,qBAAqB,GAEvI,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA4F,MAAM,aAAa,CAAC;AAiCxI;;;GAGG;AACH,MAAM,OAAgB,sBAAsB;IAI1C,YAAsB,WAA4B;QAF1C,mBAAc,GAAG,IAAI,qBAAqB,EAAsB,CAAC;QAGvE,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE1D,+CAA+C;IACxC,QAAQ,CAAC,MAAyC,EAAE,UAAkB;QAC3E,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACzD,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACO,WAAW,CAAC,eAAoC;QACxD,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;CAIF;AAED;;;GAGG;AACH,MAAM,OAAgB,kCAA2E,SAAQ,sBAAsB;IAG7H,YAAsB,WAA4B,EAAE,YAA2B;QAC7E,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,OAAO,cAAuD,SAAQ,kCAAiD;IAK3H,YAAY,YAA2B,EAAE,WAA4B;QACnE,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAJ3B,oBAAe,GAAG,IAAI,GAAG,EAA0D,CAAC;QACpF,eAAU,GAAG,IAAI,qBAAqB,EAAsB,CAAC;QAInE,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACa,QAAQ,CAAC,MAAyC,EAAE,WAAoB;QACtF,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,QAAQ,GAAG,UAAU,EAAE,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE;gBACjB,OAAO,aAAa,CAAC;aACtB;YAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC;iBAChH,IAAI,CACH,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACb,IAAI;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mBAA4D,SAAQ,kCAAiD;IAMhI,YAAY,YAA2B,EAAE,WAA4B,EAAE,QAAgB;QACrF,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAChD,CAAC;IAED,kDAAkD;IAClD,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAExD;;;OAGG;IACa,QAAQ,CAAC,MAAyC,EAAE,UAAkB;QACpF,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,QAAQ,GAAG,UAAU,EAAE,EAAE,CAAC;YAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;mBAC5D,IAAI,GAAG,EAA0C,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,aAAa,EAAE;gBACjB,OAAO,aAAa,CAAC;aACtB;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACzC,MAAM,UAAU,GAAG,sBAAsB,CACvC,UAAU,EACV,IAAI,CAAC,eAAe,EACpB,UAAU,EACV,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,WAAW,KAAK,SAAS,CACjC,CAAC,IAAI,CACJ,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAClC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/E,CAAC,CAAC,EACF,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,QAAQ,CAAC,GAAG,EAAE;gBACZ,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE;oBACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC,CACH,CAAC;YAEF,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC3D,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACb,IAAI;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AA8BD,SAAS,sBAAsB,CAC7B,UAAoC,EACpC,UAA0B,EAC1B,KAAa,EACb,IAAY,EACZ,kBAA2B;IAE3B,MAAM,QAAQ,GAAG,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC;IAC7C,OAAO,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC;SACxE,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC;SACrF,IAAI,CACH,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvB,QAAQ;QACR,MAAM,EAAE,KAAK;QACb,cAAc;QACd,WAAW;KACZ,CAAC,CAAC,CACJ,CACF,CACF,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,SAA6B,EAAE,UAA0B,EAAE,IAAY;IAC5F,OAAO,IAAI,CAAC,SAAS,CAAC;SACnB,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD;QAED,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aAChD,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC;aACrF,IAAI,CACH,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CACrD,CACF,CACF,CAAC;IACN,CAAC,CAAC,EACF,OAAO,EAAE,CACV,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAsB;IAC9D,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3G,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAyC,EAAE,SAAyB,EAAE;IAClG,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,aAAa,CAAC,QAAQ;YACxB,oBAAoB,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACxD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,yBAAyB,CAAC,WAA4B,EAAE,eAAoC;IAC1G,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC1C,oDAAoD;YACpD,wBAAwB;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS;gBACvD,OAAO;SACV;QAED,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QACrI,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3D,0BAA0B;YAC1B,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC9E,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;aAC9B;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,KAAuB,EACvB,QAA4B,EAC5B,cAAyC,EACzC,UAAkB,EAClB,WAAoB;IAEpB,yFAAyF;IACzF,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KAC7C;IAED,gFAAgF;IAChF,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;QAC7C,OAAO;KACR;IAED,IAAI,MAAM,GAAG,UAAU,CAAC;IACxB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,SAAS,GAAG,2BAA2B,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1D,mGAAmG;QACnG,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,WAAW,KAAK,CAAC,EAAE;YAC1I,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;SAClD;aAAM;YACL,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YACrC,YAAY,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC;YACvD,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;SACpC;QAED,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;SACpG;QACD,MAAM,EAAE,CAAC;KACV;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAsB;IACzD,IAAI,WAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;KACpC;SAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAC5B,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,WAAW;QACX,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IAGzB,YAAY,YAA8B;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAEM,YAAY,CACjB,MAAgC,EAChC,cAAsB,EACtB,QAAgB,EAChB,kBAA2B;QAE3B,+GAA+G;QAC/G,+GAA+G;QAC/G,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;gBACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;qBAC/E,IAAI,CACH,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;oBAC9B,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC3F,OAAO;wBACL,WAAW,EAAE,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;wBAC7D,WAAW;qBACZ,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;aACL;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC/B,IAAI,CACH,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACpB,WAAW,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;gBACxG,WAAW,EAAE,WAAW,CAAC,MAAM;aAChC,CAAC,CAAC,CACJ,CAAC;QACN,CAAC,CAAC;aACC,IAAI,CACH,SAAS,EAAE,EACX,OAAO,EAAE,EACT,QAAQ,EAAE,CACX,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,MAAgC;QACrD,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACjD,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;IACxF,CAAC;IAEO,WAAW,CAAC,WAAgC,EAAE,MAAgC;QACpF,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,WAAW,CAAC;QAErB,OAAQ,MAAwC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAClE,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 { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport {\r\n ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem,\r\n} from \"../TreeDataProvider\";\r\nimport { Observable, toRxjsObservable } from \"./Observable\";\r\nimport { isTreeModelNode, MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
@@ -1,58 +1,58 @@
1
- /** @packageDocumentation
2
- * @module Tree
3
- */
4
- import * as React from "react";
5
- import { CommonProps } from "@itwin/core-react";
6
- import { SelectionMode } from "../../../common/selection/SelectionModes";
7
- import { HighlightableTreeProps } from "../../HighlightingEngine";
8
- import { TreeEvents } from "../TreeEvents";
9
- import { TreeModel } from "../TreeModel";
10
- import { ITreeNodeLoader } from "../TreeNodeLoader";
11
- import { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
12
- /**
13
- * Properties for [[ControlledTree]]
14
- * @public
15
- */
16
- export interface ControlledTreeProps extends CommonProps {
17
- /** Model of the tree to display. */
18
- model: TreeModel;
19
- /** Node loader used to load root nodes and placeholder nodes. */
20
- nodeLoader: ITreeNodeLoader;
21
- /** Tree events handler. */
22
- eventsHandler: TreeEvents;
23
- /** Mode of nodes' selection in tree. */
24
- selectionMode: SelectionMode;
25
- /**
26
- * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.
27
- * If custom node renderer and node height callbacks are used it does nothing.
28
- */
29
- descriptionsEnabled?: boolean;
30
- /**
31
- * Specifies whether to show node icon or not. It is used in default node renderer.
32
- * If custom node renderer is used it does nothing.
33
- */
34
- iconsEnabled?: boolean;
35
- /**
36
- * Used to highlight matches when filtering tree.
37
- * It is passed to treeRenderer.
38
- */
39
- nodeHighlightingProps?: HighlightableTreeProps;
40
- /** Custom renderer to be used to render a tree. */
41
- treeRenderer?: (props: TreeRendererProps) => React.ReactElement;
42
- /** Custom renderer to be used while root nodes is loading. */
43
- spinnerRenderer?: () => React.ReactElement;
44
- /** Custom renderer to be used when there is no data to show in tree. */
45
- noDataRenderer?: () => React.ReactElement;
46
- /** Callback that is invoked when rendered items range changes. */
47
- onItemsRendered?: (items: RenderedItemsRange) => void;
48
- /** Width of the tree renderer. */
49
- width: number;
50
- /** Height of the tree renderer. */
51
- height: number;
52
- }
53
- /**
54
- * React tree component which rendering is fully controlled from outside.
55
- * @public
56
- */
57
- export declare function ControlledTree(props: ControlledTreeProps): JSX.Element;
1
+ /** @packageDocumentation
2
+ * @module Tree
3
+ */
4
+ import * as React from "react";
5
+ import { CommonProps } from "@itwin/core-react";
6
+ import { SelectionMode } from "../../../common/selection/SelectionModes";
7
+ import { HighlightableTreeProps } from "../../HighlightingEngine";
8
+ import { TreeEvents } from "../TreeEvents";
9
+ import { TreeModel } from "../TreeModel";
10
+ import { ITreeNodeLoader } from "../TreeNodeLoader";
11
+ import { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
12
+ /**
13
+ * Properties for [[ControlledTree]]
14
+ * @public
15
+ */
16
+ export interface ControlledTreeProps extends CommonProps {
17
+ /** Model of the tree to display. */
18
+ model: TreeModel;
19
+ /** Node loader used to load root nodes and placeholder nodes. */
20
+ nodeLoader: ITreeNodeLoader;
21
+ /** Tree events handler. */
22
+ eventsHandler: TreeEvents;
23
+ /** Mode of nodes' selection in tree. */
24
+ selectionMode: SelectionMode;
25
+ /**
26
+ * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.
27
+ * If custom node renderer and node height callbacks are used it does nothing.
28
+ */
29
+ descriptionsEnabled?: boolean;
30
+ /**
31
+ * Specifies whether to show node icon or not. It is used in default node renderer.
32
+ * If custom node renderer is used it does nothing.
33
+ */
34
+ iconsEnabled?: boolean;
35
+ /**
36
+ * Used to highlight matches when filtering tree.
37
+ * It is passed to treeRenderer.
38
+ */
39
+ nodeHighlightingProps?: HighlightableTreeProps;
40
+ /** Custom renderer to be used to render a tree. */
41
+ treeRenderer?: (props: TreeRendererProps) => React.ReactElement;
42
+ /** Custom renderer to be used while root nodes is loading. */
43
+ spinnerRenderer?: () => React.ReactElement;
44
+ /** Custom renderer to be used when there is no data to show in tree. */
45
+ noDataRenderer?: () => React.ReactElement;
46
+ /** Callback that is invoked when rendered items range changes. */
47
+ onItemsRendered?: (items: RenderedItemsRange) => void;
48
+ /** Width of the tree renderer. */
49
+ width: number;
50
+ /** Height of the tree renderer. */
51
+ height: number;
52
+ }
53
+ /**
54
+ * React tree component which rendering is fully controlled from outside.
55
+ * @public
56
+ */
57
+ export declare function ControlledTree(props: ControlledTreeProps): JSX.Element;
58
58
  //# sourceMappingURL=ControlledTree.d.ts.map
@@ -1,84 +1,84 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Tree
7
- */
8
- import * as React from "react";
9
- import { FillCentered } from "@itwin/core-react";
10
- import { DelayedSpinner } from "../../../common/DelayedSpinner";
11
- import { UiComponents } from "../../../UiComponents";
12
- import { TreeImageLoader } from "../../ImageLoader";
13
- import { TreeEventDispatcher } from "../TreeEventDispatcher";
14
- import { computeVisibleNodes, isTreeModelNode } from "../TreeModel";
15
- import { TreeNodeRenderer } from "./TreeNodeRenderer";
16
- import { TreeRenderer } from "./TreeRenderer";
17
- /**
18
- * React tree component which rendering is fully controlled from outside.
19
- * @public
20
- */
21
- export function ControlledTree(props) {
22
- const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);
23
- const imageLoader = React.useMemo(() => new TreeImageLoader(), []);
24
- const nodeRenderer = React.useCallback((nodeProps) => (React.createElement(TreeNodeRenderer, { ...nodeProps, descriptionEnabled: props.descriptionsEnabled, imageLoader: props.iconsEnabled ? imageLoader : undefined })), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);
25
- const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);
26
- const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);
27
- const treeProps = {
28
- nodeRenderer,
29
- nodeHeight,
30
- visibleNodes,
31
- treeActions: eventDispatcher,
32
- nodeLoader: props.nodeLoader,
33
- nodeHighlightingProps: props.nodeHighlightingProps,
34
- onItemsRendered: props.onItemsRendered,
35
- width: props.width,
36
- height: props.height,
37
- };
38
- const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);
39
- const noData = visibleNodes.getNumRootNodes() === 0;
40
- return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? props.treeRenderer(treeProps) : React.createElement(TreeRenderer, { ...treeProps })));
41
- }
42
- function useRootNodeLoader(visibleNodes, nodeLoader) {
43
- React.useEffect(() => {
44
- if (visibleNodes.getNumRootNodes() === undefined) {
45
- const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();
46
- return () => subscription.unsubscribe();
47
- }
48
- return () => { };
49
- }, [visibleNodes, nodeLoader]);
50
- return visibleNodes.getNumRootNodes() === undefined;
51
- }
52
- function useEventDispatcher(nodeLoader, treeEvents, selectionMode, visibleNodes) {
53
- /* istanbul ignore next */
54
- const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);
55
- const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);
56
- React.useEffect(() => {
57
- eventDispatcher.setVisibleNodes(getVisibleNodes);
58
- }, [eventDispatcher, getVisibleNodes]);
59
- return eventDispatcher;
60
- }
61
- function Loader(props) {
62
- if (props.loading) {
63
- return props.spinnerRenderer
64
- ? props.spinnerRenderer()
65
- : (React.createElement("div", { className: "components-controlledTree-loader" },
66
- React.createElement(DelayedSpinner, { size: "large" })));
67
- }
68
- if (props.noData) {
69
- return props.noDataRenderer
70
- ? props.noDataRenderer()
71
- : (React.createElement(FillCentered, null,
72
- React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents.translate("general.noData"))));
73
- }
74
- return props.children;
75
- }
76
- function useNodeHeight(descriptionsEnabled) {
77
- return React.useCallback((node) => {
78
- const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;
79
- const borderSize = 1;
80
- // Not counting node's border size twice because we want neighboring borders to overlap
81
- return contentHeight + borderSize;
82
- }, [descriptionsEnabled]);
83
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Tree
7
+ */
8
+ import * as React from "react";
9
+ import { FillCentered } from "@itwin/core-react";
10
+ import { DelayedSpinner } from "../../../common/DelayedSpinner";
11
+ import { UiComponents } from "../../../UiComponents";
12
+ import { TreeImageLoader } from "../../ImageLoader";
13
+ import { TreeEventDispatcher } from "../TreeEventDispatcher";
14
+ import { computeVisibleNodes, isTreeModelNode } from "../TreeModel";
15
+ import { TreeNodeRenderer } from "./TreeNodeRenderer";
16
+ import { TreeRenderer } from "./TreeRenderer";
17
+ /**
18
+ * React tree component which rendering is fully controlled from outside.
19
+ * @public
20
+ */
21
+ export function ControlledTree(props) {
22
+ const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);
23
+ const imageLoader = React.useMemo(() => new TreeImageLoader(), []);
24
+ const nodeRenderer = React.useCallback((nodeProps) => (React.createElement(TreeNodeRenderer, { ...nodeProps, descriptionEnabled: props.descriptionsEnabled, imageLoader: props.iconsEnabled ? imageLoader : undefined })), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);
25
+ const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);
26
+ const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);
27
+ const treeProps = {
28
+ nodeRenderer,
29
+ nodeHeight,
30
+ visibleNodes,
31
+ treeActions: eventDispatcher,
32
+ nodeLoader: props.nodeLoader,
33
+ nodeHighlightingProps: props.nodeHighlightingProps,
34
+ onItemsRendered: props.onItemsRendered,
35
+ width: props.width,
36
+ height: props.height,
37
+ };
38
+ const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);
39
+ const noData = visibleNodes.getNumRootNodes() === 0;
40
+ return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? props.treeRenderer(treeProps) : React.createElement(TreeRenderer, { ...treeProps })));
41
+ }
42
+ function useRootNodeLoader(visibleNodes, nodeLoader) {
43
+ React.useEffect(() => {
44
+ if (visibleNodes.getNumRootNodes() === undefined) {
45
+ const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();
46
+ return () => subscription.unsubscribe();
47
+ }
48
+ return () => { };
49
+ }, [visibleNodes, nodeLoader]);
50
+ return visibleNodes.getNumRootNodes() === undefined;
51
+ }
52
+ function useEventDispatcher(nodeLoader, treeEvents, selectionMode, visibleNodes) {
53
+ /* istanbul ignore next */
54
+ const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);
55
+ const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);
56
+ React.useEffect(() => {
57
+ eventDispatcher.setVisibleNodes(getVisibleNodes);
58
+ }, [eventDispatcher, getVisibleNodes]);
59
+ return eventDispatcher;
60
+ }
61
+ function Loader(props) {
62
+ if (props.loading) {
63
+ return props.spinnerRenderer
64
+ ? props.spinnerRenderer()
65
+ : (React.createElement("div", { className: "components-controlledTree-loader" },
66
+ React.createElement(DelayedSpinner, { size: "large" })));
67
+ }
68
+ if (props.noData) {
69
+ return props.noDataRenderer
70
+ ? props.noDataRenderer()
71
+ : (React.createElement(FillCentered, null,
72
+ React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents.translate("general.noData"))));
73
+ }
74
+ return props.children;
75
+ }
76
+ function useNodeHeight(descriptionsEnabled) {
77
+ return React.useCallback((node) => {
78
+ const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;
79
+ const borderSize = 1;
80
+ // Not counting node's border size twice because we want neighboring borders to overlap
81
+ return contentHeight + borderSize;
82
+ }, [descriptionsEnabled]);
83
+ }
84
84
  //# sourceMappingURL=ControlledTree.js.map
@@ -1,26 +1,26 @@
1
- /** @packageDocumentation
2
- * @module Tree
3
- */
4
- /// <reference types="react" />
5
- import "./NodeContent.scss";
6
- import { CommonProps } from "@itwin/core-react";
7
- import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
- import { HighlightableTreeNodeProps } from "../../HighlightingEngine";
9
- import { TreeModelNode } from "../TreeModel";
10
- import { TreeNodeEditorRenderer } from "./TreeNodeEditor";
11
- /** Properties for [[TreeNodeContent]] component
12
- * @internal
13
- */
14
- export interface TreeNodeContentProps extends CommonProps {
15
- node: TreeModelNode;
16
- showDescription?: boolean;
17
- highlightProps?: HighlightableTreeNodeProps;
18
- valueRendererManager: PropertyValueRendererManager;
19
- onLabelRendered?: (node: TreeModelNode) => void;
20
- nodeEditorRenderer?: TreeNodeEditorRenderer;
21
- }
22
- /** React component for displaying [[TreeNode]] label
23
- * @internal
24
- */
25
- export declare function TreeNodeContent(props: TreeNodeContentProps): JSX.Element;
1
+ /** @packageDocumentation
2
+ * @module Tree
3
+ */
4
+ /// <reference types="react" />
5
+ import "./NodeContent.scss";
6
+ import { CommonProps } from "@itwin/core-react";
7
+ import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
+ import { HighlightableTreeNodeProps } from "../../HighlightingEngine";
9
+ import { TreeModelNode } from "../TreeModel";
10
+ import { TreeNodeEditorRenderer } from "./TreeNodeEditor";
11
+ /** Properties for [[TreeNodeContent]] component
12
+ * @internal
13
+ */
14
+ export interface TreeNodeContentProps extends CommonProps {
15
+ node: TreeModelNode;
16
+ showDescription?: boolean;
17
+ highlightProps?: HighlightableTreeNodeProps;
18
+ valueRendererManager: PropertyValueRendererManager;
19
+ onLabelRendered?: (node: TreeModelNode) => void;
20
+ nodeEditorRenderer?: TreeNodeEditorRenderer;
21
+ }
22
+ /** React component for displaying [[TreeNode]] label
23
+ * @internal
24
+ */
25
+ export declare function TreeNodeContent(props: TreeNodeContentProps): JSX.Element;
26
26
  //# sourceMappingURL=NodeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAuD,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAsB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,oBAAoB,EAAE,4BAA4B,CAAC;IAEnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA8C1D"}
1
+ {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAuD,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAsB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,oBAAoB,EAAE,4BAA4B,CAAC;IAEnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA+C1D"}
@@ -1,65 +1,66 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Tree
7
- */
8
- import "./NodeContent.scss";
9
- import classnames from "classnames";
10
- import * as React from "react";
11
- import { TreeNodePlaceholder } from "@itwin/core-react";
12
- import { ItemStyleProvider } from "../../../properties/ItemStyle";
13
- import { PropertyContainerType } from "../../../properties/ValueRendererManager";
14
- import { HighlightingEngine } from "../../HighlightingEngine";
15
- import { TreeNodeEditor } from "./TreeNodeEditor";
16
- /** React component for displaying [[TreeNode]] label
17
- * @internal
18
- */
19
- export function TreeNodeContent(props) {
20
- const { node, valueRendererManager, onLabelRendered, highlightProps } = props;
21
- const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);
22
- React.useEffect(() => {
23
- onLabelRendered && onLabelRendered(node);
24
- }, [label, node, onLabelRendered]);
25
- // handle cell editing
26
- let editor;
27
- if (props.node.editingInfo) {
28
- // if cell editing is enabled, return editor instead of the label
29
- const style = getStyle(props.node.item.style, props.node.isSelected);
30
- const editorProps = {
31
- node: props.node,
32
- onCancel: props.node.editingInfo.onCancel,
33
- onCommit: props.node.editingInfo.onCommit,
34
- style,
35
- };
36
- editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : React.createElement(TreeNodeEditor, { ...editorProps });
37
- }
38
- const isDescriptionEnabled = props.node.item.description && props.showDescription;
39
- const containerClassName = classnames("components-controlledTree-node-content", isDescriptionEnabled ? "with-description" : undefined, props.className);
40
- const descriptionClassName = classnames("components-controlledTree-node-description", editor ? "with-editor" : undefined);
41
- return (React.createElement("div", { className: containerClassName, style: props.style },
42
- React.createElement(React.Fragment, null,
43
- editor ? editor : label,
44
- isDescriptionEnabled ?
45
- React.createElement("div", { className: descriptionClassName }, props.node.item.description)
46
- : undefined)));
47
- }
48
- function getLabel(node, valueRendererManager, highlightProps) {
49
- // handle filtered matches' highlighting
50
- const highlightCallback = highlightProps
51
- ? (text) => HighlightingEngine.renderNodeLabel(text, highlightProps)
52
- : undefined;
53
- // handle custom cell rendering
54
- const context = {
55
- containerType: PropertyContainerType.Tree,
56
- style: getStyle(node.item.style, node.isSelected),
57
- textHighlighter: highlightCallback,
58
- defaultValue: React.createElement(TreeNodePlaceholder, { level: 0, "data-testid": "node-label-placeholder" }),
59
- };
60
- return valueRendererManager.render(node.item.label, context);
61
- }
62
- function getStyle(style, isSelected) {
63
- return ItemStyleProvider.createStyle(style ? style : {}, isSelected);
64
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Tree
7
+ */
8
+ import "./NodeContent.scss";
9
+ import classnames from "classnames";
10
+ import * as React from "react";
11
+ import { TreeNodePlaceholder } from "@itwin/core-react";
12
+ import { ItemStyleProvider } from "../../../properties/ItemStyle";
13
+ import { PropertyContainerType } from "../../../properties/ValueRendererManager";
14
+ import { HighlightingEngine } from "../../HighlightingEngine";
15
+ import { TreeNodeEditor } from "./TreeNodeEditor";
16
+ /** React component for displaying [[TreeNode]] label
17
+ * @internal
18
+ */
19
+ export function TreeNodeContent(props) {
20
+ const { node, valueRendererManager, onLabelRendered, highlightProps } = props;
21
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
22
+ const label = React.useMemo(() => getLabel(node, valueRendererManager, highlightProps), [node, valueRendererManager, highlightProps]);
23
+ React.useEffect(() => {
24
+ onLabelRendered && onLabelRendered(node);
25
+ }, [label, node, onLabelRendered]);
26
+ // handle cell editing
27
+ let editor;
28
+ if (props.node.editingInfo) {
29
+ // if cell editing is enabled, return editor instead of the label
30
+ const style = getStyle(props.node.item.style, props.node.isSelected);
31
+ const editorProps = {
32
+ node: props.node,
33
+ onCancel: props.node.editingInfo.onCancel,
34
+ onCommit: props.node.editingInfo.onCommit,
35
+ style,
36
+ };
37
+ editor = props.nodeEditorRenderer ? props.nodeEditorRenderer(editorProps) : React.createElement(TreeNodeEditor, { ...editorProps });
38
+ }
39
+ const isDescriptionEnabled = props.node.item.description && props.showDescription;
40
+ const containerClassName = classnames("components-controlledTree-node-content", isDescriptionEnabled ? "with-description" : undefined, props.className);
41
+ const descriptionClassName = classnames("components-controlledTree-node-description", editor ? "with-editor" : undefined);
42
+ return (React.createElement("div", { className: containerClassName, style: props.style },
43
+ React.createElement(React.Fragment, null,
44
+ editor ? editor : label,
45
+ isDescriptionEnabled ?
46
+ React.createElement("div", { className: descriptionClassName }, props.node.item.description)
47
+ : undefined)));
48
+ }
49
+ function getLabel(node, valueRendererManager, highlightProps) {
50
+ // handle filtered matches' highlighting
51
+ const highlightCallback = highlightProps
52
+ ? (text) => HighlightingEngine.renderNodeLabel(text, highlightProps)
53
+ : undefined;
54
+ // handle custom cell rendering
55
+ const context = {
56
+ containerType: PropertyContainerType.Tree,
57
+ style: getStyle(node.item.style, node.isSelected),
58
+ textHighlighter: highlightCallback,
59
+ defaultValue: React.createElement(TreeNodePlaceholder, { level: 0, "data-testid": "node-label-placeholder" }),
60
+ };
61
+ return valueRendererManager.render(node.item.label, context);
62
+ }
63
+ function getStyle(style, isSelected) {
64
+ return ItemStyleProvider.createStyle(style ? style : {}, isSelected);
65
+ }
65
66
  //# sourceMappingURL=NodeContent.js.map