@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":"TreeModel.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { immerable } from \"immer\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, TreeNodeItem } from \"../TreeDataProvider\";\r\nimport { SparseArray, SparseTree } from \"./internal/SparseTree\";\r\n\r\n/**\r\n * Immutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNode {\r\n readonly id: string;\r\n readonly parentId: string | undefined;\r\n readonly depth: number;\r\n\r\n readonly isLoading?: boolean;\r\n readonly numChildren: number | undefined;\r\n\r\n readonly description: string | undefined;\r\n readonly isExpanded: boolean;\r\n readonly label: PropertyRecord;\r\n readonly isSelected: boolean;\r\n readonly isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n readonly editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n readonly checkbox: CheckBoxInfo;\r\n\r\n readonly item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Immutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface CheckBoxInfo {\r\n readonly state: CheckBoxState;\r\n readonly tooltip?: string;\r\n readonly isDisabled: boolean;\r\n readonly isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface MutableTreeModelNode extends TreeModelNode {\r\n isLoading: boolean;\r\n\r\n description: string;\r\n isExpanded: boolean;\r\n label: PropertyRecord;\r\n isSelected: boolean;\r\n isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n checkbox: MutableCheckBoxInfo;\r\n\r\n item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Data structure that holds callbacks used for tree node editing.\r\n * @public\r\n */\r\nexport interface TreeModelNodeEditingInfo {\r\n onCommit: (node: TreeModelNode, newValue: string) => void;\r\n onCancel: () => void;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface MutableCheckBoxInfo extends CheckBoxInfo {\r\n state: CheckBoxState;\r\n tooltip?: string;\r\n isDisabled: boolean;\r\n isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree node placeholder.\r\n * @public\r\n */\r\nexport interface TreeModelNodePlaceholder {\r\n readonly childIndex: number;\r\n readonly depth: number;\r\n readonly parentId?: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree root node.\r\n * @public\r\n */\r\nexport interface TreeModelRootNode {\r\n readonly depth: -1;\r\n readonly id: undefined;\r\n readonly numChildren: number | undefined;\r\n}\r\n\r\n/**\r\n * Data structure that describes input used to create tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNodeInput {\r\n readonly description?: string;\r\n readonly isExpanded: boolean;\r\n readonly id: string;\r\n readonly item: TreeNodeItem;\r\n readonly label: PropertyRecord;\r\n readonly isLoading: boolean;\r\n readonly numChildren?: number;\r\n readonly isSelected: boolean;\r\n}\r\n\r\n/**\r\n * Type definition of all tree model nodes.\r\n * @public\r\n */\r\nexport type TreeModelNodeType = TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode;\r\n\r\n/**\r\n * Checks if object is [[TreeModelNode]]\r\n * @public\r\n */\r\nexport function isTreeModelNode(obj: TreeModelNodeType | undefined): obj is TreeModelNode {\r\n return obj !== undefined && !isTreeModelNodePlaceholder(obj) && !isTreeModelRootNode(obj);\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelNodePlaceholder]]\r\n * @public\r\n */\r\nexport function isTreeModelNodePlaceholder(obj: TreeModelNodeType | undefined): obj is TreeModelNodePlaceholder {\r\n return obj !== undefined && \"childIndex\" in obj;\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelRootNode]]\r\n * @public\r\n */\r\nexport function isTreeModelRootNode(obj: TreeModelNodeType | undefined): obj is TreeModelRootNode {\r\n return obj !== undefined && (obj as TreeModelRootNode).id === undefined && !(\"childIndex\" in obj);\r\n}\r\n\r\n/**\r\n * Type definition of tree node item data.\r\n * @public\r\n */\r\nexport type TreeNodeItemData = ImmediatelyLoadedTreeNodeItem & DelayLoadedTreeNodeItem;\r\n\r\n/**\r\n * Data structure that describes set of visible tree nodes as a flat list.\r\n * @public\r\n */\r\nexport interface VisibleTreeNodes extends Iterable<TreeModelNode | TreeModelNodePlaceholder> {\r\n getNumNodes(): number;\r\n getAtIndex(index: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getModel(): TreeModel;\r\n getNumRootNodes(): number | undefined;\r\n getIndexOfNode(nodeId: string): number;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree model.\r\n * @public\r\n */\r\nexport interface TreeModel {\r\n getRootNode(): TreeModelRootNode;\r\n\r\n getNode(id: string): TreeModelNode | undefined;\r\n getNode(parentId: string | undefined, childIndex: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getNode(nodeId: string | undefined, childIndex?: number): TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode | undefined;\r\n\r\n getChildren(parentId: string | undefined): SparseArray<string> | undefined;\r\n getChildOffset(parentId: string | undefined, childId: string): number | undefined;\r\n\r\n iterateTreeModelNodes(parentId?: string): IterableIterator<TreeModelNode>;\r\n}\r\n\r\n/**\r\n * Mutable tree model which holds nodes and allows adding or removing them.\r\n * @public\r\n */\r\nexport class MutableTreeModel implements TreeModel {\r\n public [immerable] = true;\r\n\r\n private _tree = new SparseTree<MutableTreeModelNode>();\r\n private _rootNode: TreeModelRootNode = { depth: -1, id: undefined, numChildren: undefined };\r\n\r\n public constructor(seed?: TreeModel) {\r\n if (!seed) {\r\n return;\r\n }\r\n\r\n cloneSubree(seed, this, undefined);\r\n }\r\n\r\n /** Returns root node of a tree. This node is not visible and is there to allow having multiple visible root nodes. */\r\n public getRootNode(): TreeModelRootNode {\r\n return this._rootNode;\r\n }\r\n\r\n /** Returns tree node or placeholder for node that is not loaded yet.\r\n * @returns node, node placeholder or undefined if node is not found in model.\r\n */\r\n public getNode(id: string): MutableTreeModelNode | undefined;\r\n public getNode(parentId: string | undefined, childIndex: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined;\r\n public getNode(nodeId: string | undefined, childIndex?: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined {\r\n if (childIndex === undefined) {\r\n return this._tree.getNode(nodeId!);\r\n }\r\n\r\n const children = this._tree.getChildren(nodeId);\r\n const childId = children !== undefined ? children.get(childIndex) : undefined;\r\n if (childId !== undefined) {\r\n return this._tree.getNode(childId);\r\n }\r\n\r\n const parentNode = nodeId === undefined ? this._rootNode : this._tree.getNode(nodeId);\r\n if (parentNode !== undefined) {\r\n return {\r\n childIndex,\r\n depth: parentNode.depth + 1,\r\n parentId: nodeId,\r\n };\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns children for specific parent.\r\n * @param parentId id of parent node.\r\n * @returns children of parent node or root nodes if undefined is passed as parent id.\r\n */\r\n public getChildren(parentId: string | undefined): SparseArray<string> | undefined {\r\n return this._tree.getChildren(parentId);\r\n }\r\n\r\n /** Returns children offset in children array for specific parent. */\r\n public getChildOffset(parentId: string | undefined, childId: string): number | undefined {\r\n return this._tree.getChildOffset(parentId, childId);\r\n }\r\n\r\n /**\r\n * Sets children for parent node starting from the specific offset.\r\n * If offset overlaps with already added nodes, the overlapping nodes are overwritten.\r\n */\r\n public setChildren(parentId: string | undefined, nodeInputs: TreeModelNodeInput[], offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const children: MutableTreeModelNode[] = [];\r\n for (const input of nodeInputs) {\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, input);\r\n children.push(child);\r\n }\r\n\r\n this._tree.setChildren(parentNode.id, children, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Inserts child in the specified position.\r\n * If offset is higher then current length of children array, the length is increased.\r\n */\r\n public insertChild(parentId: string | undefined, childNodeInput: TreeModelNodeInput, offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, childNodeInput);\r\n\r\n this._tree.insertChild(parentNode.id, child, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Changes the id of target node.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public changeNodeId(currentId: string, newId: string): boolean {\r\n const node = this.getNode(currentId);\r\n if (node === undefined) {\r\n return false;\r\n }\r\n\r\n if (currentId === newId) {\r\n return true;\r\n }\r\n\r\n const index = this.getChildOffset(node.parentId, currentId);\r\n assert(index !== undefined);\r\n\r\n if (!this._tree.setNodeId(node.parentId, index, newId)) {\r\n return false;\r\n }\r\n\r\n (node.id as string) = newId; // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\r\n for (const [childId] of this.getChildren(newId)?.iterateValues() ?? []) {\r\n const child = this.getNode(childId);\r\n assert(child !== undefined);\r\n (child.parentId as string) = newId;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Transfers node along with its children to a new location. Fails if destination has undefined child count.\r\n * @param sourceNodeId Node that is being moved.\r\n * @param targetParentId Node that will receive a new child.\r\n * @param targetIndex Insertion location among target's *current* children.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public moveNode(sourceNodeId: string, targetParentId: string | undefined, targetIndex: number): boolean {\r\n const sourceNode = this.getNode(sourceNodeId);\r\n if (sourceNode === undefined) {\r\n return false;\r\n }\r\n\r\n const targetParent = targetParentId === undefined ? this._rootNode : this.getNode(targetParentId);\r\n if (targetParent === undefined || targetParent.numChildren === undefined) {\r\n return false;\r\n }\r\n\r\n if (targetParentId !== undefined && this.areNodesRelated(sourceNodeId, targetParentId)) {\r\n return false;\r\n }\r\n\r\n this._tree.moveNode(sourceNode.parentId, sourceNodeId, targetParentId, targetIndex);\r\n\r\n const sourceParent = sourceNode.parentId === undefined ? this._rootNode : this.getNode(sourceNode.parentId);\r\n assert(sourceParent !== undefined);\r\n MutableTreeModel.setNumChildrenForNode(sourceParent, this._tree.getChildren(sourceNode.parentId));\r\n MutableTreeModel.setNumChildrenForNode(targetParent, this._tree.getChildren(targetParentId));\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (sourceNode.parentId as string | undefined) = targetParentId;\r\n\r\n const updateDepths = (parentId: string, depth: number) => {\r\n const node = this.getNode(parentId);\r\n assert(node !== undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.depth as number) = depth;\r\n for (const [nodeId] of this.getChildren(parentId)?.iterateValues() ?? []) {\r\n updateDepths(nodeId, depth + 1);\r\n }\r\n };\r\n\r\n updateDepths(sourceNodeId, targetParent.depth + 1);\r\n return true;\r\n }\r\n\r\n private areNodesRelated(ancestorNodeId: string, descendantNodeId: string): boolean {\r\n const node = this.getNode(descendantNodeId);\r\n if (node === undefined || node.parentId === undefined) {\r\n return false;\r\n }\r\n\r\n return node.parentId === ancestorNodeId ? true : this.areNodesRelated(ancestorNodeId, node.parentId);\r\n }\r\n\r\n /**\r\n * Sets the number of child nodes a parent is expected to contain. All child nodes of this parent will be subsequently\r\n * removed.\r\n */\r\n public setNumChildren(parentId: string | undefined, numChildren: number | undefined): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = numChildren;\r\n this._tree.setNumChildren(parentId, numChildren ?? 0);\r\n }\r\n\r\n /** Removes children specified by id.\r\n * @param parentId id of the parent node.\r\n * @param child child node id or index that should be removed.\r\n */\r\n public removeChild(parentId: string | undefined, child: string | number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n this._tree.removeChild(parentId, child);\r\n\r\n // istanbul ignore else\r\n if (parentNode)\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /** Removes all children for parent specified by id.\r\n * @param parentId id of parent node or undefined to remove root nodes.\r\n */\r\n public clearChildren(parentId: string | undefined) {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = undefined;\r\n }\r\n this._tree.deleteSubtree(parentId, false);\r\n }\r\n\r\n /** Iterates over all nodes present in the tree model. */\r\n public * iterateTreeModelNodes(parentId?: string): IterableIterator<MutableTreeModelNode> {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const _this = this;\r\n function* iterateDescendants(subParentId: string | undefined): IterableIterator<MutableTreeModelNode> {\r\n const children = _this.getChildren(subParentId);\r\n if (children === undefined) {\r\n return;\r\n }\r\n\r\n for (const [nodeId] of children.iterateValues()) {\r\n const node = _this.getNode(nodeId);\r\n if (node !== undefined) {\r\n yield node;\r\n yield* iterateDescendants(nodeId);\r\n }\r\n }\r\n }\r\n\r\n yield* iterateDescendants(parentId);\r\n }\r\n\r\n private static setNumChildrenForNode(node: TreeModelRootNode | MutableTreeModelNode, children: SparseArray<string> | undefined) {\r\n const numChildren = children ? children.getLength() : undefined;\r\n if (node.numChildren === numChildren)\r\n return;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.numChildren as number | undefined) = numChildren;\r\n }\r\n\r\n private static createTreeModelNode(parentNode: TreeModelNode | TreeModelRootNode, input: TreeModelNodeInput): MutableTreeModelNode {\r\n return {\r\n id: input.id,\r\n parentId: parentNode.id,\r\n depth: parentNode.depth + 1,\r\n\r\n isLoading: input.isLoading,\r\n numChildren: input.numChildren,\r\n\r\n description: input.description || \"\",\r\n isExpanded: input.isExpanded,\r\n label: input.label,\r\n isSelected: input.isSelected,\r\n isSelectionDisabled: input.item.isSelectionDisabled,\r\n\r\n checkbox: {\r\n state: input.item.checkBoxState || CheckBoxState.Off,\r\n isDisabled: !!input.item.isCheckboxDisabled,\r\n isVisible: !!input.item.isCheckboxVisible,\r\n },\r\n\r\n item: cloneDeep(input.item),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Generates flat list of visible nodes in the tree model.\r\n * @public\r\n */\r\nexport function computeVisibleNodes(model: TreeModel): VisibleTreeNodes {\r\n const result = getVisibleDescendants(model, model.getRootNode());\r\n return {\r\n getNumNodes: () => result.length,\r\n getAtIndex: (index: number): TreeModelNode | TreeModelNodePlaceholder | undefined => {\r\n return result[index];\r\n },\r\n getModel: () => model,\r\n getNumRootNodes: () => model.getRootNode().numChildren,\r\n [Symbol.iterator]: () => result[Symbol.iterator](),\r\n getIndexOfNode: (nodeId: string): number => {\r\n return result.findIndex((visibleNode) => (visibleNode as TreeModelNode).id === nodeId);\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * Traverses the tree and collects visible descendants.\r\n * @public\r\n */\r\nexport function getVisibleDescendants(\r\n model: TreeModel,\r\n parentNode: TreeModelNode | TreeModelRootNode,\r\n result: Array<TreeModelNode | TreeModelNodePlaceholder> = [],\r\n): Array<TreeModelNode | TreeModelNodePlaceholder> {\r\n const children = model.getChildren(parentNode.id);\r\n if (!children) {\r\n return result;\r\n }\r\n\r\n let index = 0;\r\n for (const childId of children) {\r\n if (childId === undefined) {\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n const childNode = model.getNode(childId);\r\n if (childNode === undefined) {\r\n // node was disposed\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n result.push(childNode);\r\n if (childNode.isExpanded && childNode.numChildren !== undefined) {\r\n getVisibleDescendants(model, childNode, result);\r\n }\r\n }\r\n }\r\n ++index;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction cloneSubree(source: TreeModel, target: MutableTreeModel, parentId: string | undefined): void {\r\n target.setNumChildren(\r\n parentId,\r\n (parentId === undefined ? source.getRootNode() : source.getNode(parentId)!).numChildren,\r\n );\r\n for (const [childId, index] of source.getChildren(parentId)?.iterateValues() ?? []) {\r\n const node = source.getNode(childId)!;\r\n target.setChildren(parentId, [{ ...node, isLoading: !!node.isLoading }], index);\r\n cloneSubree(source, target, childId);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeModel.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeModel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { immerable } from \"immer\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxState } from \"@itwin/core-react\";\r\nimport { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, TreeNodeItem } from \"../TreeDataProvider\";\r\nimport { SparseArray, SparseTree } from \"./internal/SparseTree\";\r\n\r\n/**\r\n * Immutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNode {\r\n readonly id: string;\r\n readonly parentId: string | undefined;\r\n readonly depth: number;\r\n\r\n readonly isLoading?: boolean;\r\n readonly numChildren: number | undefined;\r\n\r\n readonly description: string | undefined;\r\n readonly isExpanded: boolean;\r\n readonly label: PropertyRecord;\r\n readonly isSelected: boolean;\r\n readonly isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n readonly editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n readonly checkbox: CheckBoxInfo;\r\n\r\n readonly item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Immutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface CheckBoxInfo {\r\n readonly state: CheckBoxState;\r\n readonly tooltip?: string;\r\n readonly isDisabled: boolean;\r\n readonly isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes tree node.\r\n * @public\r\n */\r\nexport interface MutableTreeModelNode extends TreeModelNode {\r\n isLoading: boolean;\r\n\r\n description: string;\r\n isExpanded: boolean;\r\n label: PropertyRecord;\r\n isSelected: boolean;\r\n isSelectionDisabled?: boolean;\r\n\r\n /** Specifies that node is in editing mode. It holds callbacks that are used by node editor. */\r\n editingInfo?: TreeModelNodeEditingInfo;\r\n\r\n checkbox: MutableCheckBoxInfo;\r\n\r\n item: TreeNodeItem;\r\n}\r\n\r\n/**\r\n * Data structure that holds callbacks used for tree node editing.\r\n * @public\r\n */\r\nexport interface TreeModelNodeEditingInfo {\r\n onCommit: (node: TreeModelNode, newValue: string) => void;\r\n onCancel: () => void;\r\n}\r\n\r\n/**\r\n * Mutable data structure that describes checkbox info.\r\n * @public\r\n */\r\nexport interface MutableCheckBoxInfo extends CheckBoxInfo {\r\n state: CheckBoxState;\r\n tooltip?: string;\r\n isDisabled: boolean;\r\n isVisible: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree node placeholder.\r\n * @public\r\n */\r\nexport interface TreeModelNodePlaceholder {\r\n readonly childIndex: number;\r\n readonly depth: number;\r\n readonly parentId?: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree root node.\r\n * @public\r\n */\r\nexport interface TreeModelRootNode {\r\n readonly depth: -1;\r\n readonly id: undefined;\r\n readonly numChildren: number | undefined;\r\n}\r\n\r\n/**\r\n * Data structure that describes input used to create tree node.\r\n * @public\r\n */\r\nexport interface TreeModelNodeInput {\r\n readonly description?: string;\r\n readonly isExpanded: boolean;\r\n readonly id: string;\r\n readonly item: TreeNodeItem;\r\n readonly label: PropertyRecord;\r\n readonly isLoading: boolean;\r\n readonly numChildren?: number;\r\n readonly isSelected: boolean;\r\n}\r\n\r\n/**\r\n * Type definition of all tree model nodes.\r\n * @public\r\n */\r\nexport type TreeModelNodeType = TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode;\r\n\r\n/**\r\n * Checks if object is [[TreeModelNode]]\r\n * @public\r\n */\r\nexport function isTreeModelNode(obj: TreeModelNodeType | undefined): obj is TreeModelNode {\r\n return obj !== undefined && !isTreeModelNodePlaceholder(obj) && !isTreeModelRootNode(obj);\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelNodePlaceholder]]\r\n * @public\r\n */\r\nexport function isTreeModelNodePlaceholder(obj: TreeModelNodeType | undefined): obj is TreeModelNodePlaceholder {\r\n return obj !== undefined && \"childIndex\" in obj;\r\n}\r\n\r\n/**\r\n * Checks if object is [[TreeModelRootNode]]\r\n * @public\r\n */\r\nexport function isTreeModelRootNode(obj: TreeModelNodeType | undefined): obj is TreeModelRootNode {\r\n return obj !== undefined && (obj as TreeModelRootNode).id === undefined && !(\"childIndex\" in obj);\r\n}\r\n\r\n/**\r\n * Type definition of tree node item data.\r\n * @public\r\n */\r\nexport type TreeNodeItemData = ImmediatelyLoadedTreeNodeItem & DelayLoadedTreeNodeItem;\r\n\r\n/**\r\n * Data structure that describes set of visible tree nodes as a flat list.\r\n * @public\r\n */\r\nexport interface VisibleTreeNodes extends Iterable<TreeModelNode | TreeModelNodePlaceholder> {\r\n getNumNodes(): number;\r\n getAtIndex(index: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getModel(): TreeModel;\r\n getNumRootNodes(): number | undefined;\r\n getIndexOfNode(nodeId: string): number;\r\n}\r\n\r\n/**\r\n * Data structure that describes tree model.\r\n * @public\r\n */\r\nexport interface TreeModel {\r\n getRootNode(): TreeModelRootNode;\r\n\r\n getNode(id: string): TreeModelNode | undefined;\r\n getNode(parentId: string | undefined, childIndex: number): TreeModelNode | TreeModelNodePlaceholder | undefined;\r\n getNode(nodeId: string | undefined, childIndex?: number): TreeModelNode | TreeModelNodePlaceholder | TreeModelRootNode | undefined;\r\n\r\n getChildren(parentId: string | undefined): SparseArray<string> | undefined;\r\n getChildOffset(parentId: string | undefined, childId: string): number | undefined;\r\n\r\n iterateTreeModelNodes(parentId?: string): IterableIterator<TreeModelNode>;\r\n}\r\n\r\n/**\r\n * Mutable tree model which holds nodes and allows adding or removing them.\r\n * @public\r\n */\r\nexport class MutableTreeModel implements TreeModel {\r\n public [immerable] = true;\r\n\r\n private _tree = new SparseTree<MutableTreeModelNode>();\r\n private _rootNode: TreeModelRootNode = { depth: -1, id: undefined, numChildren: undefined };\r\n\r\n public constructor(seed?: TreeModel) {\r\n if (!seed) {\r\n return;\r\n }\r\n\r\n cloneSubree(seed, this, undefined);\r\n }\r\n\r\n /** Returns root node of a tree. This node is not visible and is there to allow having multiple visible root nodes. */\r\n public getRootNode(): TreeModelRootNode {\r\n return this._rootNode;\r\n }\r\n\r\n /** Returns tree node or placeholder for node that is not loaded yet.\r\n * @returns node, node placeholder or undefined if node is not found in model.\r\n */\r\n public getNode(id: string): MutableTreeModelNode | undefined;\r\n public getNode(parentId: string | undefined, childIndex: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined;\r\n public getNode(nodeId: string | undefined, childIndex?: number): MutableTreeModelNode | TreeModelNodePlaceholder | undefined {\r\n if (childIndex === undefined) {\r\n return this._tree.getNode(nodeId!);\r\n }\r\n\r\n const children = this._tree.getChildren(nodeId);\r\n const childId = children !== undefined ? children.get(childIndex) : undefined;\r\n if (childId !== undefined) {\r\n return this._tree.getNode(childId);\r\n }\r\n\r\n const parentNode = nodeId === undefined ? this._rootNode : this._tree.getNode(nodeId);\r\n if (parentNode !== undefined) {\r\n return {\r\n childIndex,\r\n depth: parentNode.depth + 1,\r\n parentId: nodeId,\r\n };\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Returns children for specific parent.\r\n * @param parentId id of parent node.\r\n * @returns children of parent node or root nodes if undefined is passed as parent id.\r\n */\r\n public getChildren(parentId: string | undefined): SparseArray<string> | undefined {\r\n return this._tree.getChildren(parentId);\r\n }\r\n\r\n /** Returns children offset in children array for specific parent. */\r\n public getChildOffset(parentId: string | undefined, childId: string): number | undefined {\r\n return this._tree.getChildOffset(parentId, childId);\r\n }\r\n\r\n /**\r\n * Sets children for parent node starting from the specific offset.\r\n * If offset overlaps with already added nodes, the overlapping nodes are overwritten.\r\n */\r\n public setChildren(parentId: string | undefined, nodeInputs: TreeModelNodeInput[], offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const children: MutableTreeModelNode[] = [];\r\n for (const input of nodeInputs) {\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, input);\r\n children.push(child);\r\n }\r\n\r\n this._tree.setChildren(parentNode.id, children, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Inserts child in the specified position.\r\n * If offset is higher then current length of children array, the length is increased.\r\n */\r\n public insertChild(parentId: string | undefined, childNodeInput: TreeModelNodeInput, offset: number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined)\r\n return;\r\n\r\n const child = MutableTreeModel.createTreeModelNode(parentNode, childNodeInput);\r\n\r\n this._tree.insertChild(parentNode.id, child, offset);\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /**\r\n * Changes the id of target node.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public changeNodeId(currentId: string, newId: string): boolean {\r\n const node = this.getNode(currentId);\r\n if (node === undefined) {\r\n return false;\r\n }\r\n\r\n if (currentId === newId) {\r\n return true;\r\n }\r\n\r\n const index = this.getChildOffset(node.parentId, currentId);\r\n assert(index !== undefined);\r\n\r\n if (!this._tree.setNodeId(node.parentId, index, newId)) {\r\n return false;\r\n }\r\n\r\n (node.id as string) = newId; // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion\r\n for (const [childId] of this.getChildren(newId)?.iterateValues() ?? []) {\r\n const child = this.getNode(childId);\r\n assert(child !== undefined);\r\n (child.parentId as string) = newId;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Transfers node along with its children to a new location. Fails if destination has undefined child count.\r\n * @param sourceNodeId Node that is being moved.\r\n * @param targetParentId Node that will receive a new child.\r\n * @param targetIndex Insertion location among target's *current* children.\r\n * @returns `true` on success, `false` otherwise.\r\n */\r\n public moveNode(sourceNodeId: string, targetParentId: string | undefined, targetIndex: number): boolean {\r\n const sourceNode = this.getNode(sourceNodeId);\r\n if (sourceNode === undefined) {\r\n return false;\r\n }\r\n\r\n const targetParent = targetParentId === undefined ? this._rootNode : this.getNode(targetParentId);\r\n if (targetParent === undefined || targetParent.numChildren === undefined) {\r\n return false;\r\n }\r\n\r\n if (targetParentId !== undefined && this.areNodesRelated(sourceNodeId, targetParentId)) {\r\n return false;\r\n }\r\n\r\n this._tree.moveNode(sourceNode.parentId, sourceNodeId, targetParentId, targetIndex);\r\n\r\n const sourceParent = sourceNode.parentId === undefined ? this._rootNode : this.getNode(sourceNode.parentId);\r\n assert(sourceParent !== undefined);\r\n MutableTreeModel.setNumChildrenForNode(sourceParent, this._tree.getChildren(sourceNode.parentId));\r\n MutableTreeModel.setNumChildrenForNode(targetParent, this._tree.getChildren(targetParentId));\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (sourceNode.parentId as string | undefined) = targetParentId;\r\n\r\n const updateDepths = (parentId: string, depth: number) => {\r\n const node = this.getNode(parentId);\r\n assert(node !== undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.depth as number) = depth;\r\n for (const [nodeId] of this.getChildren(parentId)?.iterateValues() ?? []) {\r\n updateDepths(nodeId, depth + 1);\r\n }\r\n };\r\n\r\n updateDepths(sourceNodeId, targetParent.depth + 1);\r\n return true;\r\n }\r\n\r\n private areNodesRelated(ancestorNodeId: string, descendantNodeId: string): boolean {\r\n const node = this.getNode(descendantNodeId);\r\n if (node === undefined || node.parentId === undefined) {\r\n return false;\r\n }\r\n\r\n return node.parentId === ancestorNodeId ? true : this.areNodesRelated(ancestorNodeId, node.parentId);\r\n }\r\n\r\n /**\r\n * Sets the number of child nodes a parent is expected to contain. All child nodes of this parent will be subsequently\r\n * removed.\r\n */\r\n public setNumChildren(parentId: string | undefined, numChildren: number | undefined): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode === undefined) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = numChildren;\r\n this._tree.setNumChildren(parentId, numChildren ?? 0);\r\n }\r\n\r\n /** Removes children specified by id.\r\n * @param parentId id of the parent node.\r\n * @param child child node id or index that should be removed.\r\n */\r\n public removeChild(parentId: string | undefined, child: string | number): void {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n this._tree.removeChild(parentId, child);\r\n\r\n // istanbul ignore else\r\n if (parentNode)\r\n MutableTreeModel.setNumChildrenForNode(parentNode, this._tree.getChildren(parentNode.id));\r\n }\r\n\r\n /** Removes all children for parent specified by id.\r\n * @param parentId id of parent node or undefined to remove root nodes.\r\n */\r\n public clearChildren(parentId: string | undefined) {\r\n const parentNode = parentId === undefined ? this._rootNode : this._tree.getNode(parentId);\r\n if (parentNode !== undefined) {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (parentNode.numChildren as number | undefined) = undefined;\r\n }\r\n this._tree.deleteSubtree(parentId, false);\r\n }\r\n\r\n /** Iterates over all nodes present in the tree model. */\r\n public * iterateTreeModelNodes(parentId?: string): IterableIterator<MutableTreeModelNode> {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const _this = this;\r\n function* iterateDescendants(subParentId: string | undefined): IterableIterator<MutableTreeModelNode> {\r\n const children = _this.getChildren(subParentId);\r\n if (children === undefined) {\r\n return;\r\n }\r\n\r\n for (const [nodeId] of children.iterateValues()) {\r\n const node = _this.getNode(nodeId);\r\n if (node !== undefined) {\r\n yield node;\r\n yield* iterateDescendants(nodeId);\r\n }\r\n }\r\n }\r\n\r\n yield* iterateDescendants(parentId);\r\n }\r\n\r\n private static setNumChildrenForNode(node: TreeModelRootNode | MutableTreeModelNode, children: SparseArray<string> | undefined) {\r\n const numChildren = children ? children.getLength() : undefined;\r\n if (node.numChildren === numChildren)\r\n return;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n (node.numChildren as number | undefined) = numChildren;\r\n }\r\n\r\n private static createTreeModelNode(parentNode: TreeModelNode | TreeModelRootNode, input: TreeModelNodeInput): MutableTreeModelNode {\r\n return {\r\n id: input.id,\r\n parentId: parentNode.id,\r\n depth: parentNode.depth + 1,\r\n\r\n isLoading: input.isLoading,\r\n numChildren: input.numChildren,\r\n\r\n description: input.description || \"\",\r\n isExpanded: input.isExpanded,\r\n label: input.label,\r\n isSelected: input.isSelected,\r\n isSelectionDisabled: input.item.isSelectionDisabled,\r\n\r\n checkbox: {\r\n state: input.item.checkBoxState || CheckBoxState.Off,\r\n isDisabled: !!input.item.isCheckboxDisabled,\r\n isVisible: !!input.item.isCheckboxVisible,\r\n },\r\n\r\n item: cloneDeep(input.item),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Generates flat list of visible nodes in the tree model.\r\n * @public\r\n */\r\nexport function computeVisibleNodes(model: TreeModel): VisibleTreeNodes {\r\n const result = getVisibleDescendants(model, model.getRootNode());\r\n return {\r\n getNumNodes: () => result.length,\r\n getAtIndex: (index: number): TreeModelNode | TreeModelNodePlaceholder | undefined => {\r\n return result[index];\r\n },\r\n getModel: () => model,\r\n getNumRootNodes: () => model.getRootNode().numChildren,\r\n [Symbol.iterator]: () => result[Symbol.iterator](),\r\n getIndexOfNode: (nodeId: string): number => {\r\n return result.findIndex((visibleNode) => (visibleNode as TreeModelNode).id === nodeId);\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * Traverses the tree and collects visible descendants.\r\n * @public\r\n */\r\nexport function getVisibleDescendants(\r\n model: TreeModel,\r\n parentNode: TreeModelNode | TreeModelRootNode,\r\n result: Array<TreeModelNode | TreeModelNodePlaceholder> = [],\r\n): Array<TreeModelNode | TreeModelNodePlaceholder> {\r\n const children = model.getChildren(parentNode.id);\r\n if (!children) {\r\n return result;\r\n }\r\n\r\n let index = 0;\r\n for (const childId of children) {\r\n if (childId === undefined) {\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n const childNode = model.getNode(childId);\r\n if (childNode === undefined) {\r\n // node was disposed\r\n result.push({ parentId: parentNode.id, depth: parentNode.depth + 1, childIndex: index });\r\n } else {\r\n result.push(childNode);\r\n if (childNode.isExpanded && childNode.numChildren !== undefined) {\r\n getVisibleDescendants(model, childNode, result);\r\n }\r\n }\r\n }\r\n ++index;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction cloneSubree(source: TreeModel, target: MutableTreeModel, parentId: string | undefined): void {\r\n target.setNumChildren(\r\n parentId,\r\n (parentId === undefined ? source.getRootNode() : source.getNode(parentId)!).numChildren,\r\n );\r\n for (const [childId, index] of source.getChildren(parentId)?.iterateValues() ?? []) {\r\n const node = source.getNode(childId)!;\r\n target.setChildren(parentId, [{ ...node, isLoading: !!node.isLoading }], index);\r\n cloneSubree(source, target, childId);\r\n }\r\n}\r\n"]}
@@ -1,34 +1,34 @@
1
- /** @packageDocumentation
2
- * @module Tree
3
- */
4
- import { BeUiEvent } from "@itwin/core-bentley";
5
- import { MutableTreeModel, TreeModel } from "./TreeModel";
6
- /**
7
- * Data structure that describes changes which happened to the tree model
8
- * @public
9
- */
10
- export interface TreeModelChanges {
11
- addedNodeIds: string[];
12
- modifiedNodeIds: string[];
13
- removedNodeIds: string[];
14
- }
15
- /**
16
- * Controls tree model.
17
- * It is used to modify model and inform when tree model changes.
18
- * @public
19
- */
20
- export declare class TreeModelSource {
21
- private _model;
22
- /** Event that is emitted every time tree model is changed. */
23
- onModelChanged: BeUiEvent<[TreeModel, TreeModelChanges]>;
24
- constructor(_model?: MutableTreeModel);
25
- /**
26
- * Modifies tree model using provided callback.
27
- * If changes to tree model is detected then onModelChanged event is emitted.
28
- */
29
- modifyModel(callback: (model: MutableTreeModel) => void): void;
30
- /** Returns tree model. */
31
- getModel(): TreeModel;
32
- private collectModelChanges;
33
- }
1
+ /** @packageDocumentation
2
+ * @module Tree
3
+ */
4
+ import { BeUiEvent } from "@itwin/core-bentley";
5
+ import { MutableTreeModel, TreeModel } from "./TreeModel";
6
+ /**
7
+ * Data structure that describes changes which happened to the tree model
8
+ * @public
9
+ */
10
+ export interface TreeModelChanges {
11
+ addedNodeIds: string[];
12
+ modifiedNodeIds: string[];
13
+ removedNodeIds: string[];
14
+ }
15
+ /**
16
+ * Controls tree model.
17
+ * It is used to modify model and inform when tree model changes.
18
+ * @public
19
+ */
20
+ export declare class TreeModelSource {
21
+ private _model;
22
+ /** Event that is emitted every time tree model is changed. */
23
+ onModelChanged: BeUiEvent<[TreeModel, TreeModelChanges]>;
24
+ constructor(_model?: MutableTreeModel);
25
+ /**
26
+ * Modifies tree model using provided callback.
27
+ * If changes to tree model is detected then onModelChanged event is emitted.
28
+ */
29
+ modifyModel(callback: (model: MutableTreeModel) => void): void;
30
+ /** Returns tree model. */
31
+ getModel(): TreeModel;
32
+ private collectModelChanges;
33
+ }
34
34
  //# sourceMappingURL=TreeModelSource.d.ts.map
@@ -1,65 +1,65 @@
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 { produce } from "immer";
9
- import { BeUiEvent } from "@itwin/core-bentley";
10
- import { MutableTreeModel } from "./TreeModel";
11
- /**
12
- * Controls tree model.
13
- * It is used to modify model and inform when tree model changes.
14
- * @public
15
- */
16
- export class TreeModelSource {
17
- constructor(_model = new MutableTreeModel()) {
18
- this._model = _model;
19
- /** Event that is emitted every time tree model is changed. */
20
- this.onModelChanged = new BeUiEvent();
21
- }
22
- /**
23
- * Modifies tree model using provided callback.
24
- * If changes to tree model is detected then onModelChanged event is emitted.
25
- */
26
- modifyModel(callback) {
27
- let changes = { addedNodeIds: [], modifiedNodeIds: [], removedNodeIds: [] };
28
- const newModel = produce(this._model, (draft) => callback(draft), (patches) => { changes = this.collectModelChanges(patches); });
29
- if (newModel !== this._model) {
30
- this._model = newModel;
31
- this.onModelChanged.emit([this._model, changes]);
32
- }
33
- }
34
- /** Returns tree model. */
35
- getModel() { return this._model; }
36
- collectModelChanges(modelPatches) {
37
- const addedNodeIds = [];
38
- const modifiedNodeIds = new Set();
39
- const removedNodeIds = [];
40
- for (const patch of modelPatches) {
41
- if (patch.path.length >= 3 && patch.path[0] === "_tree" && patch.path[1] === "_idToNode") {
42
- const nodeId = patch.path[2];
43
- if (patch.path.length > 3) {
44
- // Modification occured somewhere inside a node
45
- modifiedNodeIds.add(nodeId);
46
- continue;
47
- }
48
- // Modification occured directly on _idToNode object
49
- switch (patch.op) {
50
- case "add":
51
- addedNodeIds.push(nodeId);
52
- break;
53
- case "remove":
54
- removedNodeIds.push(nodeId);
55
- break;
56
- case "replace":
57
- modifiedNodeIds.add(nodeId);
58
- break;
59
- }
60
- }
61
- }
62
- return { addedNodeIds, modifiedNodeIds: [...modifiedNodeIds], removedNodeIds };
63
- }
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 { produce } from "immer";
9
+ import { BeUiEvent } from "@itwin/core-bentley";
10
+ import { MutableTreeModel } from "./TreeModel";
11
+ /**
12
+ * Controls tree model.
13
+ * It is used to modify model and inform when tree model changes.
14
+ * @public
15
+ */
16
+ export class TreeModelSource {
17
+ constructor(_model = new MutableTreeModel()) {
18
+ this._model = _model;
19
+ /** Event that is emitted every time tree model is changed. */
20
+ this.onModelChanged = new BeUiEvent();
21
+ }
22
+ /**
23
+ * Modifies tree model using provided callback.
24
+ * If changes to tree model is detected then onModelChanged event is emitted.
25
+ */
26
+ modifyModel(callback) {
27
+ let changes = { addedNodeIds: [], modifiedNodeIds: [], removedNodeIds: [] };
28
+ const newModel = produce(this._model, (draft) => callback(draft), (patches) => { changes = this.collectModelChanges(patches); });
29
+ if (newModel !== this._model) {
30
+ this._model = newModel;
31
+ this.onModelChanged.emit([this._model, changes]);
32
+ }
33
+ }
34
+ /** Returns tree model. */
35
+ getModel() { return this._model; }
36
+ collectModelChanges(modelPatches) {
37
+ const addedNodeIds = [];
38
+ const modifiedNodeIds = new Set();
39
+ const removedNodeIds = [];
40
+ for (const patch of modelPatches) {
41
+ if (patch.path.length >= 3 && patch.path[0] === "_tree" && patch.path[1] === "_idToNode") {
42
+ const nodeId = patch.path[2];
43
+ if (patch.path.length > 3) {
44
+ // Modification occured somewhere inside a node
45
+ modifiedNodeIds.add(nodeId);
46
+ continue;
47
+ }
48
+ // Modification occured directly on _idToNode object
49
+ switch (patch.op) {
50
+ case "add":
51
+ addedNodeIds.push(nodeId);
52
+ break;
53
+ case "remove":
54
+ removedNodeIds.push(nodeId);
55
+ break;
56
+ case "replace":
57
+ modifiedNodeIds.add(nodeId);
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ return { addedNodeIds, modifiedNodeIds: [...modifiedNodeIds], removedNodeIds };
63
+ }
64
+ }
65
65
  //# sourceMappingURL=TreeModelSource.js.map
@@ -1,148 +1,148 @@
1
- /** @packageDocumentation
2
- * @module Tree
3
- */
4
- import { Observable as RxjsObservable } from "rxjs/internal/Observable";
5
- import { TreeDataProvider, TreeNodeItem } from "../TreeDataProvider";
6
- import { Observable } from "./Observable";
7
- import { TreeModelNode, TreeModelRootNode, TreeNodeItemData } from "./TreeModel";
8
- import { TreeModelSource } from "./TreeModelSource";
9
- /**
10
- * Data structure that describes node load result
11
- * @public
12
- */
13
- export interface TreeNodeLoadResult {
14
- loadedNodes: TreeNodeItem[];
15
- }
16
- /**
17
- * Tree node loader which is used to load tree nodes.
18
- * @public
19
- */
20
- export interface ITreeNodeLoader {
21
- /**
22
- * Loads node at specified place in tree.
23
- * @param parentId specifies tree branch
24
- * @param childIndex specifies offset in the branch.
25
- */
26
- loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
27
- }
28
- /**
29
- * Tree node loader which uses `TreeDataProvider` to load nodes.
30
- * @public
31
- */
32
- export interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {
33
- /** Returns `TreeDataProvider` used to load nodes. */
34
- readonly dataProvider: TDataProvider;
35
- }
36
- /**
37
- * Abstract node loader implementation which loads nodes into provided model source.
38
- * @public
39
- */
40
- export declare abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {
41
- private _treeModelSource;
42
- private _loadScheduler;
43
- protected constructor(modelSource: TreeModelSource);
44
- get modelSource(): TreeModelSource;
45
- /** Do not override this method. @see `load` */
46
- loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
47
- /**
48
- * A method that's called when `load` loads some nodes and we need to put them into model source. The
49
- * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete
50
- * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations
51
- * in the hierarchy, etc.)
52
- */
53
- protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void;
54
- /** An abstract method to load a node at the specific index for the specified parent. */
55
- protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;
56
- }
57
- /**
58
- * Abstract node loader with tree data provider which loads nodes into provided model source.
59
- * @public
60
- */
61
- export declare abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {
62
- private _dataProvider;
63
- protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider);
64
- get dataProvider(): TDataProvider;
65
- }
66
- /**
67
- * Default tree node loader with `TreeDataProvider` implementation.
68
- * @public
69
- */
70
- export declare class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {
71
- private _treeDataSource;
72
- private _activeRequests;
73
- private _scheduler;
74
- constructor(dataProvider: TDataProvider, modelSource: TreeModelSource);
75
- /**
76
- * Schedules to load children of node and returns an Observable.
77
- * @note It does not start loading node until '.subscribe()' is called on returned Observable.
78
- */
79
- loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult>;
80
- protected load(): Observable<LoadedNodeHierarchy>;
81
- }
82
- /**
83
- * Default paged tree node loader with `TreeDataProvider` implementation.
84
- * @public
85
- */
86
- export declare class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {
87
- private _treeDataSource;
88
- private _pageSize;
89
- private _activePageRequests;
90
- private _scheduler;
91
- constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number);
92
- /** Returns page size used by tree node loader. */
93
- get pageSize(): number;
94
- /**
95
- * Schedules to load one page of node children and returns an Observable.
96
- * @note It does not start loading node page until '.subscribe()' is called on returned Observable.
97
- */
98
- loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
99
- protected load(): Observable<LoadedNodeHierarchy>;
100
- }
101
- /**
102
- * Data structure that describes hierarchy loaded for parent node.
103
- * @public
104
- */
105
- export interface LoadedNodeHierarchy {
106
- /** Node id of the parent node for loaded hierarchy. */
107
- parentId: string | undefined;
108
- /** Hierarchy items offset in parent node children array. */
109
- offset: number;
110
- /** Loaded hierarchy items. */
111
- hierarchyItems: LoadedNodeHierarchyItem[];
112
- /** Number of children parent node has. */
113
- numChildren?: number;
114
- }
115
- /**
116
- * Data structure that describes one loaded hierarchy item.
117
- * @public
118
- */
119
- export interface LoadedNodeHierarchyItem {
120
- /** Loaded tree node item. */
121
- item: TreeNodeItemData;
122
- /** Children of loaded tree node item. */
123
- children?: LoadedNodeHierarchyItem[];
124
- /** Number of children tree node item has. */
125
- numChildren?: number;
126
- }
127
- /** @internal */
128
- export declare function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy): void;
129
- interface TreeDataSourceResult {
130
- loadedItems: TreeNodeItemData[];
131
- numChildren?: number;
132
- }
133
- /**
134
- * Wrapper to handle different types of `TreeDataProvider`. Provides one method
135
- * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,
136
- * `TreeDataProviderPromise` or `TreeDataProviderInterface`.
137
- *
138
- * @internal
139
- */
140
- export declare class TreeDataSource {
141
- private _dataProvider;
142
- constructor(dataProvider: TreeDataProvider);
143
- requestItems(parent: TreeNodeItem | undefined, firstItemIndex: number, numItems: number, requestNumChildren: boolean): RxjsObservable<TreeDataSourceResult>;
144
- private getItems;
145
- private getChildren;
146
- }
147
- export {};
1
+ /** @packageDocumentation
2
+ * @module Tree
3
+ */
4
+ import { Observable as RxjsObservable } from "rxjs/internal/Observable";
5
+ import { TreeDataProvider, TreeNodeItem } from "../TreeDataProvider";
6
+ import { Observable } from "./Observable";
7
+ import { TreeModelNode, TreeModelRootNode, TreeNodeItemData } from "./TreeModel";
8
+ import { TreeModelSource } from "./TreeModelSource";
9
+ /**
10
+ * Data structure that describes node load result
11
+ * @public
12
+ */
13
+ export interface TreeNodeLoadResult {
14
+ loadedNodes: TreeNodeItem[];
15
+ }
16
+ /**
17
+ * Tree node loader which is used to load tree nodes.
18
+ * @public
19
+ */
20
+ export interface ITreeNodeLoader {
21
+ /**
22
+ * Loads node at specified place in tree.
23
+ * @param parentId specifies tree branch
24
+ * @param childIndex specifies offset in the branch.
25
+ */
26
+ loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
27
+ }
28
+ /**
29
+ * Tree node loader which uses `TreeDataProvider` to load nodes.
30
+ * @public
31
+ */
32
+ export interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {
33
+ /** Returns `TreeDataProvider` used to load nodes. */
34
+ readonly dataProvider: TDataProvider;
35
+ }
36
+ /**
37
+ * Abstract node loader implementation which loads nodes into provided model source.
38
+ * @public
39
+ */
40
+ export declare abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {
41
+ private _treeModelSource;
42
+ private _loadScheduler;
43
+ protected constructor(modelSource: TreeModelSource);
44
+ get modelSource(): TreeModelSource;
45
+ /** Do not override this method. @see `load` */
46
+ loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
47
+ /**
48
+ * A method that's called when `load` loads some nodes and we need to put them into model source. The
49
+ * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete
50
+ * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations
51
+ * in the hierarchy, etc.)
52
+ */
53
+ protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void;
54
+ /** An abstract method to load a node at the specific index for the specified parent. */
55
+ protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;
56
+ }
57
+ /**
58
+ * Abstract node loader with tree data provider which loads nodes into provided model source.
59
+ * @public
60
+ */
61
+ export declare abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {
62
+ private _dataProvider;
63
+ protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider);
64
+ get dataProvider(): TDataProvider;
65
+ }
66
+ /**
67
+ * Default tree node loader with `TreeDataProvider` implementation.
68
+ * @public
69
+ */
70
+ export declare class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {
71
+ private _treeDataSource;
72
+ private _activeRequests;
73
+ private _scheduler;
74
+ constructor(dataProvider: TDataProvider, modelSource: TreeModelSource);
75
+ /**
76
+ * Schedules to load children of node and returns an Observable.
77
+ * @note It does not start loading node until '.subscribe()' is called on returned Observable.
78
+ */
79
+ loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult>;
80
+ protected load(): Observable<LoadedNodeHierarchy>;
81
+ }
82
+ /**
83
+ * Default paged tree node loader with `TreeDataProvider` implementation.
84
+ * @public
85
+ */
86
+ export declare class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {
87
+ private _treeDataSource;
88
+ private _pageSize;
89
+ private _activePageRequests;
90
+ private _scheduler;
91
+ constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number);
92
+ /** Returns page size used by tree node loader. */
93
+ get pageSize(): number;
94
+ /**
95
+ * Schedules to load one page of node children and returns an Observable.
96
+ * @note It does not start loading node page until '.subscribe()' is called on returned Observable.
97
+ */
98
+ loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;
99
+ protected load(): Observable<LoadedNodeHierarchy>;
100
+ }
101
+ /**
102
+ * Data structure that describes hierarchy loaded for parent node.
103
+ * @public
104
+ */
105
+ export interface LoadedNodeHierarchy {
106
+ /** Node id of the parent node for loaded hierarchy. */
107
+ parentId: string | undefined;
108
+ /** Hierarchy items offset in parent node children array. */
109
+ offset: number;
110
+ /** Loaded hierarchy items. */
111
+ hierarchyItems: LoadedNodeHierarchyItem[];
112
+ /** Number of children parent node has. */
113
+ numChildren?: number;
114
+ }
115
+ /**
116
+ * Data structure that describes one loaded hierarchy item.
117
+ * @public
118
+ */
119
+ export interface LoadedNodeHierarchyItem {
120
+ /** Loaded tree node item. */
121
+ item: TreeNodeItemData;
122
+ /** Children of loaded tree node item. */
123
+ children?: LoadedNodeHierarchyItem[];
124
+ /** Number of children tree node item has. */
125
+ numChildren?: number;
126
+ }
127
+ /** @internal */
128
+ export declare function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy): void;
129
+ interface TreeDataSourceResult {
130
+ loadedItems: TreeNodeItemData[];
131
+ numChildren?: number;
132
+ }
133
+ /**
134
+ * Wrapper to handle different types of `TreeDataProvider`. Provides one method
135
+ * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,
136
+ * `TreeDataProviderPromise` or `TreeDataProviderInterface`.
137
+ *
138
+ * @internal
139
+ */
140
+ export declare class TreeDataSource {
141
+ private _dataProvider;
142
+ constructor(dataProvider: TreeDataProvider);
143
+ requestItems(parent: TreeNodeItem | undefined, firstItemIndex: number, numItems: number, requestNumChildren: boolean): RxjsObservable<TreeDataSourceResult>;
144
+ private getItems;
145
+ private getChildren;
146
+ }
147
+ export {};
148
148
  //# sourceMappingURL=TreeNodeLoader.d.ts.map