@itwin/components-react 4.1.0-dev.1 → 4.2.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/CHANGELOG.md +1805 -1797
  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 +5 -4
  8. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  9. package/lib/cjs/components-react/common/DateUtils.js +15 -9
  10. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js +5 -5
  13. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightedText.js +9 -5
  15. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  16. package/lib/cjs/components-react/common/HighlightingComponentProps.js +3 -3
  17. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  18. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  19. package/lib/cjs/components-react/common/IImageLoader.js +3 -3
  20. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  21. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  22. package/lib/cjs/components-react/common/ImageRenderer.js +12 -9
  23. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  24. package/lib/cjs/components-react/common/Links.d.ts.map +1 -1
  25. package/lib/cjs/components-react/common/Links.js +12 -5
  26. package/lib/cjs/components-react/common/Links.js.map +1 -1
  27. package/lib/cjs/components-react/common/PageOptions.js +3 -3
  28. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  29. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  30. package/lib/cjs/components-react/common/SubscriptionScheduler.js +4 -4
  31. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  32. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  33. package/lib/cjs/components-react/common/UseAsyncValue.js +9 -5
  34. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  35. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  36. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  37. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  38. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  39. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +8 -6
  40. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  41. package/lib/cjs/components-react/common/UseRerender.d.ts.map +1 -1
  42. package/lib/cjs/components-react/common/UseRerender.js +8 -4
  43. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  44. package/lib/cjs/components-react/common/countMatchesInString.d.ts.map +1 -1
  45. package/lib/cjs/components-react/common/countMatchesInString.js +3 -3
  46. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  47. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  48. package/lib/cjs/components-react/common/selection/SelectionHandler.js +32 -13
  49. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  50. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  51. package/lib/cjs/components-react/common/selection/SelectionModes.js +3 -3
  52. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  53. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +15 -7
  55. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  56. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  57. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +5 -4
  58. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  59. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  60. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +23 -11
  61. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  62. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/converters/EnumTypeConverter.js +4 -4
  64. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  65. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  66. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +3 -3
  67. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  68. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  69. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  70. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  71. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  72. package/lib/cjs/components-react/converters/NumericTypeConverter.js +7 -5
  73. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  74. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  75. package/lib/cjs/components-react/converters/PointTypeConverter.js +11 -6
  76. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  77. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  78. package/lib/cjs/components-react/converters/StringTypeConverter.js +16 -9
  79. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  80. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  81. package/lib/cjs/components-react/converters/TypeConverter.js +18 -8
  82. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  83. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  84. package/lib/cjs/components-react/converters/TypeConverterManager.js +4 -4
  85. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  86. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  87. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  88. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  89. package/lib/cjs/components-react/datepicker/DateField.d.ts +1 -1
  90. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  91. package/lib/cjs/components-react/datepicker/DateField.js +32 -10
  92. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  93. package/lib/cjs/components-react/datepicker/DateField.scss +4 -4
  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/DatePickerPopupButton.d.ts +1 -1
  98. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  99. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +14 -11
  100. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  101. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  102. package/lib/cjs/components-react/datepicker/IntlFormatter.js +11 -11
  103. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  104. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  105. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  106. package/lib/cjs/components-react/datepicker/TimeField.js +72 -31
  107. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  108. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  109. package/lib/cjs/components-react/editors/BooleanEditor.js +9 -5
  110. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  111. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/CustomNumberEditor.js +48 -28
  113. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  114. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +4 -4
  115. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +6 -6
  116. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  117. package/lib/cjs/components-react/editors/DateTimeEditor.js +25 -20
  118. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  119. package/lib/cjs/components-react/editors/DateTimeEditor.scss +4 -4
  120. package/lib/cjs/components-react/editors/EditorContainer.d.ts +3 -3
  121. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  122. package/lib/cjs/components-react/editors/EditorContainer.js +21 -13
  123. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  124. package/lib/cjs/components-react/editors/EditorContainer.scss +4 -4
  125. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  126. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +20 -11
  127. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  128. package/lib/cjs/components-react/editors/EnumEditor.d.ts +5 -5
  129. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  130. package/lib/cjs/components-react/editors/EnumEditor.js +25 -14
  131. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  132. package/lib/cjs/components-react/editors/EnumEditor.scss +5 -5
  133. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  134. package/lib/cjs/components-react/editors/IconEditor.js +10 -8
  135. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  136. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  137. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +13 -6
  138. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  139. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  140. package/lib/cjs/components-react/editors/NumericInputEditor.js +25 -8
  141. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  142. package/lib/cjs/components-react/editors/NumericInputEditor.scss +4 -6
  143. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  144. package/lib/cjs/components-react/editors/PopupButton.js +7 -4
  145. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  146. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  147. package/lib/cjs/components-react/editors/PropertyEditorManager.js +7 -5
  148. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  149. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  150. package/lib/cjs/components-react/editors/SliderEditor.js +46 -19
  151. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  152. package/lib/cjs/components-react/editors/SliderEditor.scss +4 -4
  153. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  154. package/lib/cjs/components-react/editors/TextEditor.js +24 -9
  155. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  156. package/lib/cjs/components-react/editors/TextEditor.scss +4 -4
  157. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  158. package/lib/cjs/components-react/editors/TextareaEditor.js +21 -8
  159. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/TextareaEditor.scss +4 -4
  161. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  162. package/lib/cjs/components-react/editors/ToggleEditor.js +11 -7
  163. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/variables.scss +4 -4
  165. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  166. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  167. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  168. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  169. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +4 -5
  170. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  171. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  172. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +16 -6
  173. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  174. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  175. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +6 -4
  176. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  177. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  178. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  179. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +25 -18
  180. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  181. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  182. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +46 -22
  183. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  184. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  185. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +5 -5
  186. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  187. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  188. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  189. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  190. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  191. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  192. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  193. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  194. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +21 -13
  195. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  196. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  197. package/lib/cjs/components-react/filter-builder/Operators.js +17 -18
  198. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  199. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  200. package/lib/cjs/components-react/filter-builder/Types.js +3 -3
  201. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  202. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +1 -1
  203. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  204. package/lib/cjs/components-react/filtering/FilteringInput.js +23 -21
  205. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  206. package/lib/cjs/components-react/filtering/FilteringInput.scss +4 -4
  207. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  208. package/lib/cjs/components-react/filtering/ResultSelector.js +16 -9
  209. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  210. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  211. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +9 -10
  212. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  213. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +1 -1
  214. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  215. package/lib/cjs/components-react/inputs/ParsedInput.js +8 -7
  216. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  217. package/lib/cjs/components-react/inputs/ParsedInput.scss +4 -4
  218. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  219. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  220. package/lib/cjs/components-react/properties/ItemStyle.js +7 -7
  221. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  222. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  223. package/lib/cjs/components-react/properties/LinkHandler.js +4 -4
  224. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  225. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/ValueRendererManager.js +5 -4
  227. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  229. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -5
  230. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  231. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  233. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +21 -10
  236. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  239. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  241. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  242. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  243. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  245. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  246. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  248. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +10 -9
  249. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  251. package/lib/cjs/components-react/properties/renderers/PropertyView.js +12 -16
  252. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  253. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  254. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  255. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  256. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  258. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  259. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  260. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  261. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  262. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  263. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  265. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  266. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  267. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  268. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  269. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  271. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  272. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  273. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  275. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  276. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  278. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  279. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  280. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  281. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  282. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  283. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  284. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  285. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  286. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +10 -6
  287. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  288. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  289. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  290. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  291. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  292. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  293. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  294. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  296. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  298. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  299. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  301. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  302. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  304. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +3 -3
  306. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  307. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  309. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  310. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  311. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  313. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  316. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  319. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  321. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  322. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  323. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  325. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  326. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  328. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +16 -6
  329. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  331. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  333. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  335. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +6 -4
  336. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  337. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  338. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  340. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  341. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  343. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  345. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +9 -5
  346. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  347. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +9 -5
  349. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  351. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +9 -5
  352. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  353. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  354. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  355. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  356. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  357. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  358. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  359. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  360. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  361. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  362. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  363. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  364. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  365. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  366. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  367. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  368. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  370. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  371. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  373. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  374. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -5
  376. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  377. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +3 -3
  379. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  380. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +9 -5
  382. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  383. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  385. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  386. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  387. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  388. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  389. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  391. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +8 -4
  392. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  393. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  394. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  395. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  396. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  397. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  398. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  400. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  401. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  402. package/lib/cjs/components-react/selectable-content/SelectableContent.js +4 -6
  403. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  404. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/Item.js +4 -5
  406. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  407. package/lib/cjs/components-react/toolbar/Item.scss +7 -5
  408. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  409. package/lib/cjs/components-react/toolbar/ItemWrapper.js +3 -3
  410. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  411. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  412. package/lib/cjs/components-react/toolbar/Items.js +16 -8
  413. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  414. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  415. package/lib/cjs/components-react/toolbar/Overflow.js +3 -3
  416. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  417. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  418. package/lib/cjs/components-react/toolbar/OverflowPanel.js +14 -9
  419. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  420. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  421. package/lib/cjs/components-react/toolbar/PopupItem.js +7 -9
  422. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  423. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  424. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +20 -11
  425. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  426. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  427. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +23 -22
  428. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  429. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  430. package/lib/cjs/components-react/toolbar/Toolbar.js +29 -16
  431. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  432. package/lib/cjs/components-react/toolbar/Toolbar.scss +6 -6
  433. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  434. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  435. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +97 -57
  436. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  437. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  438. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  439. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  440. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  441. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +3 -3
  442. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  443. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  444. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +3 -3
  445. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  446. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  447. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +3 -3
  448. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  449. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  450. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +3 -3
  451. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  452. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +4 -4
  453. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  454. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  455. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  456. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  457. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  458. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  459. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  460. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  461. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  462. package/lib/cjs/components-react/toolbar/useDragInteraction.js +6 -5
  463. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  464. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  465. package/lib/cjs/components-react/toolbar/utilities/Direction.js +3 -3
  466. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  467. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  468. package/lib/cjs/components-react/tree/HighlightingEngine.js +4 -4
  469. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  470. package/lib/cjs/components-react/tree/HighlightingEngine.scss +4 -4
  471. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  472. package/lib/cjs/components-react/tree/ImageLoader.js +3 -3
  473. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  474. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  475. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +3 -3
  476. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  477. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  478. package/lib/cjs/components-react/tree/TreeComponentTestId.js +3 -3
  479. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  480. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  481. package/lib/cjs/components-react/tree/TreeDataProvider.js +9 -7
  482. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  483. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  484. package/lib/cjs/components-react/tree/controlled/Observable.js +6 -4
  485. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  486. package/lib/cjs/components-react/tree/controlled/TreeActions.js +3 -3
  487. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  488. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  489. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +41 -23
  490. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  491. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  492. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  493. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +12 -8
  494. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  495. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  496. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +3 -3
  497. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  498. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  499. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +3 -3
  500. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  501. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  502. package/lib/cjs/components-react/tree/controlled/TreeModel.js +39 -14
  503. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  504. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  505. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +22 -8
  506. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  507. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  508. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +48 -30
  509. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  510. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  511. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +14 -14
  512. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  513. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  514. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  515. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  516. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +16 -15
  517. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  518. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  519. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  520. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  522. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  523. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +17 -7
  524. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  525. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  526. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  527. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  528. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  529. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +3 -3
  530. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  531. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  532. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  533. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  534. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  535. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +38 -20
  536. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  537. package/lib/cjs/components-react.d.ts +1 -0
  538. package/lib/cjs/components-react.d.ts.map +1 -1
  539. package/lib/cjs/components-react.js +4 -3
  540. package/lib/cjs/components-react.js.map +1 -1
  541. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  542. package/lib/esm/components-react/UiComponents.js +9 -5
  543. package/lib/esm/components-react/UiComponents.js.map +1 -1
  544. package/lib/esm/components-react/_target.scss +5 -4
  545. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  546. package/lib/esm/components-react/common/DateUtils.js +15 -9
  547. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  548. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  549. package/lib/esm/components-react/common/DelayedSpinner.js +5 -5
  550. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  551. package/lib/esm/components-react/common/HighlightedText.js +9 -5
  552. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  553. package/lib/esm/components-react/common/HighlightingComponentProps.js +3 -3
  554. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  555. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  556. package/lib/esm/components-react/common/IImageLoader.js +3 -3
  557. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  558. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  559. package/lib/esm/components-react/common/ImageRenderer.js +12 -9
  560. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  561. package/lib/esm/components-react/common/Links.d.ts.map +1 -1
  562. package/lib/esm/components-react/common/Links.js +12 -5
  563. package/lib/esm/components-react/common/Links.js.map +1 -1
  564. package/lib/esm/components-react/common/PageOptions.js +3 -3
  565. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  566. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  567. package/lib/esm/components-react/common/SubscriptionScheduler.js +4 -4
  568. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  569. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  570. package/lib/esm/components-react/common/UseAsyncValue.js +9 -5
  571. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  572. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
  573. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +3 -3
  574. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  575. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  576. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +9 -7
  577. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  578. package/lib/esm/components-react/common/UseRerender.d.ts.map +1 -1
  579. package/lib/esm/components-react/common/UseRerender.js +8 -4
  580. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  581. package/lib/esm/components-react/common/countMatchesInString.d.ts.map +1 -1
  582. package/lib/esm/components-react/common/countMatchesInString.js +3 -3
  583. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  584. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts.map +1 -1
  585. package/lib/esm/components-react/common/selection/SelectionHandler.js +33 -14
  586. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  587. package/lib/esm/components-react/common/selection/SelectionModes.d.ts.map +1 -1
  588. package/lib/esm/components-react/common/selection/SelectionModes.js +3 -3
  589. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  590. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  591. package/lib/esm/components-react/converters/BooleanTypeConverter.js +15 -7
  592. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  593. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  594. package/lib/esm/components-react/converters/CompositeTypeConverter.js +5 -4
  595. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  596. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  597. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +24 -12
  598. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  599. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  600. package/lib/esm/components-react/converters/EnumTypeConverter.js +4 -4
  601. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  602. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  603. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +3 -3
  604. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  605. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  606. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +4 -6
  607. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  608. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  609. package/lib/esm/components-react/converters/NumericTypeConverter.js +7 -5
  610. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  611. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  612. package/lib/esm/components-react/converters/PointTypeConverter.js +11 -6
  613. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  614. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  615. package/lib/esm/components-react/converters/StringTypeConverter.js +16 -9
  616. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  617. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  618. package/lib/esm/components-react/converters/TypeConverter.js +18 -8
  619. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  620. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  621. package/lib/esm/components-react/converters/TypeConverterManager.js +4 -4
  622. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  623. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  624. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +3 -3
  625. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  626. package/lib/esm/components-react/datepicker/DateField.d.ts +1 -1
  627. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  628. package/lib/esm/components-react/datepicker/DateField.js +32 -10
  629. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  630. package/lib/esm/components-react/datepicker/DateField.scss +4 -4
  631. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  632. package/lib/esm/components-react/datepicker/DatePicker.js +15 -11
  633. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  634. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  635. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  636. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +14 -11
  637. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  638. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  639. package/lib/esm/components-react/datepicker/IntlFormatter.js +11 -11
  640. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  641. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  642. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  643. package/lib/esm/components-react/datepicker/TimeField.js +72 -31
  644. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  645. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  646. package/lib/esm/components-react/editors/BooleanEditor.js +10 -6
  647. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  648. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  649. package/lib/esm/components-react/editors/CustomNumberEditor.js +49 -29
  650. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  651. package/lib/esm/components-react/editors/CustomNumberEditor.scss +4 -4
  652. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +6 -6
  653. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  654. package/lib/esm/components-react/editors/DateTimeEditor.js +26 -21
  655. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  656. package/lib/esm/components-react/editors/DateTimeEditor.scss +4 -4
  657. package/lib/esm/components-react/editors/EditorContainer.d.ts +3 -3
  658. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  659. package/lib/esm/components-react/editors/EditorContainer.js +21 -13
  660. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  661. package/lib/esm/components-react/editors/EditorContainer.scss +4 -4
  662. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  663. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +21 -12
  664. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  665. package/lib/esm/components-react/editors/EnumEditor.d.ts +5 -5
  666. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  667. package/lib/esm/components-react/editors/EnumEditor.js +26 -15
  668. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  669. package/lib/esm/components-react/editors/EnumEditor.scss +5 -5
  670. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  671. package/lib/esm/components-react/editors/IconEditor.js +11 -9
  672. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  673. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  674. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +14 -7
  675. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  676. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  677. package/lib/esm/components-react/editors/NumericInputEditor.js +26 -9
  678. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  679. package/lib/esm/components-react/editors/NumericInputEditor.scss +4 -6
  680. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  681. package/lib/esm/components-react/editors/PopupButton.js +8 -5
  682. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  683. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  684. package/lib/esm/components-react/editors/PropertyEditorManager.js +7 -5
  685. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  686. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  687. package/lib/esm/components-react/editors/SliderEditor.js +47 -20
  688. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  689. package/lib/esm/components-react/editors/SliderEditor.scss +4 -4
  690. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  691. package/lib/esm/components-react/editors/TextEditor.js +24 -9
  692. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  693. package/lib/esm/components-react/editors/TextEditor.scss +4 -4
  694. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  695. package/lib/esm/components-react/editors/TextareaEditor.js +22 -9
  696. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  697. package/lib/esm/components-react/editors/TextareaEditor.scss +4 -4
  698. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  699. package/lib/esm/components-react/editors/ToggleEditor.js +13 -9
  700. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  701. package/lib/esm/components-react/editors/variables.scss +4 -4
  702. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +3 -3
  704. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  705. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  706. package/lib/esm/components-react/favorite/FavoritePropertyList.js +4 -5
  707. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  708. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  709. package/lib/esm/components-react/filter-builder/FilterBuilder.js +17 -7
  710. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  711. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  712. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +6 -4
  713. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  714. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -0
  715. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  716. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +26 -19
  717. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  718. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  719. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +47 -23
  720. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  721. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  722. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +6 -6
  723. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  724. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  725. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +9 -7
  726. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  727. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  728. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +5 -5
  729. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  730. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  731. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +22 -14
  732. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  733. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  734. package/lib/esm/components-react/filter-builder/Operators.js +17 -18
  735. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  736. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  737. package/lib/esm/components-react/filter-builder/Types.js +3 -3
  738. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  739. package/lib/esm/components-react/filtering/FilteringInput.d.ts +1 -1
  740. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  741. package/lib/esm/components-react/filtering/FilteringInput.js +23 -21
  742. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  743. package/lib/esm/components-react/filtering/FilteringInput.scss +4 -4
  744. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  745. package/lib/esm/components-react/filtering/ResultSelector.js +16 -9
  746. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  747. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  748. package/lib/esm/components-react/iconpicker/IconPickerButton.js +9 -10
  749. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  750. package/lib/esm/components-react/inputs/ParsedInput.d.ts +1 -1
  751. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  752. package/lib/esm/components-react/inputs/ParsedInput.js +8 -7
  753. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  754. package/lib/esm/components-react/inputs/ParsedInput.scss +4 -4
  755. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  756. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  757. package/lib/esm/components-react/properties/ItemStyle.js +7 -7
  758. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  759. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  760. package/lib/esm/components-react/properties/LinkHandler.js +4 -4
  761. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  762. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  763. package/lib/esm/components-react/properties/ValueRendererManager.js +5 -4
  764. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  765. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  766. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +5 -5
  767. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  768. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  769. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +3 -3
  770. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  771. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  772. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +22 -11
  773. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  774. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  775. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +11 -10
  776. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  777. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  778. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  779. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +15 -8
  780. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  781. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  782. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +24 -7
  783. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  784. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  785. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +10 -9
  786. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  787. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  788. package/lib/esm/components-react/properties/renderers/PropertyView.js +12 -16
  789. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  790. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  791. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +4 -4
  792. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  793. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  794. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +3 -3
  795. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  796. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +1 -1
  797. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  798. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +7 -5
  799. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  800. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  801. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +6 -5
  802. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  803. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  804. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -6
  805. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  806. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  807. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +5 -4
  808. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  809. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  810. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  811. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +7 -10
  812. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  813. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  814. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -6
  815. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  816. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -8
  818. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  819. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  820. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -4
  821. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  822. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  823. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +11 -7
  824. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  825. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  826. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +4 -4
  827. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  828. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  829. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +8 -5
  830. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  831. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  832. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +7 -4
  833. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  834. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  835. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +3 -3
  836. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  837. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  838. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -3
  839. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  840. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  841. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  842. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +3 -3
  843. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  844. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  845. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +3 -3
  846. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  847. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +2 -0
  848. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  849. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +38 -7
  850. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  851. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  852. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +6 -5
  853. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  854. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  855. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +8 -8
  856. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  857. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +4 -5
  858. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  859. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  860. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  861. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  862. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +13 -7
  863. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  864. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  865. package/lib/esm/components-react/propertygrid/component/PropertyList.js +16 -6
  866. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  867. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -0
  868. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  869. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +65 -27
  870. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  871. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  872. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +7 -5
  873. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  874. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +6 -6
  875. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  876. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +56 -20
  877. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  878. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  879. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +11 -7
  880. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  881. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  882. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +10 -6
  883. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  884. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  885. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +10 -6
  886. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  887. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  888. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +10 -6
  889. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  890. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  891. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +3 -3
  892. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  893. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  894. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +3 -3
  895. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  896. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  897. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +7 -5
  898. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  899. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  900. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +3 -3
  901. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  902. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  903. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +3 -3
  904. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  905. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  906. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +3 -3
  907. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  908. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  909. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +3 -3
  910. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  911. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  912. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +10 -6
  913. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  914. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  915. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +4 -4
  916. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  917. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  918. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +10 -6
  919. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  920. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  921. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +4 -1
  922. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  923. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +3 -3
  924. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  925. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +6 -7
  926. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  927. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  928. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +9 -5
  929. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  930. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  931. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  932. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  933. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +4 -5
  934. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  935. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  936. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +4 -4
  937. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  938. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  939. package/lib/esm/components-react/selectable-content/SelectableContent.js +4 -6
  940. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  941. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  942. package/lib/esm/components-react/toolbar/Item.js +4 -5
  943. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  944. package/lib/esm/components-react/toolbar/Item.scss +7 -5
  945. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  946. package/lib/esm/components-react/toolbar/ItemWrapper.js +5 -5
  947. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  948. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  949. package/lib/esm/components-react/toolbar/Items.js +17 -9
  950. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  951. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  952. package/lib/esm/components-react/toolbar/Overflow.js +4 -4
  953. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  954. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  955. package/lib/esm/components-react/toolbar/OverflowPanel.js +16 -11
  956. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  957. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  958. package/lib/esm/components-react/toolbar/PopupItem.js +8 -10
  959. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  960. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  961. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +22 -13
  962. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  963. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  964. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +24 -23
  965. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  966. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  967. package/lib/esm/components-react/toolbar/Toolbar.js +31 -18
  968. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  969. package/lib/esm/components-react/toolbar/Toolbar.scss +6 -6
  970. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
  971. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  972. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +98 -58
  973. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  974. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  975. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +3 -3
  976. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  977. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  978. package/lib/esm/components-react/toolbar/groupPanel/Column.js +3 -3
  979. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  980. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  981. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +3 -3
  982. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  983. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  984. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +3 -3
  985. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  986. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  987. package/lib/esm/components-react/toolbar/groupPanel/Title.js +3 -3
  988. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  989. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +4 -4
  990. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  991. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +3 -3
  992. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  993. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +5 -4
  994. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  995. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +4 -5
  996. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  997. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +4 -4
  998. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts.map +1 -1
  999. package/lib/esm/components-react/toolbar/useDragInteraction.js +6 -5
  1000. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1001. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts.map +1 -1
  1002. package/lib/esm/components-react/toolbar/utilities/Direction.js +3 -3
  1003. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1004. package/lib/esm/components-react/tree/HighlightingEngine.d.ts.map +1 -1
  1005. package/lib/esm/components-react/tree/HighlightingEngine.js +4 -4
  1006. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1007. package/lib/esm/components-react/tree/HighlightingEngine.scss +4 -4
  1008. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  1009. package/lib/esm/components-react/tree/ImageLoader.js +3 -3
  1010. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1011. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  1012. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +3 -3
  1013. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1014. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts.map +1 -1
  1015. package/lib/esm/components-react/tree/TreeComponentTestId.js +3 -3
  1016. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1017. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  1018. package/lib/esm/components-react/tree/TreeDataProvider.js +9 -7
  1019. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1020. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  1021. package/lib/esm/components-react/tree/controlled/Observable.js +6 -4
  1022. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1023. package/lib/esm/components-react/tree/controlled/TreeActions.js +3 -3
  1024. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1025. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  1026. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +42 -24
  1027. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1028. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +3 -3
  1029. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  1030. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +12 -8
  1031. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1032. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  1033. package/lib/esm/components-react/tree/controlled/TreeEvents.js +3 -3
  1034. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1035. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  1036. package/lib/esm/components-react/tree/controlled/TreeHooks.js +3 -3
  1037. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1038. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  1039. package/lib/esm/components-react/tree/controlled/TreeModel.js +39 -14
  1040. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1041. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  1042. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +22 -8
  1043. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1044. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  1045. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +49 -31
  1046. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1047. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  1048. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +14 -14
  1049. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1050. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +5 -6
  1051. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +11 -6
  1052. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  1053. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +15 -14
  1054. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1055. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  1056. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +3 -3
  1057. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1058. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +17 -0
  1059. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  1060. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +16 -7
  1061. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1062. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  1063. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +49 -19
  1064. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1065. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts.map +1 -1
  1066. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +3 -3
  1067. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1068. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  1069. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +9 -5
  1070. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1071. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  1072. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +39 -21
  1073. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1074. package/lib/esm/components-react.d.ts +1 -0
  1075. package/lib/esm/components-react.d.ts.map +1 -1
  1076. package/lib/esm/components-react.js +4 -3
  1077. package/lib/esm/components-react.js.map +1 -1
  1078. package/package.json +12 -21
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRule.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.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 PropertyFilterBuilder\n */\n\nimport \"./FilterBuilderRule.scss\";\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\nimport { SvgDelete } from \"@itwin/itwinui-icons-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport { PropertyFilterBuilderContext, PropertyFilterBuilderRuleRenderingContext } from \"./FilterBuilderContext\";\nimport { PropertyFilterBuilderRuleOperator } from \"./FilterBuilderRuleOperator\";\nimport { PropertyFilterBuilderRuleProperty } from \"./FilterBuilderRuleProperty\";\nimport { PropertyFilterBuilderRuleValue } from \"./FilterBuilderRuleValue\";\nimport type { PropertyFilterBuilderRule } from \"./FilterBuilderState\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport { isUnaryPropertyFilterOperator } from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleRenderer]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleRendererProps {\n /** Path from [[PropertyFilterBuilder]] root to this rule. */\n path: string[];\n /** Rule to render. */\n rule: PropertyFilterBuilderRule;\n}\n\n/**\n * Component that renders single rule in [[PropertyFilterBuilder]] component.\n * @internal\n */\nexport function PropertyFilterBuilderRuleRenderer(props: PropertyFilterBuilderRuleRendererProps) {\n const { path, rule } = props;\n const { properties, actions, onRulePropertySelected } = React.useContext(PropertyFilterBuilderContext);\n const { ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled } = React.useContext(PropertyFilterBuilderRuleRenderingContext);\n const { property, operator, value } = rule;\n\n const onSelectedPropertyChanged = React.useCallback((newProperty?: PropertyDescription) => {\n actions.setRuleProperty(path, newProperty);\n // invoke 'onRulePropertySelected' when new property is selected. There is no way to deselect property\n // so 'newProperty' will be 'undefined' only if selected property is no longer in 'properties' list.\n if (onRulePropertySelected && newProperty)\n onRulePropertySelected(newProperty);\n }, [path, onRulePropertySelected, actions]);\n\n const onRuleOperatorChange = React.useCallback((newOperator: PropertyFilterRuleOperator) => {\n actions.setRuleOperator(path, newOperator);\n }, [path, actions]);\n\n const onRuleValueChange = React.useCallback((newValue: PropertyValue) => {\n actions.setRuleValue(path, newValue);\n }, [path, actions]);\n\n const removeRule = () => actions.removeItem(path);\n\n const operatorRenderer = React.useCallback((prop: PropertyDescription) => {\n if (ruleOperatorRenderer)\n return ruleOperatorRenderer({ property: prop, operator, onChange: onRuleOperatorChange });\n return <PropertyFilterBuilderRuleOperator property={prop} onChange={onRuleOperatorChange} operator={operator} />;\n }, [operator, ruleOperatorRenderer, onRuleOperatorChange]);\n\n const valueRenderer = React.useCallback((prop: PropertyDescription) => {\n if (ruleValueRenderer)\n return ruleValueRenderer({ property: prop, value, onChange: onRuleValueChange });\n return <PropertyFilterBuilderRuleValue property={prop} onChange={onRuleValueChange} value={value} />;\n }, [value, ruleValueRenderer, onRuleValueChange]);\n\n return <div className=\"rule\">\n <div className=\"rule-remove-action\">\n <IconButton onClick={removeRule} styleType=\"borderless\" size=\"small\">\n <SvgDelete />\n </IconButton>\n </div>\n <div className=\"rule-condition\">\n <PropertyFilterBuilderRuleProperty\n properties={properties}\n selectedProperty={rule.property}\n onSelectedPropertyChanged={onSelectedPropertyChanged}\n propertyRenderer={propertyRenderer}\n isDisabled={isDisabled}\n />\n {\n property !== undefined\n ? operatorRenderer(property)\n : null\n }\n {\n property !== undefined && operator !== undefined && !isUnaryPropertyFilterOperator(operator)\n ? valueRenderer(property)\n : null\n }\n </div>\n </div>;\n}\n"]}
1
+ {"version":3,"file":"FilterBuilderRule.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.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 PropertyFilterBuilder\n */\n\nimport \"./FilterBuilderRule.scss\";\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\nimport { SvgDelete } from \"@itwin/itwinui-icons-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport {\n PropertyFilterBuilderContext,\n PropertyFilterBuilderRuleRenderingContext,\n} from \"./FilterBuilderContext\";\nimport { PropertyFilterBuilderRuleOperator } from \"./FilterBuilderRuleOperator\";\nimport { PropertyFilterBuilderRuleProperty } from \"./FilterBuilderRuleProperty\";\nimport { PropertyFilterBuilderRuleValue } from \"./FilterBuilderRuleValue\";\nimport type { PropertyFilterBuilderRule } from \"./FilterBuilderState\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport { isUnaryPropertyFilterOperator } from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleRenderer]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleRendererProps {\n /** Path from [[PropertyFilterBuilder]] root to this rule. */\n path: string[];\n /** Rule to render. */\n rule: PropertyFilterBuilderRule;\n isRemovable?: boolean;\n}\n\n/**\n * Component that renders single rule in [[PropertyFilterBuilder]] component.\n * @internal\n */\nexport function PropertyFilterBuilderRuleRenderer(\n props: PropertyFilterBuilderRuleRendererProps\n) {\n const { path, rule, isRemovable } = props;\n const { properties, actions, onRulePropertySelected } = React.useContext(\n PropertyFilterBuilderContext\n );\n const {\n ruleOperatorRenderer,\n ruleValueRenderer,\n propertyRenderer,\n isDisabled,\n } = React.useContext(PropertyFilterBuilderRuleRenderingContext);\n const { property, operator, value } = rule;\n\n const onSelectedPropertyChanged = React.useCallback(\n (newProperty?: PropertyDescription) => {\n actions.setRuleProperty(path, newProperty);\n // invoke 'onRulePropertySelected' when new property is selected. There is no way to deselect property\n // so 'newProperty' will be 'undefined' only if selected property is no longer in 'properties' list.\n if (onRulePropertySelected && newProperty)\n onRulePropertySelected(newProperty);\n },\n [path, onRulePropertySelected, actions]\n );\n\n const onRuleOperatorChange = React.useCallback(\n (newOperator: PropertyFilterRuleOperator) => {\n actions.setRuleOperator(path, newOperator);\n },\n [path, actions]\n );\n\n const onRuleValueChange = React.useCallback(\n (newValue: PropertyValue) => {\n actions.setRuleValue(path, newValue);\n },\n [path, actions]\n );\n\n const removeRule = () => actions.removeItem(path);\n\n const operatorRenderer = React.useCallback(\n (prop: PropertyDescription) => {\n if (ruleOperatorRenderer)\n return ruleOperatorRenderer({\n property: prop,\n operator,\n onChange: onRuleOperatorChange,\n });\n return (\n <PropertyFilterBuilderRuleOperator\n property={prop}\n onChange={onRuleOperatorChange}\n operator={operator}\n />\n );\n },\n [operator, ruleOperatorRenderer, onRuleOperatorChange]\n );\n\n const valueRenderer = React.useCallback(\n (prop: PropertyDescription) => {\n if (ruleValueRenderer)\n return ruleValueRenderer({\n property: prop,\n value,\n onChange: onRuleValueChange,\n });\n return (\n <PropertyFilterBuilderRuleValue\n property={prop}\n onChange={onRuleValueChange}\n value={value}\n />\n );\n },\n [value, ruleValueRenderer, onRuleValueChange]\n );\n\n return (\n <div className=\"rule\">\n <div className=\"rule-remove-action\">\n {property || isRemovable ? (\n <IconButton onClick={removeRule} styleType=\"borderless\" size=\"small\">\n <SvgDelete />\n </IconButton>\n ) : null}\n </div>\n <div className=\"rule-condition\">\n <PropertyFilterBuilderRuleProperty\n properties={properties}\n selectedProperty={rule.property}\n onSelectedPropertyChanged={onSelectedPropertyChanged}\n propertyRenderer={propertyRenderer}\n isDisabled={isDisabled}\n />\n {property !== undefined ? operatorRenderer(property) : null}\n {property !== undefined &&\n operator !== undefined &&\n !isUnaryPropertyFilterOperator(operator)\n ? valueRenderer(property)\n : null}\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleGroup.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,+BAA+B,CAAC;AAQvC,OAAO,KAAK,EAAE,8BAA8B,EAAsC,MAAM,sBAAsB,CAAC;AAE/G,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,2CAA2C;IAC1D,mEAAmE;IACnE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,8BAA8B,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,2CAA2C,eA0CxG;AAED;;;GAGG;AACH,MAAM,WAAW,2CAA2C;IAC1D,mCAAmC;IACnC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,2CAA2C,eAWxG"}
1
+ {"version":3,"file":"FilterBuilderRuleGroup.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,+BAA+B,CAAC;AAWvC,OAAO,KAAK,EACV,8BAA8B,EAE/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,2CAA2C;IAC1D,mEAAmE;IACnE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,8BAA8B,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,eA4FnD;AAED;;;GAGG;AACH,MAAM,WAAW,2CAA2C;IAC1D,mCAAmC;IACnC,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,2CAA2C,eA8BnD"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module PropertyFilterBuilder
7
7
  */
@@ -10,7 +10,7 @@ import * as React from "react";
10
10
  import { SvgAdd, SvgDelete } from "@itwin/itwinui-icons-react";
11
11
  import { Button, IconButton, Select } from "@itwin/itwinui-react";
12
12
  import { UiComponents } from "../UiComponents";
13
- import { ActiveRuleGroupContext, PropertyFilterBuilderContext } from "./FilterBuilderContext";
13
+ import { ActiveRuleGroupContext, PropertyFilterBuilderContext, } from "./FilterBuilderContext";
14
14
  import { PropertyFilterBuilderRuleRenderer } from "./FilterBuilderRule";
15
15
  import { isPropertyFilterBuilderRuleGroup } from "./FilterBuilderState";
16
16
  import { PropertyFilterRuleGroupOperator } from "./Operators";
@@ -21,9 +21,11 @@ import { PropertyFilterRuleGroupOperator } from "./Operators";
21
21
  export function PropertyFilterBuilderRuleGroupRenderer(props) {
22
22
  const { path, group } = props;
23
23
  const { actions, ruleGroupDepthLimit } = React.useContext(PropertyFilterBuilderContext);
24
- const groupRef = React.useRef(null);
25
- const addRule = () => actions.addItem(path, "RULE");
26
- const addRuleGroup = () => actions.addItem(path, "RULE_GROUP");
24
+ const { onNewRuleAdded, groupRef } = useRulePropertyFocus(group.items.length);
25
+ const handleAddRule = (ruleType) => {
26
+ actions.addItem(path, ruleType);
27
+ onNewRuleAdded();
28
+ };
27
29
  const removeGroup = () => actions.removeItem(path);
28
30
  const onOperatorChange = React.useCallback((operator) => {
29
31
  actions.setRuleGroupOperator(path, operator);
@@ -31,15 +33,15 @@ export function PropertyFilterBuilderRuleGroupRenderer(props) {
31
33
  const allowToAddGroup = ruleGroupDepthLimit === undefined || path.length < ruleGroupDepthLimit;
32
34
  const { activeElement, ...eventHandlers } = React.useContext(ActiveRuleGroupContext);
33
35
  const showOperator = group.items.length > 1;
34
- return React.createElement("div", { ref: groupRef, className: "rule-group", "data-isactive": groupRef.current === activeElement, ...eventHandlers },
35
- React.createElement("div", { className: "rule-group-remove-action" }, group.groupId !== undefined && React.createElement(IconButton, { "data-testid": "rule-group-remove", onClick: removeGroup, styleType: "borderless", size: "small" },
36
- React.createElement(SvgDelete, null))),
36
+ return (React.createElement("div", { ref: groupRef, className: "rule-group", "data-isactive": groupRef.current === activeElement, ...eventHandlers },
37
+ React.createElement("div", { className: "rule-group-remove-action" }, group.groupId !== undefined && (React.createElement(IconButton, { "data-testid": "rule-group-remove", onClick: removeGroup, styleType: "borderless", size: "small" },
38
+ React.createElement(SvgDelete, null)))),
37
39
  React.createElement("div", { className: "rule-group-content" },
38
- showOperator ? React.createElement(PropertyFilterBuilderRuleGroupOperator, { operator: group.operator, onChange: onOperatorChange }) : null,
39
- React.createElement("div", { className: "rule-group-items" }, group.items.map((item) => React.createElement(PropertyFilterBuilderGroupOrRule, { key: item.id, path: path, item: item }))),
40
+ showOperator ? (React.createElement(PropertyFilterBuilderRuleGroupOperator, { operator: group.operator, onChange: onOperatorChange })) : null,
41
+ React.createElement("div", { className: "rule-group-items" }, group.items.map((item) => (React.createElement(PropertyFilterBuilderGroupOrRule, { key: item.id, path: path, item: item, isRemovable: group.items.length > 1 })))),
40
42
  React.createElement("div", { className: "rule-group-actions" },
41
- React.createElement(Button, { key: "add-rule-button", "data-testid": "rule-group-add-rule", onClick: addRule, styleType: "borderless", size: "small", startIcon: React.createElement(SvgAdd, null) }, UiComponents.translate("filterBuilder.rule")),
42
- allowToAddGroup && React.createElement(Button, { key: "add-rule-group-button", "data-testid": "rule-group-add-rule-group", onClick: addRuleGroup, styleType: "borderless", size: "small", startIcon: React.createElement(SvgAdd, null) }, UiComponents.translate("filterBuilder.ruleGroup")))));
43
+ React.createElement(Button, { key: "add-rule-button", "data-testid": "rule-group-add-rule", onClick: () => handleAddRule("RULE"), styleType: "borderless", size: "small", startIcon: React.createElement(SvgAdd, null) }, UiComponents.translate("filterBuilder.rule")),
44
+ allowToAddGroup && (React.createElement(Button, { key: "add-rule-group-button", "data-testid": "rule-group-add-rule-group", onClick: () => handleAddRule("RULE_GROUP"), styleType: "borderless", size: "small", startIcon: React.createElement(SvgAdd, null) }, UiComponents.translate("filterBuilder.ruleGroup")))))));
43
45
  }
44
46
  /**
45
47
  * Component that renders [[PropertyFilterBuilderRuleGroup]] operator selector.
@@ -47,17 +49,39 @@ export function PropertyFilterBuilderRuleGroupRenderer(props) {
47
49
  */
48
50
  export function PropertyFilterBuilderRuleGroupOperator(props) {
49
51
  const { operator, onChange } = props;
50
- const options = React.useMemo(() => ([
51
- { value: PropertyFilterRuleGroupOperator.And, label: UiComponents.translate("filterBuilder.operators.and") },
52
- { value: PropertyFilterRuleGroupOperator.Or, label: UiComponents.translate("filterBuilder.operators.or") },
53
- ]), []);
54
- return React.createElement("div", { className: "rule-group-operator" },
55
- React.createElement(Select, { options: options, value: operator, onChange: onChange, size: "small" }));
52
+ const options = React.useMemo(() => [
53
+ {
54
+ value: PropertyFilterRuleGroupOperator.And,
55
+ label: UiComponents.translate("filterBuilder.operators.and"),
56
+ },
57
+ {
58
+ value: PropertyFilterRuleGroupOperator.Or,
59
+ label: UiComponents.translate("filterBuilder.operators.or"),
60
+ },
61
+ ], []);
62
+ return (React.createElement("div", { className: "rule-group-operator" },
63
+ React.createElement(Select, { options: options, value: operator, onChange: onChange, size: "small" })));
56
64
  }
57
- const PropertyFilterBuilderGroupOrRule = React.memo(function PropertyFilterBuilderGroupOrRule({ path, item }) {
65
+ const PropertyFilterBuilderGroupOrRule = React.memo(function PropertyFilterBuilderGroupOrRule({ path, item, isRemovable, }) {
58
66
  const itemPath = [...path, item.id];
59
67
  if (isPropertyFilterBuilderRuleGroup(item))
60
- return React.createElement(PropertyFilterBuilderRuleGroupRenderer, { path: itemPath, group: item });
61
- return React.createElement(PropertyFilterBuilderRuleRenderer, { path: itemPath, rule: item });
68
+ return (React.createElement(PropertyFilterBuilderRuleGroupRenderer, { path: itemPath, group: item }));
69
+ return (React.createElement(PropertyFilterBuilderRuleRenderer, { path: itemPath, rule: item, isRemovable: isRemovable }));
62
70
  });
71
+ const useRulePropertyFocus = (currentGroupItemsLength) => {
72
+ const previousGroupItemsLength = React.useRef(0);
73
+ const isNewRuleAdded = React.useRef(false);
74
+ const groupRef = React.useRef(null);
75
+ React.useEffect(() => {
76
+ if (isNewRuleAdded.current &&
77
+ previousGroupItemsLength.current < currentGroupItemsLength &&
78
+ groupRef.current) {
79
+ const ruleProperties = groupRef.current.querySelectorAll(".rule-property input");
80
+ ruleProperties[ruleProperties.length - 1].focus();
81
+ isNewRuleAdded.current = false;
82
+ }
83
+ previousGroupItemsLength.current = currentGroupItemsLength;
84
+ }, [currentGroupItemsLength]);
85
+ return { onNewRuleAdded: () => (isNewRuleAdded.current = true), groupRef };
86
+ };
63
87
  //# sourceMappingURL=FilterBuilderRuleGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleGroup.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.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 PropertyFilterBuilder\n */\n\nimport \"./FilterBuilderRuleGroup.scss\";\nimport * as React from \"react\";\nimport { SvgAdd, SvgDelete } from \"@itwin/itwinui-icons-react\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Button, IconButton, Select } from \"@itwin/itwinui-react\";\nimport { UiComponents } from \"../UiComponents\";\nimport { ActiveRuleGroupContext, PropertyFilterBuilderContext } from \"./FilterBuilderContext\";\nimport { PropertyFilterBuilderRuleRenderer } from \"./FilterBuilderRule\";\nimport type { PropertyFilterBuilderRuleGroup, PropertyFilterBuilderRuleGroupItem } from \"./FilterBuilderState\";\nimport { isPropertyFilterBuilderRuleGroup } from \"./FilterBuilderState\";\nimport { PropertyFilterRuleGroupOperator } from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleGroupRenderer]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroupRendererProps {\n /** Path from [[PropertyFilterBuilder]] root to this rule group. */\n path: string[];\n /** Rule group to render. */\n group: PropertyFilterBuilderRuleGroup;\n}\n\n/**\n * Component that renders group of rules in [[PropertyFilterBuilder]] component.\n * @internal\n */\nexport function PropertyFilterBuilderRuleGroupRenderer(props: PropertyFilterBuilderRuleGroupRendererProps) {\n const { path, group } = props;\n const { actions, ruleGroupDepthLimit } = React.useContext(PropertyFilterBuilderContext);\n const groupRef = React.useRef<HTMLDivElement>(null);\n\n const addRule = () => actions.addItem(path, \"RULE\");\n const addRuleGroup = () => actions.addItem(path, \"RULE_GROUP\");\n const removeGroup = () => actions.removeItem(path);\n\n const onOperatorChange = React.useCallback((operator: PropertyFilterRuleGroupOperator) => {\n actions.setRuleGroupOperator(path, operator);\n }, [path, actions]);\n\n const allowToAddGroup = ruleGroupDepthLimit === undefined || path.length < ruleGroupDepthLimit;\n const { activeElement, ...eventHandlers } = React.useContext(ActiveRuleGroupContext);\n\n const showOperator = group.items.length > 1;\n\n return <div\n ref={groupRef}\n className=\"rule-group\"\n data-isactive={groupRef.current === activeElement}\n {...eventHandlers}\n >\n <div className=\"rule-group-remove-action\">\n {group.groupId !== undefined && <IconButton data-testid=\"rule-group-remove\" onClick={removeGroup} styleType=\"borderless\" size=\"small\"><SvgDelete /></IconButton>}\n </div>\n <div className=\"rule-group-content\">\n {showOperator ? <PropertyFilterBuilderRuleGroupOperator operator={group.operator} onChange={onOperatorChange} /> : null}\n <div className=\"rule-group-items\">\n {group.items.map((item) => <PropertyFilterBuilderGroupOrRule key={item.id} path={path} item={item} />)}\n </div>\n <div className=\"rule-group-actions\">\n <Button key=\"add-rule-button\" data-testid=\"rule-group-add-rule\" onClick={addRule} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\n {UiComponents.translate(\"filterBuilder.rule\")}\n </Button>\n {allowToAddGroup && <Button key=\"add-rule-group-button\" data-testid=\"rule-group-add-rule-group\" onClick={addRuleGroup} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\n {UiComponents.translate(\"filterBuilder.ruleGroup\")}\n </Button>}\n </div>\n </div>\n </div>;\n}\n\n/**\n * Props for [[PropertyFilterBuilderRuleGroupOperator]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroupOperatorProps {\n /** Currently selected operator. */\n operator: PropertyFilterRuleGroupOperator;\n /** Callback that is invoked when selected operator changes. */\n onChange: (operator: PropertyFilterRuleGroupOperator) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleGroup]] operator selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleGroupOperator(props: PropertyFilterBuilderRuleGroupOperatorProps) {\n const { operator, onChange } = props;\n\n const options = React.useMemo<Array<SelectOption<PropertyFilterRuleGroupOperator>>>(() => ([\n { value: PropertyFilterRuleGroupOperator.And, label: UiComponents.translate(\"filterBuilder.operators.and\") },\n { value: PropertyFilterRuleGroupOperator.Or, label: UiComponents.translate(\"filterBuilder.operators.or\") },\n ]), []);\n\n return <div className=\"rule-group-operator\">\n <Select options={options} value={operator} onChange={onChange} size=\"small\" />\n </div>;\n}\ninterface PropertyFilterBuilderGroupOrRuleProps {\n path: string[];\n item: PropertyFilterBuilderRuleGroupItem;\n}\n\nconst PropertyFilterBuilderGroupOrRule = React.memo(\n function PropertyFilterBuilderGroupOrRule({ path, item }: PropertyFilterBuilderGroupOrRuleProps) {\n const itemPath = [...path, item.id];\n\n if (isPropertyFilterBuilderRuleGroup(item))\n return <PropertyFilterBuilderRuleGroupRenderer path={itemPath} group={item} />;\n return <PropertyFilterBuilderRuleRenderer path={itemPath} rule={item} />;\n }\n);\n"]}
1
+ {"version":3,"file":"FilterBuilderRuleGroup.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.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 PropertyFilterBuilder\n */\n\nimport \"./FilterBuilderRuleGroup.scss\";\nimport * as React from \"react\";\nimport { SvgAdd, SvgDelete } from \"@itwin/itwinui-icons-react\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Button, IconButton, Select } from \"@itwin/itwinui-react\";\nimport { UiComponents } from \"../UiComponents\";\nimport {\n ActiveRuleGroupContext,\n PropertyFilterBuilderContext,\n} from \"./FilterBuilderContext\";\nimport { PropertyFilterBuilderRuleRenderer } from \"./FilterBuilderRule\";\nimport type {\n PropertyFilterBuilderRuleGroup,\n PropertyFilterBuilderRuleGroupItem,\n} from \"./FilterBuilderState\";\nimport { isPropertyFilterBuilderRuleGroup } from \"./FilterBuilderState\";\nimport { PropertyFilterRuleGroupOperator } from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleGroupRenderer]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroupRendererProps {\n /** Path from [[PropertyFilterBuilder]] root to this rule group. */\n path: string[];\n /** Rule group to render. */\n group: PropertyFilterBuilderRuleGroup;\n}\n\n/**\n * Component that renders group of rules in [[PropertyFilterBuilder]] component.\n * @internal\n */\nexport function PropertyFilterBuilderRuleGroupRenderer(\n props: PropertyFilterBuilderRuleGroupRendererProps\n) {\n const { path, group } = props;\n const { actions, ruleGroupDepthLimit } = React.useContext(\n PropertyFilterBuilderContext\n );\n const { onNewRuleAdded, groupRef } = useRulePropertyFocus(group.items.length);\n\n const handleAddRule = (ruleType: \"RULE\" | \"RULE_GROUP\") => {\n actions.addItem(path, ruleType);\n onNewRuleAdded();\n };\n const removeGroup = () => actions.removeItem(path);\n\n const onOperatorChange = React.useCallback(\n (operator: PropertyFilterRuleGroupOperator) => {\n actions.setRuleGroupOperator(path, operator);\n },\n [path, actions]\n );\n\n const allowToAddGroup =\n ruleGroupDepthLimit === undefined || path.length < ruleGroupDepthLimit;\n const { activeElement, ...eventHandlers } = React.useContext(\n ActiveRuleGroupContext\n );\n\n const showOperator = group.items.length > 1;\n\n return (\n <div\n ref={groupRef}\n className=\"rule-group\"\n data-isactive={groupRef.current === activeElement}\n {...eventHandlers}\n >\n <div className=\"rule-group-remove-action\">\n {group.groupId !== undefined && (\n <IconButton\n data-testid=\"rule-group-remove\"\n onClick={removeGroup}\n styleType=\"borderless\"\n size=\"small\"\n >\n <SvgDelete />\n </IconButton>\n )}\n </div>\n <div className=\"rule-group-content\">\n {showOperator ? (\n <PropertyFilterBuilderRuleGroupOperator\n operator={group.operator}\n onChange={onOperatorChange}\n />\n ) : null}\n <div className=\"rule-group-items\">\n {group.items.map((item) => (\n <PropertyFilterBuilderGroupOrRule\n key={item.id}\n path={path}\n item={item}\n isRemovable={group.items.length > 1}\n />\n ))}\n </div>\n <div className=\"rule-group-actions\">\n <Button\n key=\"add-rule-button\"\n data-testid=\"rule-group-add-rule\"\n onClick={() => handleAddRule(\"RULE\")}\n styleType=\"borderless\"\n size=\"small\"\n startIcon={<SvgAdd />}\n >\n {UiComponents.translate(\"filterBuilder.rule\")}\n </Button>\n {allowToAddGroup && (\n <Button\n key=\"add-rule-group-button\"\n data-testid=\"rule-group-add-rule-group\"\n onClick={() => handleAddRule(\"RULE_GROUP\")}\n styleType=\"borderless\"\n size=\"small\"\n startIcon={<SvgAdd />}\n >\n {UiComponents.translate(\"filterBuilder.ruleGroup\")}\n </Button>\n )}\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * Props for [[PropertyFilterBuilderRuleGroupOperator]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroupOperatorProps {\n /** Currently selected operator. */\n operator: PropertyFilterRuleGroupOperator;\n /** Callback that is invoked when selected operator changes. */\n onChange: (operator: PropertyFilterRuleGroupOperator) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleGroup]] operator selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleGroupOperator(\n props: PropertyFilterBuilderRuleGroupOperatorProps\n) {\n const { operator, onChange } = props;\n\n const options = React.useMemo<\n Array<SelectOption<PropertyFilterRuleGroupOperator>>\n >(\n () => [\n {\n value: PropertyFilterRuleGroupOperator.And,\n label: UiComponents.translate(\"filterBuilder.operators.and\"),\n },\n {\n value: PropertyFilterRuleGroupOperator.Or,\n label: UiComponents.translate(\"filterBuilder.operators.or\"),\n },\n ],\n []\n );\n\n return (\n <div className=\"rule-group-operator\">\n <Select\n options={options}\n value={operator}\n onChange={onChange}\n size=\"small\"\n />\n </div>\n );\n}\ninterface PropertyFilterBuilderGroupOrRuleProps {\n path: string[];\n item: PropertyFilterBuilderRuleGroupItem;\n isRemovable?: boolean;\n}\n\nconst PropertyFilterBuilderGroupOrRule = React.memo(\n function PropertyFilterBuilderGroupOrRule({\n path,\n item,\n isRemovable,\n }: PropertyFilterBuilderGroupOrRuleProps) {\n const itemPath = [...path, item.id];\n\n if (isPropertyFilterBuilderRuleGroup(item))\n return (\n <PropertyFilterBuilderRuleGroupRenderer path={itemPath} group={item} />\n );\n return (\n <PropertyFilterBuilderRuleRenderer\n path={itemPath}\n rule={item}\n isRemovable={isRemovable}\n />\n );\n }\n);\n\nconst useRulePropertyFocus = (currentGroupItemsLength: number) => {\n const previousGroupItemsLength = React.useRef<number>(0);\n const isNewRuleAdded = React.useRef<boolean>(false);\n const groupRef = React.useRef<HTMLDivElement>(null);\n React.useEffect(() => {\n if (\n isNewRuleAdded.current &&\n previousGroupItemsLength.current < currentGroupItemsLength &&\n groupRef.current\n ) {\n const ruleProperties =\n groupRef.current.querySelectorAll<HTMLInputElement>(\n \".rule-property input\"\n );\n ruleProperties[ruleProperties.length - 1].focus();\n isNewRuleAdded.current = false;\n }\n previousGroupItemsLength.current = currentGroupItemsLength;\n }, [currentGroupItemsLength]);\n\n return { onNewRuleAdded: () => (isNewRuleAdded.current = true), groupRef };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleOperator.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleOperator.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,mCAAmC;IACnC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,kEAAkE;IAClE,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,sCAAsC,eAkB9F"}
1
+ {"version":3,"file":"FilterBuilderRuleOperator.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleOperator.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAM9D;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,mCAAmC;IACnC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,kEAAkE;IAClE,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,sCAAsC,eAkC9C"}
@@ -1,13 +1,13 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module PropertyFilterBuilder
7
7
  */
8
8
  import * as React from "react";
9
9
  import { Select } from "@itwin/itwinui-react";
10
- import { getPropertyFilterOperatorLabel, getPropertyFilterOperators } from "./Operators";
10
+ import { getPropertyFilterOperatorLabel, getPropertyFilterOperators, } from "./Operators";
11
11
  /**
12
12
  * Component that renders [[PropertyFilterBuilderRuleRenderer]] operator selector.
13
13
  * @internal
@@ -24,7 +24,7 @@ export function PropertyFilterBuilderRuleOperator(props) {
24
24
  value: op,
25
25
  label: getPropertyFilterOperatorLabel(op),
26
26
  })), [availableOperators]);
27
- return React.createElement("div", { className: "rule-operator" },
28
- React.createElement(Select, { options: availableOptions, value: selectedOperator, onChange: onChange, size: "small" }));
27
+ return (React.createElement("div", { className: "rule-operator" },
28
+ React.createElement(Select, { options: availableOptions, value: selectedOperator, onChange: onChange, size: "small" })));
29
29
  }
30
30
  //# sourceMappingURL=FilterBuilderRuleOperator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleOperator.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleOperator.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAezF;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAA6C;;IAC7F,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE/C,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjG,MAAM,gBAAgB,GAAG,MAAA,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,mCAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEnG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3E,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,8BAA8B,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE3B,OAAO,6BAAK,SAAS,EAAC,eAAe;QACnC,oBAAC,MAAM,IAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,OAAO,GAAG,CAC3F,CAAC;AACT,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport { getPropertyFilterOperatorLabel, getPropertyFilterOperators } from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleOperator]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleOperatorProps {\n /** Currently selected operator. */\n operator?: PropertyFilterRuleOperator;\n /** Property used in rule for which this operator will be used. */\n property: PropertyDescription;\n /** Callback that is invoked when selected operator changes. */\n onChange: (operator: PropertyFilterRuleOperator) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] operator selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleOperator(props: PropertyFilterBuilderRuleOperatorProps) {\n const { operator, property, onChange } = props;\n\n const availableOperators = React.useMemo(() => getPropertyFilterOperators(property), [property]);\n const selectedOperator = availableOperators.find((op) => op === operator) ?? availableOperators[0];\n\n React.useEffect(() => {\n onChange(selectedOperator);\n }, [onChange, selectedOperator]);\n\n const availableOptions = React.useMemo(() => availableOperators.map((op) => ({\n value: op,\n label: getPropertyFilterOperatorLabel(op),\n })), [availableOperators]);\n\n return <div className=\"rule-operator\">\n <Select options={availableOptions} value={selectedOperator} onChange={onChange} size=\"small\" />\n </div>;\n}\n"]}
1
+ {"version":3,"file":"FilterBuilderRuleOperator.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleOperator.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAerB;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAA6C;;IAE7C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE/C,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACtC,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAC1C,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,MAAM,gBAAgB,GACpB,MAAA,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,mCAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CACH,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,8BAA8B,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC,EACL,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,eAAe;QAC5B,oBAAC,MAAM,IACL,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\nimport { Select } from \"@itwin/itwinui-react\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport {\n getPropertyFilterOperatorLabel,\n getPropertyFilterOperators,\n} from \"./Operators\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleOperator]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleOperatorProps {\n /** Currently selected operator. */\n operator?: PropertyFilterRuleOperator;\n /** Property used in rule for which this operator will be used. */\n property: PropertyDescription;\n /** Callback that is invoked when selected operator changes. */\n onChange: (operator: PropertyFilterRuleOperator) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] operator selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleOperator(\n props: PropertyFilterBuilderRuleOperatorProps\n) {\n const { operator, property, onChange } = props;\n\n const availableOperators = React.useMemo(\n () => getPropertyFilterOperators(property),\n [property]\n );\n const selectedOperator =\n availableOperators.find((op) => op === operator) ?? availableOperators[0];\n\n React.useEffect(() => {\n onChange(selectedOperator);\n }, [onChange, selectedOperator]);\n\n const availableOptions = React.useMemo(\n () =>\n availableOperators.map((op) => ({\n value: op,\n label: getPropertyFilterOperatorLabel(op),\n })),\n [availableOperators]\n );\n\n return (\n <div className=\"rule-operator\">\n <Select\n options={availableOptions}\n value={selectedOperator}\n onChange={onChange}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleProperty.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleProperty.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,oCAAoC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,+DAA+D;IAC/D,yBAAyB,EAAE,CAAC,QAAQ,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpE,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,sCAAsC,eAuC9F"}
1
+ {"version":3,"file":"FilterBuilderRuleProperty.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleProperty.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,oCAAoC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,+DAA+D;IAC/D,yBAAyB,EAAE,CAAC,QAAQ,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpE,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,sCAAsC,eAoE9C"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module PropertyFilterBuilder
7
7
  */
@@ -13,7 +13,7 @@ import { UiComponents } from "../UiComponents";
13
13
  * @internal
14
14
  */
15
15
  export function PropertyFilterBuilderRuleProperty(props) {
16
- const { selectedProperty, properties, onSelectedPropertyChanged, propertyRenderer, isDisabled } = props;
16
+ const { selectedProperty, properties, onSelectedPropertyChanged, propertyRenderer, isDisabled, } = props;
17
17
  const selectOptions = React.useMemo(() => properties.map((property) => ({
18
18
  id: property.name,
19
19
  label: property.displayLabel,
@@ -28,13 +28,15 @@ export function PropertyFilterBuilderRuleProperty(props) {
28
28
  onSelectedPropertyChanged(currentSelectedProperty);
29
29
  }, [properties, selectedProperty, onSelectedPropertyChanged]);
30
30
  const itemRenderer = React.useCallback((selectOption, { isSelected, id }) => {
31
- return React.createElement(MenuItem, { key: id, id: id, isSelected: isSelected }, propertyRenderer ? propertyRenderer(selectOption.value) : selectOption.label);
31
+ return (React.createElement(MenuItem, { key: id, id: id, isSelected: isSelected }, propertyRenderer
32
+ ? propertyRenderer(selectOption.value)
33
+ : selectOption.label));
32
34
  }, [propertyRenderer]);
33
- return React.createElement("div", { className: "rule-property" },
35
+ return (React.createElement("div", { className: "rule-property" },
34
36
  React.createElement(ComboBox, { options: selectOptions, onChange: onPropertyChanged, value: selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name, inputProps: {
35
37
  placeholder: UiComponents.translate("filterBuilder.chooseProperty"),
36
38
  disabled: isDisabled,
37
39
  size: "small",
38
- }, itemRenderer: itemRenderer, enableVirtualization: true }));
40
+ }, itemRenderer: itemRenderer, enableVirtualization: true })));
39
41
  }
40
42
  //# sourceMappingURL=FilterBuilderRuleProperty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleProperty.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleProperty.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAmB/C;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAA6C;IAC7F,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAExG,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAyB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9F,EAAE,EAAE,QAAQ,CAAC,IAAI;QACjB,KAAK,EAAE,QAAQ,CAAC,YAAY;QAC5B,KAAK,EAAE,QAAQ,CAAC,IAAI;KACrB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnB,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC3D,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC,EAAE,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAE5C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,uBAAuB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAA,CAAC,CAAC;QACxG,IAAI,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,IAAI,OAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAA;YAC1D,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAkD,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE;QAC3H,OAAO,oBAAC,QAAQ,IAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,IACrD,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CACpE,CAAC;IACd,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,6BAAK,SAAS,EAAC,eAAe;QACnC,oBAAC,QAAQ,IACP,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAC7B,UAAU,EAAE;gBACV,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;gBACnE,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,OAAO;aACd,EACD,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,IAAI,GAC1B,CACE,CAAC;AACT,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\nimport type { ComboBoxProps, SelectOption } from \"@itwin/itwinui-react\";\nimport { ComboBox, MenuItem } from \"@itwin/itwinui-react\";\nimport { UiComponents } from \"../UiComponents\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleProperty]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRulePropertyProps {\n /** List of available properties. */\n properties: PropertyDescription[];\n /** Currently selected property. */\n selectedProperty?: PropertyDescription;\n /** Callback that is invoked when selected property changes. */\n onSelectedPropertyChanged: (property?: PropertyDescription) => void;\n /** Custom renderer for property item inside selector. */\n propertyRenderer?: (name: string) => React.ReactNode;\n /** Specifies whether selector should be disabled or not. */\n isDisabled?: boolean;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] property selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleProperty(props: PropertyFilterBuilderRulePropertyProps) {\n const { selectedProperty, properties, onSelectedPropertyChanged, propertyRenderer, isDisabled } = props;\n\n const selectOptions = React.useMemo<SelectOption<string>[]>(() => properties.map((property) => ({\n id: property.name,\n label: property.displayLabel,\n value: property.name,\n })), [properties]);\n\n const onPropertyChanged = React.useCallback((name: string) => {\n onSelectedPropertyChanged(properties.find((property) => property.name === name));\n }, [properties, onSelectedPropertyChanged]);\n\n React.useEffect(() => {\n const currentSelectedProperty = properties.find((property) => property.name === selectedProperty?.name);\n if (currentSelectedProperty?.name !== selectedProperty?.name)\n onSelectedPropertyChanged(currentSelectedProperty);\n }, [properties, selectedProperty, onSelectedPropertyChanged]);\n\n const itemRenderer = React.useCallback<Required<ComboBoxProps<string>>[\"itemRenderer\"]>((selectOption, { isSelected, id }) => {\n return <MenuItem key={id} id={id} isSelected={isSelected}>\n {propertyRenderer ? propertyRenderer(selectOption.value) : selectOption.label}\n </MenuItem>;\n }, [propertyRenderer]);\n\n return <div className=\"rule-property\">\n <ComboBox\n options={selectOptions}\n onChange={onPropertyChanged}\n value={selectedProperty?.name}\n inputProps={{\n placeholder: UiComponents.translate(\"filterBuilder.chooseProperty\"),\n disabled: isDisabled,\n size: \"small\",\n }}\n itemRenderer={itemRenderer}\n enableVirtualization={true}\n />\n </div>;\n}\n"]}
1
+ {"version":3,"file":"FilterBuilderRuleProperty.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleProperty.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAmB/C;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAA6C;IAE7C,MAAM,EACJ,gBAAgB,EAChB,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CACH,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5B,EAAE,EAAE,QAAQ,CAAC,IAAI;QACjB,KAAK,EAAE,QAAQ,CAAC,YAAY;QAC5B,KAAK,EAAE,QAAQ,CAAC,IAAI;KACrB,CAAC,CAAC,EACL,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,IAAY,EAAE,EAAE;QACf,yBAAyB,CACvB,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CACtD,CAAC;IACJ,CAAC,EACD,CAAC,UAAU,EAAE,yBAAyB,CAAC,CACxC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,uBAAuB,GAAG,UAAU,CAAC,IAAI,CAC7C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAA,CACvD,CAAC;QACF,IAAI,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,IAAI,OAAK,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAA;YAC1D,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAGpC,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE;QACnC,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,IAC9C,gBAAgB;YACf,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,KAAK,CACb,CACZ,CAAC;IACJ,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,eAAe;QAC5B,oBAAC,QAAQ,IACP,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAC7B,UAAU,EAAE;gBACV,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;gBACnE,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,OAAO;aACd,EACD,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,IAAI,GAC1B,CACE,CACP,CAAC;AACJ,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\nimport type { ComboBoxProps, SelectOption } from \"@itwin/itwinui-react\";\nimport { ComboBox, MenuItem } from \"@itwin/itwinui-react\";\nimport { UiComponents } from \"../UiComponents\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleProperty]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRulePropertyProps {\n /** List of available properties. */\n properties: PropertyDescription[];\n /** Currently selected property. */\n selectedProperty?: PropertyDescription;\n /** Callback that is invoked when selected property changes. */\n onSelectedPropertyChanged: (property?: PropertyDescription) => void;\n /** Custom renderer for property item inside selector. */\n propertyRenderer?: (name: string) => React.ReactNode;\n /** Specifies whether selector should be disabled or not. */\n isDisabled?: boolean;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] property selector.\n * @internal\n */\nexport function PropertyFilterBuilderRuleProperty(\n props: PropertyFilterBuilderRulePropertyProps\n) {\n const {\n selectedProperty,\n properties,\n onSelectedPropertyChanged,\n propertyRenderer,\n isDisabled,\n } = props;\n\n const selectOptions = React.useMemo<SelectOption<string>[]>(\n () =>\n properties.map((property) => ({\n id: property.name,\n label: property.displayLabel,\n value: property.name,\n })),\n [properties]\n );\n\n const onPropertyChanged = React.useCallback(\n (name: string) => {\n onSelectedPropertyChanged(\n properties.find((property) => property.name === name)\n );\n },\n [properties, onSelectedPropertyChanged]\n );\n\n React.useEffect(() => {\n const currentSelectedProperty = properties.find(\n (property) => property.name === selectedProperty?.name\n );\n if (currentSelectedProperty?.name !== selectedProperty?.name)\n onSelectedPropertyChanged(currentSelectedProperty);\n }, [properties, selectedProperty, onSelectedPropertyChanged]);\n\n const itemRenderer = React.useCallback<\n Required<ComboBoxProps<string>>[\"itemRenderer\"]\n >(\n (selectOption, { isSelected, id }) => {\n return (\n <MenuItem key={id} id={id} isSelected={isSelected}>\n {propertyRenderer\n ? propertyRenderer(selectOption.value)\n : selectOption.label}\n </MenuItem>\n );\n },\n [propertyRenderer]\n );\n\n return (\n <div className=\"rule-property\">\n <ComboBox\n options={selectOptions}\n onChange={onPropertyChanged}\n value={selectedProperty?.name}\n inputProps={{\n placeholder: UiComponents.translate(\"filterBuilder.chooseProperty\"),\n disabled: isDisabled,\n size: \"small\",\n }}\n itemRenderer={itemRenderer}\n enableVirtualization={true}\n />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleValue.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleValue.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAK/E;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,+BAA+B;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,qEAAqE;IACrE,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,mCAAmC,eAoBxF"}
1
+ {"version":3,"file":"FilterBuilderRuleValue.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleValue.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKhF;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,+BAA+B;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,qEAAqE;IACrE,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,mCAAmC,eA6B3C"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module PropertyFilterBuilder
7
7
  */
@@ -20,7 +20,7 @@ export function PropertyFilterBuilderRuleValue(props) {
20
20
  const onValueChange = React.useCallback(({ newValue }) => {
21
21
  onChange(newValue);
22
22
  }, [onChange]);
23
- return React.createElement("div", { className: "rule-value" },
24
- React.createElement(EditorContainer, { propertyRecord: propertyRecord, onCancel: /* istanbul ignore next */ () => { }, onCommit: onValueChange, setFocus: false, shouldCommitOnChange: true }));
23
+ return (React.createElement("div", { className: "rule-value" },
24
+ React.createElement(EditorContainer, { propertyRecord: propertyRecord, onCancel: /* istanbul ignore next */ () => { }, onCommit: onValueChange, setFocus: false, shouldCommitOnChange: true })));
25
25
  }
26
26
  //# sourceMappingURL=FilterBuilderRuleValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleValue.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleValue.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAe7D;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAA0C;IACvF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,IAAI,cAAc,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAuB,EAAE,EAAE;QAC5E,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,6BAAK,SAAS,EAAC,YAAY;QAChC,oBAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,KAAK,EACf,oBAAoB,EAAE,IAAI,GAC1B,CACE,CAAC;AACT,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue} from \"@itwin/appui-abstract\";\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"../editors/EditorContainer\";\nimport { EditorContainer } from \"../editors/EditorContainer\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleValue]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleValueProps {\n /** Currently entered value. */\n value?: PropertyValue;\n /** Property used in rule to which this value will be compared to. */\n property: PropertyDescription;\n /** Callback that is invoked when value changes. */\n onChange: (value: PropertyValue) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] value input.\n * @internal\n */\nexport function PropertyFilterBuilderRuleValue(props: PropertyFilterBuilderRuleValueProps) {\n const { value, property, onChange } = props;\n\n const propertyRecord = React.useMemo(() => {\n return new PropertyRecord(value ?? { valueFormat: PropertyValueFormat.Primitive }, property);\n }, [value, property]);\n\n const onValueChange = React.useCallback(({ newValue }: PropertyUpdatedArgs) => {\n onChange(newValue);\n }, [onChange]);\n\n return <div className=\"rule-value\">\n <EditorContainer\n propertyRecord={propertyRecord}\n onCancel={/* istanbul ignore next */ () => { }}\n onCommit={onValueChange}\n setFocus={false}\n shouldCommitOnChange={true}\n />\n </div>;\n}\n"]}
1
+ {"version":3,"file":"FilterBuilderRuleValue.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleValue.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAe7D;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAA0C;IAE1C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,IAAI,cAAc,CACvB,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,SAAS,EAAE,EACvD,QAAQ,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,EAAE,QAAQ,EAAuB,EAAE,EAAE;QACpC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,YAAY;QACzB,oBAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAE,CAAC,EAC7C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,KAAK,EACf,oBAAoB,EAAE,IAAI,GAC1B,CACE,CACP,CAAC;AACJ,CAAC","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 PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { PropertyUpdatedArgs } from \"../editors/EditorContainer\";\nimport { EditorContainer } from \"../editors/EditorContainer\";\n\n/**\n * Props for [[PropertyFilterBuilderRuleValue]] component.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleValueProps {\n /** Currently entered value. */\n value?: PropertyValue;\n /** Property used in rule to which this value will be compared to. */\n property: PropertyDescription;\n /** Callback that is invoked when value changes. */\n onChange: (value: PropertyValue) => void;\n}\n\n/**\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] value input.\n * @internal\n */\nexport function PropertyFilterBuilderRuleValue(\n props: PropertyFilterBuilderRuleValueProps\n) {\n const { value, property, onChange } = props;\n\n const propertyRecord = React.useMemo(() => {\n return new PropertyRecord(\n value ?? { valueFormat: PropertyValueFormat.Primitive },\n property\n );\n }, [value, property]);\n\n const onValueChange = React.useCallback(\n ({ newValue }: PropertyUpdatedArgs) => {\n onChange(newValue);\n },\n [onChange]\n );\n\n return (\n <div className=\"rule-value\">\n <EditorContainer\n propertyRecord={propertyRecord}\n onCancel={/* istanbul ignore next */ () => {}}\n onCommit={onValueChange}\n setFocus={false}\n shouldCommitOnChange={true}\n />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderState.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAiC,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAGlE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,kEAAkE;IAClE,SAAS,EAAE,8BAA8B,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAAG,8BAA8B,GAAG,yBAAyB,CAAC;AAE5G;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,2BAA2B;IAC3B,KAAK,EAAE,kCAAkC,EAAE,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,0BAA0B,KAAK,0BAA0B,KAAK,IAAI;IAErH,OAAO,CAAC,WAAW;IAInB,sEAAsE;IAC/D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM;IAU9D,sCAAsC;IAC/B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE;IAoBhC,yDAAyD;IAClD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,+BAA+B;IASrF,mDAAmD;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,mBAAmB;IAUrE,mDAAmD;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,0BAA0B;IAW3E,gDAAgD;IACzC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa;CAQzD;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,kCAAkC,GAAG,IAAI,IAAI,8BAA8B,CAEjI;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,CAAC,EAAE,cAAc;;;EAO3E;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,kCAAkC,GAAG,cAAc,GAAG,SAAS,CAI7G"}
1
+ {"version":3,"file":"FilterBuilderState.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAEL,+BAA+B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAGlE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,kEAAkE;IAClE,SAAS,EAAE,8BAA8B,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAC1C,8BAA8B,GAC9B,yBAAyB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,2BAA2B;IAC3B,KAAK,EAAE,kCAAkC,EAAE,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IAErC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,CAChB,MAAM,EAAE,CACN,SAAS,EAAE,0BAA0B,KAClC,0BAA0B,KAC5B,IAAI;IAGX,OAAO,CAAC,WAAW;IAMnB,sEAAsE;IAC/D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM;IAY9D,sCAAsC;IAC/B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE;IAyBhC,yDAAyD;IAClD,oBAAoB,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,+BAA+B;IAS3C,mDAAmD;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,mBAAmB;IASrE,mDAAmD;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,0BAA0B;IAS3E,gDAAgD;IACzC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa;CAOzD;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,kCAAkC,GACvC,IAAI,IAAI,8BAA8B,CAExC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,CAAC,EAAE,cAAc;;;EAW3E;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,kCAAkC,GAC5C,cAAc,GAAG,SAAS,CAI5B"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** @packageDocumentation
6
6
  * @module PropertyFilterBuilder
7
7
  */
@@ -9,7 +9,7 @@ import { produce } from "immer";
9
9
  import * as React from "react";
10
10
  import { PropertyValueFormat } from "@itwin/appui-abstract";
11
11
  import { Guid } from "@itwin/core-bentley";
12
- import { isUnaryPropertyFilterOperator, PropertyFilterRuleGroupOperator } from "./Operators";
12
+ import { isUnaryPropertyFilterOperator, PropertyFilterRuleGroupOperator, } from "./Operators";
13
13
  import { isPropertyFilterRuleGroup } from "./Types";
14
14
  /**
15
15
  * Actions for controlling [[PropertyFilterBuilder]] component state.
@@ -28,7 +28,9 @@ export class PropertyFilterBuilderActions {
28
28
  const parentGroup = findRuleGroup(state.rootGroup, path);
29
29
  if (!parentGroup)
30
30
  return;
31
- const item = itemType === "RULE_GROUP" ? createEmptyRuleGroup(parentGroup.id) : createEmptyRule(parentGroup.id);
31
+ const item = itemType === "RULE_GROUP"
32
+ ? createEmptyRuleGroup(parentGroup.id)
33
+ : createEmptyRule(parentGroup.id);
32
34
  parentGroup.items.push(item);
33
35
  });
34
36
  }
@@ -43,9 +45,11 @@ export class PropertyFilterBuilderActions {
43
45
  const itemIndex = parentGroup.items.findIndex((item) => item.id === itemId);
44
46
  if (itemIndex === -1)
45
47
  return;
48
+ if (parentGroup.items.length === 1) {
49
+ parentGroup.items[0] = createEmptyRule(parentGroup.id);
50
+ return;
51
+ }
46
52
  parentGroup.items.splice(itemIndex, 1);
47
- if (parentGroup.items.length === 0)
48
- removeItemFromGroup(state, pathToParent);
49
53
  }
50
54
  this.updateState((state) => {
51
55
  removeItemFromGroup(state, path);
@@ -104,7 +108,9 @@ export function isPropertyFilterBuilderRuleGroup(item) {
104
108
  * @internal
105
109
  */
106
110
  export function usePropertyFilterBuilderState(initialFilter) {
107
- const [state, setState] = React.useState(() => initialFilter ? convertFilterToState(initialFilter) : { rootGroup: createEmptyRuleGroup() });
111
+ const [state, setState] = React.useState(() => initialFilter
112
+ ? convertFilterToState(initialFilter)
113
+ : { rootGroup: createEmptyRuleGroup() });
108
114
  const [actions] = React.useState(() => new PropertyFilterBuilderActions(setState));
109
115
  return { state, actions };
110
116
  }
@@ -115,15 +121,14 @@ export function buildPropertyFilter(groupItem) {
115
121
  return buildPropertyFilterFromRule(groupItem);
116
122
  }
117
123
  function buildPropertyFilterFromRuleGroup(rootGroup) {
118
- if (rootGroup.items.length === 0)
119
- return undefined;
120
124
  const rules = new Array();
121
125
  for (const item of rootGroup.items) {
122
126
  const rule = buildPropertyFilter(item);
123
- if (!rule)
124
- return undefined;
125
- rules.push(rule);
127
+ if (rule)
128
+ rules.push(rule);
126
129
  }
130
+ if (rules.length === 0)
131
+ return undefined;
127
132
  if (rules.length === 1)
128
133
  return rules[0];
129
134
  return {
@@ -135,7 +140,10 @@ function buildPropertyFilterFromRule(rule) {
135
140
  const { property, operator, value } = rule;
136
141
  if (!property || operator === undefined)
137
142
  return undefined;
138
- if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))
143
+ if (!isUnaryPropertyFilterOperator(operator) &&
144
+ (!value ||
145
+ value.valueFormat !== PropertyValueFormat.Primitive ||
146
+ !value.value))
139
147
  return undefined;
140
148
  return { property, operator, value };
141
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderState.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.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 PropertyFilterBuilder\n */\n\nimport type { Draft} from \"immer\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue} from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { Guid } from \"@itwin/core-bentley\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport { isUnaryPropertyFilterOperator, PropertyFilterRuleGroupOperator } from \"./Operators\";\nimport type { PropertyFilter, PropertyFilterRule } from \"./Types\";\nimport { isPropertyFilterRuleGroup } from \"./Types\";\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component state.\n * @internal\n */\nexport interface PropertyFilterBuilderState {\n /** Root group of rules in [[PropertyFilterBuilder]] component. */\n rootGroup: PropertyFilterBuilderRuleGroup;\n}\n\n/**\n * Type that describes [[PropertyFilterBuilder]] component group item.\n * @internal\n */\nexport type PropertyFilterBuilderRuleGroupItem = PropertyFilterBuilderRuleGroup | PropertyFilterBuilderRule;\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component rule group.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroup {\n /** Id of this rule group. */\n id: string;\n /** Id of rule group that this group is nested in. */\n groupId?: string;\n /** Operator that should join items in this group. */\n operator: PropertyFilterRuleGroupOperator;\n /** Items in this group. */\n items: PropertyFilterBuilderRuleGroupItem[];\n}\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component single rule.\n * @internal\n */\nexport interface PropertyFilterBuilderRule {\n /** Id of this rule. */\n id: string;\n /** Id of rule group that this rule is nested in. */\n groupId: string;\n /** Property used in this rule. */\n property?: PropertyDescription;\n /** Operator that should be used to compare property value. */\n operator?: PropertyFilterRuleOperator;\n /** Value that property should be compared to. */\n value?: PropertyValue;\n}\n\n/**\n * Actions for controlling [[PropertyFilterBuilder]] component state.\n * @internal\n */\nexport class PropertyFilterBuilderActions {\n constructor(private setState: (setter: (prevState: PropertyFilterBuilderState) => PropertyFilterBuilderState) => void) { }\n\n private updateState(updater: (state: Draft<PropertyFilterBuilderState>) => void) {\n this.setState(produce(updater));\n }\n\n /** Adds new rule or group of rules to the group specified by path. */\n public addItem(path: string[], itemType: \"RULE_GROUP\" | \"RULE\") {\n this.updateState((state) => {\n const parentGroup = findRuleGroup(state.rootGroup, path);\n if (!parentGroup)\n return;\n const item = itemType === \"RULE_GROUP\" ? createEmptyRuleGroup(parentGroup.id) : createEmptyRule(parentGroup.id);\n parentGroup.items.push(item);\n });\n }\n\n /** Removes item specified by path. */\n public removeItem(path: string[]) {\n function removeItemFromGroup(state: Draft<PropertyFilterBuilderState>, pathToItem: string[]) {\n const pathToParent = pathToItem.slice(0, -1);\n const parentGroup = findRuleGroup(state.rootGroup, pathToParent);\n if (!parentGroup)\n return;\n const itemId = pathToItem[pathToItem.length - 1];\n const itemIndex = parentGroup.items.findIndex((item) => item.id === itemId);\n if (itemIndex === -1)\n return;\n parentGroup.items.splice(itemIndex, 1);\n if (parentGroup.items.length === 0)\n removeItemFromGroup(state, pathToParent);\n }\n\n this.updateState((state) => {\n removeItemFromGroup(state, path);\n });\n }\n\n /** Sets operator of rule group specified by the path. */\n public setRuleGroupOperator(path: string[], operator: PropertyFilterRuleGroupOperator) {\n this.updateState((state) => {\n const group = findRuleGroup(state.rootGroup, path);\n if (!group)\n return;\n group.operator = operator;\n });\n }\n\n /** Sets property of rule specified by the path. */\n public setRuleProperty(path: string[], property?: PropertyDescription) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule)\n return;\n rule.property = property;\n rule.value = undefined;\n });\n }\n\n /** Sets operator of rule specified by the path. */\n public setRuleOperator(path: string[], operator: PropertyFilterRuleOperator) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule)\n return;\n if (isUnaryPropertyFilterOperator(operator))\n rule.value = undefined;\n rule.operator = operator;\n });\n }\n\n /** Sets value of rule specified by the path. */\n public setRuleValue(path: string[], value: PropertyValue) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule)\n return;\n rule.value = value;\n });\n }\n}\n\n/**\n * Function to check if supplied [[PropertyFilterBuilderRuleGroupItem]] is [[PropertyFilterBuilderRuleGroup]].\n * @internal\n */\nexport function isPropertyFilterBuilderRuleGroup(item: PropertyFilterBuilderRuleGroupItem): item is PropertyFilterBuilderRuleGroup {\n return (item as any).items !== undefined;\n}\n\n/**\n * Custom hook that creates state for [[PropertyFilterBuilder]] component. It creates empty state or initializes\n * state from supplied initial filter.\n * @internal\n */\nexport function usePropertyFilterBuilderState(initialFilter?: PropertyFilter) {\n const [state, setState] = React.useState<PropertyFilterBuilderState>(\n () => initialFilter ? convertFilterToState(initialFilter) : { rootGroup: createEmptyRuleGroup() }\n );\n const [actions] = React.useState(() => new PropertyFilterBuilderActions(setState));\n\n return { state, actions };\n}\n\n/** @internal */\nexport function buildPropertyFilter(groupItem: PropertyFilterBuilderRuleGroupItem): PropertyFilter | undefined {\n if (isPropertyFilterBuilderRuleGroup(groupItem))\n return buildPropertyFilterFromRuleGroup(groupItem);\n return buildPropertyFilterFromRule(groupItem);\n}\n\nfunction buildPropertyFilterFromRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup): PropertyFilter | undefined {\n if (rootGroup.items.length === 0)\n return undefined;\n\n const rules = new Array<PropertyFilter>();\n for (const item of rootGroup.items) {\n const rule = buildPropertyFilter(item);\n if (!rule)\n return undefined;\n rules.push(rule);\n }\n\n if (rules.length === 1)\n return rules[0];\n\n return {\n operator: rootGroup.operator,\n rules,\n };\n}\n\nfunction buildPropertyFilterFromRule(rule: PropertyFilterBuilderRule): PropertyFilter | undefined {\n const { property, operator, value } = rule;\n if (!property || operator === undefined)\n return undefined;\n\n if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))\n return undefined;\n\n return { property, operator, value };\n}\n\nfunction createEmptyRule(groupId: string): PropertyFilterBuilderRule {\n return {\n id: Guid.createValue(),\n groupId,\n };\n}\n\nfunction createEmptyRuleGroup(groupId?: string): PropertyFilterBuilderRuleGroup {\n const id = Guid.createValue();\n return {\n id,\n groupId,\n operator: PropertyFilterRuleGroupOperator.And,\n items: [createEmptyRule(id)],\n };\n}\n\nfunction findRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRuleGroup | undefined {\n if (path.length === 0)\n return rootGroup;\n\n const [currentItemId, ...rest] = path;\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\n if (!currentItem || !isPropertyFilterBuilderRuleGroup(currentItem))\n return undefined;\n\n return findRuleGroup(currentItem, rest);\n}\n\nfunction findRule(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRule | undefined {\n if (path.length === 0)\n return undefined;\n\n const [currentItemId, ...rest] = path;\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\n if (!currentItem)\n return undefined;\n\n if (isPropertyFilterBuilderRuleGroup(currentItem))\n return findRule(currentItem, rest);\n\n return currentItem;\n}\n\nfunction getRuleGroupItem(filter: PropertyFilter, parentId: string): PropertyFilterBuilderRuleGroupItem {\n const id = Guid.createValue();\n if (isPropertyFilterRuleGroup(filter))\n return {\n id,\n groupId: parentId,\n operator: filter.operator,\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\n };\n return getRuleItem(filter, id);\n}\n\nfunction getRuleItem(filter: PropertyFilterRule, parentId: string) {\n return {\n id: Guid.createValue(),\n groupId: parentId,\n property: filter.property,\n operator: filter.operator,\n value: filter.value,\n };\n}\n\nfunction convertFilterToState(filter: PropertyFilter): PropertyFilterBuilderState {\n const id = Guid.createValue();\n if (isPropertyFilterRuleGroup(filter)) {\n return {\n rootGroup: {\n id,\n operator: filter.operator,\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\n },\n };\n }\n return {\n rootGroup: {\n id,\n operator: PropertyFilterRuleGroupOperator.And,\n items: [getRuleItem(filter, id)],\n },\n };\n}\n"]}
1
+ {"version":3,"file":"FilterBuilderState.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.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 PropertyFilterBuilder\n */\n\nimport type { Draft } from \"immer\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport type { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { Guid } from \"@itwin/core-bentley\";\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\nimport {\n isUnaryPropertyFilterOperator,\n PropertyFilterRuleGroupOperator,\n} from \"./Operators\";\nimport type { PropertyFilter, PropertyFilterRule } from \"./Types\";\nimport { isPropertyFilterRuleGroup } from \"./Types\";\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component state.\n * @internal\n */\nexport interface PropertyFilterBuilderState {\n /** Root group of rules in [[PropertyFilterBuilder]] component. */\n rootGroup: PropertyFilterBuilderRuleGroup;\n}\n\n/**\n * Type that describes [[PropertyFilterBuilder]] component group item.\n * @internal\n */\nexport type PropertyFilterBuilderRuleGroupItem =\n | PropertyFilterBuilderRuleGroup\n | PropertyFilterBuilderRule;\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component rule group.\n * @internal\n */\nexport interface PropertyFilterBuilderRuleGroup {\n /** Id of this rule group. */\n id: string;\n /** Id of rule group that this group is nested in. */\n groupId?: string;\n /** Operator that should join items in this group. */\n operator: PropertyFilterRuleGroupOperator;\n /** Items in this group. */\n items: PropertyFilterBuilderRuleGroupItem[];\n}\n\n/**\n * Data structure that describes [[PropertyFilterBuilder]] component single rule.\n * @internal\n */\nexport interface PropertyFilterBuilderRule {\n /** Id of this rule. */\n id: string;\n /** Id of rule group that this rule is nested in. */\n groupId: string;\n /** Property used in this rule. */\n property?: PropertyDescription;\n /** Operator that should be used to compare property value. */\n operator?: PropertyFilterRuleOperator;\n /** Value that property should be compared to. */\n value?: PropertyValue;\n}\n\n/**\n * Actions for controlling [[PropertyFilterBuilder]] component state.\n * @internal\n */\nexport class PropertyFilterBuilderActions {\n constructor(\n private setState: (\n setter: (\n prevState: PropertyFilterBuilderState\n ) => PropertyFilterBuilderState\n ) => void\n ) {}\n\n private updateState(\n updater: (state: Draft<PropertyFilterBuilderState>) => void\n ) {\n this.setState(produce(updater));\n }\n\n /** Adds new rule or group of rules to the group specified by path. */\n public addItem(path: string[], itemType: \"RULE_GROUP\" | \"RULE\") {\n this.updateState((state) => {\n const parentGroup = findRuleGroup(state.rootGroup, path);\n if (!parentGroup) return;\n const item =\n itemType === \"RULE_GROUP\"\n ? createEmptyRuleGroup(parentGroup.id)\n : createEmptyRule(parentGroup.id);\n parentGroup.items.push(item);\n });\n }\n\n /** Removes item specified by path. */\n public removeItem(path: string[]) {\n function removeItemFromGroup(\n state: Draft<PropertyFilterBuilderState>,\n pathToItem: string[]\n ) {\n const pathToParent = pathToItem.slice(0, -1);\n const parentGroup = findRuleGroup(state.rootGroup, pathToParent);\n if (!parentGroup) return;\n const itemId = pathToItem[pathToItem.length - 1];\n const itemIndex = parentGroup.items.findIndex(\n (item) => item.id === itemId\n );\n if (itemIndex === -1) return;\n if (parentGroup.items.length === 1) {\n parentGroup.items[0] = createEmptyRule(parentGroup.id);\n return;\n }\n parentGroup.items.splice(itemIndex, 1);\n }\n\n this.updateState((state) => {\n removeItemFromGroup(state, path);\n });\n }\n\n /** Sets operator of rule group specified by the path. */\n public setRuleGroupOperator(\n path: string[],\n operator: PropertyFilterRuleGroupOperator\n ) {\n this.updateState((state) => {\n const group = findRuleGroup(state.rootGroup, path);\n if (!group) return;\n group.operator = operator;\n });\n }\n\n /** Sets property of rule specified by the path. */\n public setRuleProperty(path: string[], property?: PropertyDescription) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule) return;\n rule.property = property;\n rule.value = undefined;\n });\n }\n\n /** Sets operator of rule specified by the path. */\n public setRuleOperator(path: string[], operator: PropertyFilterRuleOperator) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule) return;\n if (isUnaryPropertyFilterOperator(operator)) rule.value = undefined;\n rule.operator = operator;\n });\n }\n\n /** Sets value of rule specified by the path. */\n public setRuleValue(path: string[], value: PropertyValue) {\n this.updateState((state) => {\n const rule = findRule(state.rootGroup, path);\n if (!rule) return;\n rule.value = value;\n });\n }\n}\n\n/**\n * Function to check if supplied [[PropertyFilterBuilderRuleGroupItem]] is [[PropertyFilterBuilderRuleGroup]].\n * @internal\n */\nexport function isPropertyFilterBuilderRuleGroup(\n item: PropertyFilterBuilderRuleGroupItem\n): item is PropertyFilterBuilderRuleGroup {\n return (item as any).items !== undefined;\n}\n\n/**\n * Custom hook that creates state for [[PropertyFilterBuilder]] component. It creates empty state or initializes\n * state from supplied initial filter.\n * @internal\n */\nexport function usePropertyFilterBuilderState(initialFilter?: PropertyFilter) {\n const [state, setState] = React.useState<PropertyFilterBuilderState>(() =>\n initialFilter\n ? convertFilterToState(initialFilter)\n : { rootGroup: createEmptyRuleGroup() }\n );\n const [actions] = React.useState(\n () => new PropertyFilterBuilderActions(setState)\n );\n\n return { state, actions };\n}\n\n/** @internal */\nexport function buildPropertyFilter(\n groupItem: PropertyFilterBuilderRuleGroupItem\n): PropertyFilter | undefined {\n if (isPropertyFilterBuilderRuleGroup(groupItem))\n return buildPropertyFilterFromRuleGroup(groupItem);\n return buildPropertyFilterFromRule(groupItem);\n}\n\nfunction buildPropertyFilterFromRuleGroup(\n rootGroup: PropertyFilterBuilderRuleGroup\n): PropertyFilter | undefined {\n const rules = new Array<PropertyFilter>();\n for (const item of rootGroup.items) {\n const rule = buildPropertyFilter(item);\n if (rule) rules.push(rule);\n }\n\n if (rules.length === 0) return undefined;\n\n if (rules.length === 1) return rules[0];\n\n return {\n operator: rootGroup.operator,\n rules,\n };\n}\n\nfunction buildPropertyFilterFromRule(\n rule: PropertyFilterBuilderRule\n): PropertyFilter | undefined {\n const { property, operator, value } = rule;\n if (!property || operator === undefined) return undefined;\n\n if (\n !isUnaryPropertyFilterOperator(operator) &&\n (!value ||\n value.valueFormat !== PropertyValueFormat.Primitive ||\n !value.value)\n )\n return undefined;\n\n return { property, operator, value };\n}\n\nfunction createEmptyRule(groupId: string): PropertyFilterBuilderRule {\n return {\n id: Guid.createValue(),\n groupId,\n };\n}\n\nfunction createEmptyRuleGroup(\n groupId?: string\n): PropertyFilterBuilderRuleGroup {\n const id = Guid.createValue();\n return {\n id,\n groupId,\n operator: PropertyFilterRuleGroupOperator.And,\n items: [createEmptyRule(id)],\n };\n}\n\nfunction findRuleGroup(\n rootGroup: PropertyFilterBuilderRuleGroup,\n path: string[]\n): PropertyFilterBuilderRuleGroup | undefined {\n if (path.length === 0) return rootGroup;\n\n const [currentItemId, ...rest] = path;\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\n if (!currentItem || !isPropertyFilterBuilderRuleGroup(currentItem))\n return undefined;\n\n return findRuleGroup(currentItem, rest);\n}\n\nfunction findRule(\n rootGroup: PropertyFilterBuilderRuleGroup,\n path: string[]\n): PropertyFilterBuilderRule | undefined {\n if (path.length === 0) return undefined;\n\n const [currentItemId, ...rest] = path;\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\n if (!currentItem) return undefined;\n\n if (isPropertyFilterBuilderRuleGroup(currentItem))\n return findRule(currentItem, rest);\n\n return currentItem;\n}\n\nfunction getRuleGroupItem(\n filter: PropertyFilter,\n parentId: string\n): PropertyFilterBuilderRuleGroupItem {\n const id = Guid.createValue();\n if (isPropertyFilterRuleGroup(filter))\n return {\n id,\n groupId: parentId,\n operator: filter.operator,\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\n };\n return getRuleItem(filter, id);\n}\n\nfunction getRuleItem(filter: PropertyFilterRule, parentId: string) {\n return {\n id: Guid.createValue(),\n groupId: parentId,\n property: filter.property,\n operator: filter.operator,\n value: filter.value,\n };\n}\n\nfunction convertFilterToState(\n filter: PropertyFilter\n): PropertyFilterBuilderState {\n const id = Guid.createValue();\n if (isPropertyFilterRuleGroup(filter)) {\n return {\n rootGroup: {\n id,\n operator: filter.operator,\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\n },\n };\n }\n return {\n rootGroup: {\n id,\n operator: PropertyFilterRuleGroupOperator.And,\n items: [getRuleItem(filter, id)],\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Operators.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/Operators.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAIhE;;;GAGG;AACH,oBAAY,+BAA+B;IACzC,GAAG,IAAA;IACH,EAAE,IAAA;CACH;AAED;;;GAGG;AACH,oBAAY,0BAA0B;IACpC,MAAM,IAAA;IACN,OAAO,IAAA;IAEP,OAAO,IAAA;IACP,UAAU,IAAA;IAEV,OAAO,IAAA;IACP,cAAc,IAAA;IACd,IAAI,IAAA;IACJ,WAAW,IAAA;IAEX,IAAI,IAAA;IAEJ,MAAM,IAAA;IACN,SAAS,KAAA;CACV;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,gCA2CvE;AAGD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,0BAA0B,UAyBlF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,0BAA0B,WASjF"}
1
+ {"version":3,"file":"Operators.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/Operators.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;;GAGG;AACH,oBAAY,+BAA+B;IACzC,GAAG,IAAA;IACH,EAAE,IAAA;CACH;AAED;;;GAGG;AACH,oBAAY,0BAA0B;IACpC,MAAM,IAAA;IACN,OAAO,IAAA;IAEP,OAAO,IAAA;IACP,UAAU,IAAA;IAEV,OAAO,IAAA;IACP,cAAc,IAAA;IACd,IAAI,IAAA;IACJ,WAAW,IAAA;IAEX,IAAI,IAAA;IAEJ,MAAM,IAAA;IACN,SAAS,KAAA;CACV;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,gCAgDvE;AAGD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,0BAA0B,UA0BrC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,0BAA0B,WAUrC"}