@itwin/components-react 4.1.0-dev.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (940) hide show
  1. package/CHANGELOG.md +44 -6
  2. package/lib/cjs/components-react/UiComponents.d.ts +1 -1
  3. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  4. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  5. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +1 -1
  6. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/DelayedSpinner.js +3 -2
  8. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  9. package/lib/cjs/components-react/common/ImageRenderer.d.ts +1 -1
  10. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  11. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  12. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +1 -1
  13. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  14. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +2 -1
  16. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  17. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  18. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  19. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  20. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  21. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  22. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  23. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  24. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  25. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +1 -1
  27. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  28. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  29. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  30. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  31. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  33. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  34. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +3 -2
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  37. package/lib/cjs/components-react/converters/NumericTypeConverter.js +4 -2
  38. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +2 -2
  40. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  41. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  42. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +1 -1
  43. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  44. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  45. package/lib/cjs/components-react/converters/TypeConverter.d.ts +2 -2
  46. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  47. package/lib/cjs/components-react/converters/TypeConverter.js +2 -2
  48. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  49. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +1 -1
  50. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  51. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  52. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  53. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  55. package/lib/cjs/components-react/datepicker/DateField.d.ts +3 -2
  56. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  57. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  58. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  59. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  60. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  61. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +1 -1
  62. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  64. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  65. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  66. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  67. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +2 -2
  68. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  69. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  70. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +2 -2
  71. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  72. package/lib/cjs/components-react/editors/CustomNumberEditor.js +4 -2
  73. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  74. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +4 -3
  75. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  76. package/lib/cjs/components-react/editors/DateTimeEditor.js +3 -2
  77. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  78. package/lib/cjs/components-react/editors/EditorContainer.d.ts +2 -2
  79. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  80. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  81. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  82. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  84. package/lib/cjs/components-react/editors/EnumEditor.d.ts +3 -3
  85. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  86. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  87. package/lib/cjs/components-react/editors/IconEditor.d.ts +2 -2
  88. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  89. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  90. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  91. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  92. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  93. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +2 -2
  94. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  95. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  96. package/lib/cjs/components-react/editors/PopupButton.d.ts +1 -1
  97. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  98. package/lib/cjs/components-react/editors/PopupButton.js +4 -3
  99. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  100. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +1 -1
  101. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  102. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  103. package/lib/cjs/components-react/editors/SliderEditor.d.ts +2 -2
  104. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  105. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  106. package/lib/cjs/components-react/editors/TextEditor.d.ts +2 -2
  107. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  108. package/lib/cjs/components-react/editors/TextEditor.js +4 -2
  109. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  110. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +2 -2
  111. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  113. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +2 -2
  114. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  115. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  116. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  117. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  118. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  120. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  121. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +3 -2
  122. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  123. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  124. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  125. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  126. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  127. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  128. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  129. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  130. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  131. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  132. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  133. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  134. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  135. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  136. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  137. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  138. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  139. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  140. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  141. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  142. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  143. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  144. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  145. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  146. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  147. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  148. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  149. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  150. package/lib/cjs/components-react/filter-builder/Operators.d.ts +1 -1
  151. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  152. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  153. package/lib/cjs/components-react/filter-builder/Types.d.ts +2 -2
  154. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  155. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  156. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +2 -2
  157. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  158. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  159. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +1 -1
  160. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  161. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  162. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  163. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  164. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  165. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +2 -2
  166. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  167. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  168. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  169. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  170. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  171. package/lib/cjs/components-react/properties/LinkHandler.d.ts +1 -1
  172. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  173. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  174. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +3 -3
  175. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  176. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  177. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  178. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  179. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  180. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  181. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  182. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  183. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  184. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  185. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  186. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  187. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  188. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  189. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  190. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  191. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  192. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  193. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  194. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  195. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  196. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  197. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  198. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +1 -1
  199. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  200. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  201. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +5 -0
  202. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  203. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  204. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  205. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  206. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  207. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  208. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  209. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  210. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  211. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  212. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  213. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  214. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  215. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  216. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  217. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  218. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  219. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  220. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  221. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  222. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +18 -17
  223. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  224. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  225. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  227. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  229. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  230. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  231. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  233. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  236. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  239. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  242. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  243. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  245. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  246. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  248. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  251. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  252. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  253. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  254. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  255. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  256. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  257. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  258. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  259. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  260. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  261. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  262. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  263. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  264. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  265. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  266. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  267. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  268. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  269. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  270. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  271. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  272. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  273. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  274. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  275. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  276. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  277. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  278. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  279. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  280. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  281. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  282. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  283. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  284. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  286. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  287. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  288. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  289. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  290. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  291. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  292. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  293. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  294. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  296. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  297. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  298. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  299. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  301. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  302. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  304. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  306. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  307. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  309. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  310. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  311. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  313. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  316. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  319. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  321. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  322. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  323. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  325. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  326. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  328. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  329. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  331. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  333. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  335. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  336. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  337. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  338. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  339. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  340. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  341. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  343. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  345. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  346. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  347. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  349. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  351. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  352. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  353. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  354. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  355. package/lib/cjs/components-react/selectable-content/SelectableContent.js +3 -2
  356. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  357. package/lib/cjs/components-react/toolbar/Item.d.ts +1 -1
  358. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  359. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  360. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +1 -1
  361. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  362. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  363. package/lib/cjs/components-react/toolbar/Items.d.ts +2 -2
  364. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  365. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  366. package/lib/cjs/components-react/toolbar/Overflow.d.ts +1 -1
  367. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  368. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  369. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +1 -1
  370. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  371. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  372. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +2 -2
  373. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  374. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  375. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  376. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  377. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  378. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  379. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  380. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  381. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +2 -2
  382. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  383. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  384. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  385. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  386. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  387. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  388. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  389. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  390. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  391. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  392. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  393. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  394. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  395. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  396. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  397. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  398. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  399. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  400. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  401. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  402. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  403. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  404. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  406. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  407. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  408. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  409. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  410. package/lib/cjs/components-react/tree/ImageLoader.d.ts +2 -2
  411. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  412. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  413. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  414. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  415. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  416. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +4 -4
  417. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  418. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  419. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +1 -1
  420. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  421. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  422. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  423. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  424. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  425. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  426. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  427. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  428. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  429. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  430. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  431. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  432. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  433. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  434. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +3 -3
  435. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  436. package/lib/cjs/components-react/tree/controlled/TreeModel.js +7 -4
  437. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  438. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  439. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  440. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  441. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  442. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  443. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  444. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  445. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  446. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  447. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  448. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  449. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  450. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  451. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  452. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  453. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  454. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  455. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  456. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  457. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  458. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  459. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  460. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  461. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  462. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +2 -1
  463. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  464. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  465. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  466. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  467. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  468. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  469. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  470. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  471. package/lib/esm/components-react/UiComponents.d.ts +1 -1
  472. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  473. package/lib/esm/components-react/UiComponents.js.map +1 -1
  474. package/lib/esm/components-react/common/DelayedSpinner.d.ts +1 -1
  475. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  476. package/lib/esm/components-react/common/DelayedSpinner.js +3 -2
  477. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  478. package/lib/esm/components-react/common/ImageRenderer.d.ts +1 -1
  479. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  480. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  481. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +1 -1
  482. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  483. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  484. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +2 -1
  485. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  486. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  487. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  488. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  489. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  490. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  491. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  492. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  493. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  494. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  495. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +1 -1
  496. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  497. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  498. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  499. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  500. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  501. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  502. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  503. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  504. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +3 -2
  505. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  506. package/lib/esm/components-react/converters/NumericTypeConverter.js +4 -2
  507. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  508. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +2 -2
  509. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  510. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  511. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +1 -1
  512. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  513. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  514. package/lib/esm/components-react/converters/TypeConverter.d.ts +2 -2
  515. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  516. package/lib/esm/components-react/converters/TypeConverter.js +2 -2
  517. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  518. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +1 -1
  519. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  520. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  521. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  522. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  523. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  524. package/lib/esm/components-react/datepicker/DateField.d.ts +3 -2
  525. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  526. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  527. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  528. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  529. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  530. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +1 -1
  531. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  532. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  533. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  534. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  535. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  536. package/lib/esm/components-react/editors/BooleanEditor.d.ts +2 -2
  537. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  538. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  539. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +2 -2
  540. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  541. package/lib/esm/components-react/editors/CustomNumberEditor.js +4 -2
  542. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  543. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +4 -3
  544. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  545. package/lib/esm/components-react/editors/DateTimeEditor.js +3 -2
  546. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  547. package/lib/esm/components-react/editors/EditorContainer.d.ts +2 -2
  548. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  549. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  550. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  551. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  552. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  553. package/lib/esm/components-react/editors/EnumEditor.d.ts +3 -3
  554. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  555. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  556. package/lib/esm/components-react/editors/IconEditor.d.ts +2 -2
  557. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  558. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  559. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  560. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  561. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  562. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +2 -2
  563. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  564. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  565. package/lib/esm/components-react/editors/PopupButton.d.ts +1 -1
  566. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  567. package/lib/esm/components-react/editors/PopupButton.js +4 -3
  568. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  569. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +1 -1
  570. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  571. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  572. package/lib/esm/components-react/editors/SliderEditor.d.ts +2 -2
  573. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  574. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  575. package/lib/esm/components-react/editors/TextEditor.d.ts +2 -2
  576. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  577. package/lib/esm/components-react/editors/TextEditor.js +4 -2
  578. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  579. package/lib/esm/components-react/editors/TextareaEditor.d.ts +2 -2
  580. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  581. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  582. package/lib/esm/components-react/editors/ToggleEditor.d.ts +2 -2
  583. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  584. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  585. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  586. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  587. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  588. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  589. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  590. package/lib/esm/components-react/favorite/FavoritePropertyList.js +3 -2
  591. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  592. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  593. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  594. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  595. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  596. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  597. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  598. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  599. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  600. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  601. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  602. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  603. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  604. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  605. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  606. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  607. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  608. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  609. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  610. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  611. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  612. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  613. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  614. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  615. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  616. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  617. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  618. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  619. package/lib/esm/components-react/filter-builder/Operators.d.ts +1 -1
  620. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  621. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  622. package/lib/esm/components-react/filter-builder/Types.d.ts +2 -2
  623. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  624. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  625. package/lib/esm/components-react/filtering/FilteringInput.d.ts +2 -2
  626. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  627. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  628. package/lib/esm/components-react/filtering/ResultSelector.d.ts +1 -1
  629. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  630. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  631. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  632. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  633. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  634. package/lib/esm/components-react/inputs/ParsedInput.d.ts +2 -2
  635. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  636. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  637. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  638. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  639. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  640. package/lib/esm/components-react/properties/LinkHandler.d.ts +1 -1
  641. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  642. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  643. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +3 -3
  644. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  645. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  646. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  647. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  648. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  649. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  650. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  651. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  652. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  653. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  654. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  655. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  656. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  657. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  658. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  659. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  660. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  661. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  662. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  663. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  664. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  665. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  666. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  667. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +1 -1
  668. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  669. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  670. package/lib/esm/components-react/properties/renderers/PropertyView.scss +5 -0
  671. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  672. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  673. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  674. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  675. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  676. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  677. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  678. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  679. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  680. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  681. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  682. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  683. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  684. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  685. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  686. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  687. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  688. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  689. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  690. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  691. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +16 -18
  692. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  693. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  694. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  695. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  696. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  697. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  698. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  699. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  700. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  701. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  702. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  704. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  705. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  706. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  707. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  708. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  709. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  710. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  711. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  712. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  713. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  714. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  715. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  716. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  717. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  718. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  719. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  720. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  721. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  722. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  723. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  724. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  725. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  726. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  727. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  728. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  729. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  730. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  731. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  732. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  733. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  734. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  735. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  736. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  737. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  738. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  739. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  740. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  741. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  742. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  743. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  744. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  745. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  746. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  747. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  748. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  749. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  750. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  751. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  752. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  753. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  754. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  755. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  756. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  757. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  758. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  759. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  760. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  761. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  762. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  763. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  764. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  765. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  766. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  767. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  768. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  769. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  770. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  771. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  772. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  773. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  774. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  775. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  776. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  777. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  778. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  779. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  780. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  781. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  782. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  783. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  784. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  785. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  786. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  787. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  788. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  789. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  790. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  791. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  792. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  793. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  794. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  795. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  796. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  797. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  798. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  799. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  800. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  801. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  802. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  803. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  804. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  805. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  806. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  807. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  808. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  809. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  810. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  811. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  812. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  813. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  814. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  815. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  816. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  818. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  819. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  820. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  821. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  822. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  823. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  824. package/lib/esm/components-react/selectable-content/SelectableContent.js +3 -2
  825. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  826. package/lib/esm/components-react/toolbar/Item.d.ts +1 -1
  827. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  828. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  829. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +1 -1
  830. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  831. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  832. package/lib/esm/components-react/toolbar/Items.d.ts +2 -2
  833. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  834. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  835. package/lib/esm/components-react/toolbar/Overflow.d.ts +1 -1
  836. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  837. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  838. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +1 -1
  839. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  840. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  841. package/lib/esm/components-react/toolbar/PopupItem.d.ts +2 -2
  842. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  843. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  844. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  845. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  846. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  847. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  848. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  849. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  850. package/lib/esm/components-react/toolbar/Toolbar.d.ts +2 -2
  851. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  852. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  853. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  854. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  855. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  856. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  857. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  858. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  859. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  860. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  861. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  862. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  863. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  864. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  865. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  866. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  867. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  868. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  869. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  870. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  871. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  872. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  873. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  874. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  875. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  876. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  877. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  878. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  879. package/lib/esm/components-react/tree/ImageLoader.d.ts +2 -2
  880. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  881. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  882. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  883. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  884. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  885. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +4 -4
  886. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  887. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  888. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +1 -1
  889. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  890. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  891. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  892. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  893. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  894. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  895. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  896. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  897. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  898. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  899. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  900. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  901. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  902. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  903. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +3 -3
  904. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  905. package/lib/esm/components-react/tree/controlled/TreeModel.js +7 -4
  906. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  907. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  908. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  909. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  910. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  911. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  912. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  913. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  914. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  915. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  916. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  917. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  918. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  919. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  920. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  921. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  922. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  923. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  924. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  925. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  926. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  927. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  928. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  929. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  930. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  931. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +2 -1
  932. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  933. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  934. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  935. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  936. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  937. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  938. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  939. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  940. package/package.json +11 -6
@@ -4,7 +4,7 @@
4
4
  /// <reference types="react" />
5
5
  import { Orientation } from "@itwin/core-react";
6
6
  import { PropertyValueRendererManager } from "../properties/ValueRendererManager";
7
- import { PropertyData } from "../propertygrid/PropertyDataProvider";
7
+ import type { PropertyData } from "../propertygrid/PropertyDataProvider";
8
8
  /** Properties for [[FavoritePropertyList]] React component
9
9
  * @alpha
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritePropertyList.d.ts","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertyList.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,sBAqBpE"}
1
+ {"version":3,"file":"FavoritePropertyList.d.ts","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertyList.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,sBAqBpE"}
@@ -13,11 +13,12 @@ import { PropertyList } from "../propertygrid/component/PropertyList";
13
13
  * @alpha
14
14
  */
15
15
  export function FavoritePropertyList(props) {
16
+ var _a, _b;
16
17
  const [listWidth, setListWidth] = React.useState();
17
18
  const onListResize = React.useCallback(setListWidth, [setListWidth]);
18
19
  if (props.propertyData.records.Favorite !== undefined) {
19
- const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;
20
- const orientation = props.orientation ?? Orientation.Horizontal;
20
+ const propertyValueRendererManager = (_a = props.propertyValueRendererManager) !== null && _a !== void 0 ? _a : PropertyValueRendererManager.defaultManager;
21
+ const orientation = (_b = props.orientation) !== null && _b !== void 0 ? _b : Orientation.Horizontal;
21
22
  return (React.createElement("div", { className: "components-favorite-property-list" },
22
23
  React.createElement(ResizableContainerObserver, { onResize: onListResize }),
23
24
  listWidth ?
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritePropertyList.js","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertyList.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAYtE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;QACrD,MAAM,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,IAAI,4BAA4B,CAAC,cAAc,CAAC;QACvH,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC;QAChE,OAAO,CACL,6BAAK,SAAS,EAAC,mCAAmC;YAChD,oBAAC,0BAA0B,IAAC,QAAQ,EAAE,YAAY,GAAI;YACrD,SAAS,CAAC,CAAC;gBACV,oBAAC,YAAY,IACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAC/C,WAAW,EAAE,CAAC,GAAG,CAAC,EAClB,4BAA4B,EAAE,4BAA4B,GAC1D,CAAC,CAAC,CAAC,IAAI,CACP,CACP,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Favorite\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Orientation, ResizableContainerObserver } from \"@itwin/core-react\";\r\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\r\nimport { PropertyList } from \"../propertygrid/component/PropertyList\";\r\nimport { PropertyData } from \"../propertygrid/PropertyDataProvider\";\r\n\r\n/** Properties for [[FavoritePropertyList]] React component\r\n * @alpha\r\n */\r\nexport interface FavoritePropertyListProps {\r\n propertyData: PropertyData;\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n orientation?: Orientation;\r\n}\r\n\r\n/** Favorite Property List React component\r\n * @alpha\r\n */\r\nexport function FavoritePropertyList(props: FavoritePropertyListProps) {\r\n const [listWidth, setListWidth] = React.useState<number | undefined>();\r\n const onListResize = React.useCallback(setListWidth, [setListWidth]);\r\n if (props.propertyData.records.Favorite !== undefined) {\r\n const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\r\n const orientation = props.orientation ?? Orientation.Horizontal;\r\n return (\r\n <div className=\"components-favorite-property-list\">\r\n <ResizableContainerObserver onResize={onListResize} />\r\n {listWidth ?\r\n <PropertyList\r\n orientation={orientation}\r\n width={listWidth}\r\n properties={props.propertyData.records.Favorite}\r\n columnRatio={1 / 3}\r\n propertyValueRendererManager={propertyValueRendererManager}\r\n /> : null}\r\n </div>\r\n );\r\n }\r\n return null;\r\n}\r\n"]}
1
+ {"version":3,"file":"FavoritePropertyList.js","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertyList.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAYtE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgC;;IACnE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;QACrD,MAAM,4BAA4B,GAAG,MAAA,KAAK,CAAC,4BAA4B,mCAAI,4BAA4B,CAAC,cAAc,CAAC;QACvH,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,WAAW,CAAC,UAAU,CAAC;QAChE,OAAO,CACL,6BAAK,SAAS,EAAC,mCAAmC;YAChD,oBAAC,0BAA0B,IAAC,QAAQ,EAAE,YAAY,GAAI;YACrD,SAAS,CAAC,CAAC;gBACV,oBAAC,YAAY,IACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAC/C,WAAW,EAAE,CAAC,GAAG,CAAC,EAClB,4BAA4B,EAAE,4BAA4B,GAC1D,CAAC,CAAC,CAAC,IAAI,CACP,CACP,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Favorite\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Orientation, ResizableContainerObserver } from \"@itwin/core-react\";\r\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\r\nimport { PropertyList } from \"../propertygrid/component/PropertyList\";\r\nimport type { PropertyData } from \"../propertygrid/PropertyDataProvider\";\r\n\r\n/** Properties for [[FavoritePropertyList]] React component\r\n * @alpha\r\n */\r\nexport interface FavoritePropertyListProps {\r\n propertyData: PropertyData;\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n orientation?: Orientation;\r\n}\r\n\r\n/** Favorite Property List React component\r\n * @alpha\r\n */\r\nexport function FavoritePropertyList(props: FavoritePropertyListProps) {\r\n const [listWidth, setListWidth] = React.useState<number | undefined>();\r\n const onListResize = React.useCallback(setListWidth, [setListWidth]);\r\n if (props.propertyData.records.Favorite !== undefined) {\r\n const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\r\n const orientation = props.orientation ?? Orientation.Horizontal;\r\n return (\r\n <div className=\"components-favorite-property-list\">\r\n <ResizableContainerObserver onResize={onListResize} />\r\n {listWidth ?\r\n <PropertyList\r\n orientation={orientation}\r\n width={listWidth}\r\n properties={props.propertyData.records.Favorite}\r\n columnRatio={1 / 3}\r\n propertyValueRendererManager={propertyValueRendererManager}\r\n /> : null}\r\n </div>\r\n );\r\n }\r\n return null;\r\n}\r\n"]}
@@ -2,10 +2,10 @@
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
4
  import * as React from "react";
5
- import { PropertyDescription } from "@itwin/appui-abstract";
6
- import { PropertyFilterBuilderRuleOperatorProps } from "./FilterBuilderRuleOperator";
7
- import { PropertyFilterBuilderRuleValueProps } from "./FilterBuilderRuleValue";
8
- import { PropertyFilter } from "./Types";
5
+ import type { PropertyDescription } from "@itwin/appui-abstract";
6
+ import type { PropertyFilterBuilderRuleOperatorProps } from "./FilterBuilderRuleOperator";
7
+ import type { PropertyFilterBuilderRuleValueProps } from "./FilterBuilderRuleValue";
8
+ import type { PropertyFilter } from "./Types";
9
9
  /**
10
10
  * Props for [[PropertyFilterBuilder]] component.
11
11
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,+DAA+D;IAC/D,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,oDAAoD;IACpD,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,eAgCtE"}
1
+ {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,+DAA+D;IAC/D,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,oDAAoD;IACpD,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,eAgCtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,sBAAsB,EAAE,4BAA4B,EAAqC,yCAAyC,EAClF,8BAA8B,GAC/E,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AA4B1F,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACjL,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,WAAW,CAAC,OAAO;YACtB,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1B,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC,EAC5E,CAAC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CACnE,CAAC;IACF,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CACzC,GAAG,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,EACjF,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CACxE,CAAC;IACF,OAAO,CACL,oBAAC,yCAAyC,CAAC,QAAQ,IAAC,KAAK,EAAE,qBAAqB;QAC9E,oBAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;YACxD,oBAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;gBAC7E,6BAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,gBAAgB;oBAC3C,oBAAC,sCAAsC,IAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,GAAI,CACrF,CAC0B,CACI,CACW,CACtD,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport {\r\n ActiveRuleGroupContext, PropertyFilterBuilderContext, PropertyFilterBuilderContextProps, PropertyFilterBuilderRuleRenderingContext,\r\n PropertyFilterBuilderRuleRenderingContextProps, useActiveRuleGroupContextProps,\r\n} from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleGroupRenderer } from \"./FilterBuilderRuleGroup\";\r\nimport { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\r\nimport { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\r\nimport { buildPropertyFilter, usePropertyFilterBuilderState } from \"./FilterBuilderState\";\r\nimport { PropertyFilter } from \"./Types\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilder]] component.\r\n * @beta\r\n */\r\nexport interface PropertyFilterBuilderProps {\r\n /** List of properties available to be used in filter rules. */\r\n properties: PropertyDescription[];\r\n /** Callback that is invoked when filter changes. */\r\n onFilterChanged: (filter?: PropertyFilter) => void;\r\n /** Callback that is invoked when property is selected in any rule. */\r\n onRulePropertySelected?: (property: PropertyDescription) => void;\r\n /** Custom renderer for rule operator selector. */\r\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\r\n /** Custom renderer for rule value input. */\r\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\r\n /** Custom renderer for property selector in rule. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies how deep rule groups can be nested. */\r\n ruleGroupDepthLimit?: number;\r\n /** Specifies whether component is disabled or not. */\r\n isDisabled?: boolean;\r\n /** Initial filter that should be shown when component is mounted. */\r\n initialFilter?: PropertyFilter;\r\n}\r\n\r\nconst ROOT_GROUP_PATH: string[] = [];\r\n\r\n/**\r\n * Component for building complex filters. It allows to create filter rules or rule groups based on provided list of properties.\r\n * @beta\r\n */\r\nexport function PropertyFilterBuilder(props: PropertyFilterBuilderProps) {\r\n const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, isDisabled, initialFilter } = props;\r\n const { state, actions } = usePropertyFilterBuilderState(initialFilter);\r\n const rootRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const firstRender = React.useRef(true);\r\n const filter = React.useMemo(() => buildPropertyFilter(state.rootGroup), [state]);\r\n React.useEffect(() => {\r\n if (!firstRender.current)\r\n onFilterChanged(filter);\r\n firstRender.current = false;\r\n }, [filter, onFilterChanged]);\r\n\r\n const contextValue = React.useMemo<PropertyFilterBuilderContextProps>(\r\n () => ({ actions, properties, onRulePropertySelected, ruleGroupDepthLimit }),\r\n [actions, properties, onRulePropertySelected, ruleGroupDepthLimit]\r\n );\r\n const renderingContextValue = React.useMemo<PropertyFilterBuilderRuleRenderingContextProps>(\r\n () => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled }),\r\n [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled]\r\n );\r\n return (\r\n <PropertyFilterBuilderRuleRenderingContext.Provider value={renderingContextValue}>\r\n <PropertyFilterBuilderContext.Provider value={contextValue}>\r\n <ActiveRuleGroupContext.Provider value={useActiveRuleGroupContextProps(rootRef)}>\r\n <div ref={rootRef} className=\"filter-builder\">\r\n <PropertyFilterBuilderRuleGroupRenderer path={ROOT_GROUP_PATH} group={state.rootGroup} />\r\n </div>\r\n </ActiveRuleGroupContext.Provider>\r\n </PropertyFilterBuilderContext.Provider>\r\n </PropertyFilterBuilderRuleRenderingContext.Provider>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,sBAAsB,EAAE,4BAA4B,EAAE,yCAAyC,EAAE,8BAA8B,GAChI,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AA4B1F,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACjL,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,WAAW,CAAC,OAAO;YACtB,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1B,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC,EAC5E,CAAC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CACnE,CAAC;IACF,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CACzC,GAAG,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,EACjF,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CACxE,CAAC;IACF,OAAO,CACL,oBAAC,yCAAyC,CAAC,QAAQ,IAAC,KAAK,EAAE,qBAAqB;QAC9E,oBAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;YACxD,oBAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;gBAC7E,6BAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,gBAAgB;oBAC3C,oBAAC,sCAAsC,IAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,GAAI,CACrF,CAC0B,CACI,CACW,CACtD,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport type { PropertyFilterBuilderContextProps,\r\n PropertyFilterBuilderRuleRenderingContextProps} from \"./FilterBuilderContext\";\r\nimport {\r\n ActiveRuleGroupContext, PropertyFilterBuilderContext, PropertyFilterBuilderRuleRenderingContext, useActiveRuleGroupContextProps,\r\n} from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleGroupRenderer } from \"./FilterBuilderRuleGroup\";\r\nimport type { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\r\nimport type { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\r\nimport { buildPropertyFilter, usePropertyFilterBuilderState } from \"./FilterBuilderState\";\r\nimport type { PropertyFilter } from \"./Types\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilder]] component.\r\n * @beta\r\n */\r\nexport interface PropertyFilterBuilderProps {\r\n /** List of properties available to be used in filter rules. */\r\n properties: PropertyDescription[];\r\n /** Callback that is invoked when filter changes. */\r\n onFilterChanged: (filter?: PropertyFilter) => void;\r\n /** Callback that is invoked when property is selected in any rule. */\r\n onRulePropertySelected?: (property: PropertyDescription) => void;\r\n /** Custom renderer for rule operator selector. */\r\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\r\n /** Custom renderer for rule value input. */\r\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\r\n /** Custom renderer for property selector in rule. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies how deep rule groups can be nested. */\r\n ruleGroupDepthLimit?: number;\r\n /** Specifies whether component is disabled or not. */\r\n isDisabled?: boolean;\r\n /** Initial filter that should be shown when component is mounted. */\r\n initialFilter?: PropertyFilter;\r\n}\r\n\r\nconst ROOT_GROUP_PATH: string[] = [];\r\n\r\n/**\r\n * Component for building complex filters. It allows to create filter rules or rule groups based on provided list of properties.\r\n * @beta\r\n */\r\nexport function PropertyFilterBuilder(props: PropertyFilterBuilderProps) {\r\n const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, isDisabled, initialFilter } = props;\r\n const { state, actions } = usePropertyFilterBuilderState(initialFilter);\r\n const rootRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const firstRender = React.useRef(true);\r\n const filter = React.useMemo(() => buildPropertyFilter(state.rootGroup), [state]);\r\n React.useEffect(() => {\r\n if (!firstRender.current)\r\n onFilterChanged(filter);\r\n firstRender.current = false;\r\n }, [filter, onFilterChanged]);\r\n\r\n const contextValue = React.useMemo<PropertyFilterBuilderContextProps>(\r\n () => ({ actions, properties, onRulePropertySelected, ruleGroupDepthLimit }),\r\n [actions, properties, onRulePropertySelected, ruleGroupDepthLimit]\r\n );\r\n const renderingContextValue = React.useMemo<PropertyFilterBuilderRuleRenderingContextProps>(\r\n () => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled }),\r\n [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled]\r\n );\r\n return (\r\n <PropertyFilterBuilderRuleRenderingContext.Provider value={renderingContextValue}>\r\n <PropertyFilterBuilderContext.Provider value={contextValue}>\r\n <ActiveRuleGroupContext.Provider value={useActiveRuleGroupContextProps(rootRef)}>\r\n <div ref={rootRef} className=\"filter-builder\">\r\n <PropertyFilterBuilderRuleGroupRenderer path={ROOT_GROUP_PATH} group={state.rootGroup} />\r\n </div>\r\n </ActiveRuleGroupContext.Provider>\r\n </PropertyFilterBuilderContext.Provider>\r\n </PropertyFilterBuilderRuleRenderingContext.Provider>\r\n );\r\n}\r\n"]}
@@ -2,10 +2,10 @@
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
4
  import * as React from "react";
5
- import { PropertyDescription } from "@itwin/appui-abstract";
6
- import { PropertyFilterBuilderActions } from "./FilterBuilderState";
7
- import { PropertyFilterBuilderRuleOperatorProps } from "./FilterBuilderRuleOperator";
8
- import { PropertyFilterBuilderRuleValueProps } from "./FilterBuilderRuleValue";
5
+ import type { PropertyDescription } from "@itwin/appui-abstract";
6
+ import type { PropertyFilterBuilderActions } from "./FilterBuilderState";
7
+ import type { PropertyFilterBuilderRuleOperatorProps } from "./FilterBuilderRuleOperator";
8
+ import type { PropertyFilterBuilderRuleValueProps } from "./FilterBuilderRuleValue";
9
9
  /**
10
10
  * Data structure that describes [[PropertyFilterBuilderContext]] value.
11
11
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderContext.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderContext.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,6DAA6D;IAC7D,OAAO,EAAE,4BAA4B,CAAC;IACtC,oCAAoC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kDAAgE,CAAC;AAE1G;;;GAGG;AACH,MAAM,WAAW,8CAA8C;IAC7D,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,yCAAyC,+DAA0E,CAAC;AAEjI;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8CAA8C;IAC9C,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,yDAAyD;IACzD,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,6DAA6D;IAC7D,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,4CAA0D,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;;;;;;EAqC1F"}
1
+ {"version":3,"file":"FilterBuilderContext.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderContext.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAEpF;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,6DAA6D;IAC7D,OAAO,EAAE,4BAA4B,CAAC;IACtC,oCAAoC;IACpC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kDAAgE,CAAC;AAE1G;;;GAGG;AACH,MAAM,WAAW,8CAA8C;IAC7D,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,yCAAyC,+DAA0E,CAAC;AAEjI;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8CAA8C;IAC9C,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,0DAA0D;IAC1D,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,yDAAyD;IACzD,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,6DAA6D;IAC7D,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,4CAA0D,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;;;;;;EAqC1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderContext.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderContext.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC,aAAa,CAAoC,IAAK,CAAC,CAAC;AAiB1G;;;GAGG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAAK,CAAC,aAAa,CAAiD,EAAE,CAAC,CAAC;AAmBjI;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAK,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,cAA4C;IACzF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAA2B,CAAC;IAEpF,MAAM,OAAO,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,aAAa,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACnH,OAAO;QAET,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAChF,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,qBAAqB;QACrB,IAAI,aAAa,KAAK,CAAC,CAAC,aAAa;YACnC,OAAO;QAET,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,aAAa;QACb,OAAO;QACP,MAAM;QACN,WAAW;QACX,UAAU;KACX,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport { PropertyFilterBuilderActions } from \"./FilterBuilderState\";\r\nimport { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\r\nimport { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilderContext]] value.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderContextProps {\r\n /** Actions for modifying [[PropertyFilterBuilder]] state. */\r\n actions: PropertyFilterBuilderActions;\r\n /** List of available properties. */\r\n properties: PropertyDescription[];\r\n /** Callback to invoke when property is selected in any rule. */\r\n onRulePropertySelected?: (property: PropertyDescription) => void;\r\n /** Specifies how deep rule groups can be nested. */\r\n ruleGroupDepthLimit?: number;\r\n}\r\n\r\n/**\r\n * Context used to store data for rules and rule groups rendered inside [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport const PropertyFilterBuilderContext = React.createContext<PropertyFilterBuilderContextProps>(null!);\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilderRuleRenderingContext]] value.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleRenderingContextProps {\r\n /** Custom renderer for operator selector in rule. */\r\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\r\n /** Custom renderer for value input in rule. */\r\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\r\n /** Custom renderer for property selector in rule. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies that properties selection is disabled. */\r\n isDisabled?: boolean;\r\n}\r\n\r\n/**\r\n * Context for rendering rules and rule groups inside [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport const PropertyFilterBuilderRuleRenderingContext = React.createContext<PropertyFilterBuilderRuleRenderingContextProps>({});\r\n\r\n/**\r\n * Data structure that describes value of [[ActiveRuleGroupContext]].\r\n * @internal\r\n */\r\nexport interface ActiveRuleGroupContextProps {\r\n /** Element of currently active rule group. */\r\n activeElement: HTMLElement | undefined;\r\n /** Even handler for rule group element 'onFocus' event */\r\n onFocus: React.FocusEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onBlur' event */\r\n onBlur: React.FocusEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onMouseOver' event */\r\n onMouseOver: React.MouseEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onMouseOut' event */\r\n onMouseOut: React.MouseEventHandler<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Context for tracking and storing active rule group in [[PropertyFilterBuilder]].\r\n * Group is considered active if it is focused or hovered.\r\n * @internal\r\n */\r\nexport const ActiveRuleGroupContext = React.createContext<ActiveRuleGroupContextProps>(null!);\r\n\r\n/**\r\n * Custom hook that created value for [[ActiveRuleGroupContext]].\r\n * @internal\r\n */\r\nexport function useActiveRuleGroupContextProps(rootElementRef: React.RefObject<HTMLElement>) {\r\n const [activeElement, setActiveElement] = React.useState<HTMLElement | undefined>();\r\n\r\n const onFocus: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n setActiveElement(e.currentTarget);\r\n }, []);\r\n\r\n const onBlur: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n if (activeElement !== e.currentTarget || (rootElementRef.current && rootElementRef.current.contains(e.relatedTarget)))\r\n return;\r\n\r\n setActiveElement(undefined);\r\n }, [activeElement, rootElementRef]);\r\n\r\n const onMouseOver: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n setActiveElement(e.currentTarget);\r\n }, []);\r\n\r\n const onMouseOut: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n // istanbul ignore if\r\n if (activeElement !== e.currentTarget)\r\n return;\r\n\r\n setActiveElement(undefined);\r\n }, [activeElement]);\r\n\r\n return React.useMemo(() => ({\r\n activeElement,\r\n onFocus,\r\n onBlur,\r\n onMouseOver,\r\n onMouseOut,\r\n }), [activeElement, onFocus, onBlur, onMouseOver, onMouseOut]);\r\n}\r\n"]}
1
+ {"version":3,"file":"FilterBuilderContext.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderContext.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC,aAAa,CAAoC,IAAK,CAAC,CAAC;AAiB1G;;;GAGG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAAK,CAAC,aAAa,CAAiD,EAAE,CAAC,CAAC;AAmBjI;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAK,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,cAA4C;IACzF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAA2B,CAAC;IAEpF,MAAM,OAAO,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,aAAa,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACnH,OAAO;QAET,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAChF,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAyC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/E,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,qBAAqB;QACrB,IAAI,aAAa,KAAK,CAAC,CAAC,aAAa;YACnC,OAAO;QAET,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,aAAa;QACb,OAAO;QACP,MAAM;QACN,WAAW;QACX,UAAU;KACX,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport type { PropertyFilterBuilderActions } from \"./FilterBuilderState\";\r\nimport type { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\r\nimport type { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilderContext]] value.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderContextProps {\r\n /** Actions for modifying [[PropertyFilterBuilder]] state. */\r\n actions: PropertyFilterBuilderActions;\r\n /** List of available properties. */\r\n properties: PropertyDescription[];\r\n /** Callback to invoke when property is selected in any rule. */\r\n onRulePropertySelected?: (property: PropertyDescription) => void;\r\n /** Specifies how deep rule groups can be nested. */\r\n ruleGroupDepthLimit?: number;\r\n}\r\n\r\n/**\r\n * Context used to store data for rules and rule groups rendered inside [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport const PropertyFilterBuilderContext = React.createContext<PropertyFilterBuilderContextProps>(null!);\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilderRuleRenderingContext]] value.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleRenderingContextProps {\r\n /** Custom renderer for operator selector in rule. */\r\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\r\n /** Custom renderer for value input in rule. */\r\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\r\n /** Custom renderer for property selector in rule. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies that properties selection is disabled. */\r\n isDisabled?: boolean;\r\n}\r\n\r\n/**\r\n * Context for rendering rules and rule groups inside [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport const PropertyFilterBuilderRuleRenderingContext = React.createContext<PropertyFilterBuilderRuleRenderingContextProps>({});\r\n\r\n/**\r\n * Data structure that describes value of [[ActiveRuleGroupContext]].\r\n * @internal\r\n */\r\nexport interface ActiveRuleGroupContextProps {\r\n /** Element of currently active rule group. */\r\n activeElement: HTMLElement | undefined;\r\n /** Even handler for rule group element 'onFocus' event */\r\n onFocus: React.FocusEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onBlur' event */\r\n onBlur: React.FocusEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onMouseOver' event */\r\n onMouseOver: React.MouseEventHandler<HTMLElement>;\r\n /** Even handler for rule group element 'onMouseOut' event */\r\n onMouseOut: React.MouseEventHandler<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Context for tracking and storing active rule group in [[PropertyFilterBuilder]].\r\n * Group is considered active if it is focused or hovered.\r\n * @internal\r\n */\r\nexport const ActiveRuleGroupContext = React.createContext<ActiveRuleGroupContextProps>(null!);\r\n\r\n/**\r\n * Custom hook that created value for [[ActiveRuleGroupContext]].\r\n * @internal\r\n */\r\nexport function useActiveRuleGroupContextProps(rootElementRef: React.RefObject<HTMLElement>) {\r\n const [activeElement, setActiveElement] = React.useState<HTMLElement | undefined>();\r\n\r\n const onFocus: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n setActiveElement(e.currentTarget);\r\n }, []);\r\n\r\n const onBlur: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n if (activeElement !== e.currentTarget || (rootElementRef.current && rootElementRef.current.contains(e.relatedTarget)))\r\n return;\r\n\r\n setActiveElement(undefined);\r\n }, [activeElement, rootElementRef]);\r\n\r\n const onMouseOver: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n setActiveElement(e.currentTarget);\r\n }, []);\r\n\r\n const onMouseOut: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\r\n e.stopPropagation();\r\n // istanbul ignore if\r\n if (activeElement !== e.currentTarget)\r\n return;\r\n\r\n setActiveElement(undefined);\r\n }, [activeElement]);\r\n\r\n return React.useMemo(() => ({\r\n activeElement,\r\n onFocus,\r\n onBlur,\r\n onMouseOver,\r\n onMouseOut,\r\n }), [activeElement, onFocus, onBlur, onMouseOver, onMouseOut]);\r\n}\r\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  /// <reference types="react" />
5
5
  import "./FilterBuilderRule.scss";
6
- import { PropertyFilterBuilderRule } from "./FilterBuilderState";
6
+ import type { PropertyFilterBuilderRule } from "./FilterBuilderState";
7
7
  /**
8
8
  * Props for [[PropertyFilterBuilderRuleRenderer]] component.
9
9
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRule.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,0BAA0B,CAAC;AASlC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjE;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,6DAA6D;IAC7D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sBAAsB;IACtB,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,sCAAsC,eA8D9F"}
1
+ {"version":3,"file":"FilterBuilderRule.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,6DAA6D;IAC7D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sBAAsB;IACtB,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,sCAAsC,eA8D9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRule.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport \"./FilterBuilderRule.scss\";\r\nimport * as React from \"react\";\r\nimport { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\r\nimport { SvgDelete } from \"@itwin/itwinui-icons-react\";\r\nimport { IconButton } from \"@itwin/itwinui-react\";\r\nimport { PropertyFilterBuilderContext, PropertyFilterBuilderRuleRenderingContext } from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleOperator } from \"./FilterBuilderRuleOperator\";\r\nimport { PropertyFilterBuilderRuleProperty } from \"./FilterBuilderRuleProperty\";\r\nimport { PropertyFilterBuilderRuleValue } from \"./FilterBuilderRuleValue\";\r\nimport { PropertyFilterBuilderRule } from \"./FilterBuilderState\";\r\nimport { isUnaryPropertyFilterOperator, PropertyFilterRuleOperator } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleRenderer]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleRendererProps {\r\n /** Path from [[PropertyFilterBuilder]] root to this rule. */\r\n path: string[];\r\n /** Rule to render. */\r\n rule: PropertyFilterBuilderRule;\r\n}\r\n\r\n/**\r\n * Component that renders single rule in [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleRenderer(props: PropertyFilterBuilderRuleRendererProps) {\r\n const { path, rule } = props;\r\n const { properties, actions, onRulePropertySelected } = React.useContext(PropertyFilterBuilderContext);\r\n const { ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled } = React.useContext(PropertyFilterBuilderRuleRenderingContext);\r\n const { property, operator, value } = rule;\r\n\r\n const onSelectedPropertyChanged = React.useCallback((newProperty?: PropertyDescription) => {\r\n actions.setRuleProperty(path, newProperty);\r\n // invoke 'onRulePropertySelected' when new property is selected. There is no way to deselect property\r\n // so 'newProperty' will be 'undefined' only if selected property is no longer in 'properties' list.\r\n if (onRulePropertySelected && newProperty)\r\n onRulePropertySelected(newProperty);\r\n }, [path, onRulePropertySelected, actions]);\r\n\r\n const onRuleOperatorChange = React.useCallback((newOperator: PropertyFilterRuleOperator) => {\r\n actions.setRuleOperator(path, newOperator);\r\n }, [path, actions]);\r\n\r\n const onRuleValueChange = React.useCallback((newValue: PropertyValue) => {\r\n actions.setRuleValue(path, newValue);\r\n }, [path, actions]);\r\n\r\n const removeRule = () => actions.removeItem(path);\r\n\r\n const operatorRenderer = React.useCallback((prop: PropertyDescription) => {\r\n if (ruleOperatorRenderer)\r\n return ruleOperatorRenderer({ property: prop, operator, onChange: onRuleOperatorChange });\r\n return <PropertyFilterBuilderRuleOperator property={prop} onChange={onRuleOperatorChange} operator={operator} />;\r\n }, [operator, ruleOperatorRenderer, onRuleOperatorChange]);\r\n\r\n const valueRenderer = React.useCallback((prop: PropertyDescription) => {\r\n if (ruleValueRenderer)\r\n return ruleValueRenderer({ property: prop, value, onChange: onRuleValueChange });\r\n return <PropertyFilterBuilderRuleValue property={prop} onChange={onRuleValueChange} value={value} />;\r\n }, [value, ruleValueRenderer, onRuleValueChange]);\r\n\r\n return <div className=\"rule\">\r\n <div className=\"rule-remove-action\">\r\n <IconButton onClick={removeRule} styleType=\"borderless\" size=\"small\">\r\n <SvgDelete />\r\n </IconButton>\r\n </div>\r\n <div className=\"rule-condition\">\r\n <PropertyFilterBuilderRuleProperty\r\n properties={properties}\r\n selectedProperty={rule.property}\r\n onSelectedPropertyChanged={onSelectedPropertyChanged}\r\n propertyRenderer={propertyRenderer}\r\n isDisabled={isDisabled}\r\n />\r\n {\r\n property !== undefined\r\n ? operatorRenderer(property)\r\n : null\r\n }\r\n {\r\n property !== undefined && operator !== undefined && !isUnaryPropertyFilterOperator(operator)\r\n ? valueRenderer(property)\r\n : null\r\n }\r\n </div>\r\n </div>;\r\n}\r\n"]}
1
+ {"version":3,"file":"FilterBuilderRule.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRule.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport \"./FilterBuilderRule.scss\";\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription, PropertyValue } from \"@itwin/appui-abstract\";\r\nimport { SvgDelete } from \"@itwin/itwinui-icons-react\";\r\nimport { IconButton } from \"@itwin/itwinui-react\";\r\nimport { PropertyFilterBuilderContext, PropertyFilterBuilderRuleRenderingContext } from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleOperator } from \"./FilterBuilderRuleOperator\";\r\nimport { PropertyFilterBuilderRuleProperty } from \"./FilterBuilderRuleProperty\";\r\nimport { PropertyFilterBuilderRuleValue } from \"./FilterBuilderRuleValue\";\r\nimport type { PropertyFilterBuilderRule } from \"./FilterBuilderState\";\r\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\r\nimport { isUnaryPropertyFilterOperator } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleRenderer]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleRendererProps {\r\n /** Path from [[PropertyFilterBuilder]] root to this rule. */\r\n path: string[];\r\n /** Rule to render. */\r\n rule: PropertyFilterBuilderRule;\r\n}\r\n\r\n/**\r\n * Component that renders single rule in [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleRenderer(props: PropertyFilterBuilderRuleRendererProps) {\r\n const { path, rule } = props;\r\n const { properties, actions, onRulePropertySelected } = React.useContext(PropertyFilterBuilderContext);\r\n const { ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled } = React.useContext(PropertyFilterBuilderRuleRenderingContext);\r\n const { property, operator, value } = rule;\r\n\r\n const onSelectedPropertyChanged = React.useCallback((newProperty?: PropertyDescription) => {\r\n actions.setRuleProperty(path, newProperty);\r\n // invoke 'onRulePropertySelected' when new property is selected. There is no way to deselect property\r\n // so 'newProperty' will be 'undefined' only if selected property is no longer in 'properties' list.\r\n if (onRulePropertySelected && newProperty)\r\n onRulePropertySelected(newProperty);\r\n }, [path, onRulePropertySelected, actions]);\r\n\r\n const onRuleOperatorChange = React.useCallback((newOperator: PropertyFilterRuleOperator) => {\r\n actions.setRuleOperator(path, newOperator);\r\n }, [path, actions]);\r\n\r\n const onRuleValueChange = React.useCallback((newValue: PropertyValue) => {\r\n actions.setRuleValue(path, newValue);\r\n }, [path, actions]);\r\n\r\n const removeRule = () => actions.removeItem(path);\r\n\r\n const operatorRenderer = React.useCallback((prop: PropertyDescription) => {\r\n if (ruleOperatorRenderer)\r\n return ruleOperatorRenderer({ property: prop, operator, onChange: onRuleOperatorChange });\r\n return <PropertyFilterBuilderRuleOperator property={prop} onChange={onRuleOperatorChange} operator={operator} />;\r\n }, [operator, ruleOperatorRenderer, onRuleOperatorChange]);\r\n\r\n const valueRenderer = React.useCallback((prop: PropertyDescription) => {\r\n if (ruleValueRenderer)\r\n return ruleValueRenderer({ property: prop, value, onChange: onRuleValueChange });\r\n return <PropertyFilterBuilderRuleValue property={prop} onChange={onRuleValueChange} value={value} />;\r\n }, [value, ruleValueRenderer, onRuleValueChange]);\r\n\r\n return <div className=\"rule\">\r\n <div className=\"rule-remove-action\">\r\n <IconButton onClick={removeRule} styleType=\"borderless\" size=\"small\">\r\n <SvgDelete />\r\n </IconButton>\r\n </div>\r\n <div className=\"rule-condition\">\r\n <PropertyFilterBuilderRuleProperty\r\n properties={properties}\r\n selectedProperty={rule.property}\r\n onSelectedPropertyChanged={onSelectedPropertyChanged}\r\n propertyRenderer={propertyRenderer}\r\n isDisabled={isDisabled}\r\n />\r\n {\r\n property !== undefined\r\n ? operatorRenderer(property)\r\n : null\r\n }\r\n {\r\n property !== undefined && operator !== undefined && !isUnaryPropertyFilterOperator(operator)\r\n ? valueRenderer(property)\r\n : null\r\n }\r\n </div>\r\n </div>;\r\n}\r\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  /// <reference types="react" />
5
5
  import "./FilterBuilderRuleGroup.scss";
6
- import { PropertyFilterBuilderRuleGroup } from "./FilterBuilderState";
6
+ import type { PropertyFilterBuilderRuleGroup } from "./FilterBuilderState";
7
7
  import { PropertyFilterRuleGroupOperator } from "./Operators";
8
8
  /**
9
9
  * Props for [[PropertyFilterBuilderRuleGroupRenderer]] component.
@@ -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;AAOvC,OAAO,EAAoC,8BAA8B,EAAsC,MAAM,sBAAsB,CAAC;AAC5I,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;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 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleGroup.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport \"./FilterBuilderRuleGroup.scss\";\r\nimport * as React from \"react\";\r\nimport { SvgAdd, SvgDelete } from \"@itwin/itwinui-icons-react\";\r\nimport { Button, IconButton, Select, SelectOption } from \"@itwin/itwinui-react\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport { ActiveRuleGroupContext, PropertyFilterBuilderContext } from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleRenderer } from \"./FilterBuilderRule\";\r\nimport { isPropertyFilterBuilderRuleGroup, PropertyFilterBuilderRuleGroup, PropertyFilterBuilderRuleGroupItem } from \"./FilterBuilderState\";\r\nimport { PropertyFilterRuleGroupOperator } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleGroupRenderer]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroupRendererProps {\r\n /** Path from [[PropertyFilterBuilder]] root to this rule group. */\r\n path: string[];\r\n /** Rule group to render. */\r\n group: PropertyFilterBuilderRuleGroup;\r\n}\r\n\r\n/**\r\n * Component that renders group of rules in [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleGroupRenderer(props: PropertyFilterBuilderRuleGroupRendererProps) {\r\n const { path, group } = props;\r\n const { actions, ruleGroupDepthLimit } = React.useContext(PropertyFilterBuilderContext);\r\n const groupRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const addRule = () => actions.addItem(path, \"RULE\");\r\n const addRuleGroup = () => actions.addItem(path, \"RULE_GROUP\");\r\n const removeGroup = () => actions.removeItem(path);\r\n\r\n const onOperatorChange = React.useCallback((operator: PropertyFilterRuleGroupOperator) => {\r\n actions.setRuleGroupOperator(path, operator);\r\n }, [path, actions]);\r\n\r\n const allowToAddGroup = ruleGroupDepthLimit === undefined || path.length < ruleGroupDepthLimit;\r\n const { activeElement, ...eventHandlers } = React.useContext(ActiveRuleGroupContext);\r\n\r\n const showOperator = group.items.length > 1;\r\n\r\n return <div\r\n ref={groupRef}\r\n className=\"rule-group\"\r\n data-isactive={groupRef.current === activeElement}\r\n {...eventHandlers}\r\n >\r\n <div className=\"rule-group-remove-action\">\r\n {group.groupId !== undefined && <IconButton data-testid=\"rule-group-remove\" onClick={removeGroup} styleType=\"borderless\" size=\"small\"><SvgDelete /></IconButton>}\r\n </div>\r\n <div className=\"rule-group-content\">\r\n {showOperator ? <PropertyFilterBuilderRuleGroupOperator operator={group.operator} onChange={onOperatorChange} /> : null}\r\n <div className=\"rule-group-items\">\r\n {group.items.map((item) => <PropertyFilterBuilderGroupOrRule key={item.id} path={path} item={item} />)}\r\n </div>\r\n <div className=\"rule-group-actions\">\r\n <Button key=\"add-rule-button\" data-testid=\"rule-group-add-rule\" onClick={addRule} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\r\n {UiComponents.translate(\"filterBuilder.rule\")}\r\n </Button>\r\n {allowToAddGroup && <Button key=\"add-rule-group-button\" data-testid=\"rule-group-add-rule-group\" onClick={addRuleGroup} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\r\n {UiComponents.translate(\"filterBuilder.ruleGroup\")}\r\n </Button>}\r\n </div>\r\n </div>\r\n </div>;\r\n}\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleGroupOperator]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroupOperatorProps {\r\n /** Currently selected operator. */\r\n operator: PropertyFilterRuleGroupOperator;\r\n /** Callback that is invoked when selected operator changes. */\r\n onChange: (operator: PropertyFilterRuleGroupOperator) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleGroup]] operator selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleGroupOperator(props: PropertyFilterBuilderRuleGroupOperatorProps) {\r\n const { operator, onChange } = props;\r\n\r\n const options = React.useMemo<Array<SelectOption<PropertyFilterRuleGroupOperator>>>(() => ([\r\n { value: PropertyFilterRuleGroupOperator.And, label: UiComponents.translate(\"filterBuilder.operators.and\") },\r\n { value: PropertyFilterRuleGroupOperator.Or, label: UiComponents.translate(\"filterBuilder.operators.or\") },\r\n ]), []);\r\n\r\n return <div className=\"rule-group-operator\">\r\n <Select options={options} value={operator} onChange={onChange} size=\"small\" />\r\n </div>;\r\n}\r\ninterface PropertyFilterBuilderGroupOrRuleProps {\r\n path: string[];\r\n item: PropertyFilterBuilderRuleGroupItem;\r\n}\r\n\r\nconst PropertyFilterBuilderGroupOrRule = React.memo(\r\n function PropertyFilterBuilderGroupOrRule({ path, item }: PropertyFilterBuilderGroupOrRuleProps) {\r\n const itemPath = [...path, item.id];\r\n\r\n if (isPropertyFilterBuilderRuleGroup(item))\r\n return <PropertyFilterBuilderRuleGroupRenderer path={itemPath} group={item} />;\r\n return <PropertyFilterBuilderRuleRenderer path={itemPath} rule={item} />;\r\n }\r\n);\r\n"]}
1
+ {"version":3,"file":"FilterBuilderRuleGroup.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport \"./FilterBuilderRuleGroup.scss\";\r\nimport * as React from \"react\";\r\nimport { SvgAdd, SvgDelete } from \"@itwin/itwinui-icons-react\";\r\nimport type { SelectOption } from \"@itwin/itwinui-react\";\r\nimport { Button, IconButton, Select } from \"@itwin/itwinui-react\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport { ActiveRuleGroupContext, PropertyFilterBuilderContext } from \"./FilterBuilderContext\";\r\nimport { PropertyFilterBuilderRuleRenderer } from \"./FilterBuilderRule\";\r\nimport type { PropertyFilterBuilderRuleGroup, PropertyFilterBuilderRuleGroupItem } from \"./FilterBuilderState\";\r\nimport { isPropertyFilterBuilderRuleGroup } from \"./FilterBuilderState\";\r\nimport { PropertyFilterRuleGroupOperator } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleGroupRenderer]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroupRendererProps {\r\n /** Path from [[PropertyFilterBuilder]] root to this rule group. */\r\n path: string[];\r\n /** Rule group to render. */\r\n group: PropertyFilterBuilderRuleGroup;\r\n}\r\n\r\n/**\r\n * Component that renders group of rules in [[PropertyFilterBuilder]] component.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleGroupRenderer(props: PropertyFilterBuilderRuleGroupRendererProps) {\r\n const { path, group } = props;\r\n const { actions, ruleGroupDepthLimit } = React.useContext(PropertyFilterBuilderContext);\r\n const groupRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const addRule = () => actions.addItem(path, \"RULE\");\r\n const addRuleGroup = () => actions.addItem(path, \"RULE_GROUP\");\r\n const removeGroup = () => actions.removeItem(path);\r\n\r\n const onOperatorChange = React.useCallback((operator: PropertyFilterRuleGroupOperator) => {\r\n actions.setRuleGroupOperator(path, operator);\r\n }, [path, actions]);\r\n\r\n const allowToAddGroup = ruleGroupDepthLimit === undefined || path.length < ruleGroupDepthLimit;\r\n const { activeElement, ...eventHandlers } = React.useContext(ActiveRuleGroupContext);\r\n\r\n const showOperator = group.items.length > 1;\r\n\r\n return <div\r\n ref={groupRef}\r\n className=\"rule-group\"\r\n data-isactive={groupRef.current === activeElement}\r\n {...eventHandlers}\r\n >\r\n <div className=\"rule-group-remove-action\">\r\n {group.groupId !== undefined && <IconButton data-testid=\"rule-group-remove\" onClick={removeGroup} styleType=\"borderless\" size=\"small\"><SvgDelete /></IconButton>}\r\n </div>\r\n <div className=\"rule-group-content\">\r\n {showOperator ? <PropertyFilterBuilderRuleGroupOperator operator={group.operator} onChange={onOperatorChange} /> : null}\r\n <div className=\"rule-group-items\">\r\n {group.items.map((item) => <PropertyFilterBuilderGroupOrRule key={item.id} path={path} item={item} />)}\r\n </div>\r\n <div className=\"rule-group-actions\">\r\n <Button key=\"add-rule-button\" data-testid=\"rule-group-add-rule\" onClick={addRule} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\r\n {UiComponents.translate(\"filterBuilder.rule\")}\r\n </Button>\r\n {allowToAddGroup && <Button key=\"add-rule-group-button\" data-testid=\"rule-group-add-rule-group\" onClick={addRuleGroup} styleType=\"borderless\" size=\"small\" startIcon={<SvgAdd />}>\r\n {UiComponents.translate(\"filterBuilder.ruleGroup\")}\r\n </Button>}\r\n </div>\r\n </div>\r\n </div>;\r\n}\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleGroupOperator]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroupOperatorProps {\r\n /** Currently selected operator. */\r\n operator: PropertyFilterRuleGroupOperator;\r\n /** Callback that is invoked when selected operator changes. */\r\n onChange: (operator: PropertyFilterRuleGroupOperator) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleGroup]] operator selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleGroupOperator(props: PropertyFilterBuilderRuleGroupOperatorProps) {\r\n const { operator, onChange } = props;\r\n\r\n const options = React.useMemo<Array<SelectOption<PropertyFilterRuleGroupOperator>>>(() => ([\r\n { value: PropertyFilterRuleGroupOperator.And, label: UiComponents.translate(\"filterBuilder.operators.and\") },\r\n { value: PropertyFilterRuleGroupOperator.Or, label: UiComponents.translate(\"filterBuilder.operators.or\") },\r\n ]), []);\r\n\r\n return <div className=\"rule-group-operator\">\r\n <Select options={options} value={operator} onChange={onChange} size=\"small\" />\r\n </div>;\r\n}\r\ninterface PropertyFilterBuilderGroupOrRuleProps {\r\n path: string[];\r\n item: PropertyFilterBuilderRuleGroupItem;\r\n}\r\n\r\nconst PropertyFilterBuilderGroupOrRule = React.memo(\r\n function PropertyFilterBuilderGroupOrRule({ path, item }: PropertyFilterBuilderGroupOrRuleProps) {\r\n const itemPath = [...path, item.id];\r\n\r\n if (isPropertyFilterBuilderRuleGroup(item))\r\n return <PropertyFilterBuilderRuleGroupRenderer path={itemPath} group={item} />;\r\n return <PropertyFilterBuilderRuleRenderer path={itemPath} rule={item} />;\r\n }\r\n);\r\n"]}
@@ -2,8 +2,8 @@
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
4
  /// <reference types="react" />
5
- import { PropertyDescription } from "@itwin/appui-abstract";
6
- import { PropertyFilterRuleOperator } from "./Operators";
5
+ import type { PropertyDescription } from "@itwin/appui-abstract";
6
+ import type { PropertyFilterRuleOperator } from "./Operators";
7
7
  /**
8
8
  * Props for [[PropertyFilterBuilderRuleOperator]] component.
9
9
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleOperator.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleOperator.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAA8D,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAErH;;;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;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"}
@@ -13,9 +13,10 @@ import { getPropertyFilterOperatorLabel, getPropertyFilterOperators } from "./Op
13
13
  * @internal
14
14
  */
15
15
  export function PropertyFilterBuilderRuleOperator(props) {
16
+ var _a;
16
17
  const { operator, property, onChange } = props;
17
18
  const availableOperators = React.useMemo(() => getPropertyFilterOperators(property), [property]);
18
- const selectedOperator = availableOperators.find((op) => op === operator) ?? availableOperators[0];
19
+ const selectedOperator = (_a = availableOperators.find((op) => op === operator)) !== null && _a !== void 0 ? _a : availableOperators[0];
19
20
  React.useEffect(() => {
20
21
  onChange(selectedOperator);
21
22
  }, [onChange, selectedOperator]);
@@ -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;AAC9C,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAA8B,MAAM,aAAa,CAAC;AAerH;;;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,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport { Select } from \"@itwin/itwinui-react\";\r\nimport { getPropertyFilterOperatorLabel, getPropertyFilterOperators, PropertyFilterRuleOperator } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleOperator]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleOperatorProps {\r\n /** Currently selected operator. */\r\n operator?: PropertyFilterRuleOperator;\r\n /** Property used in rule for which this operator will be used. */\r\n property: PropertyDescription;\r\n /** Callback that is invoked when selected operator changes. */\r\n onChange: (operator: PropertyFilterRuleOperator) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] operator selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleOperator(props: PropertyFilterBuilderRuleOperatorProps) {\r\n const { operator, property, onChange } = props;\r\n\r\n const availableOperators = React.useMemo(() => getPropertyFilterOperators(property), [property]);\r\n const selectedOperator = availableOperators.find((op) => op === operator) ?? availableOperators[0];\r\n\r\n React.useEffect(() => {\r\n onChange(selectedOperator);\r\n }, [onChange, selectedOperator]);\r\n\r\n const availableOptions = React.useMemo(() => availableOperators.map((op) => ({\r\n value: op,\r\n label: getPropertyFilterOperatorLabel(op),\r\n })), [availableOperators]);\r\n\r\n return <div className=\"rule-operator\">\r\n <Select options={availableOptions} value={selectedOperator} onChange={onChange} size=\"small\" />\r\n </div>;\r\n}\r\n"]}
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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport { Select } from \"@itwin/itwinui-react\";\r\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\r\nimport { getPropertyFilterOperatorLabel, getPropertyFilterOperators } from \"./Operators\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleOperator]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleOperatorProps {\r\n /** Currently selected operator. */\r\n operator?: PropertyFilterRuleOperator;\r\n /** Property used in rule for which this operator will be used. */\r\n property: PropertyDescription;\r\n /** Callback that is invoked when selected operator changes. */\r\n onChange: (operator: PropertyFilterRuleOperator) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] operator selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleOperator(props: PropertyFilterBuilderRuleOperatorProps) {\r\n const { operator, property, onChange } = props;\r\n\r\n const availableOperators = React.useMemo(() => getPropertyFilterOperators(property), [property]);\r\n const selectedOperator = availableOperators.find((op) => op === operator) ?? availableOperators[0];\r\n\r\n React.useEffect(() => {\r\n onChange(selectedOperator);\r\n }, [onChange, selectedOperator]);\r\n\r\n const availableOptions = React.useMemo(() => availableOperators.map((op) => ({\r\n value: op,\r\n label: getPropertyFilterOperatorLabel(op),\r\n })), [availableOperators]);\r\n\r\n return <div className=\"rule-operator\">\r\n <Select options={availableOptions} value={selectedOperator} onChange={onChange} size=\"small\" />\r\n </div>;\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
4
  import * as React from "react";
5
- import { PropertyDescription } from "@itwin/appui-abstract";
5
+ import type { PropertyDescription } from "@itwin/appui-abstract";
6
6
  /**
7
7
  * Props for [[PropertyFilterBuilderRuleProperty]] component.
8
8
  * @internal
@@ -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,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;;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,CAAC,KAAK,EAAE,sCAAsC,eAuC9F"}
@@ -23,15 +23,15 @@ export function PropertyFilterBuilderRuleProperty(props) {
23
23
  onSelectedPropertyChanged(properties.find((property) => property.name === name));
24
24
  }, [properties, onSelectedPropertyChanged]);
25
25
  React.useEffect(() => {
26
- const currentSelectedProperty = properties.find((property) => property.name === selectedProperty?.name);
27
- if (currentSelectedProperty?.name !== selectedProperty?.name)
26
+ const currentSelectedProperty = properties.find((property) => property.name === (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name));
27
+ if ((currentSelectedProperty === null || currentSelectedProperty === void 0 ? void 0 : currentSelectedProperty.name) !== (selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name))
28
28
  onSelectedPropertyChanged(currentSelectedProperty);
29
29
  }, [properties, selectedProperty, onSelectedPropertyChanged]);
30
30
  const itemRenderer = React.useCallback((selectOption, { isSelected, id }) => {
31
31
  return React.createElement(MenuItem, { key: id, id: id, isSelected: isSelected }, propertyRenderer ? propertyRenderer(selectOption.value) : selectOption.label);
32
32
  }, [propertyRenderer]);
33
33
  return React.createElement("div", { className: "rule-property" },
34
- React.createElement(ComboBox, { options: selectOptions, onChange: onPropertyChanged, value: selectedProperty?.name, inputProps: {
34
+ React.createElement(ComboBox, { options: selectOptions, onChange: onPropertyChanged, value: selectedProperty === null || selectedProperty === void 0 ? void 0 : selectedProperty.name, inputProps: {
35
35
  placeholder: UiComponents.translate("filterBuilder.chooseProperty"),
36
36
  disabled: isDisabled,
37
37
  size: "small",
@@ -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;AAE/B,OAAO,EAAE,QAAQ,EAAiB,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AACvF,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,KAAK,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACxG,IAAI,uBAAuB,EAAE,IAAI,KAAK,gBAAgB,EAAE,IAAI;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,EAAE,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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport { ComboBox, ComboBoxProps, MenuItem, SelectOption } from \"@itwin/itwinui-react\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleProperty]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRulePropertyProps {\r\n /** List of available properties. */\r\n properties: PropertyDescription[];\r\n /** Currently selected property. */\r\n selectedProperty?: PropertyDescription;\r\n /** Callback that is invoked when selected property changes. */\r\n onSelectedPropertyChanged: (property?: PropertyDescription) => void;\r\n /** Custom renderer for property item inside selector. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies whether selector should be disabled or not. */\r\n isDisabled?: boolean;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] property selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleProperty(props: PropertyFilterBuilderRulePropertyProps) {\r\n const { selectedProperty, properties, onSelectedPropertyChanged, propertyRenderer, isDisabled } = props;\r\n\r\n const selectOptions = React.useMemo<SelectOption<string>[]>(() => properties.map((property) => ({\r\n id: property.name,\r\n label: property.displayLabel,\r\n value: property.name,\r\n })), [properties]);\r\n\r\n const onPropertyChanged = React.useCallback((name: string) => {\r\n onSelectedPropertyChanged(properties.find((property) => property.name === name));\r\n }, [properties, onSelectedPropertyChanged]);\r\n\r\n React.useEffect(() => {\r\n const currentSelectedProperty = properties.find((property) => property.name === selectedProperty?.name);\r\n if (currentSelectedProperty?.name !== selectedProperty?.name)\r\n onSelectedPropertyChanged(currentSelectedProperty);\r\n }, [properties, selectedProperty, onSelectedPropertyChanged]);\r\n\r\n const itemRenderer = React.useCallback<Required<ComboBoxProps<string>>[\"itemRenderer\"]>((selectOption, { isSelected, id }) => {\r\n return <MenuItem key={id} id={id} isSelected={isSelected}>\r\n {propertyRenderer ? propertyRenderer(selectOption.value) : selectOption.label}\r\n </MenuItem>;\r\n }, [propertyRenderer]);\r\n\r\n return <div className=\"rule-property\">\r\n <ComboBox\r\n options={selectOptions}\r\n onChange={onPropertyChanged}\r\n value={selectedProperty?.name}\r\n inputProps={{\r\n placeholder: UiComponents.translate(\"filterBuilder.chooseProperty\"),\r\n disabled: isDisabled,\r\n size: \"small\",\r\n }}\r\n itemRenderer={itemRenderer}\r\n enableVirtualization={true}\r\n />\r\n </div>;\r\n}\r\n"]}
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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription } from \"@itwin/appui-abstract\";\r\nimport type { ComboBoxProps, SelectOption } from \"@itwin/itwinui-react\";\r\nimport { ComboBox, MenuItem } from \"@itwin/itwinui-react\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleProperty]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRulePropertyProps {\r\n /** List of available properties. */\r\n properties: PropertyDescription[];\r\n /** Currently selected property. */\r\n selectedProperty?: PropertyDescription;\r\n /** Callback that is invoked when selected property changes. */\r\n onSelectedPropertyChanged: (property?: PropertyDescription) => void;\r\n /** Custom renderer for property item inside selector. */\r\n propertyRenderer?: (name: string) => React.ReactNode;\r\n /** Specifies whether selector should be disabled or not. */\r\n isDisabled?: boolean;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] property selector.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleProperty(props: PropertyFilterBuilderRulePropertyProps) {\r\n const { selectedProperty, properties, onSelectedPropertyChanged, propertyRenderer, isDisabled } = props;\r\n\r\n const selectOptions = React.useMemo<SelectOption<string>[]>(() => properties.map((property) => ({\r\n id: property.name,\r\n label: property.displayLabel,\r\n value: property.name,\r\n })), [properties]);\r\n\r\n const onPropertyChanged = React.useCallback((name: string) => {\r\n onSelectedPropertyChanged(properties.find((property) => property.name === name));\r\n }, [properties, onSelectedPropertyChanged]);\r\n\r\n React.useEffect(() => {\r\n const currentSelectedProperty = properties.find((property) => property.name === selectedProperty?.name);\r\n if (currentSelectedProperty?.name !== selectedProperty?.name)\r\n onSelectedPropertyChanged(currentSelectedProperty);\r\n }, [properties, selectedProperty, onSelectedPropertyChanged]);\r\n\r\n const itemRenderer = React.useCallback<Required<ComboBoxProps<string>>[\"itemRenderer\"]>((selectOption, { isSelected, id }) => {\r\n return <MenuItem key={id} id={id} isSelected={isSelected}>\r\n {propertyRenderer ? propertyRenderer(selectOption.value) : selectOption.label}\r\n </MenuItem>;\r\n }, [propertyRenderer]);\r\n\r\n return <div className=\"rule-property\">\r\n <ComboBox\r\n options={selectOptions}\r\n onChange={onPropertyChanged}\r\n value={selectedProperty?.name}\r\n inputProps={{\r\n placeholder: UiComponents.translate(\"filterBuilder.chooseProperty\"),\r\n disabled: isDisabled,\r\n size: \"small\",\r\n }}\r\n itemRenderer={itemRenderer}\r\n enableVirtualization={true}\r\n />\r\n </div>;\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
4
  /// <reference types="react" />
5
- import { PropertyDescription, PropertyValue } from "@itwin/appui-abstract";
5
+ import type { PropertyDescription, PropertyValue } from "@itwin/appui-abstract";
6
6
  /**
7
7
  * Props for [[PropertyFilterBuilderRuleValue]] component.
8
8
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderRuleValue.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderRuleValue.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,mBAAmB,EAAkB,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAGhH;;;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,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"}
@@ -15,7 +15,7 @@ import { EditorContainer } from "../editors/EditorContainer";
15
15
  export function PropertyFilterBuilderRuleValue(props) {
16
16
  const { value, property, onChange } = props;
17
17
  const propertyRecord = React.useMemo(() => {
18
- return new PropertyRecord(value ?? { valueFormat: PropertyValueFormat.Primitive }, property);
18
+ return new PropertyRecord(value !== null && value !== void 0 ? value : { valueFormat: PropertyValueFormat.Primitive }, property);
19
19
  }, [value, property]);
20
20
  const onValueChange = React.useCallback(({ newValue }) => {
21
21
  onChange(newValue);
@@ -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;AAC/B,OAAO,EAAuB,cAAc,EAAiB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,eAAe,EAAuB,MAAM,4BAA4B,CAAC;AAelF;;;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,IAAI,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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { PropertyDescription, PropertyRecord, PropertyValue, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { EditorContainer, PropertyUpdatedArgs } from \"../editors/EditorContainer\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleValue]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleValueProps {\r\n /** Currently entered value. */\r\n value?: PropertyValue;\r\n /** Property used in rule to which this value will be compared to. */\r\n property: PropertyDescription;\r\n /** Callback that is invoked when value changes. */\r\n onChange: (value: PropertyValue) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] value input.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleValue(props: PropertyFilterBuilderRuleValueProps) {\r\n const { value, property, onChange } = props;\r\n\r\n const propertyRecord = React.useMemo(() => {\r\n return new PropertyRecord(value ?? { valueFormat: PropertyValueFormat.Primitive }, property);\r\n }, [value, property]);\r\n\r\n const onValueChange = React.useCallback(({ newValue }: PropertyUpdatedArgs) => {\r\n onChange(newValue);\r\n }, [onChange]);\r\n\r\n return <div className=\"rule-value\">\r\n <EditorContainer\r\n propertyRecord={propertyRecord}\r\n onCancel={/* istanbul ignore next */ () => { }}\r\n onCommit={onValueChange}\r\n setFocus={false}\r\n shouldCommitOnChange={true}\r\n />\r\n </div>;\r\n}\r\n"]}
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":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport type { PropertyUpdatedArgs } from \"../editors/EditorContainer\";\r\nimport { EditorContainer } from \"../editors/EditorContainer\";\r\n\r\n/**\r\n * Props for [[PropertyFilterBuilderRuleValue]] component.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleValueProps {\r\n /** Currently entered value. */\r\n value?: PropertyValue;\r\n /** Property used in rule to which this value will be compared to. */\r\n property: PropertyDescription;\r\n /** Callback that is invoked when value changes. */\r\n onChange: (value: PropertyValue) => void;\r\n}\r\n\r\n/**\r\n * Component that renders [[PropertyFilterBuilderRuleRenderer]] value input.\r\n * @internal\r\n */\r\nexport function PropertyFilterBuilderRuleValue(props: PropertyFilterBuilderRuleValueProps) {\r\n const { value, property, onChange } = props;\r\n\r\n const propertyRecord = React.useMemo(() => {\r\n return new PropertyRecord(value ?? { valueFormat: PropertyValueFormat.Primitive }, property);\r\n }, [value, property]);\r\n\r\n const onValueChange = React.useCallback(({ newValue }: PropertyUpdatedArgs) => {\r\n onChange(newValue);\r\n }, [onChange]);\r\n\r\n return <div className=\"rule-value\">\r\n <EditorContainer\r\n propertyRecord={propertyRecord}\r\n onCancel={/* istanbul ignore next */ () => { }}\r\n onCommit={onValueChange}\r\n setFocus={false}\r\n shouldCommitOnChange={true}\r\n />\r\n </div>;\r\n}\r\n"]}
@@ -1,9 +1,10 @@
1
1
  /** @packageDocumentation
2
2
  * @module PropertyFilterBuilder
3
3
  */
4
- import { PropertyDescription, PropertyValue } from "@itwin/appui-abstract";
5
- import { PropertyFilterRuleGroupOperator, PropertyFilterRuleOperator } from "./Operators";
6
- import { PropertyFilter } from "./Types";
4
+ import type { PropertyDescription, PropertyValue } from "@itwin/appui-abstract";
5
+ import type { PropertyFilterRuleOperator } from "./Operators";
6
+ import { PropertyFilterRuleGroupOperator } from "./Operators";
7
+ import type { PropertyFilter } from "./Types";
7
8
  /**
8
9
  * Data structure that describes [[PropertyFilterBuilder]] component state.
9
10
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilderState.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAiC,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzH,OAAO,EAA6B,cAAc,EAAsB,MAAM,SAAS,CAAC;AAExF;;;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,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 +1 @@
1
- {"version":3,"file":"FilterBuilderState.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport { Draft, produce } from \"immer\";\r\nimport * as React from \"react\";\r\nimport { PropertyDescription, PropertyValue, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { isUnaryPropertyFilterOperator, PropertyFilterRuleGroupOperator, PropertyFilterRuleOperator } from \"./Operators\";\r\nimport { isPropertyFilterRuleGroup, PropertyFilter, PropertyFilterRule } from \"./Types\";\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component state.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderState {\r\n /** Root group of rules in [[PropertyFilterBuilder]] component. */\r\n rootGroup: PropertyFilterBuilderRuleGroup;\r\n}\r\n\r\n/**\r\n * Type that describes [[PropertyFilterBuilder]] component group item.\r\n * @internal\r\n */\r\nexport type PropertyFilterBuilderRuleGroupItem = PropertyFilterBuilderRuleGroup | PropertyFilterBuilderRule;\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component rule group.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroup {\r\n /** Id of this rule group. */\r\n id: string;\r\n /** Id of rule group that this group is nested in. */\r\n groupId?: string;\r\n /** Operator that should join items in this group. */\r\n operator: PropertyFilterRuleGroupOperator;\r\n /** Items in this group. */\r\n items: PropertyFilterBuilderRuleGroupItem[];\r\n}\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component single rule.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRule {\r\n /** Id of this rule. */\r\n id: string;\r\n /** Id of rule group that this rule is nested in. */\r\n groupId: string;\r\n /** Property used in this rule. */\r\n property?: PropertyDescription;\r\n /** Operator that should be used to compare property value. */\r\n operator?: PropertyFilterRuleOperator;\r\n /** Value that property should be compared to. */\r\n value?: PropertyValue;\r\n}\r\n\r\n/**\r\n * Actions for controlling [[PropertyFilterBuilder]] component state.\r\n * @internal\r\n */\r\nexport class PropertyFilterBuilderActions {\r\n constructor(private setState: (setter: (prevState: PropertyFilterBuilderState) => PropertyFilterBuilderState) => void) { }\r\n\r\n private updateState(updater: (state: Draft<PropertyFilterBuilderState>) => void) {\r\n this.setState(produce(updater));\r\n }\r\n\r\n /** Adds new rule or group of rules to the group specified by path. */\r\n public addItem(path: string[], itemType: \"RULE_GROUP\" | \"RULE\") {\r\n this.updateState((state) => {\r\n const parentGroup = findRuleGroup(state.rootGroup, path);\r\n if (!parentGroup)\r\n return;\r\n const item = itemType === \"RULE_GROUP\" ? createEmptyRuleGroup(parentGroup.id) : createEmptyRule(parentGroup.id);\r\n parentGroup.items.push(item);\r\n });\r\n }\r\n\r\n /** Removes item specified by path. */\r\n public removeItem(path: string[]) {\r\n function removeItemFromGroup(state: Draft<PropertyFilterBuilderState>, pathToItem: string[]) {\r\n const pathToParent = pathToItem.slice(0, -1);\r\n const parentGroup = findRuleGroup(state.rootGroup, pathToParent);\r\n if (!parentGroup)\r\n return;\r\n const itemId = pathToItem[pathToItem.length - 1];\r\n const itemIndex = parentGroup.items.findIndex((item) => item.id === itemId);\r\n if (itemIndex === -1)\r\n return;\r\n parentGroup.items.splice(itemIndex, 1);\r\n if (parentGroup.items.length === 0)\r\n removeItemFromGroup(state, pathToParent);\r\n }\r\n\r\n this.updateState((state) => {\r\n removeItemFromGroup(state, path);\r\n });\r\n }\r\n\r\n /** Sets operator of rule group specified by the path. */\r\n public setRuleGroupOperator(path: string[], operator: PropertyFilterRuleGroupOperator) {\r\n this.updateState((state) => {\r\n const group = findRuleGroup(state.rootGroup, path);\r\n if (!group)\r\n return;\r\n group.operator = operator;\r\n });\r\n }\r\n\r\n /** Sets property of rule specified by the path. */\r\n public setRuleProperty(path: string[], property?: PropertyDescription) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n rule.property = property;\r\n rule.value = undefined;\r\n });\r\n }\r\n\r\n /** Sets operator of rule specified by the path. */\r\n public setRuleOperator(path: string[], operator: PropertyFilterRuleOperator) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n if (isUnaryPropertyFilterOperator(operator))\r\n rule.value = undefined;\r\n rule.operator = operator;\r\n });\r\n }\r\n\r\n /** Sets value of rule specified by the path. */\r\n public setRuleValue(path: string[], value: PropertyValue) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n rule.value = value;\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Function to check if supplied [[PropertyFilterBuilderRuleGroupItem]] is [[PropertyFilterBuilderRuleGroup]].\r\n * @internal\r\n */\r\nexport function isPropertyFilterBuilderRuleGroup(item: PropertyFilterBuilderRuleGroupItem): item is PropertyFilterBuilderRuleGroup {\r\n return (item as any).items !== undefined;\r\n}\r\n\r\n/**\r\n * Custom hook that creates state for [[PropertyFilterBuilder]] component. It creates empty state or initializes\r\n * state from supplied initial filter.\r\n * @internal\r\n */\r\nexport function usePropertyFilterBuilderState(initialFilter?: PropertyFilter) {\r\n const [state, setState] = React.useState<PropertyFilterBuilderState>(\r\n () => initialFilter ? convertFilterToState(initialFilter) : { rootGroup: createEmptyRuleGroup() }\r\n );\r\n const [actions] = React.useState(() => new PropertyFilterBuilderActions(setState));\r\n\r\n return { state, actions };\r\n}\r\n\r\n/** @internal */\r\nexport function buildPropertyFilter(groupItem: PropertyFilterBuilderRuleGroupItem): PropertyFilter | undefined {\r\n if (isPropertyFilterBuilderRuleGroup(groupItem))\r\n return buildPropertyFilterFromRuleGroup(groupItem);\r\n return buildPropertyFilterFromRule(groupItem);\r\n}\r\n\r\nfunction buildPropertyFilterFromRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup): PropertyFilter | undefined {\r\n if (rootGroup.items.length === 0)\r\n return undefined;\r\n\r\n const rules = new Array<PropertyFilter>();\r\n for (const item of rootGroup.items) {\r\n const rule = buildPropertyFilter(item);\r\n if (!rule)\r\n return undefined;\r\n rules.push(rule);\r\n }\r\n\r\n if (rules.length === 1)\r\n return rules[0];\r\n\r\n return {\r\n operator: rootGroup.operator,\r\n rules,\r\n };\r\n}\r\n\r\nfunction buildPropertyFilterFromRule(rule: PropertyFilterBuilderRule): PropertyFilter | undefined {\r\n const { property, operator, value } = rule;\r\n if (!property || operator === undefined)\r\n return undefined;\r\n\r\n if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))\r\n return undefined;\r\n\r\n return { property, operator, value };\r\n}\r\n\r\nfunction createEmptyRule(groupId: string): PropertyFilterBuilderRule {\r\n return {\r\n id: Guid.createValue(),\r\n groupId,\r\n };\r\n}\r\n\r\nfunction createEmptyRuleGroup(groupId?: string): PropertyFilterBuilderRuleGroup {\r\n const id = Guid.createValue();\r\n return {\r\n id,\r\n groupId,\r\n operator: PropertyFilterRuleGroupOperator.And,\r\n items: [createEmptyRule(id)],\r\n };\r\n}\r\n\r\nfunction findRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRuleGroup | undefined {\r\n if (path.length === 0)\r\n return rootGroup;\r\n\r\n const [currentItemId, ...rest] = path;\r\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\r\n if (!currentItem || !isPropertyFilterBuilderRuleGroup(currentItem))\r\n return undefined;\r\n\r\n return findRuleGroup(currentItem, rest);\r\n}\r\n\r\nfunction findRule(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRule | undefined {\r\n if (path.length === 0)\r\n return undefined;\r\n\r\n const [currentItemId, ...rest] = path;\r\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\r\n if (!currentItem)\r\n return undefined;\r\n\r\n if (isPropertyFilterBuilderRuleGroup(currentItem))\r\n return findRule(currentItem, rest);\r\n\r\n return currentItem;\r\n}\r\n\r\nfunction getRuleGroupItem(filter: PropertyFilter, parentId: string): PropertyFilterBuilderRuleGroupItem {\r\n const id = Guid.createValue();\r\n if (isPropertyFilterRuleGroup(filter))\r\n return {\r\n id,\r\n groupId: parentId,\r\n operator: filter.operator,\r\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\r\n };\r\n return getRuleItem(filter, id);\r\n}\r\n\r\nfunction getRuleItem(filter: PropertyFilterRule, parentId: string) {\r\n return {\r\n id: Guid.createValue(),\r\n groupId: parentId,\r\n property: filter.property,\r\n operator: filter.operator,\r\n value: filter.value,\r\n };\r\n}\r\n\r\nfunction convertFilterToState(filter: PropertyFilter): PropertyFilterBuilderState {\r\n const id = Guid.createValue();\r\n if (isPropertyFilterRuleGroup(filter)) {\r\n return {\r\n rootGroup: {\r\n id,\r\n operator: filter.operator,\r\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\r\n },\r\n };\r\n }\r\n return {\r\n rootGroup: {\r\n id,\r\n operator: PropertyFilterRuleGroupOperator.And,\r\n items: [getRuleItem(filter, id)],\r\n },\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"FilterBuilderState.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilderState.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAiDpD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IACvC,YAAoB,QAAiG;QAAjG,aAAQ,GAAR,QAAQ,CAAyF;IAAI,CAAC;IAElH,WAAW,CAAC,OAA2D;QAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,sEAAsE;IAC/D,OAAO,CAAC,IAAc,EAAE,QAA+B;QAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW;gBACd,OAAO;YACT,MAAM,IAAI,GAAG,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChH,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IAC/B,UAAU,CAAC,IAAc;QAC9B,SAAS,mBAAmB,CAAC,KAAwC,EAAE,UAAoB;YACzF,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW;gBACd,OAAO;YACT,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAC5E,IAAI,SAAS,KAAK,CAAC,CAAC;gBAClB,OAAO;YACT,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAChC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IAClD,oBAAoB,CAAC,IAAc,EAAE,QAAyC;QACnF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK;gBACR,OAAO;YACT,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IAC5C,eAAe,CAAC,IAAc,EAAE,QAA8B;QACnE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI;gBACP,OAAO;YACT,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IAC5C,eAAe,CAAC,IAAc,EAAE,QAAoC;QACzE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI;gBACP,OAAO;YACT,IAAI,6BAA6B,CAAC,QAAQ,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IACzC,YAAY,CAAC,IAAc,EAAE,KAAoB;QACtD,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI;gBACP,OAAO;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAwC;IACvF,OAAQ,IAAY,CAAC,KAAK,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,aAA8B;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,CAClG,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,SAA6C;IAC/E,IAAI,gCAAgC,CAAC,SAAS,CAAC;QAC7C,OAAO,gCAAgC,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAyC;IACjF,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC9B,OAAO,SAAS,CAAC;IAEnB,MAAM,KAAK,GAAG,IAAI,KAAK,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;QAClC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YACP,OAAO,SAAS,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClB;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAElB,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAA+B;IAClE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS;QACrC,OAAO,SAAS,CAAC;IAEnB,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QACvJ,OAAO,SAAS,CAAC;IAEnB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;QACtB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO;QACL,EAAE;QACF,OAAO;QACP,QAAQ,EAAE,+BAA+B,CAAC,GAAG;QAC7C,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAyC,EAAE,IAAc;IAC9E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,SAAS,CAAC;IAEnB,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;IAC9E,IAAI,CAAC,WAAW,IAAI,CAAC,gCAAgC,CAAC,WAAW,CAAC;QAChE,OAAO,SAAS,CAAC;IAEnB,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,SAAyC,EAAE,IAAc;IACzE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,SAAS,CAAC;IAEnB,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;IAC9E,IAAI,CAAC,WAAW;QACd,OAAO,SAAS,CAAC;IAEnB,IAAI,gCAAgC,CAAC,WAAW,CAAC;QAC/C,OAAO,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAErC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsB,EAAE,QAAgB;IAChE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,yBAAyB,CAAC,MAAM,CAAC;QACnC,OAAO;YACL,EAAE;YACF,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC9D,CAAC;IACJ,OAAO,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B,EAAE,QAAgB;IAC/D,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;QACtB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB;IAClD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO;YACL,SAAS,EAAE;gBACT,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAC9D;SACF,CAAC;KACH;IACD,OAAO;QACL,SAAS,EAAE;YACT,EAAE;YACF,QAAQ,EAAE,+BAA+B,CAAC,GAAG;YAC7C,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACjC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyFilterBuilder\r\n */\r\n\r\nimport type { Draft} from \"immer\";\r\nimport { produce } from \"immer\";\r\nimport * as React from \"react\";\r\nimport type { PropertyDescription, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport type { PropertyFilterRuleOperator } from \"./Operators\";\r\nimport { isUnaryPropertyFilterOperator, PropertyFilterRuleGroupOperator } from \"./Operators\";\r\nimport type { PropertyFilter, PropertyFilterRule } from \"./Types\";\r\nimport { isPropertyFilterRuleGroup } from \"./Types\";\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component state.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderState {\r\n /** Root group of rules in [[PropertyFilterBuilder]] component. */\r\n rootGroup: PropertyFilterBuilderRuleGroup;\r\n}\r\n\r\n/**\r\n * Type that describes [[PropertyFilterBuilder]] component group item.\r\n * @internal\r\n */\r\nexport type PropertyFilterBuilderRuleGroupItem = PropertyFilterBuilderRuleGroup | PropertyFilterBuilderRule;\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component rule group.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRuleGroup {\r\n /** Id of this rule group. */\r\n id: string;\r\n /** Id of rule group that this group is nested in. */\r\n groupId?: string;\r\n /** Operator that should join items in this group. */\r\n operator: PropertyFilterRuleGroupOperator;\r\n /** Items in this group. */\r\n items: PropertyFilterBuilderRuleGroupItem[];\r\n}\r\n\r\n/**\r\n * Data structure that describes [[PropertyFilterBuilder]] component single rule.\r\n * @internal\r\n */\r\nexport interface PropertyFilterBuilderRule {\r\n /** Id of this rule. */\r\n id: string;\r\n /** Id of rule group that this rule is nested in. */\r\n groupId: string;\r\n /** Property used in this rule. */\r\n property?: PropertyDescription;\r\n /** Operator that should be used to compare property value. */\r\n operator?: PropertyFilterRuleOperator;\r\n /** Value that property should be compared to. */\r\n value?: PropertyValue;\r\n}\r\n\r\n/**\r\n * Actions for controlling [[PropertyFilterBuilder]] component state.\r\n * @internal\r\n */\r\nexport class PropertyFilterBuilderActions {\r\n constructor(private setState: (setter: (prevState: PropertyFilterBuilderState) => PropertyFilterBuilderState) => void) { }\r\n\r\n private updateState(updater: (state: Draft<PropertyFilterBuilderState>) => void) {\r\n this.setState(produce(updater));\r\n }\r\n\r\n /** Adds new rule or group of rules to the group specified by path. */\r\n public addItem(path: string[], itemType: \"RULE_GROUP\" | \"RULE\") {\r\n this.updateState((state) => {\r\n const parentGroup = findRuleGroup(state.rootGroup, path);\r\n if (!parentGroup)\r\n return;\r\n const item = itemType === \"RULE_GROUP\" ? createEmptyRuleGroup(parentGroup.id) : createEmptyRule(parentGroup.id);\r\n parentGroup.items.push(item);\r\n });\r\n }\r\n\r\n /** Removes item specified by path. */\r\n public removeItem(path: string[]) {\r\n function removeItemFromGroup(state: Draft<PropertyFilterBuilderState>, pathToItem: string[]) {\r\n const pathToParent = pathToItem.slice(0, -1);\r\n const parentGroup = findRuleGroup(state.rootGroup, pathToParent);\r\n if (!parentGroup)\r\n return;\r\n const itemId = pathToItem[pathToItem.length - 1];\r\n const itemIndex = parentGroup.items.findIndex((item) => item.id === itemId);\r\n if (itemIndex === -1)\r\n return;\r\n parentGroup.items.splice(itemIndex, 1);\r\n if (parentGroup.items.length === 0)\r\n removeItemFromGroup(state, pathToParent);\r\n }\r\n\r\n this.updateState((state) => {\r\n removeItemFromGroup(state, path);\r\n });\r\n }\r\n\r\n /** Sets operator of rule group specified by the path. */\r\n public setRuleGroupOperator(path: string[], operator: PropertyFilterRuleGroupOperator) {\r\n this.updateState((state) => {\r\n const group = findRuleGroup(state.rootGroup, path);\r\n if (!group)\r\n return;\r\n group.operator = operator;\r\n });\r\n }\r\n\r\n /** Sets property of rule specified by the path. */\r\n public setRuleProperty(path: string[], property?: PropertyDescription) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n rule.property = property;\r\n rule.value = undefined;\r\n });\r\n }\r\n\r\n /** Sets operator of rule specified by the path. */\r\n public setRuleOperator(path: string[], operator: PropertyFilterRuleOperator) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n if (isUnaryPropertyFilterOperator(operator))\r\n rule.value = undefined;\r\n rule.operator = operator;\r\n });\r\n }\r\n\r\n /** Sets value of rule specified by the path. */\r\n public setRuleValue(path: string[], value: PropertyValue) {\r\n this.updateState((state) => {\r\n const rule = findRule(state.rootGroup, path);\r\n if (!rule)\r\n return;\r\n rule.value = value;\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Function to check if supplied [[PropertyFilterBuilderRuleGroupItem]] is [[PropertyFilterBuilderRuleGroup]].\r\n * @internal\r\n */\r\nexport function isPropertyFilterBuilderRuleGroup(item: PropertyFilterBuilderRuleGroupItem): item is PropertyFilterBuilderRuleGroup {\r\n return (item as any).items !== undefined;\r\n}\r\n\r\n/**\r\n * Custom hook that creates state for [[PropertyFilterBuilder]] component. It creates empty state or initializes\r\n * state from supplied initial filter.\r\n * @internal\r\n */\r\nexport function usePropertyFilterBuilderState(initialFilter?: PropertyFilter) {\r\n const [state, setState] = React.useState<PropertyFilterBuilderState>(\r\n () => initialFilter ? convertFilterToState(initialFilter) : { rootGroup: createEmptyRuleGroup() }\r\n );\r\n const [actions] = React.useState(() => new PropertyFilterBuilderActions(setState));\r\n\r\n return { state, actions };\r\n}\r\n\r\n/** @internal */\r\nexport function buildPropertyFilter(groupItem: PropertyFilterBuilderRuleGroupItem): PropertyFilter | undefined {\r\n if (isPropertyFilterBuilderRuleGroup(groupItem))\r\n return buildPropertyFilterFromRuleGroup(groupItem);\r\n return buildPropertyFilterFromRule(groupItem);\r\n}\r\n\r\nfunction buildPropertyFilterFromRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup): PropertyFilter | undefined {\r\n if (rootGroup.items.length === 0)\r\n return undefined;\r\n\r\n const rules = new Array<PropertyFilter>();\r\n for (const item of rootGroup.items) {\r\n const rule = buildPropertyFilter(item);\r\n if (!rule)\r\n return undefined;\r\n rules.push(rule);\r\n }\r\n\r\n if (rules.length === 1)\r\n return rules[0];\r\n\r\n return {\r\n operator: rootGroup.operator,\r\n rules,\r\n };\r\n}\r\n\r\nfunction buildPropertyFilterFromRule(rule: PropertyFilterBuilderRule): PropertyFilter | undefined {\r\n const { property, operator, value } = rule;\r\n if (!property || operator === undefined)\r\n return undefined;\r\n\r\n if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))\r\n return undefined;\r\n\r\n return { property, operator, value };\r\n}\r\n\r\nfunction createEmptyRule(groupId: string): PropertyFilterBuilderRule {\r\n return {\r\n id: Guid.createValue(),\r\n groupId,\r\n };\r\n}\r\n\r\nfunction createEmptyRuleGroup(groupId?: string): PropertyFilterBuilderRuleGroup {\r\n const id = Guid.createValue();\r\n return {\r\n id,\r\n groupId,\r\n operator: PropertyFilterRuleGroupOperator.And,\r\n items: [createEmptyRule(id)],\r\n };\r\n}\r\n\r\nfunction findRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRuleGroup | undefined {\r\n if (path.length === 0)\r\n return rootGroup;\r\n\r\n const [currentItemId, ...rest] = path;\r\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\r\n if (!currentItem || !isPropertyFilterBuilderRuleGroup(currentItem))\r\n return undefined;\r\n\r\n return findRuleGroup(currentItem, rest);\r\n}\r\n\r\nfunction findRule(rootGroup: PropertyFilterBuilderRuleGroup, path: string[]): PropertyFilterBuilderRule | undefined {\r\n if (path.length === 0)\r\n return undefined;\r\n\r\n const [currentItemId, ...rest] = path;\r\n const currentItem = rootGroup.items.find((item) => item.id === currentItemId);\r\n if (!currentItem)\r\n return undefined;\r\n\r\n if (isPropertyFilterBuilderRuleGroup(currentItem))\r\n return findRule(currentItem, rest);\r\n\r\n return currentItem;\r\n}\r\n\r\nfunction getRuleGroupItem(filter: PropertyFilter, parentId: string): PropertyFilterBuilderRuleGroupItem {\r\n const id = Guid.createValue();\r\n if (isPropertyFilterRuleGroup(filter))\r\n return {\r\n id,\r\n groupId: parentId,\r\n operator: filter.operator,\r\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\r\n };\r\n return getRuleItem(filter, id);\r\n}\r\n\r\nfunction getRuleItem(filter: PropertyFilterRule, parentId: string) {\r\n return {\r\n id: Guid.createValue(),\r\n groupId: parentId,\r\n property: filter.property,\r\n operator: filter.operator,\r\n value: filter.value,\r\n };\r\n}\r\n\r\nfunction convertFilterToState(filter: PropertyFilter): PropertyFilterBuilderState {\r\n const id = Guid.createValue();\r\n if (isPropertyFilterRuleGroup(filter)) {\r\n return {\r\n rootGroup: {\r\n id,\r\n operator: filter.operator,\r\n items: filter.rules.map((rule) => getRuleGroupItem(rule, id)),\r\n },\r\n };\r\n }\r\n return {\r\n rootGroup: {\r\n id,\r\n operator: PropertyFilterRuleGroupOperator.And,\r\n items: [getRuleItem(filter, id)],\r\n },\r\n };\r\n}\r\n"]}