@itwin/components-react 4.1.0 → 4.2.0

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