@itwin/components-react 4.0.0-dev.11 → 4.0.0-dev.13

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 (1186) hide show
  1. package/lib/cjs/components-react/UiComponents.d.ts +35 -35
  2. package/lib/cjs/components-react/UiComponents.js +79 -79
  3. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  4. package/lib/cjs/components-react/_target.scss +9 -9
  5. package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
  6. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/DateUtils.js +74 -74
  8. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  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/HighlightedText.js.map +1 -1
  16. package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
  17. package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
  18. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  19. package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
  20. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  21. package/lib/cjs/components-react/common/IImageLoader.js +9 -9
  22. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  23. package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
  24. package/lib/cjs/components-react/common/ImageRenderer.js +146 -142
  25. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  26. package/lib/cjs/components-react/common/Links.d.ts +12 -12
  27. package/lib/cjs/components-react/common/Links.js +71 -71
  28. package/lib/cjs/components-react/common/Links.js.map +1 -1
  29. package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
  30. package/lib/cjs/components-react/common/PageOptions.js +9 -9
  31. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  32. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
  33. package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
  34. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  35. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
  36. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  37. package/lib/cjs/components-react/common/UseAsyncValue.js +68 -64
  38. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  39. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  40. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
  41. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  42. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +15 -15
  43. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +48 -48
  44. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  45. package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
  46. package/lib/cjs/components-react/common/UseRerender.js +31 -31
  47. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  48. package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
  49. package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
  50. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  51. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
  52. package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
  53. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  54. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
  55. package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
  56. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  57. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  58. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
  59. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  60. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  61. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
  62. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  63. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  64. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
  65. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  66. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
  67. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  68. package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
  69. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  70. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  71. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
  72. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  73. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  74. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
  75. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  76. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
  77. package/lib/cjs/components-react/converters/NumericTypeConverter.js +111 -113
  78. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  79. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
  80. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  81. package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
  82. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  83. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
  84. package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
  85. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  86. package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
  87. package/lib/cjs/components-react/converters/TypeConverter.js +76 -77
  88. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  89. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
  90. package/lib/cjs/components-react/converters/TypeConverterManager.js +50 -50
  91. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  92. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  93. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
  94. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  95. package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
  96. package/lib/cjs/components-react/datepicker/DateField.js +160 -156
  97. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  98. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  99. package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
  100. package/lib/cjs/components-react/datepicker/DatePicker.js +212 -208
  101. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  102. package/lib/cjs/components-react/datepicker/DatePicker.scss +176 -177
  103. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  104. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +103 -99
  105. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  106. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  107. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
  108. package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
  109. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  110. package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
  111. package/lib/cjs/components-react/datepicker/TimeField.js +252 -248
  112. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  113. package/lib/cjs/components-react/datepicker/TimeField.scss +76 -76
  114. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +45 -45
  115. package/lib/cjs/components-react/editors/BooleanEditor.js +152 -148
  116. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  117. package/lib/cjs/components-react/editors/BooleanEditor.scss +22 -22
  118. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
  119. package/lib/cjs/components-react/editors/CustomNumberEditor.js +297 -295
  120. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  121. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +20 -21
  122. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
  123. package/lib/cjs/components-react/editors/DateTimeEditor.js +305 -302
  124. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  125. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  126. package/lib/cjs/components-react/editors/EditorContainer.d.ts +92 -92
  127. package/lib/cjs/components-react/editors/EditorContainer.js +187 -183
  128. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  129. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  130. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +44 -44
  131. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +185 -181
  132. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  133. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  134. package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
  135. package/lib/cjs/components-react/editors/EnumEditor.js +192 -188
  136. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  137. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  138. package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
  139. package/lib/cjs/components-react/editors/IconEditor.js +169 -165
  140. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  141. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  142. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  143. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +151 -147
  144. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  145. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  146. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
  147. package/lib/cjs/components-react/editors/NumericInputEditor.js +175 -171
  148. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  149. package/lib/cjs/components-react/editors/NumericInputEditor.scss +16 -17
  150. package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
  151. package/lib/cjs/components-react/editors/PopupButton.js +118 -115
  152. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  153. package/lib/cjs/components-react/editors/PopupButton.scss +116 -116
  154. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
  155. package/lib/cjs/components-react/editors/PropertyEditorManager.js +151 -147
  156. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  157. package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
  158. package/lib/cjs/components-react/editors/SliderEditor.js +252 -248
  159. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  161. package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
  162. package/lib/cjs/components-react/editors/TextEditor.js +168 -166
  163. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/TextEditor.scss +20 -21
  165. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
  166. package/lib/cjs/components-react/editors/TextareaEditor.js +206 -202
  167. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  168. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  169. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
  170. package/lib/cjs/components-react/editors/ToggleEditor.js +152 -148
  171. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  172. package/lib/cjs/components-react/editors/ToggleEditor.scss +23 -23
  173. package/lib/cjs/components-react/editors/variables.scss +7 -6
  174. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +36 -36
  175. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  176. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +72 -68
  177. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  178. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  179. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +54 -51
  180. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  181. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  182. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +62 -58
  183. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  184. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +79 -79
  185. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +86 -82
  186. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  187. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +21 -21
  188. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +89 -85
  189. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  190. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  191. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -37
  192. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +90 -86
  193. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  194. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  195. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -23
  196. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +55 -52
  197. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  198. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -26
  199. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +66 -62
  200. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  201. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -22
  202. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +52 -48
  203. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  204. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +86 -86
  205. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  206. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +245 -241
  207. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  208. package/lib/cjs/components-react/filter-builder/Operators.d.ts +44 -44
  209. package/lib/cjs/components-react/filter-builder/Operators.js +130 -130
  210. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  211. package/lib/cjs/components-react/filter-builder/Types.d.ts +37 -37
  212. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  213. package/lib/cjs/components-react/filter-builder/Types.js +18 -18
  214. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  215. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
  216. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  217. package/lib/cjs/components-react/filtering/FilteringInput.js +150 -146
  218. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  219. package/lib/cjs/components-react/filtering/FilteringInput.scss +58 -59
  220. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
  221. package/lib/cjs/components-react/filtering/ResultSelector.js +129 -125
  222. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  223. package/lib/cjs/components-react/filtering/ResultSelector.scss +68 -68
  224. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  225. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +117 -113
  226. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  227. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +75 -75
  228. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
  229. package/lib/cjs/components-react/inputs/ParsedInput.js +114 -110
  230. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  231. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  232. package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
  233. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  234. package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
  235. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  236. package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
  237. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  238. package/lib/cjs/components-react/properties/LinkHandler.js +108 -104
  239. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  240. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
  241. package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
  242. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  243. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  244. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +60 -56
  245. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  246. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  247. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  248. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
  250. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  251. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  252. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +95 -92
  253. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  255. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +97 -93
  256. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  258. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  259. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +59 -56
  260. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  261. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  262. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
  263. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  265. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +112 -108
  266. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  267. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
  268. package/lib/cjs/components-react/properties/renderers/PropertyView.js +105 -101
  269. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
  271. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  272. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +61 -57
  273. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  275. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +47 -43
  276. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  278. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +53 -50
  279. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  280. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  281. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  282. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +62 -58
  283. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  284. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  285. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +58 -55
  286. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  287. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  288. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
  289. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  290. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +24 -24
  291. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +96 -95
  292. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  293. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  294. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +58 -55
  295. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  296. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  297. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  298. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +89 -88
  299. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  300. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  301. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +59 -55
  302. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  303. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  304. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +70 -66
  305. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  306. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  307. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  308. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +43 -39
  309. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  310. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  311. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +54 -50
  312. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  313. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +44 -44
  314. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +91 -87
  315. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  316. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  317. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +52 -48
  318. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  319. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  320. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  321. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +42 -43
  322. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  323. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  324. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
  325. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  326. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  327. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
  328. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  329. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  330. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  331. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +106 -98
  332. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  333. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  334. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +53 -49
  335. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  336. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +32 -32
  337. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +63 -60
  338. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +61 -61
  340. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +187 -185
  341. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  343. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +99 -86
  344. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  345. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
  346. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  347. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  348. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  349. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +125 -121
  350. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  352. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +72 -68
  353. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  354. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +119 -118
  355. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  356. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +266 -267
  357. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  358. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  359. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +25 -24
  360. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  361. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
  362. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  364. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +182 -184
  365. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  367. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
  368. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  370. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +50 -51
  371. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  373. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
  374. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  376. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
  377. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  379. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
  380. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  382. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
  383. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  385. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
  386. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  387. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  388. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
  389. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  391. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  392. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
  393. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  394. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  395. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
  396. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  397. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +51 -51
  398. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
  400. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  401. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  402. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
  403. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  404. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  405. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
  406. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  407. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  408. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
  409. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  410. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +21 -21
  411. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +48 -49
  412. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  413. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +163 -163
  414. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  415. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
  416. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  417. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +43 -43
  418. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +74 -75
  419. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  420. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  421. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
  422. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  423. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  424. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  425. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +72 -68
  426. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  427. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -40
  428. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +84 -82
  429. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  430. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
  431. package/lib/cjs/components-react/selectable-content/SelectableContent.js +75 -72
  432. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  433. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +20 -20
  434. package/lib/cjs/components-react/table/TableDataProvider.d.ts +10 -9
  435. package/lib/cjs/components-react/table/TableDataProvider.d.ts.map +1 -1
  436. package/lib/cjs/components-react/table/TableDataProvider.js +18 -17
  437. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  438. package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
  439. package/lib/cjs/components-react/toolbar/Item.js +50 -46
  440. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  441. package/lib/cjs/components-react/toolbar/Item.scss +91 -91
  442. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
  443. package/lib/cjs/components-react/toolbar/ItemWrapper.js +63 -59
  444. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  445. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  446. package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
  447. package/lib/cjs/components-react/toolbar/Items.js +80 -76
  448. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  449. package/lib/cjs/components-react/toolbar/Items.scss +96 -96
  450. package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
  451. package/lib/cjs/components-react/toolbar/Overflow.js +76 -72
  452. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  453. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  454. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
  455. package/lib/cjs/components-react/toolbar/OverflowPanel.js +72 -68
  456. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  457. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  458. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
  459. package/lib/cjs/components-react/toolbar/PopupItem.js +109 -105
  460. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  461. package/lib/cjs/components-react/toolbar/PopupItem.scss +88 -88
  462. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  463. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +175 -171
  464. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  465. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  466. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +146 -142
  467. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  468. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
  469. package/lib/cjs/components-react/toolbar/Toolbar.js +98 -94
  470. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  471. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  472. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +133 -133
  473. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  474. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +477 -473
  475. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  476. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  477. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  478. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +52 -48
  479. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  480. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  481. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  482. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +47 -43
  483. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  484. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  485. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  486. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +47 -43
  487. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  488. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  489. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  490. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +49 -45
  491. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  492. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +15 -15
  493. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  494. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +47 -43
  495. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  496. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +33 -33
  497. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  498. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  499. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +50 -46
  500. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  501. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  502. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  503. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +66 -62
  504. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  505. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  506. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  507. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
  508. package/lib/cjs/components-react/toolbar/useDragInteraction.js +129 -125
  509. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  510. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
  511. package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
  512. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  513. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
  514. package/lib/cjs/components-react/tree/HighlightingEngine.js +65 -61
  515. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  516. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  517. package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
  518. package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
  519. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  520. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +23 -23
  521. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  522. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +39 -39
  523. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  524. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
  525. package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
  526. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  527. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +97 -97
  528. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  529. package/lib/cjs/components-react/tree/TreeDataProvider.js +56 -56
  530. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  531. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +97 -97
  532. package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
  533. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  534. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
  535. package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
  536. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  537. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  538. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
  539. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  540. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  541. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
  542. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  543. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  544. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
  545. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  546. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  547. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +80 -80
  548. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  549. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
  550. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  551. package/lib/cjs/components-react/tree/controlled/TreeModel.js +330 -336
  552. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  553. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  554. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
  555. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  556. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +147 -147
  557. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +312 -314
  558. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  559. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +57 -57
  560. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +110 -106
  561. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  562. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  563. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  564. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  565. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +95 -90
  566. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  567. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +27 -27
  568. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  569. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  570. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +61 -57
  571. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  572. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  573. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  574. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +67 -63
  575. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  576. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -72
  577. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  578. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +256 -252
  579. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  580. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  581. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +243 -244
  582. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  583. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  584. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
  585. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  586. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  587. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  588. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +251 -253
  589. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  590. package/lib/cjs/components-react.d.ts +202 -202
  591. package/lib/cjs/components-react.js +226 -222
  592. package/lib/cjs/components-react.js.map +1 -1
  593. package/lib/esm/components-react/UiComponents.d.ts +35 -35
  594. package/lib/esm/components-react/UiComponents.js +76 -75
  595. package/lib/esm/components-react/UiComponents.js.map +1 -1
  596. package/lib/esm/components-react/_target.scss +9 -9
  597. package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
  598. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  599. package/lib/esm/components-react/common/DateUtils.js +68 -68
  600. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  601. package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
  602. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  603. package/lib/esm/components-react/common/DelayedSpinner.js +33 -34
  604. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  605. package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
  606. package/lib/esm/components-react/common/HighlightedText.js +31 -31
  607. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  608. package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
  609. package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
  610. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  611. package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
  612. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  613. package/lib/esm/components-react/common/IImageLoader.js +8 -8
  614. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  615. package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
  616. package/lib/esm/components-react/common/ImageRenderer.js +120 -119
  617. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  618. package/lib/esm/components-react/common/Links.d.ts +12 -12
  619. package/lib/esm/components-react/common/Links.js +64 -64
  620. package/lib/esm/components-react/common/Links.js.map +1 -1
  621. package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
  622. package/lib/esm/components-react/common/PageOptions.js +8 -8
  623. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  624. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
  625. package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
  626. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  627. package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
  628. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  629. package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
  630. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  631. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  632. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
  633. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  634. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +15 -15
  635. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +44 -44
  636. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  637. package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
  638. package/lib/esm/components-react/common/UseRerender.js +27 -27
  639. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  640. package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
  641. package/lib/esm/components-react/common/countMatchesInString.js +27 -27
  642. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  643. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
  644. package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
  645. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  646. package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
  647. package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
  648. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  649. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  650. package/lib/esm/components-react/converters/BooleanTypeConverter.js +51 -50
  651. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  652. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  653. package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
  654. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  655. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  656. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
  657. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  658. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
  659. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  660. package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
  661. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  662. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  663. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
  664. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  665. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  666. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
  667. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  668. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
  669. package/lib/esm/components-react/converters/NumericTypeConverter.js +105 -107
  670. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  671. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
  672. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  673. package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
  674. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  675. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
  676. package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
  677. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  678. package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
  679. package/lib/esm/components-react/converters/TypeConverter.js +72 -73
  680. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  681. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
  682. package/lib/esm/components-react/converters/TypeConverterManager.js +47 -46
  683. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  684. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  685. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
  686. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  687. package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
  688. package/lib/esm/components-react/datepicker/DateField.js +129 -129
  689. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  690. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  691. package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
  692. package/lib/esm/components-react/datepicker/DatePicker.js +182 -182
  693. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  694. package/lib/esm/components-react/datepicker/DatePicker.scss +176 -177
  695. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  696. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +76 -76
  697. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  698. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  699. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
  700. package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
  701. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  702. package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
  703. package/lib/esm/components-react/datepicker/TimeField.js +225 -225
  704. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  705. package/lib/esm/components-react/datepicker/TimeField.scss +76 -76
  706. package/lib/esm/components-react/editors/BooleanEditor.d.ts +45 -45
  707. package/lib/esm/components-react/editors/BooleanEditor.js +121 -121
  708. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  709. package/lib/esm/components-react/editors/BooleanEditor.scss +22 -22
  710. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
  711. package/lib/esm/components-react/editors/CustomNumberEditor.js +266 -268
  712. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  713. package/lib/esm/components-react/editors/CustomNumberEditor.scss +20 -21
  714. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
  715. package/lib/esm/components-react/editors/DateTimeEditor.js +273 -274
  716. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  717. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  718. package/lib/esm/components-react/editors/EditorContainer.d.ts +92 -92
  719. package/lib/esm/components-react/editors/EditorContainer.js +160 -160
  720. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  721. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  722. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +44 -44
  723. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +154 -154
  724. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  725. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  726. package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
  727. package/lib/esm/components-react/editors/EnumEditor.js +161 -161
  728. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  729. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  730. package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
  731. package/lib/esm/components-react/editors/IconEditor.js +138 -138
  732. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  733. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  734. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  735. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
  736. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  737. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  738. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
  739. package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
  740. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  741. package/lib/esm/components-react/editors/NumericInputEditor.scss +16 -17
  742. package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
  743. package/lib/esm/components-react/editors/PopupButton.js +86 -87
  744. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  745. package/lib/esm/components-react/editors/PopupButton.scss +116 -116
  746. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
  747. package/lib/esm/components-react/editors/PropertyEditorManager.js +122 -121
  748. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  749. package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
  750. package/lib/esm/components-react/editors/SliderEditor.js +221 -221
  751. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  752. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  753. package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
  754. package/lib/esm/components-react/editors/TextEditor.js +138 -140
  755. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  756. package/lib/esm/components-react/editors/TextEditor.scss +20 -21
  757. package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
  758. package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
  759. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  760. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  761. package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
  762. package/lib/esm/components-react/editors/ToggleEditor.js +121 -121
  763. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  764. package/lib/esm/components-react/editors/ToggleEditor.scss +23 -23
  765. package/lib/esm/components-react/editors/variables.scss +7 -6
  766. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +36 -36
  767. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  768. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +45 -45
  769. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  770. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  771. package/lib/esm/components-react/favorite/FavoritePropertyList.js +27 -28
  772. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  773. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  774. package/lib/esm/components-react/filter-builder/FilterBuilder.js +35 -35
  775. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  776. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +79 -79
  777. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +59 -59
  778. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  779. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +21 -21
  780. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +62 -62
  781. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  782. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  783. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +37 -37
  784. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +62 -62
  785. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  786. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  787. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +23 -23
  788. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +28 -29
  789. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  790. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +26 -26
  791. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +39 -39
  792. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  793. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +22 -22
  794. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +25 -25
  795. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  796. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +86 -86
  797. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  798. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +215 -215
  799. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  800. package/lib/esm/components-react/filter-builder/Operators.d.ts +44 -44
  801. package/lib/esm/components-react/filter-builder/Operators.js +124 -124
  802. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  803. package/lib/esm/components-react/filter-builder/Types.d.ts +37 -37
  804. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  805. package/lib/esm/components-react/filter-builder/Types.js +14 -14
  806. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  807. package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
  808. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  809. package/lib/esm/components-react/filtering/FilteringInput.js +120 -120
  810. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  811. package/lib/esm/components-react/filtering/FilteringInput.scss +58 -59
  812. package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
  813. package/lib/esm/components-react/filtering/ResultSelector.js +99 -99
  814. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  815. package/lib/esm/components-react/filtering/ResultSelector.scss +68 -68
  816. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  817. package/lib/esm/components-react/iconpicker/IconPickerButton.js +88 -87
  818. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  819. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +75 -75
  820. package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
  821. package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
  822. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  823. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  824. package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
  825. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  826. package/lib/esm/components-react/properties/ItemStyle.js +61 -61
  827. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  828. package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
  829. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  830. package/lib/esm/components-react/properties/LinkHandler.js +79 -79
  831. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  832. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
  833. package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
  834. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  835. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  836. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
  837. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  838. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  839. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  840. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  841. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
  842. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  843. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  844. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +68 -69
  845. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  846. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  847. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
  848. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  849. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  850. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  851. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +32 -33
  852. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  853. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  854. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
  855. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  856. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  857. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
  858. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  859. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
  860. package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
  861. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  862. package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
  863. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  864. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +34 -34
  865. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  866. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  867. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
  868. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  869. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  870. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +26 -27
  871. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  872. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  873. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  874. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
  875. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  876. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  877. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +31 -32
  878. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  879. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  880. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
  881. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  882. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +24 -24
  883. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +68 -71
  884. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  885. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  886. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +31 -32
  887. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  888. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  889. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  890. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +59 -62
  891. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  892. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  893. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
  894. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  895. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  896. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
  897. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  898. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  899. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  900. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
  901. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  902. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  903. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
  904. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  905. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +44 -44
  906. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +64 -64
  907. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  908. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  909. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
  910. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  911. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  912. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  913. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
  914. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  915. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  916. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
  917. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  918. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  919. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
  920. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  921. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  922. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  923. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +80 -75
  924. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  925. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  926. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
  927. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  928. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +32 -32
  929. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +36 -37
  930. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  931. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +61 -61
  932. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +157 -159
  933. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  934. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  935. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +99 -86
  936. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  937. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +52 -51
  938. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  939. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  940. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  941. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
  942. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  943. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  944. package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
  945. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  946. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +119 -118
  947. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  948. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +236 -241
  949. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  950. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  951. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +25 -24
  952. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  953. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
  954. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  955. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  956. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +178 -180
  957. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  958. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  959. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
  960. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  961. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  962. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +46 -47
  963. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  964. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  965. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
  966. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  967. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  968. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
  969. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  970. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  971. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
  972. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  973. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  974. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
  975. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  976. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  977. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
  978. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  979. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  980. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
  981. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  982. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  983. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  984. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
  985. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  986. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  987. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
  988. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  989. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +51 -51
  990. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  991. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
  992. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  993. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  994. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
  995. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  996. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  997. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
  998. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  999. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  1000. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
  1001. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  1002. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +21 -21
  1003. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +44 -45
  1004. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  1005. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +163 -163
  1006. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  1007. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
  1008. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  1009. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +43 -43
  1010. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +70 -71
  1011. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  1012. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  1013. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
  1014. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  1015. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  1016. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  1017. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
  1018. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  1019. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +40 -40
  1020. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +57 -59
  1021. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  1022. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
  1023. package/lib/esm/components-react/selectable-content/SelectableContent.js +47 -48
  1024. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  1025. package/lib/esm/components-react/selectable-content/SelectableContent.scss +20 -20
  1026. package/lib/esm/components-react/table/TableDataProvider.d.ts +10 -9
  1027. package/lib/esm/components-react/table/TableDataProvider.d.ts.map +1 -1
  1028. package/lib/esm/components-react/table/TableDataProvider.js +14 -13
  1029. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  1030. package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
  1031. package/lib/esm/components-react/toolbar/Item.js +21 -21
  1032. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  1033. package/lib/esm/components-react/toolbar/Item.scss +91 -91
  1034. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
  1035. package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
  1036. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  1037. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  1038. package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
  1039. package/lib/esm/components-react/toolbar/Items.js +50 -50
  1040. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  1041. package/lib/esm/components-react/toolbar/Items.scss +96 -96
  1042. package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
  1043. package/lib/esm/components-react/toolbar/Overflow.js +45 -45
  1044. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  1045. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  1046. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
  1047. package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
  1048. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  1049. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  1050. package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
  1051. package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
  1052. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  1053. package/lib/esm/components-react/toolbar/PopupItem.scss +88 -88
  1054. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  1055. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
  1056. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  1057. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  1058. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
  1059. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  1060. package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
  1061. package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
  1062. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  1063. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  1064. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +133 -133
  1065. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  1066. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +441 -440
  1067. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  1068. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  1069. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  1070. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
  1071. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  1072. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  1073. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  1074. package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
  1075. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  1076. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  1077. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  1078. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
  1079. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  1080. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  1081. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  1082. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
  1083. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  1084. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +15 -15
  1085. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  1086. package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
  1087. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  1088. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +33 -33
  1089. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  1090. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  1091. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
  1092. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  1093. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  1094. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  1095. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
  1096. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  1097. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  1098. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  1099. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
  1100. package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
  1101. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1102. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
  1103. package/lib/esm/components-react/toolbar/utilities/Direction.js +91 -89
  1104. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1105. package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
  1106. package/lib/esm/components-react/tree/HighlightingEngine.js +39 -38
  1107. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1108. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  1109. package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
  1110. package/lib/esm/components-react/tree/ImageLoader.js +21 -21
  1111. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1112. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +23 -23
  1113. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  1114. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +35 -35
  1115. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1116. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
  1117. package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
  1118. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1119. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +97 -97
  1120. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1121. package/lib/esm/components-react/tree/TreeDataProvider.js +48 -48
  1122. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1123. package/lib/esm/components-react/tree/controlled/Observable.d.ts +97 -97
  1124. package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
  1125. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1126. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
  1127. package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
  1128. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1129. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  1130. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
  1131. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1132. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  1133. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
  1134. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1135. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  1136. package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
  1137. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1138. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  1139. package/lib/esm/components-react/tree/controlled/TreeHooks.js +72 -72
  1140. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1141. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
  1142. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  1143. package/lib/esm/components-react/tree/controlled/TreeModel.js +321 -324
  1144. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1145. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  1146. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
  1147. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1148. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +147 -147
  1149. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +303 -305
  1150. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1151. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +57 -57
  1152. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +83 -83
  1153. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1154. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  1155. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  1156. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  1157. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +65 -64
  1158. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1159. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +27 -27
  1160. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  1161. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  1162. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
  1163. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1164. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  1165. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  1166. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
  1167. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1168. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +72 -72
  1169. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1170. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
  1171. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1172. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  1173. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +238 -239
  1174. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1175. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  1176. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
  1177. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1178. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  1179. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  1180. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +246 -248
  1181. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1182. package/lib/esm/components-react.d.ts +202 -202
  1183. package/lib/esm/components-react.js +208 -208
  1184. package/lib/esm/components-react.js.map +1 -1
  1185. package/lib/public/locales/en/UiComponents.json +139 -139
  1186. package/package.json +17 -21
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { from } from \"rxjs/internal/observable/from\";\r\nimport { of } from \"rxjs/internal/observable/of\";\r\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\r\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\r\nimport { finalize } from \"rxjs/internal/operators/finalize\";\r\nimport { map } from \"rxjs/internal/operators/map\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { toArray } from \"rxjs/internal/operators/toArray\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport {\r\n ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\r\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem,\r\n} from \"../TreeDataProvider\";\r\nimport { Observable, toRxjsObservable } from \"./Observable\";\r\nimport { isTreeModelNode, MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\r\nimport { TreeModelSource } from \"./TreeModelSource\";\r\n\r\n/**\r\n * Data structure that describes node load result\r\n * @public\r\n */\r\nexport interface TreeNodeLoadResult {\r\n loadedNodes: TreeNodeItem[];\r\n}\r\n\r\n/**\r\n * Tree node loader which is used to load tree nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoader {\r\n /**\r\n * Loads node at specified place in tree.\r\n * @param parentId specifies tree branch\r\n * @param childIndex specifies offset in the branch.\r\n */\r\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\r\n}\r\n\r\n/**\r\n * Tree node loader which uses `TreeDataProvider` to load nodes.\r\n * @public\r\n */\r\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\r\n /** Returns `TreeDataProvider` used to load nodes. */\r\n readonly dataProvider: TDataProvider;\r\n}\r\n\r\n/**\r\n * Abstract node loader implementation which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\r\n private _treeModelSource: TreeModelSource;\r\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n protected constructor(modelSource: TreeModelSource) {\r\n this._treeModelSource = modelSource;\r\n }\r\n\r\n public get modelSource() { return this._treeModelSource; }\r\n\r\n /** Do not override this method. @see `load` */\r\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._loadScheduler),\r\n );\r\n }\r\n\r\n /**\r\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\r\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\r\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\r\n * in the hierarchy, etc.)\r\n */\r\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\r\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\r\n }\r\n\r\n /** An abstract method to load a node at the specific index for the specified parent. */\r\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\r\n}\r\n\r\n/**\r\n * Abstract node loader with tree data provider which loads nodes into provided model source.\r\n * @public\r\n */\r\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\r\n private _dataProvider: TDataProvider;\r\n\r\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\r\n super(modelSource);\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public get dataProvider() { return this._dataProvider; }\r\n}\r\n\r\n/**\r\n * Default tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\r\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n }\r\n\r\n /**\r\n * Schedules to load children of node and returns an Observable.\r\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const activeRequest = this._activeRequests.get(parentId);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\r\n .pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => this._activeRequests.delete(parentId))\r\n );\r\n this._activeRequests.set(parentId, newRequest);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Default paged tree node loader with `TreeDataProvider` implementation.\r\n * @public\r\n */\r\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\r\n private _treeDataSource: TreeDataSource;\r\n private _pageSize: number;\r\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\r\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\r\n\r\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\r\n super(modelSource, dataProvider);\r\n this._treeDataSource = new TreeDataSource(dataProvider);\r\n this._pageSize = pageSize;\r\n this._activePageRequests = new Map();\r\n this._scheduler = new SubscriptionScheduler();\r\n }\r\n\r\n /** Returns page size used by tree node loader. */\r\n public get pageSize(): number { return this._pageSize; }\r\n\r\n /**\r\n * Schedules to load one page of node children and returns an Observable.\r\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\r\n */\r\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\r\n return defer(() => {\r\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\r\n const parentId = parentItem?.id;\r\n const parentPageRequests = this._activePageRequests.get(parentId)\r\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\r\n const page = Math.trunc(childIndex / this._pageSize);\r\n const activeRequest = parentPageRequests.get(page);\r\n if (activeRequest) {\r\n return activeRequest;\r\n }\r\n\r\n const startIndex = page * this._pageSize;\r\n const newRequest = requestLoadedHierarchy(\r\n parentItem,\r\n this._treeDataSource,\r\n startIndex,\r\n this._pageSize,\r\n parent.numChildren === undefined,\r\n ).pipe(\r\n map((loadedHierarchy) => {\r\n this.updateModel(loadedHierarchy);\r\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\r\n }),\r\n scheduleSubscription(this._scheduler),\r\n finalize(() => {\r\n parentPageRequests.delete(page);\r\n if (parentPageRequests.size === 0) {\r\n this._activePageRequests.delete(parentId);\r\n }\r\n }),\r\n );\r\n\r\n parentPageRequests.set(page, newRequest);\r\n this._activePageRequests.set(parentId, parentPageRequests);\r\n return newRequest;\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n protected load(): Observable<LoadedNodeHierarchy> {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that describes hierarchy loaded for parent node.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchy {\r\n /** Node id of the parent node for loaded hierarchy. */\r\n parentId: string | undefined;\r\n /** Hierarchy items offset in parent node children array. */\r\n offset: number;\r\n /** Loaded hierarchy items. */\r\n hierarchyItems: LoadedNodeHierarchyItem[];\r\n /** Number of children parent node has. */\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes one loaded hierarchy item.\r\n * @public\r\n */\r\nexport interface LoadedNodeHierarchyItem {\r\n /** Loaded tree node item. */\r\n item: TreeNodeItemData;\r\n /** Children of loaded tree node item. */\r\n children?: LoadedNodeHierarchyItem[];\r\n /** Number of children tree node item has. */\r\n numChildren?: number;\r\n}\r\n\r\nfunction requestLoadedHierarchy(\r\n parentItem: TreeNodeItem | undefined,\r\n dataSource: TreeDataSource,\r\n start: number,\r\n take: number,\r\n requestNumChildren: boolean,\r\n) {\r\n const parentId = parentItem && parentItem.id;\r\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((hierarchyItems) => ({\r\n parentId,\r\n offset: start,\r\n hierarchyItems,\r\n numChildren,\r\n })),\r\n ),\r\n ),\r\n );\r\n}\r\n\r\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\r\n return from(rootItems)\r\n .pipe(\r\n concatMap((item) => {\r\n if (!item.autoExpand || item.children) {\r\n return of(convertToLoadedNodeHierarchyItem(item));\r\n }\r\n\r\n return dataSource.requestItems(item, 0, take, true)\r\n .pipe(\r\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\r\n .pipe(\r\n map((children) => ({ item, children, numChildren })),\r\n ),\r\n ),\r\n );\r\n }),\r\n toArray(),\r\n );\r\n}\r\n\r\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\r\n return {\r\n item,\r\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\r\n numChildren: item.children ? item.children.length : undefined,\r\n };\r\n}\r\n\r\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\r\n for (const hierarchyItem of hierarchyItems) {\r\n result.push(hierarchyItem.item);\r\n if (hierarchyItem.children)\r\n collectTreeNodeItems(hierarchyItem.children, result);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\r\n modelSource.modifyModel((model) => {\r\n if (loadedHierarchy.parentId !== undefined) {\r\n // Make sure the model sill contains the parent node\r\n /* istanbul ignore if */\r\n if (model.getNode(loadedHierarchy.parentId) === undefined)\r\n return;\r\n }\r\n\r\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\r\n if (loadedHierarchy.parentId !== undefined) {\r\n const parentNode = model.getNode(loadedHierarchy.parentId);\r\n /* istanbul ignore else */\r\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\r\n parentNode.isLoading = false;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction updateChildren(\r\n model: MutableTreeModel,\r\n parentId: string | undefined,\r\n hierarchyItems: LoadedNodeHierarchyItem[],\r\n startIndex: number,\r\n numChildren?: number,\r\n) {\r\n // numChildren set to undefined indicates that this is not the first request for children\r\n if (numChildren !== undefined) {\r\n model.setNumChildren(parentId, numChildren);\r\n }\r\n\r\n // if children array is undefined do not add children as they should be disposed\r\n if (model.getChildren(parentId) === undefined) {\r\n return;\r\n }\r\n\r\n let offset = startIndex;\r\n for (const hierarchyItem of hierarchyItems) {\r\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\r\n const existingNode = model.getNode(hierarchyItem.item.id);\r\n\r\n // if same item exists in the same position and is expanded update it without removing it's subtree\r\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\r\n model.setChildren(parentId, [nodeInput], offset);\r\n } else {\r\n existingNode.label = nodeInput.label;\r\n existingNode.description = nodeInput.description ?? \"\";\r\n existingNode.item = nodeInput.item;\r\n }\r\n\r\n if (hierarchyItem.children) {\r\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\r\n }\r\n offset++;\r\n }\r\n}\r\n\r\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\r\n let numChildren: number | undefined;\r\n if (item.children) {\r\n numChildren = item.children.length;\r\n } else if (!item.hasChildren) {\r\n numChildren = 0;\r\n }\r\n\r\n return {\r\n description: item.description,\r\n isExpanded: !!item.autoExpand,\r\n id: item.id,\r\n item,\r\n label: item.label,\r\n isLoading: false,\r\n numChildren,\r\n isSelected: false,\r\n };\r\n}\r\n\r\ninterface TreeDataSourceResult {\r\n loadedItems: TreeNodeItemData[];\r\n numChildren?: number;\r\n}\r\n\r\n/**\r\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\r\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\r\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\r\n *\r\n * @internal\r\n */\r\nexport class TreeDataSource {\r\n private _dataProvider: TreeDataProvider;\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public requestItems(\r\n parent: TreeNodeItem | undefined,\r\n firstItemIndex: number,\r\n numItems: number,\r\n requestNumChildren: boolean,\r\n ): RxjsObservable<TreeDataSourceResult> {\r\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\r\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\r\n return defer(async () => {\r\n if (isTreeDataProviderInterface(this._dataProvider)) {\r\n const dataProvider = this._dataProvider;\r\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\r\n .pipe(\r\n concatMap(async (numChildren) => {\r\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\r\n return {\r\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\r\n numChildren,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n return from(this.getItems(parent))\r\n .pipe(\r\n map((loadedItems) => ({\r\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\r\n numChildren: loadedItems.length,\r\n })),\r\n );\r\n })\r\n .pipe(\r\n concatAll(),\r\n publish(),\r\n refCount(),\r\n );\r\n }\r\n\r\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\r\n if (isTreeDataProviderRaw(this._dataProvider)) {\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n if (isTreeDataProviderMethod(this._dataProvider)) {\r\n return this._dataProvider(parent);\r\n }\r\n\r\n if (isTreeDataProviderPromise(this._dataProvider)) {\r\n this._dataProvider = await this._dataProvider;\r\n return this.getChildren(this._dataProvider, parent);\r\n }\r\n\r\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\r\n }\r\n\r\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\r\n if (parent === undefined)\r\n return rawProvider;\r\n\r\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TreeNodeLoader.js","sourceRoot":"","sources":["../../../../../src/components-react/tree/controlled/TreeNodeLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport { Observable as RxjsObservable } from \"rxjs/internal/Observable\";\nimport { defer } from \"rxjs/internal/observable/defer\";\nimport { from } from \"rxjs/internal/observable/from\";\nimport { of } from \"rxjs/internal/observable/of\";\nimport { concatAll } from \"rxjs/internal/operators/concatAll\";\nimport { concatMap } from \"rxjs/internal/operators/concatMap\";\nimport { finalize } from \"rxjs/internal/operators/finalize\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { publish } from \"rxjs/internal/operators/publish\";\nimport { refCount } from \"rxjs/internal/operators/refCount\";\nimport { toArray } from \"rxjs/internal/operators/toArray\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { scheduleSubscription, SubscriptionScheduler } from \"../../common/SubscriptionScheduler\";\nimport { UiComponents } from \"../../UiComponents\";\nimport {\n ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, isTreeDataProviderMethod, isTreeDataProviderPromise, isTreeDataProviderRaw,\n TreeDataProvider, TreeDataProviderRaw, TreeNodeItem,\n} from \"../TreeDataProvider\";\nimport { Observable, toRxjsObservable } from \"./Observable\";\nimport { isTreeModelNode, MutableTreeModel, TreeModelNode, TreeModelNodeInput, TreeModelRootNode, TreeNodeItemData } from \"./TreeModel\";\nimport { TreeModelSource } from \"./TreeModelSource\";\n\n/**\n * Data structure that describes node load result\n * @public\n */\nexport interface TreeNodeLoadResult {\n loadedNodes: TreeNodeItem[];\n}\n\n/**\n * Tree node loader which is used to load tree nodes.\n * @public\n */\nexport interface ITreeNodeLoader {\n /**\n * Loads node at specified place in tree.\n * @param parentId specifies tree branch\n * @param childIndex specifies offset in the branch.\n */\n loadNode(parentId: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult>;\n}\n\n/**\n * Tree node loader which uses `TreeDataProvider` to load nodes.\n * @public\n */\nexport interface ITreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends ITreeNodeLoader {\n /** Returns `TreeDataProvider` used to load nodes. */\n readonly dataProvider: TDataProvider;\n}\n\n/**\n * Abstract node loader implementation which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoader implements ITreeNodeLoader {\n private _treeModelSource: TreeModelSource;\n private _loadScheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n protected constructor(modelSource: TreeModelSource) {\n this._treeModelSource = modelSource;\n }\n\n public get modelSource() { return this._treeModelSource; }\n\n /** Do not override this method. @see `load` */\n public loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\n return toRxjsObservable(this.load(parent, childIndex)).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._loadScheduler),\n );\n }\n\n /**\n * A method that's called when `load` loads some nodes and we need to put them into model source. The\n * default implementation simply puts loaded child nodes under their parent at correct positions. Concrete\n * implementation may override this method to handle loaded nodes in a a custom way (put them at custom locations\n * in the hierarchy, etc.)\n */\n protected updateModel(loadedHierarchy: LoadedNodeHierarchy): void {\n handleLoadedNodeHierarchy(this._treeModelSource, loadedHierarchy);\n }\n\n /** An abstract method to load a node at the specific index for the specified parent. */\n protected abstract load(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<LoadedNodeHierarchy>;\n}\n\n/**\n * Abstract node loader with tree data provider which loads nodes into provided model source.\n * @public\n */\nexport abstract class AbstractTreeNodeLoaderWithProvider<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoader implements ITreeNodeLoaderWithProvider<TDataProvider> {\n private _dataProvider: TDataProvider;\n\n protected constructor(modelSource: TreeModelSource, dataProvider: TDataProvider) {\n super(modelSource);\n this._dataProvider = dataProvider;\n }\n\n public get dataProvider() { return this._dataProvider; }\n}\n\n/**\n * Default tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class TreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _activeRequests = new Map<string | undefined, RxjsObservable<TreeNodeLoadResult>>();\n private _scheduler = new SubscriptionScheduler<TreeNodeLoadResult>();\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n }\n\n /**\n * Schedules to load children of node and returns an Observable.\n * @note It does not start loading node until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, _childIndex?: number): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const activeRequest = this._activeRequests.get(parentId);\n if (activeRequest) {\n return activeRequest;\n }\n\n const newRequest = requestLoadedHierarchy(parentItem, this._treeDataSource, 0, 0, parent.numChildren === undefined)\n .pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => this._activeRequests.delete(parentId))\n );\n this._activeRequests.set(parentId, newRequest);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Default paged tree node loader with `TreeDataProvider` implementation.\n * @public\n */\nexport class PagedTreeNodeLoader<TDataProvider extends TreeDataProvider> extends AbstractTreeNodeLoaderWithProvider<TDataProvider> {\n private _treeDataSource: TreeDataSource;\n private _pageSize: number;\n private _activePageRequests: Map<string | undefined, Map<number, Observable<TreeNodeLoadResult>>>;\n private _scheduler: SubscriptionScheduler<TreeNodeLoadResult>;\n\n constructor(dataProvider: TDataProvider, modelSource: TreeModelSource, pageSize: number) {\n super(modelSource, dataProvider);\n this._treeDataSource = new TreeDataSource(dataProvider);\n this._pageSize = pageSize;\n this._activePageRequests = new Map();\n this._scheduler = new SubscriptionScheduler();\n }\n\n /** Returns page size used by tree node loader. */\n public get pageSize(): number { return this._pageSize; }\n\n /**\n * Schedules to load one page of node children and returns an Observable.\n * @note It does not start loading node page until '.subscribe()' is called on returned Observable.\n */\n public override loadNode(parent: TreeModelNode | TreeModelRootNode, childIndex: number): Observable<TreeNodeLoadResult> {\n return defer(() => {\n const parentItem = isTreeModelNode(parent) ? parent.item : undefined;\n const parentId = parentItem?.id;\n const parentPageRequests = this._activePageRequests.get(parentId)\n ?? new Map<number, Observable<TreeNodeLoadResult>>();\n const page = Math.trunc(childIndex / this._pageSize);\n const activeRequest = parentPageRequests.get(page);\n if (activeRequest) {\n return activeRequest;\n }\n\n const startIndex = page * this._pageSize;\n const newRequest = requestLoadedHierarchy(\n parentItem,\n this._treeDataSource,\n startIndex,\n this._pageSize,\n parent.numChildren === undefined,\n ).pipe(\n map((loadedHierarchy) => {\n this.updateModel(loadedHierarchy);\n return { loadedNodes: collectTreeNodeItems(loadedHierarchy.hierarchyItems) };\n }),\n scheduleSubscription(this._scheduler),\n finalize(() => {\n parentPageRequests.delete(page);\n if (parentPageRequests.size === 0) {\n this._activePageRequests.delete(parentId);\n }\n }),\n );\n\n parentPageRequests.set(page, newRequest);\n this._activePageRequests.set(parentId, parentPageRequests);\n return newRequest;\n });\n }\n\n // istanbul ignore next\n protected load(): Observable<LoadedNodeHierarchy> {\n throw new Error(\"Method not implemented.\");\n }\n}\n\n/**\n * Data structure that describes hierarchy loaded for parent node.\n * @public\n */\nexport interface LoadedNodeHierarchy {\n /** Node id of the parent node for loaded hierarchy. */\n parentId: string | undefined;\n /** Hierarchy items offset in parent node children array. */\n offset: number;\n /** Loaded hierarchy items. */\n hierarchyItems: LoadedNodeHierarchyItem[];\n /** Number of children parent node has. */\n numChildren?: number;\n}\n\n/**\n * Data structure that describes one loaded hierarchy item.\n * @public\n */\nexport interface LoadedNodeHierarchyItem {\n /** Loaded tree node item. */\n item: TreeNodeItemData;\n /** Children of loaded tree node item. */\n children?: LoadedNodeHierarchyItem[];\n /** Number of children tree node item has. */\n numChildren?: number;\n}\n\nfunction requestLoadedHierarchy(\n parentItem: TreeNodeItem | undefined,\n dataSource: TreeDataSource,\n start: number,\n take: number,\n requestNumChildren: boolean,\n) {\n const parentId = parentItem && parentItem.id;\n return dataSource.requestItems(parentItem, start, take, requestNumChildren)\n .pipe(\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\n .pipe(\n map((hierarchyItems) => ({\n parentId,\n offset: start,\n hierarchyItems,\n numChildren,\n })),\n ),\n ),\n );\n}\n\nfunction loadHierarchy(rootItems: TreeNodeItemData[], dataSource: TreeDataSource, take: number): RxjsObservable<LoadedNodeHierarchyItem[]> {\n return from(rootItems)\n .pipe(\n concatMap((item) => {\n if (!item.autoExpand || item.children) {\n return of(convertToLoadedNodeHierarchyItem(item));\n }\n\n return dataSource.requestItems(item, 0, take, true)\n .pipe(\n concatMap(({ numChildren, loadedItems }) => loadHierarchy(loadedItems, dataSource, take)\n .pipe(\n map((children) => ({ item, children, numChildren })),\n ),\n ),\n );\n }),\n toArray(),\n );\n}\n\nfunction convertToLoadedNodeHierarchyItem(item: TreeNodeItemData): LoadedNodeHierarchyItem {\n return {\n item,\n children: item.children ? item.children.map((child) => convertToLoadedNodeHierarchyItem(child)) : undefined,\n numChildren: item.children ? item.children.length : undefined,\n };\n}\n\nfunction collectTreeNodeItems(hierarchyItems: LoadedNodeHierarchyItem[], result: TreeNodeItem[] = []) {\n for (const hierarchyItem of hierarchyItems) {\n result.push(hierarchyItem.item);\n if (hierarchyItem.children)\n collectTreeNodeItems(hierarchyItem.children, result);\n }\n\n return result;\n}\n\n/** @internal */\nexport function handleLoadedNodeHierarchy(modelSource: TreeModelSource, loadedHierarchy: LoadedNodeHierarchy) {\n modelSource.modifyModel((model) => {\n if (loadedHierarchy.parentId !== undefined) {\n // Make sure the model sill contains the parent node\n /* istanbul ignore if */\n if (model.getNode(loadedHierarchy.parentId) === undefined)\n return;\n }\n\n updateChildren(model, loadedHierarchy.parentId, loadedHierarchy.hierarchyItems, loadedHierarchy.offset, loadedHierarchy.numChildren);\n if (loadedHierarchy.parentId !== undefined) {\n const parentNode = model.getNode(loadedHierarchy.parentId);\n /* istanbul ignore else */\n if (parentNode && parentNode.isLoading && parentNode.numChildren !== undefined) {\n parentNode.isLoading = false;\n }\n }\n });\n}\n\nfunction updateChildren(\n model: MutableTreeModel,\n parentId: string | undefined,\n hierarchyItems: LoadedNodeHierarchyItem[],\n startIndex: number,\n numChildren?: number,\n) {\n // numChildren set to undefined indicates that this is not the first request for children\n if (numChildren !== undefined) {\n model.setNumChildren(parentId, numChildren);\n }\n\n // if children array is undefined do not add children as they should be disposed\n if (model.getChildren(parentId) === undefined) {\n return;\n }\n\n let offset = startIndex;\n for (const hierarchyItem of hierarchyItems) {\n const nodeInput = convertToTreeModelNodeInput(hierarchyItem.item);\n const existingNode = model.getNode(hierarchyItem.item.id);\n\n // if same item exists in the same position and is expanded update it without removing it's subtree\n if (!existingNode || !existingNode.isExpanded || model.getChildOffset(parentId, existingNode.id) !== offset || nodeInput.numChildren === 0) {\n model.setChildren(parentId, [nodeInput], offset);\n } else {\n existingNode.label = nodeInput.label;\n existingNode.description = nodeInput.description ?? \"\";\n existingNode.item = nodeInput.item;\n }\n\n if (hierarchyItem.children) {\n updateChildren(model, hierarchyItem.item.id, hierarchyItem.children, 0, hierarchyItem.numChildren);\n }\n offset++;\n }\n}\n\nfunction convertToTreeModelNodeInput(item: TreeNodeItemData): TreeModelNodeInput {\n let numChildren: number | undefined;\n if (item.children) {\n numChildren = item.children.length;\n } else if (!item.hasChildren) {\n numChildren = 0;\n }\n\n return {\n description: item.description,\n isExpanded: !!item.autoExpand,\n id: item.id,\n item,\n label: item.label,\n isLoading: false,\n numChildren,\n isSelected: false,\n };\n}\n\ninterface TreeDataSourceResult {\n loadedItems: TreeNodeItemData[];\n numChildren?: number;\n}\n\n/**\n * Wrapper to handle different types of `TreeDataProvider`. Provides one method\n * to request items from `TreeDataProviderRaw`, `TreeDataProviderMethod`,\n * `TreeDataProviderPromise` or `TreeDataProviderInterface`.\n *\n * @internal\n */\nexport class TreeDataSource {\n private _dataProvider: TreeDataProvider;\n\n constructor(dataProvider: TreeDataProvider) {\n this._dataProvider = dataProvider;\n }\n\n public requestItems(\n parent: TreeNodeItem | undefined,\n firstItemIndex: number,\n numItems: number,\n requestNumChildren: boolean,\n ): RxjsObservable<TreeDataSourceResult> {\n // During each async operation there is a chance that data provider will become stale. Create an opportunity to\n // unsubscribe after each async operation so that we stop interacting with the stale data provider immediately.\n return defer(async () => {\n if (isTreeDataProviderInterface(this._dataProvider)) {\n const dataProvider = this._dataProvider;\n return from(requestNumChildren ? dataProvider.getNodesCount(parent) : [undefined])\n .pipe(\n concatMap(async (numChildren) => {\n const pageOptions = numItems !== 0 ? { size: numItems, start: firstItemIndex } : undefined;\n return {\n loadedItems: await dataProvider.getNodes(parent, pageOptions),\n numChildren,\n };\n }),\n );\n }\n\n return from(this.getItems(parent))\n .pipe(\n map((loadedItems) => ({\n loadedItems: numItems !== 0 ? loadedItems.slice(firstItemIndex, firstItemIndex + numItems) : loadedItems,\n numChildren: loadedItems.length,\n })),\n );\n })\n .pipe(\n concatAll(),\n publish(),\n refCount(),\n );\n }\n\n private async getItems(parent: TreeNodeItem | undefined): Promise<TreeNodeItemData[]> {\n if (isTreeDataProviderRaw(this._dataProvider)) {\n return this.getChildren(this._dataProvider, parent);\n }\n\n if (isTreeDataProviderMethod(this._dataProvider)) {\n return this._dataProvider(parent);\n }\n\n if (isTreeDataProviderPromise(this._dataProvider)) {\n this._dataProvider = await this._dataProvider;\n return this.getChildren(this._dataProvider, parent);\n }\n\n throw new UiError(UiComponents.loggerCategory(this), \"Unsupported TreeDataProvider.\");\n }\n\n private getChildren(rawProvider: TreeDataProviderRaw, parent: TreeNodeItem | undefined): TreeNodeItemData[] {\n if (parent === undefined)\n return rawProvider;\n\n return (parent as ImmediatelyLoadedTreeNodeItem).children ?? [];\n }\n}\n"]}
@@ -1,58 +1,58 @@
1
- /** @packageDocumentation
2
- * @module Tree
3
- */
4
- import * as React from "react";
5
- import { CommonProps } from "@itwin/core-react";
6
- import { SelectionMode } from "../../../common/selection/SelectionModes";
7
- import { HighlightableTreeProps } from "../../HighlightingEngine";
8
- import { TreeEvents } from "../TreeEvents";
9
- import { TreeModel } from "../TreeModel";
10
- import { ITreeNodeLoader } from "../TreeNodeLoader";
11
- import { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
12
- /**
13
- * Properties for [[ControlledTree]]
14
- * @public
15
- */
16
- export interface ControlledTreeProps extends CommonProps {
17
- /** Model of the tree to display. */
18
- model: TreeModel;
19
- /** Node loader used to load root nodes and placeholder nodes. */
20
- nodeLoader: ITreeNodeLoader;
21
- /** Tree events handler. */
22
- eventsHandler: TreeEvents;
23
- /** Mode of nodes' selection in tree. */
24
- selectionMode: SelectionMode;
25
- /**
26
- * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.
27
- * If custom node renderer and node height callbacks are used it does nothing.
28
- */
29
- descriptionsEnabled?: boolean;
30
- /**
31
- * Specifies whether to show node icon or not. It is used in default node renderer.
32
- * If custom node renderer is used it does nothing.
33
- */
34
- iconsEnabled?: boolean;
35
- /**
36
- * Used to highlight matches when filtering tree.
37
- * It is passed to treeRenderer.
38
- */
39
- nodeHighlightingProps?: HighlightableTreeProps;
40
- /** Custom renderer to be used to render a tree. */
41
- treeRenderer?: (props: TreeRendererProps) => React.ReactElement;
42
- /** Custom renderer to be used while root nodes is loading. */
43
- spinnerRenderer?: () => React.ReactElement;
44
- /** Custom renderer to be used when there is no data to show in tree. */
45
- noDataRenderer?: () => React.ReactElement;
46
- /** Callback that is invoked when rendered items range changes. */
47
- onItemsRendered?: (items: RenderedItemsRange) => void;
48
- /** Width of the tree renderer. */
49
- width: number;
50
- /** Height of the tree renderer. */
51
- height: number;
52
- }
53
- /**
54
- * React tree component which rendering is fully controlled from outside.
55
- * @public
56
- */
57
- export declare function ControlledTree(props: ControlledTreeProps): JSX.Element;
1
+ /** @packageDocumentation
2
+ * @module Tree
3
+ */
4
+ import * as React from "react";
5
+ import { CommonProps } from "@itwin/core-react";
6
+ import { SelectionMode } from "../../../common/selection/SelectionModes";
7
+ import { HighlightableTreeProps } from "../../HighlightingEngine";
8
+ import { TreeEvents } from "../TreeEvents";
9
+ import { TreeModel } from "../TreeModel";
10
+ import { ITreeNodeLoader } from "../TreeNodeLoader";
11
+ import { RenderedItemsRange, TreeRendererProps } from "./TreeRenderer";
12
+ /**
13
+ * Properties for [[ControlledTree]]
14
+ * @public
15
+ */
16
+ export interface ControlledTreeProps extends CommonProps {
17
+ /** Model of the tree to display. */
18
+ model: TreeModel;
19
+ /** Node loader used to load root nodes and placeholder nodes. */
20
+ nodeLoader: ITreeNodeLoader;
21
+ /** Tree events handler. */
22
+ eventsHandler: TreeEvents;
23
+ /** Mode of nodes' selection in tree. */
24
+ selectionMode: SelectionMode;
25
+ /**
26
+ * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.
27
+ * If custom node renderer and node height callbacks are used it does nothing.
28
+ */
29
+ descriptionsEnabled?: boolean;
30
+ /**
31
+ * Specifies whether to show node icon or not. It is used in default node renderer.
32
+ * If custom node renderer is used it does nothing.
33
+ */
34
+ iconsEnabled?: boolean;
35
+ /**
36
+ * Used to highlight matches when filtering tree.
37
+ * It is passed to treeRenderer.
38
+ */
39
+ nodeHighlightingProps?: HighlightableTreeProps;
40
+ /** Custom renderer to be used to render a tree. */
41
+ treeRenderer?: (props: TreeRendererProps) => React.ReactElement;
42
+ /** Custom renderer to be used while root nodes is loading. */
43
+ spinnerRenderer?: () => React.ReactElement;
44
+ /** Custom renderer to be used when there is no data to show in tree. */
45
+ noDataRenderer?: () => React.ReactElement;
46
+ /** Callback that is invoked when rendered items range changes. */
47
+ onItemsRendered?: (items: RenderedItemsRange) => void;
48
+ /** Width of the tree renderer. */
49
+ width: number;
50
+ /** Height of the tree renderer. */
51
+ height: number;
52
+ }
53
+ /**
54
+ * React tree component which rendering is fully controlled from outside.
55
+ * @public
56
+ */
57
+ export declare function ControlledTree(props: ControlledTreeProps): JSX.Element;
58
58
  //# sourceMappingURL=ControlledTree.d.ts.map
@@ -1,107 +1,111 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Tree
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ControlledTree = void 0;
30
- const React = __importStar(require("react"));
31
- const core_react_1 = require("@itwin/core-react");
32
- const DelayedSpinner_1 = require("../../../common/DelayedSpinner");
33
- const UiComponents_1 = require("../../../UiComponents");
34
- const ImageLoader_1 = require("../../ImageLoader");
35
- const TreeEventDispatcher_1 = require("../TreeEventDispatcher");
36
- const TreeModel_1 = require("../TreeModel");
37
- const TreeNodeRenderer_1 = require("./TreeNodeRenderer");
38
- const TreeRenderer_1 = require("./TreeRenderer");
39
- /**
40
- * React tree component which rendering is fully controlled from outside.
41
- * @public
42
- */
43
- function ControlledTree(props) {
44
- const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);
45
- const imageLoader = React.useMemo(() => new ImageLoader_1.TreeImageLoader(), []);
46
- const nodeRenderer = React.useCallback((nodeProps) => (React.createElement(TreeNodeRenderer_1.TreeNodeRenderer, { ...nodeProps, descriptionEnabled: props.descriptionsEnabled, imageLoader: props.iconsEnabled ? imageLoader : undefined })), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);
47
- const visibleNodes = React.useMemo(() => (0, TreeModel_1.computeVisibleNodes)(props.model), [props.model]);
48
- const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);
49
- const treeProps = {
50
- nodeRenderer,
51
- nodeHeight,
52
- visibleNodes,
53
- treeActions: eventDispatcher,
54
- nodeLoader: props.nodeLoader,
55
- nodeHighlightingProps: props.nodeHighlightingProps,
56
- onItemsRendered: props.onItemsRendered,
57
- width: props.width,
58
- height: props.height,
59
- };
60
- const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);
61
- const noData = visibleNodes.getNumRootNodes() === 0;
62
- return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? props.treeRenderer(treeProps) : React.createElement(TreeRenderer_1.TreeRenderer, { ...treeProps })));
63
- }
64
- exports.ControlledTree = ControlledTree;
65
- function useRootNodeLoader(visibleNodes, nodeLoader) {
66
- React.useEffect(() => {
67
- if (visibleNodes.getNumRootNodes() === undefined) {
68
- const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();
69
- return () => subscription.unsubscribe();
70
- }
71
- return () => { };
72
- }, [visibleNodes, nodeLoader]);
73
- return visibleNodes.getNumRootNodes() === undefined;
74
- }
75
- function useEventDispatcher(nodeLoader, treeEvents, selectionMode, visibleNodes) {
76
- /* istanbul ignore next */
77
- const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);
78
- const eventDispatcher = React.useMemo(() => new TreeEventDispatcher_1.TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);
79
- React.useEffect(() => {
80
- eventDispatcher.setVisibleNodes(getVisibleNodes);
81
- }, [eventDispatcher, getVisibleNodes]);
82
- return eventDispatcher;
83
- }
84
- function Loader(props) {
85
- if (props.loading) {
86
- return props.spinnerRenderer
87
- ? props.spinnerRenderer()
88
- : (React.createElement("div", { className: "components-controlledTree-loader" },
89
- React.createElement(DelayedSpinner_1.DelayedSpinner, { size: "large" })));
90
- }
91
- if (props.noData) {
92
- return props.noDataRenderer
93
- ? props.noDataRenderer()
94
- : (React.createElement(core_react_1.FillCentered, null,
95
- React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents_1.UiComponents.translate("general.noData"))));
96
- }
97
- return props.children;
98
- }
99
- function useNodeHeight(descriptionsEnabled) {
100
- return React.useCallback((node) => {
101
- const contentHeight = ((0, TreeModel_1.isTreeModelNode)(node) && descriptionsEnabled && node && node.description) ? 43 : 24;
102
- const borderSize = 1;
103
- // Not counting node's border size twice because we want neighboring borders to overlap
104
- return contentHeight + borderSize;
105
- }, [descriptionsEnabled]);
106
- }
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Tree
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.ControlledTree = void 0;
34
+ const React = __importStar(require("react"));
35
+ const core_react_1 = require("@itwin/core-react");
36
+ const DelayedSpinner_1 = require("../../../common/DelayedSpinner");
37
+ const UiComponents_1 = require("../../../UiComponents");
38
+ const ImageLoader_1 = require("../../ImageLoader");
39
+ const TreeEventDispatcher_1 = require("../TreeEventDispatcher");
40
+ const TreeModel_1 = require("../TreeModel");
41
+ const TreeNodeRenderer_1 = require("./TreeNodeRenderer");
42
+ const TreeRenderer_1 = require("./TreeRenderer");
43
+ /**
44
+ * React tree component which rendering is fully controlled from outside.
45
+ * @public
46
+ */
47
+ function ControlledTree(props) {
48
+ const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);
49
+ const imageLoader = React.useMemo(() => new ImageLoader_1.TreeImageLoader(), []);
50
+ const nodeRenderer = React.useCallback((nodeProps) => (React.createElement(TreeNodeRenderer_1.TreeNodeRenderer, { ...nodeProps, descriptionEnabled: props.descriptionsEnabled, imageLoader: props.iconsEnabled ? imageLoader : undefined })), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);
51
+ const visibleNodes = React.useMemo(() => (0, TreeModel_1.computeVisibleNodes)(props.model), [props.model]);
52
+ const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);
53
+ const treeProps = {
54
+ nodeRenderer,
55
+ nodeHeight,
56
+ visibleNodes,
57
+ treeActions: eventDispatcher,
58
+ nodeLoader: props.nodeLoader,
59
+ nodeHighlightingProps: props.nodeHighlightingProps,
60
+ onItemsRendered: props.onItemsRendered,
61
+ width: props.width,
62
+ height: props.height,
63
+ };
64
+ const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);
65
+ const noData = visibleNodes.getNumRootNodes() === 0;
66
+ return (React.createElement(Loader, { loading: loading, noData: noData, spinnerRenderer: props.spinnerRenderer, noDataRenderer: props.noDataRenderer }, props.treeRenderer ? props.treeRenderer(treeProps) : React.createElement(TreeRenderer_1.TreeRenderer, { ...treeProps })));
67
+ }
68
+ exports.ControlledTree = ControlledTree;
69
+ function useRootNodeLoader(visibleNodes, nodeLoader) {
70
+ React.useEffect(() => {
71
+ if (visibleNodes.getNumRootNodes() === undefined) {
72
+ const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();
73
+ return () => subscription.unsubscribe();
74
+ }
75
+ return () => { };
76
+ }, [visibleNodes, nodeLoader]);
77
+ return visibleNodes.getNumRootNodes() === undefined;
78
+ }
79
+ function useEventDispatcher(nodeLoader, treeEvents, selectionMode, visibleNodes) {
80
+ /* istanbul ignore next */
81
+ const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);
82
+ const eventDispatcher = React.useMemo(() => new TreeEventDispatcher_1.TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);
83
+ React.useEffect(() => {
84
+ eventDispatcher.setVisibleNodes(getVisibleNodes);
85
+ }, [eventDispatcher, getVisibleNodes]);
86
+ return eventDispatcher;
87
+ }
88
+ function Loader(props) {
89
+ if (props.loading) {
90
+ return props.spinnerRenderer
91
+ ? props.spinnerRenderer()
92
+ : (React.createElement("div", { className: "components-controlledTree-loader" },
93
+ React.createElement(DelayedSpinner_1.DelayedSpinner, { size: "large" })));
94
+ }
95
+ if (props.noData) {
96
+ return props.noDataRenderer
97
+ ? props.noDataRenderer()
98
+ : (React.createElement(core_react_1.FillCentered, null,
99
+ React.createElement("p", { className: "components-controlledTree-errorMessage" }, UiComponents_1.UiComponents.translate("general.noData"))));
100
+ }
101
+ return props.children;
102
+ }
103
+ function useNodeHeight(descriptionsEnabled) {
104
+ return React.useCallback((node) => {
105
+ const contentHeight = ((0, TreeModel_1.isTreeModelNode)(node) && descriptionsEnabled && node && node.description) ? 43 : 24;
106
+ const borderSize = 1;
107
+ // Not counting node's border size twice because we want neighboring borders to overlap
108
+ return contentHeight + borderSize;
109
+ }, [descriptionsEnabled]);
110
+ }
107
111
  //# sourceMappingURL=ControlledTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, FillCentered } from \"@itwin/core-react\";\r\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\r\nimport { SelectionMode } from \"../../../common/selection/SelectionModes\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { HighlightableTreeProps } from \"../../HighlightingEngine\";\r\nimport { TreeImageLoader } from \"../../ImageLoader\";\r\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\r\nimport { TreeEvents } from \"../TreeEvents\";\r\nimport { computeVisibleNodes, isTreeModelNode, TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\r\nimport { ITreeNodeLoader } from \"../TreeNodeLoader\";\r\nimport { TreeNodeRenderer, TreeNodeRendererProps } from \"./TreeNodeRenderer\";\r\nimport { RenderedItemsRange, TreeRenderer, TreeRendererProps } from \"./TreeRenderer\";\r\n\r\n/**\r\n * Properties for [[ControlledTree]]\r\n * @public\r\n */\r\nexport interface ControlledTreeProps extends CommonProps {\r\n /** Model of the tree to display. */\r\n model: TreeModel;\r\n /** Node loader used to load root nodes and placeholder nodes. */\r\n nodeLoader: ITreeNodeLoader;\r\n /** Tree events handler. */\r\n eventsHandler: TreeEvents;\r\n /** Mode of nodes' selection in tree. */\r\n selectionMode: SelectionMode;\r\n /**\r\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\r\n * If custom node renderer and node height callbacks are used it does nothing.\r\n */\r\n descriptionsEnabled?: boolean;\r\n /**\r\n * Specifies whether to show node icon or not. It is used in default node renderer.\r\n * If custom node renderer is used it does nothing.\r\n */\r\n iconsEnabled?: boolean;\r\n /**\r\n * Used to highlight matches when filtering tree.\r\n * It is passed to treeRenderer.\r\n */\r\n nodeHighlightingProps?: HighlightableTreeProps;\r\n /** Custom renderer to be used to render a tree. */\r\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\r\n /** Custom renderer to be used while root nodes is loading. */\r\n spinnerRenderer?: () => React.ReactElement;\r\n /** Custom renderer to be used when there is no data to show in tree. */\r\n noDataRenderer?: () => React.ReactElement;\r\n /** Callback that is invoked when rendered items range changes. */\r\n onItemsRendered?: (items: RenderedItemsRange) => void;\r\n /** Width of the tree renderer. */\r\n width: number;\r\n /** Height of the tree renderer. */\r\n height: number;\r\n}\r\n\r\n/**\r\n * React tree component which rendering is fully controlled from outside.\r\n * @public\r\n */\r\nexport function ControlledTree(props: ControlledTreeProps) {\r\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\r\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\r\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\r\n <TreeNodeRenderer\r\n {...nodeProps}\r\n descriptionEnabled={props.descriptionsEnabled}\r\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\r\n />\r\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\r\n\r\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\r\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\r\n\r\n const treeProps: TreeRendererProps = {\r\n nodeRenderer,\r\n nodeHeight,\r\n visibleNodes,\r\n treeActions: eventDispatcher,\r\n nodeLoader: props.nodeLoader,\r\n nodeHighlightingProps: props.nodeHighlightingProps,\r\n onItemsRendered: props.onItemsRendered,\r\n width: props.width,\r\n height: props.height,\r\n };\r\n\r\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\r\n const noData = visibleNodes.getNumRootNodes() === 0;\r\n return (\r\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\r\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\r\n </Loader>\r\n );\r\n}\r\n\r\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\r\n React.useEffect(() => {\r\n if (visibleNodes.getNumRootNodes() === undefined) {\r\n const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();\r\n return () => subscription.unsubscribe();\r\n }\r\n\r\n return () => { };\r\n }, [visibleNodes, nodeLoader]);\r\n\r\n return visibleNodes.getNumRootNodes() === undefined;\r\n}\r\n\r\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\r\n /* istanbul ignore next */\r\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\r\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\r\n\r\n React.useEffect(() => {\r\n eventDispatcher.setVisibleNodes(getVisibleNodes);\r\n }, [eventDispatcher, getVisibleNodes]);\r\n\r\n return eventDispatcher;\r\n}\r\n\r\ninterface LoaderProps {\r\n loading: boolean;\r\n noData: boolean;\r\n spinnerRenderer?: () => React.ReactElement;\r\n noDataRenderer?: () => React.ReactElement;\r\n children: JSX.Element;\r\n}\r\n\r\nfunction Loader(props: LoaderProps) {\r\n if (props.loading) {\r\n return props.spinnerRenderer\r\n ? props.spinnerRenderer()\r\n : (\r\n <div className=\"components-controlledTree-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n if (props.noData) {\r\n return props.noDataRenderer\r\n ? props.noDataRenderer()\r\n : (\r\n <FillCentered>\r\n <p className=\"components-controlledTree-errorMessage\">\r\n {UiComponents.translate(\"general.noData\")}\r\n </p>\r\n </FillCentered>\r\n );\r\n }\r\n\r\n return props.children;\r\n}\r\n\r\nfunction useNodeHeight(\r\n descriptionsEnabled: boolean,\r\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\r\n return React.useCallback(\r\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\r\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\r\n const borderSize = 1;\r\n // Not counting node's border size twice because we want neighboring borders to overlap\r\n return contentHeight + borderSize;\r\n },\r\n [descriptionsEnabled],\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tree\n */\n\nimport * as React from \"react\";\nimport { CommonProps, FillCentered } from \"@itwin/core-react\";\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\nimport { SelectionMode } from \"../../../common/selection/SelectionModes\";\nimport { UiComponents } from \"../../../UiComponents\";\nimport { HighlightableTreeProps } from \"../../HighlightingEngine\";\nimport { TreeImageLoader } from \"../../ImageLoader\";\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\nimport { TreeEvents } from \"../TreeEvents\";\nimport { computeVisibleNodes, isTreeModelNode, TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\nimport { ITreeNodeLoader } from \"../TreeNodeLoader\";\nimport { TreeNodeRenderer, TreeNodeRendererProps } from \"./TreeNodeRenderer\";\nimport { RenderedItemsRange, TreeRenderer, TreeRendererProps } from \"./TreeRenderer\";\n\n/**\n * Properties for [[ControlledTree]]\n * @public\n */\nexport interface ControlledTreeProps extends CommonProps {\n /** Model of the tree to display. */\n model: TreeModel;\n /** Node loader used to load root nodes and placeholder nodes. */\n nodeLoader: ITreeNodeLoader;\n /** Tree events handler. */\n eventsHandler: TreeEvents;\n /** Mode of nodes' selection in tree. */\n selectionMode: SelectionMode;\n /**\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\n * If custom node renderer and node height callbacks are used it does nothing.\n */\n descriptionsEnabled?: boolean;\n /**\n * Specifies whether to show node icon or not. It is used in default node renderer.\n * If custom node renderer is used it does nothing.\n */\n iconsEnabled?: boolean;\n /**\n * Used to highlight matches when filtering tree.\n * It is passed to treeRenderer.\n */\n nodeHighlightingProps?: HighlightableTreeProps;\n /** Custom renderer to be used to render a tree. */\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\n /** Custom renderer to be used while root nodes is loading. */\n spinnerRenderer?: () => React.ReactElement;\n /** Custom renderer to be used when there is no data to show in tree. */\n noDataRenderer?: () => React.ReactElement;\n /** Callback that is invoked when rendered items range changes. */\n onItemsRendered?: (items: RenderedItemsRange) => void;\n /** Width of the tree renderer. */\n width: number;\n /** Height of the tree renderer. */\n height: number;\n}\n\n/**\n * React tree component which rendering is fully controlled from outside.\n * @public\n */\nexport function ControlledTree(props: ControlledTreeProps) {\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\n <TreeNodeRenderer\n {...nodeProps}\n descriptionEnabled={props.descriptionsEnabled}\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\n />\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\n\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\n\n const treeProps: TreeRendererProps = {\n nodeRenderer,\n nodeHeight,\n visibleNodes,\n treeActions: eventDispatcher,\n nodeLoader: props.nodeLoader,\n nodeHighlightingProps: props.nodeHighlightingProps,\n onItemsRendered: props.onItemsRendered,\n width: props.width,\n height: props.height,\n };\n\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\n const noData = visibleNodes.getNumRootNodes() === 0;\n return (\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\n </Loader>\n );\n}\n\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\n React.useEffect(() => {\n if (visibleNodes.getNumRootNodes() === undefined) {\n const subscription = nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0).subscribe();\n return () => subscription.unsubscribe();\n }\n\n return () => { };\n }, [visibleNodes, nodeLoader]);\n\n return visibleNodes.getNumRootNodes() === undefined;\n}\n\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\n /* istanbul ignore next */\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\n\n React.useEffect(() => {\n eventDispatcher.setVisibleNodes(getVisibleNodes);\n }, [eventDispatcher, getVisibleNodes]);\n\n return eventDispatcher;\n}\n\ninterface LoaderProps {\n loading: boolean;\n noData: boolean;\n spinnerRenderer?: () => React.ReactElement;\n noDataRenderer?: () => React.ReactElement;\n children: JSX.Element;\n}\n\nfunction Loader(props: LoaderProps) {\n if (props.loading) {\n return props.spinnerRenderer\n ? props.spinnerRenderer()\n : (\n <div className=\"components-controlledTree-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n if (props.noData) {\n return props.noDataRenderer\n ? props.noDataRenderer()\n : (\n <FillCentered>\n <p className=\"components-controlledTree-errorMessage\">\n {UiComponents.translate(\"general.noData\")}\n </p>\n </FillCentered>\n );\n }\n\n return props.children;\n}\n\nfunction useNodeHeight(\n descriptionsEnabled: boolean,\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\n return React.useCallback(\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\n const borderSize = 1;\n // Not counting node's border size twice because we want neighboring borders to overlap\n return contentHeight + borderSize;\n },\n [descriptionsEnabled],\n );\n}\n"]}