@itwin/components-react 4.0.0-dev.2 → 4.0.0-dev.20

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 (747) hide show
  1. package/CHANGELOG.md +156 -6
  2. package/LICENSE.md +1 -1
  3. package/README.md +2 -2
  4. package/lib/cjs/components-react/UiComponents.js +1 -1
  5. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  6. package/lib/cjs/components-react/common/DateUtils.d.ts +2 -2
  7. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  8. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +1 -1
  9. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  10. package/lib/cjs/components-react/common/DelayedSpinner.js +7 -4
  11. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  12. package/lib/cjs/components-react/common/IImageLoader.d.ts +3 -3
  13. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  14. package/lib/cjs/components-react/common/ImageRenderer.js +6 -2
  15. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  16. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +1 -1
  17. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  18. package/lib/cjs/components-react/common/UseAsyncValue.js +7 -3
  19. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  20. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +5 -1
  21. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  22. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +16 -2
  23. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  24. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +1 -1
  25. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  27. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  28. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +1 -1
  29. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  30. package/lib/cjs/components-react/converters/NumericTypeConverter.js +2 -4
  31. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  33. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  34. package/lib/cjs/components-react/converters/StringTypeConverter.js +2 -2
  35. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  36. package/lib/cjs/components-react/converters/TypeConverter.js +1 -2
  37. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  38. package/lib/cjs/components-react/converters/TypeConverterManager.js +1 -1
  39. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  40. package/lib/cjs/components-react/datepicker/DateField.js +5 -1
  41. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  42. package/lib/cjs/components-react/datepicker/DateField.scss +1 -1
  43. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  44. package/lib/cjs/components-react/datepicker/DatePicker.js +9 -4
  45. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  46. package/lib/cjs/components-react/datepicker/DatePicker.scss +9 -10
  47. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  48. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +7 -2
  49. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  50. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +5 -5
  51. package/lib/cjs/components-react/datepicker/TimeField.js +5 -1
  52. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  53. package/lib/cjs/components-react/datepicker/TimeField.scss +4 -4
  54. package/lib/cjs/components-react/editors/BooleanEditor.js +5 -1
  55. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/CustomNumberEditor.js +7 -5
  57. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  58. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +1 -2
  59. package/lib/cjs/components-react/editors/DateTimeEditor.js +9 -6
  60. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  61. package/lib/cjs/components-react/editors/EditorContainer.d.ts +10 -0
  62. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  63. package/lib/cjs/components-react/editors/EditorContainer.js +6 -1
  64. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  65. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +1 -0
  66. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  67. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +8 -2
  68. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  69. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +16 -57
  70. package/lib/cjs/components-react/editors/EnumEditor.js +5 -1
  71. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  72. package/lib/cjs/components-react/editors/EnumEditor.scss +2 -2
  73. package/lib/cjs/components-react/editors/IconEditor.js +5 -1
  74. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  75. package/lib/cjs/components-react/editors/IconEditor.scss +1 -1
  76. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +5 -1
  77. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  78. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  79. package/lib/cjs/components-react/editors/NumericInputEditor.js +6 -2
  80. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  81. package/lib/cjs/components-react/editors/NumericInputEditor.scss +1 -2
  82. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/PopupButton.js +13 -8
  84. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  85. package/lib/cjs/components-react/editors/PopupButton.scss +13 -13
  86. package/lib/cjs/components-react/editors/PropertyEditorManager.js +6 -2
  87. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  88. package/lib/cjs/components-react/editors/SliderEditor.js +5 -1
  89. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  90. package/lib/cjs/components-react/editors/SliderEditor.scss +2 -2
  91. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  92. package/lib/cjs/components-react/editors/TextEditor.js +14 -5
  93. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  94. package/lib/cjs/components-react/editors/TextEditor.scss +1 -2
  95. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +1 -1
  96. package/lib/cjs/components-react/editors/TextareaEditor.js +6 -2
  97. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  98. package/lib/cjs/components-react/editors/ToggleEditor.js +5 -1
  99. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  100. package/lib/cjs/components-react/editors/variables.scss +1 -0
  101. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +25 -1
  102. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  103. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +29 -3
  104. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +7 -4
  106. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  107. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  108. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  109. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +24 -82
  110. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  111. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  112. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  113. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +87 -0
  114. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  115. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  116. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  117. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +27 -13
  118. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  119. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +4 -6
  120. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  121. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  122. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +27 -15
  123. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  124. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +3 -11
  125. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  126. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  127. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +17 -8
  128. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  129. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  130. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  131. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +20 -9
  132. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  133. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  134. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  135. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +18 -8
  136. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  137. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +51 -8
  138. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  139. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +65 -9
  140. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  141. package/lib/cjs/components-react/filter-builder/Operators.d.ts +23 -5
  142. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  143. package/lib/cjs/components-react/filter-builder/Operators.js +25 -7
  144. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  145. package/lib/cjs/components-react/filter-builder/Types.d.ts +25 -5
  146. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  147. package/lib/cjs/components-react/filter-builder/Types.js +11 -1
  148. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  149. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  150. package/lib/cjs/components-react/filtering/FilteringInput.js +17 -6
  151. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  152. package/lib/cjs/components-react/filtering/FilteringInput.scss +3 -13
  153. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  154. package/lib/cjs/components-react/filtering/ResultSelector.js +11 -3
  155. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  156. package/lib/cjs/components-react/filtering/ResultSelector.scss +3 -8
  157. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  158. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +13 -5
  159. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  160. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +5 -5
  161. package/lib/cjs/components-react/inputs/ParsedInput.js +5 -1
  162. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  163. package/lib/cjs/components-react/inputs/ParsedInput.scss +2 -2
  164. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  165. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  166. package/lib/cjs/components-react/properties/LinkHandler.d.ts +3 -3
  167. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  168. package/lib/cjs/components-react/properties/LinkHandler.js +6 -2
  169. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  170. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -1
  171. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  172. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +1 -1
  173. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  174. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +8 -5
  175. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  176. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +6 -2
  177. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  178. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +7 -4
  179. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  180. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +5 -1
  181. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  182. package/lib/cjs/components-react/properties/renderers/PropertyView.js +5 -1
  183. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  184. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +5 -3
  185. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  186. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +8 -3
  187. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  188. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +5 -1
  189. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  190. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +6 -3
  191. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  192. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +10 -10
  193. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +5 -1
  194. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  195. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -3
  196. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  197. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +8 -7
  198. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  199. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -3
  200. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  201. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  202. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +9 -8
  203. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  204. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -1
  205. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  206. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +5 -1
  207. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  208. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  209. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  210. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +5 -1
  211. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  212. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +5 -1
  213. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  214. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +5 -1
  215. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  216. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +5 -1
  217. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  218. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +4 -4
  219. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  220. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -4
  221. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  222. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  223. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  224. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  225. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  226. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +10 -2
  227. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  228. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +5 -1
  229. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  230. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +6 -3
  231. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  232. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +8 -7
  233. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +18 -10
  234. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  235. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  236. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  237. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  238. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  239. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +5 -1
  240. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  241. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +5 -1
  242. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  243. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +13 -12
  244. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  245. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +53 -54
  246. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  247. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +17 -8
  248. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +11 -10
  249. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  250. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +3 -3
  251. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  252. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +11 -13
  253. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  254. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  255. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  256. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +1 -2
  257. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  258. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  259. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  260. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  261. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +5 -3
  262. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  263. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +5 -3
  264. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  265. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  266. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  267. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  268. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +3 -3
  269. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  270. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  271. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  272. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  273. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  274. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  275. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  276. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +5 -5
  277. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  278. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  279. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  280. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  281. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  282. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  283. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  284. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  286. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  287. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  288. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +1 -2
  289. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  290. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  291. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  292. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +5 -5
  293. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  294. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  295. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -4
  296. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  297. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  298. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +2 -2
  299. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  301. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +6 -2
  302. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  304. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +10 -8
  306. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  307. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +2 -0
  308. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  309. package/lib/cjs/components-react/selectable-content/SelectableContent.js +10 -7
  310. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  311. package/lib/cjs/components-react/toolbar/Item.js +5 -1
  312. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  313. package/lib/cjs/components-react/toolbar/Item.scss +20 -51
  314. package/lib/cjs/components-react/toolbar/ItemWrapper.js +5 -1
  315. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  316. package/lib/cjs/components-react/toolbar/Items.js +5 -1
  317. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  318. package/lib/cjs/components-react/toolbar/Items.scss +2 -3
  319. package/lib/cjs/components-react/toolbar/Overflow.js +5 -1
  320. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  321. package/lib/cjs/components-react/toolbar/OverflowPanel.js +5 -1
  322. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  323. package/lib/cjs/components-react/toolbar/PopupItem.js +5 -1
  324. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  325. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +5 -1
  326. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  327. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +5 -1
  328. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  329. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +4 -2
  330. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  331. package/lib/cjs/components-react/toolbar/Toolbar.js +7 -2
  332. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  333. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +7 -3
  334. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  335. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +13 -6
  336. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  337. package/lib/cjs/components-react/toolbar/_variables.scss +4 -4
  338. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +5 -1
  339. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  340. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +2 -2
  341. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +5 -1
  342. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  343. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +5 -1
  344. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  345. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +5 -1
  346. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  347. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +2 -4
  348. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +5 -1
  349. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  350. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +1 -2
  351. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +1 -1
  352. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +5 -1
  353. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  354. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +5 -1
  355. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  356. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +9 -38
  357. package/lib/cjs/components-react/toolbar/useDragInteraction.js +5 -1
  358. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  359. package/lib/cjs/components-react/toolbar/utilities/Direction.js +2 -2
  360. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  361. package/lib/cjs/components-react/tree/HighlightingEngine.js +6 -2
  362. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  363. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +1 -1
  364. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  365. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +4 -4
  366. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  367. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +12 -2
  368. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  369. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  370. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +3 -3
  371. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  372. package/lib/cjs/components-react/tree/controlled/TreeModel.js +7 -13
  373. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  374. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +6 -8
  375. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  376. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  377. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  378. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +6 -3
  379. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  380. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +7 -7
  381. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  382. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +6 -1
  383. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  384. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +1 -2
  385. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  386. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  387. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +5 -1
  388. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  389. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  390. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  391. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +6 -2
  392. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  393. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +3 -6
  394. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  395. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +7 -3
  396. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  397. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +1 -2
  398. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  399. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +1 -1
  400. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  401. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -4
  402. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  403. package/lib/cjs/components-react.d.ts +4 -8
  404. package/lib/cjs/components-react.d.ts.map +1 -1
  405. package/lib/cjs/components-react.js +9 -9
  406. package/lib/cjs/components-react.js.map +1 -1
  407. package/lib/esm/components-react/UiComponents.js +2 -1
  408. package/lib/esm/components-react/UiComponents.js.map +1 -1
  409. package/lib/esm/components-react/common/DateUtils.d.ts +2 -2
  410. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  411. package/lib/esm/components-react/common/DelayedSpinner.d.ts +1 -1
  412. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  413. package/lib/esm/components-react/common/DelayedSpinner.js +2 -3
  414. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  415. package/lib/esm/components-react/common/IImageLoader.d.ts +3 -3
  416. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  417. package/lib/esm/components-react/common/ImageRenderer.js +2 -1
  418. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  419. package/lib/esm/components-react/common/UseAsyncValue.d.ts +1 -1
  420. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  421. package/lib/esm/components-react/common/UseAsyncValue.js +2 -2
  422. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  423. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +5 -1
  424. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  425. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +16 -2
  426. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  427. package/lib/esm/components-react/converters/BooleanTypeConverter.js +2 -1
  428. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  429. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  430. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  431. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +1 -1
  432. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  433. package/lib/esm/components-react/converters/NumericTypeConverter.js +2 -4
  434. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  435. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  436. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  437. package/lib/esm/components-react/converters/StringTypeConverter.js +2 -2
  438. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  439. package/lib/esm/components-react/converters/TypeConverter.js +1 -2
  440. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  441. package/lib/esm/components-react/converters/TypeConverterManager.js +2 -1
  442. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  443. package/lib/esm/components-react/datepicker/DateField.scss +1 -1
  444. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  445. package/lib/esm/components-react/datepicker/DatePicker.js +4 -3
  446. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  447. package/lib/esm/components-react/datepicker/DatePicker.scss +9 -10
  448. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  449. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +3 -2
  450. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  451. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +5 -5
  452. package/lib/esm/components-react/datepicker/TimeField.scss +4 -4
  453. package/lib/esm/components-react/editors/CustomNumberEditor.js +2 -4
  454. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  455. package/lib/esm/components-react/editors/CustomNumberEditor.scss +1 -2
  456. package/lib/esm/components-react/editors/DateTimeEditor.js +4 -5
  457. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  458. package/lib/esm/components-react/editors/EditorContainer.d.ts +10 -0
  459. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  460. package/lib/esm/components-react/editors/EditorContainer.js +1 -0
  461. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  462. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +1 -0
  463. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  464. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +4 -2
  465. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  466. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +16 -57
  467. package/lib/esm/components-react/editors/EnumEditor.scss +2 -2
  468. package/lib/esm/components-react/editors/IconEditor.scss +1 -1
  469. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  470. package/lib/esm/components-react/editors/NumericInputEditor.js +1 -1
  471. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  472. package/lib/esm/components-react/editors/NumericInputEditor.scss +1 -2
  473. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  474. package/lib/esm/components-react/editors/PopupButton.js +8 -7
  475. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  476. package/lib/esm/components-react/editors/PopupButton.scss +13 -13
  477. package/lib/esm/components-react/editors/PropertyEditorManager.js +2 -1
  478. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  479. package/lib/esm/components-react/editors/SliderEditor.scss +2 -2
  480. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  481. package/lib/esm/components-react/editors/TextEditor.js +9 -4
  482. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  483. package/lib/esm/components-react/editors/TextEditor.scss +1 -2
  484. package/lib/esm/components-react/editors/TextareaEditor.d.ts +1 -1
  485. package/lib/esm/components-react/editors/TextareaEditor.js +1 -1
  486. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  487. package/lib/esm/components-react/editors/variables.scss +1 -0
  488. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +25 -1
  489. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  490. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +24 -2
  491. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  492. package/lib/esm/components-react/favorite/FavoritePropertyList.js +2 -3
  493. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  494. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  495. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  496. package/lib/esm/components-react/filter-builder/FilterBuilder.js +12 -73
  497. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  498. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  499. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  500. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +60 -0
  501. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  502. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  503. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  504. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +17 -7
  505. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  506. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +4 -6
  507. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  508. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  509. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +15 -7
  510. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  511. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +3 -11
  512. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  513. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  514. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +8 -3
  515. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  516. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  517. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  518. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +11 -4
  519. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  520. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  521. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  522. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +9 -3
  523. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  524. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +51 -8
  525. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  526. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +54 -3
  527. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  528. package/lib/esm/components-react/filter-builder/Operators.d.ts +23 -5
  529. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  530. package/lib/esm/components-react/filter-builder/Operators.js +23 -5
  531. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  532. package/lib/esm/components-react/filter-builder/Types.d.ts +25 -5
  533. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  534. package/lib/esm/components-react/filter-builder/Types.js +11 -1
  535. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  536. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  537. package/lib/esm/components-react/filtering/FilteringInput.js +13 -6
  538. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  539. package/lib/esm/components-react/filtering/FilteringInput.scss +3 -13
  540. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  541. package/lib/esm/components-react/filtering/ResultSelector.js +6 -2
  542. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  543. package/lib/esm/components-react/filtering/ResultSelector.scss +3 -8
  544. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  545. package/lib/esm/components-react/iconpicker/IconPickerButton.js +10 -5
  546. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  547. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +5 -5
  548. package/lib/esm/components-react/inputs/ParsedInput.scss +2 -2
  549. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  550. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  551. package/lib/esm/components-react/properties/LinkHandler.d.ts +3 -3
  552. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  553. package/lib/esm/components-react/properties/LinkHandler.js +1 -1
  554. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  555. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +1 -1
  556. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  557. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +3 -4
  558. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  559. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  560. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  561. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +2 -3
  562. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  563. package/lib/esm/components-react/properties/renderers/PropertyView.scss +5 -3
  564. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  565. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +3 -2
  566. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  567. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +1 -2
  568. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  569. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +10 -10
  570. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +1 -2
  571. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  572. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +3 -6
  573. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  574. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +1 -2
  575. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  576. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  577. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +4 -7
  578. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  579. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  580. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  581. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +4 -4
  582. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  583. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +4 -4
  584. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  585. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  586. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  587. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  588. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  589. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +6 -1
  590. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  591. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +1 -2
  592. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  593. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +8 -7
  594. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +18 -10
  595. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  596. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +4 -3
  597. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  598. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  599. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  600. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +13 -12
  601. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  602. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +48 -53
  603. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  604. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +17 -8
  605. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +11 -10
  606. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  607. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +3 -3
  608. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  609. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +11 -13
  610. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  611. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  612. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  613. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +1 -2
  614. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  615. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  616. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  617. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  618. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +5 -3
  619. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  620. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +5 -3
  621. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  622. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  623. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  624. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  625. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +3 -3
  626. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  627. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  628. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  629. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  630. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  631. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  632. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  633. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +5 -5
  634. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  635. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  636. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  637. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  638. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  639. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  640. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  641. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  642. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  643. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  644. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  645. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +1 -2
  646. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  647. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  648. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  649. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +5 -5
  650. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  651. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  652. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -4
  653. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  654. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  655. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +2 -2
  656. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  657. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  658. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  659. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  660. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  661. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  662. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +5 -7
  663. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  664. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +2 -0
  665. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  666. package/lib/esm/components-react/selectable-content/SelectableContent.js +5 -6
  667. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  668. package/lib/esm/components-react/toolbar/Item.scss +20 -51
  669. package/lib/esm/components-react/toolbar/Items.scss +2 -3
  670. package/lib/esm/components-react/toolbar/Toolbar.d.ts +4 -2
  671. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  672. package/lib/esm/components-react/toolbar/Toolbar.js +2 -1
  673. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  674. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +7 -3
  675. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  676. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +10 -6
  677. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  678. package/lib/esm/components-react/toolbar/_variables.scss +4 -4
  679. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +2 -2
  680. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +2 -4
  681. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +1 -2
  682. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +1 -1
  683. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +9 -38
  684. package/lib/esm/components-react/toolbar/utilities/Direction.js +4 -2
  685. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  686. package/lib/esm/components-react/tree/HighlightingEngine.js +2 -1
  687. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  688. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +1 -1
  689. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  690. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +4 -4
  691. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  692. package/lib/esm/components-react/tree/controlled/Observable.d.ts +12 -2
  693. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  694. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  695. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +3 -3
  696. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  697. package/lib/esm/components-react/tree/controlled/TreeModel.js +7 -10
  698. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  699. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +6 -8
  700. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  701. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  702. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  703. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +1 -2
  704. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  705. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +7 -7
  706. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  707. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +1 -0
  708. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  709. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +1 -2
  710. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  711. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  712. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  713. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  714. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +1 -1
  715. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  716. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +3 -6
  717. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  718. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +2 -2
  719. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  720. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +1 -2
  721. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  722. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +1 -1
  723. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  724. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -4
  725. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  726. package/lib/esm/components-react.d.ts +4 -8
  727. package/lib/esm/components-react.d.ts.map +1 -1
  728. package/lib/esm/components-react.js +4 -8
  729. package/lib/esm/components-react.js.map +1 -1
  730. package/package.json +30 -32
  731. package/ThirdPartyNotices.md +0 -31
  732. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +0 -60
  733. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts.map +0 -1
  734. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +0 -185
  735. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +0 -1
  736. package/lib/cjs/components-react/table/TableDataProvider.d.ts +0 -10
  737. package/lib/cjs/components-react/table/TableDataProvider.d.ts.map +0 -1
  738. package/lib/cjs/components-react/table/TableDataProvider.js +0 -18
  739. package/lib/cjs/components-react/table/TableDataProvider.js.map +0 -1
  740. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +0 -60
  741. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts.map +0 -1
  742. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +0 -159
  743. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +0 -1
  744. package/lib/esm/components-react/table/TableDataProvider.d.ts +0 -10
  745. package/lib/esm/components-react/table/TableDataProvider.d.ts.map +0 -1
  746. package/lib/esm/components-react/table/TableDataProvider.js +0 -14
  747. package/lib/esm/components-react/table/TableDataProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/TextEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./TextEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n IconEditorParams, InputEditorSizeParams, PrimitiveValue, PropertyEditorParams, PropertyEditorParamTypes, PropertyValue, PropertyValueFormat,\n} from \"@itwin/appui-abstract\";\nimport { Icon, IconInput } from \"@itwin/core-react\";\nimport { Input, InputProps } from \"@itwin/itwinui-react\";\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { UiComponents } from \"../UiComponents\";\n\n/** @internal */\ninterface TextEditorState {\n inputValue: string;\n readonly: boolean;\n isDisabled?: boolean;\n size?: number;\n maxLength?: number;\n iconSpec?: string;\n}\n\n/** TextEditor React component that is a property editor with text input\n * @public\n */\nexport class TextEditor extends React.PureComponent<PropertyEditorProps, TextEditorState> implements TypeEditor {\n private _isMounted = false;\n private _ariaLabel = UiComponents.translate(\"editor.text\");\n private _inputElement = React.createRef<HTMLInputElement>();\n\n /** @internal */\n public override readonly state: Readonly<TextEditorState> = {\n inputValue: \"\",\n readonly: false,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = await TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertFromStringToPropertyValue(this.state.inputValue, record);\n (propertyValue as PrimitiveValue).displayValue = this.state.inputValue;\n }\n\n return propertyValue;\n }\n\n public get htmlElement(): HTMLElement | null {\n return this._inputElement.current;\n }\n\n public get hasFocus(): boolean {\n return document.activeElement === this._inputElement.current;\n }\n\n private _updateInputValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n inputValue: e.target.value,\n });\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const record = this.props.propertyRecord;\n let initialValue = \"\";\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n const value = record.value.value;\n initialValue = await TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, value);\n }\n\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\n let size: number | undefined;\n let maxLength: number | undefined;\n let iconSpec: string | undefined;\n\n const isDisabled = record ? record.isDisabled : undefined;\n\n if (record && record.property && record.property.editor && record.property.editor.params) {\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\n if (editorSizeParams) {\n // istanbul ignore else\n if (editorSizeParams.size)\n size = editorSizeParams.size;\n // istanbul ignore else\n if (editorSizeParams.maxLength)\n maxLength = editorSizeParams.maxLength;\n }\n\n const iconParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.Icon) as IconEditorParams;\n if (iconParams) {\n iconSpec = iconParams.definition.iconSpec;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ inputValue: initialValue, readonly, size, maxLength, isDisabled, iconSpec });\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const className = classnames(\"components-cell-editor\", \"components-text-editor\", this.props.className);\n const minSize = this.state.size ? this.state.size : 8;\n const minWidthStyle: React.CSSProperties = {\n minWidth: `${minSize * 0.75}em`,\n };\n const inputProps: InputProps = {\n type: \"text\",\n className,\n style: this.props.style ? this.props.style : minWidthStyle,\n readOnly: this.state.readonly,\n disabled: this.state.isDisabled,\n maxLength: this.state.maxLength,\n value: this.state.inputValue,\n onBlur: this.props.onBlur,\n onChange: this._updateInputValue,\n setFocus: this.props.setFocus && !this.state.isDisabled,\n };\n\n inputProps[\"aria-label\"] = this._ariaLabel;\n\n let reactNode: React.ReactNode;\n if (this.state.iconSpec) {\n const icon = <Icon iconSpec={this.state.iconSpec} />;\n reactNode = (\n <IconInput\n {...inputProps}\n ref={this._inputElement}\n icon={icon}\n data-testid=\"components-text-editor\"\n />\n );\n } else {\n reactNode = (\n <Input\n {...inputProps}\n ref={this._inputElement}\n data-testid=\"components-text-editor\"\n size=\"small\"\n />\n );\n }\n\n return reactNode;\n }\n}\n"]}
1
+ {"version":3,"file":"TextEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/TextEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./TextEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n IconEditorParams, InputEditorSizeParams, PrimitiveValue, PropertyEditorParams, PropertyEditorParamTypes, PropertyValue, PropertyValueFormat,\n} from \"@itwin/appui-abstract\";\nimport { Icon, IconInput } from \"@itwin/core-react\";\nimport { Input, InputProps } from \"@itwin/itwinui-react\";\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { UiComponents } from \"../UiComponents\";\n\n/** @internal */\ninterface TextEditorState {\n inputValue: string;\n readonly: boolean;\n isDisabled?: boolean;\n size?: number;\n maxLength?: number;\n iconSpec?: string;\n}\n\n/** TextEditor React component that is a property editor with text input\n * @public\n */\nexport class TextEditor extends React.PureComponent<PropertyEditorProps, TextEditorState> implements TypeEditor {\n private _isMounted = false;\n private _ariaLabel = UiComponents.translate(\"editor.text\");\n private _inputElement = React.createRef<HTMLInputElement>();\n\n /** @internal */\n public override readonly state: Readonly<TextEditorState> = {\n inputValue: \"\",\n readonly: false,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = await TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertFromStringToPropertyValue(this.state.inputValue, record);\n (propertyValue as PrimitiveValue).displayValue = this.state.inputValue;\n }\n\n return propertyValue;\n }\n\n public get htmlElement(): HTMLElement | null {\n return this._inputElement.current;\n }\n\n public get hasFocus(): boolean {\n return document.activeElement === this._inputElement.current;\n }\n\n private _updateInputValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n inputValue: e.target.value,\n }, async () => {\n if (this.props.shouldCommitOnChange && this.props.onCommit && this.props.propertyRecord) {\n const newValue = await this.getPropertyValue();\n // istanbul ignore else\n if (newValue)\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue });\n }\n });\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const record = this.props.propertyRecord;\n let initialValue = \"\";\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n const value = record.value.value;\n initialValue = await TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name).convertPropertyToString(record.property, value);\n }\n\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\n let size: number | undefined;\n let maxLength: number | undefined;\n let iconSpec: string | undefined;\n\n const isDisabled = record ? record.isDisabled : undefined;\n\n if (record && record.property && record.property.editor && record.property.editor.params) {\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\n if (editorSizeParams) {\n // istanbul ignore else\n if (editorSizeParams.size)\n size = editorSizeParams.size;\n // istanbul ignore else\n if (editorSizeParams.maxLength)\n maxLength = editorSizeParams.maxLength;\n }\n\n const iconParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.Icon) as IconEditorParams;\n if (iconParams) {\n iconSpec = iconParams.definition.iconSpec;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ inputValue: initialValue, readonly, size, maxLength, isDisabled, iconSpec });\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const className = classnames(\"components-cell-editor\", \"components-text-editor\", this.props.className);\n const minSize = this.state.size ? this.state.size : 8;\n const minWidthStyle: React.CSSProperties = {\n minWidth: `${minSize * 0.75}em`,\n };\n const inputProps: InputProps = {\n type: \"text\",\n className,\n style: this.props.style ? this.props.style : minWidthStyle,\n readOnly: this.state.readonly,\n disabled: this.state.isDisabled,\n maxLength: this.state.maxLength,\n value: this.state.inputValue,\n onBlur: this.props.onBlur,\n onChange: this._updateInputValue,\n setFocus: this.props.setFocus && !this.state.isDisabled,\n };\n\n inputProps[\"aria-label\"] = this._ariaLabel;\n\n let reactNode: React.ReactNode;\n if (this.state.iconSpec) {\n const icon = <Icon iconSpec={this.state.iconSpec} />;\n reactNode = (\n <IconInput\n {...inputProps}\n ref={this._inputElement}\n icon={icon}\n data-testid=\"components-text-editor\"\n />\n );\n } else {\n reactNode = (\n <Input\n {...inputProps}\n ref={this._inputElement}\n data-testid=\"components-text-editor\"\n size=\"small\"\n />\n );\n }\n\n return reactNode;\n }\n}\n"]}
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/style/variables";
6
5
  @import "./variables";
7
6
 
8
7
  .components-text-editor {
@@ -14,7 +13,7 @@
14
13
  .components-smallEditor-host {
15
14
  .components-text-editor {
16
15
  &.iui-input {
17
- min-height: $uicore-component-height-small !important;
16
+ min-height: $editor-component-height-small !important;
18
17
  padding-top: 1px !important;
19
18
  padding-bottom: 1px !important;
20
19
  }
@@ -41,7 +41,7 @@ export declare class TextareaEditor extends React.PureComponent<PropertyEditorPr
41
41
  render(): React.ReactNode;
42
42
  }
43
43
  /** Textarea Property Editor registered for the "text" and "string" type names and "multi-line" editor name.
44
- * It uses the [[Textarea]] React component.
44
+ * It uses the [[TextareaEditor]] React component.
45
45
  * @public
46
46
  */
47
47
  export declare class TextareaPropertyEditor extends PropertyEditorBase {
@@ -151,7 +151,7 @@ export class TextareaEditor extends React.PureComponent {
151
151
  }
152
152
  }
153
153
  /** Textarea Property Editor registered for the "text" and "string" type names and "multi-line" editor name.
154
- * It uses the [[Textarea]] React component.
154
+ * It uses the [[TextareaEditor]] React component.
155
155
  * @public
156
156
  */
157
157
  export class TextareaPropertyEditor extends PropertyEditorBase {
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/TextareaEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./TextareaEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n InputEditorSizeParams, MultilineTextEditorParams, PrimitiveValue, PropertyEditorParams,\n PropertyEditorParamTypes, PropertyValue, PropertyValueFormat,\n StandardEditorNames, StandardTypeNames,\n} from \"@itwin/appui-abstract\";\nimport { Textarea, TextareaProps } from \"@itwin/itwinui-react\";\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\nimport { PopupButton, PopupContent, PopupOkCancelButtons } from \"./PopupButton\";\nimport { UiComponents } from \"../UiComponents\";\n\n/** @internal */\ninterface TextareaEditorState {\n inputValue: string;\n readonly: boolean;\n isDisabled?: boolean;\n size?: number;\n maxLength?: number;\n rows: number;\n}\n\nconst DEFAULT_ROWS = 3;\n\n/** TextareaEditor React component that is a property editor with text input\n * @public\n */\nexport class TextareaEditor extends React.PureComponent<PropertyEditorProps, TextareaEditorState> implements TypeEditor {\n private _isMounted = false;\n private _ariaLabel = UiComponents.translate(\"editor.textarea\");\n private _divElement = React.createRef<HTMLDivElement>();\n\n /** @internal */\n public override readonly state: Readonly<TextareaEditorState> = {\n inputValue: \"\",\n readonly: false,\n rows: DEFAULT_ROWS,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = await TypeConverterManager.getConverter(record.property.typename).convertFromStringToPropertyValue(this.state.inputValue, record);\n (propertyValue as PrimitiveValue).displayValue = this.state.inputValue;\n }\n\n return propertyValue;\n }\n\n // istanbul ignore next\n public get htmlElement(): HTMLElement | null {\n return this._divElement.current;\n }\n\n // istanbul ignore next\n public get hasFocus(): boolean {\n let containsFocus = false;\n // istanbul ignore else\n if (this._divElement.current)\n containsFocus = this._divElement.current.contains(document.activeElement);\n return containsFocus;\n }\n\n private _updateTextareaValue = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n inputValue: e.target.value,\n });\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const record = this.props.propertyRecord;\n let initialValue = \"\";\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n const value = record.value.value;\n initialValue = await TypeConverterManager.getConverter(record.property.typename).convertPropertyToString(record.property, value);\n }\n\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\n let size: number | undefined;\n let maxLength: number | undefined;\n let rows: number = DEFAULT_ROWS;\n\n const isDisabled = record ? record.isDisabled : undefined;\n\n if (record && record.property && record.property.editor && record.property.editor.params) {\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\n if (editorSizeParams) {\n // istanbul ignore else\n if (editorSizeParams.size)\n size = editorSizeParams.size;\n // istanbul ignore else\n if (editorSizeParams.maxLength)\n maxLength = editorSizeParams.maxLength;\n }\n\n const multilineParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.MultilineText) as MultilineTextEditorParams;\n if (multilineParams) {\n rows = multilineParams.rows;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ inputValue: initialValue, readonly, size, maxLength, isDisabled, rows });\n }\n\n private _handleOk = async (_event: React.MouseEvent): Promise<void> => {\n // istanbul ignore else\n if (this.props.propertyRecord && this.props.onCommit) {\n const propertyValue = await this.getPropertyValue();\n // istanbul ignore else\n if (propertyValue !== undefined) {\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\n }\n }\n };\n\n private _handleCancel = (_event: React.MouseEvent): void => {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n };\n\n /** @internal */\n public override render(): React.ReactNode {\n const className = classnames(\"components-cell-editor\", \"components-textarea-editor\", this.props.className);\n const minSize = this.state.size ? this.state.size : 8;\n const style: React.CSSProperties = {\n ...this.props.style,\n minWidth: `${minSize * 0.75}em`,\n };\n const textareaProps: TextareaProps = {\n className: \"components-textarea-editor-textarea\",\n style,\n rows: this.state.rows,\n readOnly: this.state.readonly,\n disabled: this.state.isDisabled,\n maxLength: this.state.maxLength,\n value: this.state.inputValue,\n onChange: this._updateTextareaValue,\n setFocus: this.props.setFocus && !this.state.isDisabled,\n };\n\n textareaProps[\"aria-label\"] = this._ariaLabel;\n\n return (\n <div className={className} ref={this._divElement}>\n <PopupButton label={this.state.inputValue}\n closeOnEnter={false}\n setFocus={this.props.setFocus} focusTarget=\".iui-input\">\n <PopupContent>\n <Textarea\n {...textareaProps}\n data-testid=\"components-textarea-editor\"\n />\n <PopupOkCancelButtons onOk={this._handleOk} onCancel={this._handleCancel} />\n </PopupContent>\n </PopupButton>\n </div>\n );\n }\n}\n\n/** Textarea Property Editor registered for the \"text\" and \"string\" type names and \"multi-line\" editor name.\n * It uses the [[Textarea]] React component.\n * @public\n */\nexport class TextareaPropertyEditor extends PropertyEditorBase {\n // istanbul ignore next\n public override get containerHandlesBlur(): boolean {\n return false;\n }\n // istanbul ignore next\n public override get containerHandlesEnter(): boolean {\n return false;\n }\n // istanbul ignore next\n public override get containerHandlesTab(): boolean {\n return false;\n }\n\n public get reactNode(): React.ReactNode {\n return <TextareaEditor />;\n }\n}\n\nPropertyEditorManager.registerEditor(StandardTypeNames.Text, TextareaPropertyEditor, StandardEditorNames.MultiLine);\nPropertyEditorManager.registerEditor(StandardTypeNames.String, TextareaPropertyEditor, StandardEditorNames.MultiLine);\n"]}
1
+ {"version":3,"file":"TextareaEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/TextareaEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./TextareaEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n InputEditorSizeParams, MultilineTextEditorParams, PrimitiveValue, PropertyEditorParams,\n PropertyEditorParamTypes, PropertyValue, PropertyValueFormat,\n StandardEditorNames, StandardTypeNames,\n} from \"@itwin/appui-abstract\";\nimport { Textarea, TextareaProps } from \"@itwin/itwinui-react\";\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\nimport { PopupButton, PopupContent, PopupOkCancelButtons } from \"./PopupButton\";\nimport { UiComponents } from \"../UiComponents\";\n\n/** @internal */\ninterface TextareaEditorState {\n inputValue: string;\n readonly: boolean;\n isDisabled?: boolean;\n size?: number;\n maxLength?: number;\n rows: number;\n}\n\nconst DEFAULT_ROWS = 3;\n\n/** TextareaEditor React component that is a property editor with text input\n * @public\n */\nexport class TextareaEditor extends React.PureComponent<PropertyEditorProps, TextareaEditorState> implements TypeEditor {\n private _isMounted = false;\n private _ariaLabel = UiComponents.translate(\"editor.textarea\");\n private _divElement = React.createRef<HTMLDivElement>();\n\n /** @internal */\n public override readonly state: Readonly<TextareaEditorState> = {\n inputValue: \"\",\n readonly: false,\n rows: DEFAULT_ROWS,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = await TypeConverterManager.getConverter(record.property.typename).convertFromStringToPropertyValue(this.state.inputValue, record);\n (propertyValue as PrimitiveValue).displayValue = this.state.inputValue;\n }\n\n return propertyValue;\n }\n\n // istanbul ignore next\n public get htmlElement(): HTMLElement | null {\n return this._divElement.current;\n }\n\n // istanbul ignore next\n public get hasFocus(): boolean {\n let containsFocus = false;\n // istanbul ignore else\n if (this._divElement.current)\n containsFocus = this._divElement.current.contains(document.activeElement);\n return containsFocus;\n }\n\n private _updateTextareaValue = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n inputValue: e.target.value,\n });\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const record = this.props.propertyRecord;\n let initialValue = \"\";\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n const value = record.value.value;\n initialValue = await TypeConverterManager.getConverter(record.property.typename).convertPropertyToString(record.property, value);\n }\n\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\n let size: number | undefined;\n let maxLength: number | undefined;\n let rows: number = DEFAULT_ROWS;\n\n const isDisabled = record ? record.isDisabled : undefined;\n\n if (record && record.property && record.property.editor && record.property.editor.params) {\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\n if (editorSizeParams) {\n // istanbul ignore else\n if (editorSizeParams.size)\n size = editorSizeParams.size;\n // istanbul ignore else\n if (editorSizeParams.maxLength)\n maxLength = editorSizeParams.maxLength;\n }\n\n const multilineParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.MultilineText) as MultilineTextEditorParams;\n if (multilineParams) {\n rows = multilineParams.rows;\n }\n }\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState({ inputValue: initialValue, readonly, size, maxLength, isDisabled, rows });\n }\n\n private _handleOk = async (_event: React.MouseEvent): Promise<void> => {\n // istanbul ignore else\n if (this.props.propertyRecord && this.props.onCommit) {\n const propertyValue = await this.getPropertyValue();\n // istanbul ignore else\n if (propertyValue !== undefined) {\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\n }\n }\n };\n\n private _handleCancel = (_event: React.MouseEvent): void => {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n };\n\n /** @internal */\n public override render(): React.ReactNode {\n const className = classnames(\"components-cell-editor\", \"components-textarea-editor\", this.props.className);\n const minSize = this.state.size ? this.state.size : 8;\n const style: React.CSSProperties = {\n ...this.props.style,\n minWidth: `${minSize * 0.75}em`,\n };\n const textareaProps: TextareaProps = {\n className: \"components-textarea-editor-textarea\",\n style,\n rows: this.state.rows,\n readOnly: this.state.readonly,\n disabled: this.state.isDisabled,\n maxLength: this.state.maxLength,\n value: this.state.inputValue,\n onChange: this._updateTextareaValue,\n setFocus: this.props.setFocus && !this.state.isDisabled,\n };\n\n textareaProps[\"aria-label\"] = this._ariaLabel;\n\n return (\n <div className={className} ref={this._divElement}>\n <PopupButton label={this.state.inputValue}\n closeOnEnter={false}\n setFocus={this.props.setFocus} focusTarget=\".iui-input\">\n <PopupContent>\n <Textarea\n {...textareaProps}\n data-testid=\"components-textarea-editor\"\n />\n <PopupOkCancelButtons onOk={this._handleOk} onCancel={this._handleCancel} />\n </PopupContent>\n </PopupButton>\n </div>\n );\n }\n}\n\n/** Textarea Property Editor registered for the \"text\" and \"string\" type names and \"multi-line\" editor name.\n * It uses the [[TextareaEditor]] React component.\n * @public\n */\nexport class TextareaPropertyEditor extends PropertyEditorBase {\n // istanbul ignore next\n public override get containerHandlesBlur(): boolean {\n return false;\n }\n // istanbul ignore next\n public override get containerHandlesEnter(): boolean {\n return false;\n }\n // istanbul ignore next\n public override get containerHandlesTab(): boolean {\n return false;\n }\n\n public get reactNode(): React.ReactNode {\n return <TextareaEditor />;\n }\n}\n\nPropertyEditorManager.registerEditor(StandardTypeNames.Text, TextareaPropertyEditor, StandardEditorNames.MultiLine);\nPropertyEditorManager.registerEditor(StandardTypeNames.String, TextareaPropertyEditor, StandardEditorNames.MultiLine);\n"]}
@@ -4,4 +4,5 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
6
6
 
7
+ $editor-component-height-small: 24px;
7
8
  $editor-iui-input-padding: $uicore-iui-input-padding;
@@ -1,13 +1,37 @@
1
1
  /** @packageDocumentation
2
2
  * @module Favorite
3
3
  */
4
+ import * as React from "react";
4
5
  import { Orientation } from "@itwin/core-react";
5
6
  import { PropertyData } from "../propertygrid/PropertyDataProvider";
7
+ /**
8
+ * Basic recreation of the `createRoot` function type, intentionally not exported.
9
+ */
10
+ type CreateRoot = (container: Element | DocumentFragment) => {
11
+ render(children: React.ReactNode): void;
12
+ };
6
13
  /** Renderer for Favorite Property List
7
14
  * @public
8
15
  */
9
16
  export declare class FavoritePropertiesRenderer {
17
+ /**
18
+ * Evaluates if a PropertyData contain Favorite records.
19
+ * @param propertyData PropertyData containing records
20
+ * @returns true if it contains Favorite records
21
+ */
10
22
  hasFavorites(propertyData: PropertyData): boolean;
11
- renderFavorites(propertyData: PropertyData, orientation?: Orientation): HTMLElement | string;
23
+ /**
24
+ * Allow creating an HTMLElement containing the `<FavoritePropertyList />` component so it can be added outside of a React component (`showCard` is the main expected use)
25
+ *
26
+ * Note: When using React18, in order to remove the `ReactDOM.render` warning you will need to provide the `createRoot` function to this function,
27
+ * the parameter type is intentionally simplified to not depend on React18 type.
28
+ *
29
+ * @param propertyData PropertyData containing Favorite records to display.
30
+ * @param orientation Orientation of the items
31
+ * @param createRoot `createRoot` function imported from `import { createRoot } from "react-dom/client";`
32
+ * @returns a `div` HTMLElement with the `<FavoritePropertyList />` rendered within it.
33
+ */
34
+ renderFavorites(propertyData: PropertyData, orientation?: Orientation, createRoot?: CreateRoot): HTMLElement | string;
12
35
  }
36
+ export {};
13
37
  //# sourceMappingURL=FavoritePropertiesRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritePropertiesRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertiesRenderer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGpE;;GAEG;AACH,qBAAa,0BAA0B;IAE9B,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAIjD,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM;CAKpG"}
1
+ {"version":3,"file":"FavoritePropertiesRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertiesRenderer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGpE;;GAEG;AACH,KAAK,UAAU,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,KAAK;IAC3D,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IAErC;;;;OAIG;IACI,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAIxD;;;;;;;;;;OAUG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM;CAU7H"}
@@ -12,12 +12,34 @@ import { FavoritePropertyList } from "./FavoritePropertyList";
12
12
  * @public
13
13
  */
14
14
  export class FavoritePropertiesRenderer {
15
+ /**
16
+ * Evaluates if a PropertyData contain Favorite records.
17
+ * @param propertyData PropertyData containing records
18
+ * @returns true if it contains Favorite records
19
+ */
15
20
  hasFavorites(propertyData) {
16
21
  return propertyData.records.Favorite !== undefined;
17
22
  }
18
- renderFavorites(propertyData, orientation) {
23
+ /**
24
+ * Allow creating an HTMLElement containing the `<FavoritePropertyList />` component so it can be added outside of a React component (`showCard` is the main expected use)
25
+ *
26
+ * Note: When using React18, in order to remove the `ReactDOM.render` warning you will need to provide the `createRoot` function to this function,
27
+ * the parameter type is intentionally simplified to not depend on React18 type.
28
+ *
29
+ * @param propertyData PropertyData containing Favorite records to display.
30
+ * @param orientation Orientation of the items
31
+ * @param createRoot `createRoot` function imported from `import { createRoot } from "react-dom/client";`
32
+ * @returns a `div` HTMLElement with the `<FavoritePropertyList />` rendered within it.
33
+ */
34
+ renderFavorites(propertyData, orientation, createRoot) {
19
35
  const div = document.createElement("div");
20
- ReactDOM.render(React.createElement(FavoritePropertyList, { propertyData, orientation }, null), div);
36
+ const element = React.createElement(FavoritePropertyList, { propertyData, orientation }, null);
37
+ if (createRoot) {
38
+ createRoot(div).render(element);
39
+ }
40
+ else {
41
+ ReactDOM.render(element, div);
42
+ }
21
43
  return div;
22
44
  }
23
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritePropertiesRenderer.js","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertiesRenderer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAE9B,YAAY,CAAC,YAA0B;QAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrD,CAAC;IAEM,eAAe,CAAC,YAA0B,EAAE,WAAyB;QAC1E,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Favorite\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { PropertyData } from \"../propertygrid/PropertyDataProvider\";\nimport { FavoritePropertyList } from \"./FavoritePropertyList\";\n\n/** Renderer for Favorite Property List\n * @public\n */\nexport class FavoritePropertiesRenderer {\n\n public hasFavorites(propertyData: PropertyData): boolean {\n return propertyData.records.Favorite !== undefined;\n }\n\n public renderFavorites(propertyData: PropertyData, orientation?: Orientation): HTMLElement | string {\n const div = document.createElement(\"div\");\n ReactDOM.render(React.createElement(FavoritePropertyList, { propertyData, orientation }, null), div);\n return div;\n }\n}\n"]}
1
+ {"version":3,"file":"FavoritePropertiesRenderer.js","sourceRoot":"","sources":["../../../../src/components-react/favorite/FavoritePropertiesRenderer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAS9D;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAErC;;;;OAIG;IACI,YAAY,CAAC,YAA0B;QAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrD,CAAC;IAED;;;;;;;;;;OAUG;IACI,eAAe,CAAC,YAA0B,EAAE,WAAyB,EAAE,UAAuB;QACnG,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/F,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACjC;aAAM;YACL,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC/B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Favorite\n */\n\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Orientation } from \"@itwin/core-react\";\nimport { PropertyData } from \"../propertygrid/PropertyDataProvider\";\nimport { FavoritePropertyList } from \"./FavoritePropertyList\";\n\n/**\n * Basic recreation of the `createRoot` function type, intentionally not exported.\n */\ntype CreateRoot = (container: Element | DocumentFragment) => {\n render(children: React.ReactNode): void;\n};\n\n/** Renderer for Favorite Property List\n * @public\n */\nexport class FavoritePropertiesRenderer {\n\n /**\n * Evaluates if a PropertyData contain Favorite records.\n * @param propertyData PropertyData containing records\n * @returns true if it contains Favorite records\n */\n public hasFavorites(propertyData: PropertyData): boolean {\n return propertyData.records.Favorite !== undefined;\n }\n\n /**\n * Allow creating an HTMLElement containing the `<FavoritePropertyList />` component so it can be added outside of a React component (`showCard` is the main expected use)\n *\n * Note: When using React18, in order to remove the `ReactDOM.render` warning you will need to provide the `createRoot` function to this function,\n * the parameter type is intentionally simplified to not depend on React18 type.\n *\n * @param propertyData PropertyData containing Favorite records to display.\n * @param orientation Orientation of the items\n * @param createRoot `createRoot` function imported from `import { createRoot } from \"react-dom/client\";`\n * @returns a `div` HTMLElement with the `<FavoritePropertyList />` rendered within it.\n */\n public renderFavorites(propertyData: PropertyData, orientation?: Orientation, createRoot?: CreateRoot): HTMLElement | string {\n const div = document.createElement(\"div\");\n const element = React.createElement(FavoritePropertyList, { propertyData, orientation }, null);\n if (createRoot) {\n createRoot(div).render(element);\n } else {\n ReactDOM.render(element, div);\n }\n return div;\n }\n}\n"]}
@@ -13,12 +13,11 @@ import { PropertyList } from "../propertygrid/component/PropertyList";
13
13
  * @alpha
14
14
  */
15
15
  export function FavoritePropertyList(props) {
16
- var _a, _b;
17
16
  const [listWidth, setListWidth] = React.useState();
18
17
  const onListResize = React.useCallback(setListWidth, [setListWidth]);
19
18
  if (props.propertyData.records.Favorite !== undefined) {
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;
19
+ const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;
20
+ const orientation = props.orientation ?? Orientation.Horizontal;
22
21
  return (React.createElement("div", { className: "components-favorite-property-list" },
23
22
  React.createElement(ResizableContainerObserver, { onResize: onListResize }),
24
23
  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,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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Favorite\n */\n\nimport * as React from \"react\";\nimport { Orientation, ResizableContainerObserver } from \"@itwin/core-react\";\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\nimport { PropertyList } from \"../propertygrid/component/PropertyList\";\nimport { PropertyData } from \"../propertygrid/PropertyDataProvider\";\n\n/** Properties for [[FavoritePropertyList]] React component\n * @alpha\n */\nexport interface FavoritePropertyListProps {\n propertyData: PropertyData;\n propertyValueRendererManager?: PropertyValueRendererManager;\n orientation?: Orientation;\n}\n\n/** Favorite Property List React component\n * @alpha\n */\nexport function FavoritePropertyList(props: FavoritePropertyListProps) {\n const [listWidth, setListWidth] = React.useState<number | undefined>();\n const onListResize = React.useCallback(setListWidth, [setListWidth]);\n if (props.propertyData.records.Favorite !== undefined) {\n const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\n const orientation = props.orientation ?? Orientation.Horizontal;\n return (\n <div className=\"components-favorite-property-list\">\n <ResizableContainerObserver onResize={onListResize} />\n {listWidth ?\n <PropertyList\n orientation={orientation}\n width={listWidth}\n properties={props.propertyData.records.Favorite}\n columnRatio={1 / 3}\n propertyValueRendererManager={propertyValueRendererManager}\n /> : null}\n </div>\n );\n }\n return null;\n}\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,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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Favorite\n */\n\nimport * as React from \"react\";\nimport { Orientation, ResizableContainerObserver } from \"@itwin/core-react\";\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\nimport { PropertyList } from \"../propertygrid/component/PropertyList\";\nimport { PropertyData } from \"../propertygrid/PropertyDataProvider\";\n\n/** Properties for [[FavoritePropertyList]] React component\n * @alpha\n */\nexport interface FavoritePropertyListProps {\n propertyData: PropertyData;\n propertyValueRendererManager?: PropertyValueRendererManager;\n orientation?: Orientation;\n}\n\n/** Favorite Property List React component\n * @alpha\n */\nexport function FavoritePropertyList(props: FavoritePropertyListProps) {\n const [listWidth, setListWidth] = React.useState<number | undefined>();\n const onListResize = React.useCallback(setListWidth, [setListWidth]);\n if (props.propertyData.records.Favorite !== undefined) {\n const propertyValueRendererManager = props.propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\n const orientation = props.orientation ?? Orientation.Horizontal;\n return (\n <div className=\"components-favorite-property-list\">\n <ResizableContainerObserver onResize={onListResize} />\n {listWidth ?\n <PropertyList\n orientation={orientation}\n width={listWidth}\n properties={props.propertyData.records.Favorite}\n columnRatio={1 / 3}\n propertyValueRendererManager={propertyValueRendererManager}\n /> : null}\n </div>\n );\n }\n return null;\n}\n"]}
@@ -1,41 +1,38 @@
1
+ /** @packageDocumentation
2
+ * @module PropertyFilterBuilder
3
+ */
1
4
  import * as React from "react";
2
5
  import { PropertyDescription } from "@itwin/appui-abstract";
3
6
  import { PropertyFilterBuilderRuleOperatorProps } from "./FilterBuilderRuleOperator";
4
7
  import { PropertyFilterBuilderRuleValueProps } from "./FilterBuilderRuleValue";
5
- import { PropertyFilterBuilderActions, PropertyFilterBuilderRuleGroupItem } from "./FilterBuilderState";
6
8
  import { PropertyFilter } from "./Types";
7
- /** @alpha */
9
+ /**
10
+ * Props for [[PropertyFilterBuilder]] component.
11
+ * @beta
12
+ */
8
13
  export interface PropertyFilterBuilderProps {
14
+ /** List of properties available to be used in filter rules. */
9
15
  properties: PropertyDescription[];
16
+ /** Callback that is invoked when filter changes. */
10
17
  onFilterChanged: (filter?: PropertyFilter) => void;
18
+ /** Callback that is invoked when property is selected in any rule. */
11
19
  onRulePropertySelected?: (property: PropertyDescription) => void;
20
+ /** Custom renderer for rule operator selector. */
12
21
  ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;
22
+ /** Custom renderer for rule value input. */
13
23
  ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;
14
- ruleGroupDepthLimit?: number;
24
+ /** Custom renderer for property selector in rule. */
15
25
  propertyRenderer?: (name: string) => React.ReactNode;
16
- disablePropertySelection?: boolean;
17
- initialFilter?: PropertyFilter;
18
- }
19
- /** @alpha */
20
- export interface PropertyFilterBuilderContextProps {
21
- actions: PropertyFilterBuilderActions;
22
- properties: PropertyDescription[];
23
- onRulePropertySelected?: (property: PropertyDescription) => void;
26
+ /** Specifies how deep rule groups can be nested. */
24
27
  ruleGroupDepthLimit?: number;
28
+ /** Specifies whether component is disabled or not. */
29
+ isDisabled?: boolean;
30
+ /** Initial filter that should be shown when component is mounted. */
31
+ initialFilter?: PropertyFilter;
25
32
  }
26
- /** @alpha */
27
- export declare const PropertyFilterBuilderContext: React.Context<PropertyFilterBuilderContextProps>;
28
- /** @alpha */
29
- export interface PropertyFilterBuilderRuleRenderingContextProps {
30
- ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;
31
- ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;
32
- propertyRenderer?: (name: string) => React.ReactNode;
33
- disablePropertySelection?: boolean;
34
- }
35
- /** @alpha */
36
- export declare const PropertyFilterBuilderRuleRenderingContext: React.Context<PropertyFilterBuilderRuleRenderingContextProps>;
37
- /** @alpha */
33
+ /**
34
+ * Component for building complex filters. It allows to create filter rules or rule groups based on provided list of properties.
35
+ * @beta
36
+ */
38
37
  export declare function PropertyFilterBuilder(props: PropertyFilterBuilderProps): JSX.Element;
39
- /** @internal */
40
- export declare function buildPropertyFilter(groupItem: PropertyFilterBuilderRuleGroupItem): PropertyFilter | undefined;
41
38
  //# sourceMappingURL=FilterBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAC6B,4BAA4B,EAC9D,kCAAkC,EACnC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,aAAa;AACb,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,aAAa;AACb,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,4BAA4B,CAAC;IACtC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,aAAa;AACb,eAAO,MAAM,4BAA4B,kDAAgE,CAAC;AAE1G,aAAa;AACb,MAAM,WAAW,8CAA8C;IAC7D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,sCAAsC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,aAAa;AACb,eAAO,MAAM,yCAAyC,+DAA0E,CAAC;AAIjI,aAAa;AACb,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,eAgCtE;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,kCAAkC,GAAG,cAAc,GAAG,SAAS,CAI7G"}
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"}
@@ -2,19 +2,20 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module PropertyFilterBuilder
7
+ */
5
8
  import * as React from "react";
6
- import { PropertyValueFormat } from "@itwin/appui-abstract";
7
- import { ActiveRuleGroupContext, PropertyFilterBuilderRuleGroupRenderer } from "./FilterBuilderRuleGroup";
8
- import { isPropertyFilterBuilderRuleGroup, usePropertyFilterBuilderState, } from "./FilterBuilderState";
9
- import { isUnaryPropertyFilterOperator } from "./Operators";
10
- /** @alpha */
11
- export const PropertyFilterBuilderContext = React.createContext(null);
12
- /** @alpha */
13
- export const PropertyFilterBuilderRuleRenderingContext = React.createContext({});
9
+ import { ActiveRuleGroupContext, PropertyFilterBuilderContext, PropertyFilterBuilderRuleRenderingContext, useActiveRuleGroupContextProps, } from "./FilterBuilderContext";
10
+ import { PropertyFilterBuilderRuleGroupRenderer } from "./FilterBuilderRuleGroup";
11
+ import { buildPropertyFilter, usePropertyFilterBuilderState } from "./FilterBuilderState";
14
12
  const ROOT_GROUP_PATH = [];
15
- /** @alpha */
13
+ /**
14
+ * Component for building complex filters. It allows to create filter rules or rule groups based on provided list of properties.
15
+ * @beta
16
+ */
16
17
  export function PropertyFilterBuilder(props) {
17
- const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, disablePropertySelection, initialFilter } = props;
18
+ const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, isDisabled, initialFilter } = props;
18
19
  const { state, actions } = usePropertyFilterBuilderState(initialFilter);
19
20
  const rootRef = React.useRef(null);
20
21
  const firstRender = React.useRef(true);
@@ -25,73 +26,11 @@ export function PropertyFilterBuilder(props) {
25
26
  firstRender.current = false;
26
27
  }, [filter, onFilterChanged]);
27
28
  const contextValue = React.useMemo(() => ({ actions, properties, onRulePropertySelected, ruleGroupDepthLimit }), [actions, properties, onRulePropertySelected, ruleGroupDepthLimit]);
28
- const renderingContextValue = React.useMemo(() => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, disablePropertySelection }), [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, disablePropertySelection]);
29
+ const renderingContextValue = React.useMemo(() => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled }), [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled]);
29
30
  return (React.createElement(PropertyFilterBuilderRuleRenderingContext.Provider, { value: renderingContextValue },
30
31
  React.createElement(PropertyFilterBuilderContext.Provider, { value: contextValue },
31
32
  React.createElement(ActiveRuleGroupContext.Provider, { value: useActiveRuleGroupContextProps(rootRef) },
32
33
  React.createElement("div", { ref: rootRef, className: "filter-builder" },
33
34
  React.createElement(PropertyFilterBuilderRuleGroupRenderer, { path: ROOT_GROUP_PATH, group: state.rootGroup }))))));
34
35
  }
35
- /** @internal */
36
- export function buildPropertyFilter(groupItem) {
37
- if (isPropertyFilterBuilderRuleGroup(groupItem))
38
- return buildPropertyFilterFromRuleGroup(groupItem);
39
- return buildPropertyFilterFromRule(groupItem);
40
- }
41
- function buildPropertyFilterFromRuleGroup(rootGroup) {
42
- if (rootGroup.items.length === 0)
43
- return undefined;
44
- const rules = new Array();
45
- for (const item of rootGroup.items) {
46
- const rule = buildPropertyFilter(item);
47
- if (!rule)
48
- return undefined;
49
- rules.push(rule);
50
- }
51
- if (rules.length === 1)
52
- return rules[0];
53
- return {
54
- operator: rootGroup.operator,
55
- rules,
56
- };
57
- }
58
- function buildPropertyFilterFromRule(rule) {
59
- const { property, operator, value } = rule;
60
- if (!property || operator === undefined)
61
- return undefined;
62
- if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))
63
- return undefined;
64
- return { property, operator, value };
65
- }
66
- function useActiveRuleGroupContextProps(rootElementRef) {
67
- const [activeElement, setActiveElement] = React.useState();
68
- const onFocus = React.useCallback((e) => {
69
- e.stopPropagation();
70
- setActiveElement(e.currentTarget);
71
- }, []);
72
- const onBlur = React.useCallback((e) => {
73
- e.stopPropagation();
74
- if (activeElement !== e.currentTarget || (rootElementRef.current && rootElementRef.current.contains(e.relatedTarget)))
75
- return;
76
- setActiveElement(undefined);
77
- }, [activeElement, rootElementRef]);
78
- const onMouseOver = React.useCallback((e) => {
79
- e.stopPropagation();
80
- setActiveElement(e.currentTarget);
81
- }, []);
82
- const onMouseOut = React.useCallback((e) => {
83
- e.stopPropagation();
84
- // istanbul ignore if
85
- if (activeElement !== e.currentTarget)
86
- return;
87
- setActiveElement(undefined);
88
- }, [activeElement]);
89
- return React.useMemo(() => ({
90
- activeElement,
91
- onFocus,
92
- onBlur,
93
- onMouseOver,
94
- onMouseOut,
95
- }), [activeElement, onFocus, onBlur, onMouseOver, onMouseOut]);
96
- }
97
36
  //# sourceMappingURL=FilterBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../../src/components-react/filter-builder/FilterBuilder.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { PropertyDescription, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { ActiveRuleGroupContext, PropertyFilterBuilderRuleGroupRenderer } from \"./FilterBuilderRuleGroup\";\nimport { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\nimport { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\nimport {\n isPropertyFilterBuilderRuleGroup, PropertyFilterBuilderActions, PropertyFilterBuilderRule, PropertyFilterBuilderRuleGroup,\n PropertyFilterBuilderRuleGroupItem, usePropertyFilterBuilderState,\n} from \"./FilterBuilderState\";\nimport { isUnaryPropertyFilterOperator } from \"./Operators\";\nimport { PropertyFilter } from \"./Types\";\n\n/** @alpha */\nexport interface PropertyFilterBuilderProps {\n properties: PropertyDescription[];\n onFilterChanged: (filter?: PropertyFilter) => void;\n onRulePropertySelected?: (property: PropertyDescription) => void;\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\n ruleGroupDepthLimit?: number;\n propertyRenderer?: (name: string) => React.ReactNode;\n disablePropertySelection?: boolean;\n initialFilter?: PropertyFilter;\n}\n\n/** @alpha */\nexport interface PropertyFilterBuilderContextProps {\n actions: PropertyFilterBuilderActions;\n properties: PropertyDescription[];\n onRulePropertySelected?: (property: PropertyDescription) => void;\n ruleGroupDepthLimit?: number;\n}\n\n/** @alpha */\nexport const PropertyFilterBuilderContext = React.createContext<PropertyFilterBuilderContextProps>(null!);\n\n/** @alpha */\nexport interface PropertyFilterBuilderRuleRenderingContextProps {\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\n propertyRenderer?: (name: string) => React.ReactNode;\n disablePropertySelection?: boolean;\n}\n\n/** @alpha */\nexport const PropertyFilterBuilderRuleRenderingContext = React.createContext<PropertyFilterBuilderRuleRenderingContextProps>({});\n\nconst ROOT_GROUP_PATH: string[] = [];\n\n/** @alpha */\nexport function PropertyFilterBuilder(props: PropertyFilterBuilderProps) {\n const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, disablePropertySelection, initialFilter } = props;\n const { state, actions } = usePropertyFilterBuilderState(initialFilter);\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const firstRender = React.useRef(true);\n const filter = React.useMemo(() => buildPropertyFilter(state.rootGroup), [state]);\n React.useEffect(() => {\n if (!firstRender.current)\n onFilterChanged(filter);\n firstRender.current = false;\n }, [filter, onFilterChanged]);\n\n const contextValue = React.useMemo<PropertyFilterBuilderContextProps>(\n () => ({ actions, properties, onRulePropertySelected, ruleGroupDepthLimit }),\n [actions, properties, onRulePropertySelected, ruleGroupDepthLimit]\n );\n const renderingContextValue = React.useMemo<PropertyFilterBuilderRuleRenderingContextProps>(\n () => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, disablePropertySelection }),\n [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, disablePropertySelection]\n );\n return (\n <PropertyFilterBuilderRuleRenderingContext.Provider value={renderingContextValue}>\n <PropertyFilterBuilderContext.Provider value={contextValue}>\n <ActiveRuleGroupContext.Provider value={useActiveRuleGroupContextProps(rootRef)}>\n <div ref={rootRef} className=\"filter-builder\">\n <PropertyFilterBuilderRuleGroupRenderer path={ROOT_GROUP_PATH} group={state.rootGroup} />\n </div>\n </ActiveRuleGroupContext.Provider>\n </PropertyFilterBuilderContext.Provider>\n </PropertyFilterBuilderRuleRenderingContext.Provider>\n );\n}\n\n/** @internal */\nexport function buildPropertyFilter(groupItem: PropertyFilterBuilderRuleGroupItem): PropertyFilter | undefined {\n if (isPropertyFilterBuilderRuleGroup(groupItem))\n return buildPropertyFilterFromRuleGroup(groupItem);\n return buildPropertyFilterFromRule(groupItem);\n}\n\nfunction buildPropertyFilterFromRuleGroup(rootGroup: PropertyFilterBuilderRuleGroup): PropertyFilter | undefined {\n if (rootGroup.items.length === 0)\n return undefined;\n\n const rules = new Array<PropertyFilter>();\n for (const item of rootGroup.items) {\n const rule = buildPropertyFilter(item);\n if (!rule)\n return undefined;\n rules.push(rule);\n }\n\n if (rules.length === 1)\n return rules[0];\n\n return {\n operator: rootGroup.operator,\n rules,\n };\n}\n\nfunction buildPropertyFilterFromRule(rule: PropertyFilterBuilderRule): PropertyFilter | undefined {\n const { property, operator, value } = rule;\n if (!property || operator === undefined)\n return undefined;\n\n if (!isUnaryPropertyFilterOperator(operator) && (value === undefined || value.valueFormat !== PropertyValueFormat.Primitive || value.value === undefined))\n return undefined;\n\n return { property, operator, value };\n}\n\nfunction useActiveRuleGroupContextProps(rootElementRef: React.RefObject<HTMLElement>) {\n const [activeElement, setActiveElement] = React.useState<HTMLElement | undefined>();\n\n const onFocus: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\n e.stopPropagation();\n setActiveElement(e.currentTarget);\n }, []);\n\n const onBlur: React.FocusEventHandler<HTMLElement> = React.useCallback((e) => {\n e.stopPropagation();\n if (activeElement !== e.currentTarget || (rootElementRef.current && rootElementRef.current.contains(e.relatedTarget)))\n return;\n\n setActiveElement(undefined);\n }, [activeElement, rootElementRef]);\n\n const onMouseOver: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\n e.stopPropagation();\n setActiveElement(e.currentTarget);\n }, []);\n\n const onMouseOut: React.MouseEventHandler<HTMLElement> = React.useCallback((e) => {\n e.stopPropagation();\n // istanbul ignore if\n if (activeElement !== e.currentTarget)\n return;\n\n setActiveElement(undefined);\n }, [activeElement]);\n\n return React.useMemo(() => ({\n activeElement,\n onFocus,\n onBlur,\n onMouseOver,\n onMouseOut,\n }), [activeElement, onFocus, onBlur, onMouseOver, onMouseOut]);\n}\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;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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyFilterBuilder\n */\n\nimport * as React from \"react\";\nimport { PropertyDescription } from \"@itwin/appui-abstract\";\nimport {\n ActiveRuleGroupContext, PropertyFilterBuilderContext, PropertyFilterBuilderContextProps, PropertyFilterBuilderRuleRenderingContext,\n PropertyFilterBuilderRuleRenderingContextProps, useActiveRuleGroupContextProps,\n} from \"./FilterBuilderContext\";\nimport { PropertyFilterBuilderRuleGroupRenderer } from \"./FilterBuilderRuleGroup\";\nimport { PropertyFilterBuilderRuleOperatorProps } from \"./FilterBuilderRuleOperator\";\nimport { PropertyFilterBuilderRuleValueProps } from \"./FilterBuilderRuleValue\";\nimport { buildPropertyFilter, usePropertyFilterBuilderState } from \"./FilterBuilderState\";\nimport { PropertyFilter } from \"./Types\";\n\n/**\n * Props for [[PropertyFilterBuilder]] component.\n * @beta\n */\nexport interface PropertyFilterBuilderProps {\n /** List of properties available to be used in filter rules. */\n properties: PropertyDescription[];\n /** Callback that is invoked when filter changes. */\n onFilterChanged: (filter?: PropertyFilter) => void;\n /** Callback that is invoked when property is selected in any rule. */\n onRulePropertySelected?: (property: PropertyDescription) => void;\n /** Custom renderer for rule operator selector. */\n ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;\n /** Custom renderer for rule value input. */\n ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;\n /** Custom renderer for property selector in rule. */\n propertyRenderer?: (name: string) => React.ReactNode;\n /** Specifies how deep rule groups can be nested. */\n ruleGroupDepthLimit?: number;\n /** Specifies whether component is disabled or not. */\n isDisabled?: boolean;\n /** Initial filter that should be shown when component is mounted. */\n initialFilter?: PropertyFilter;\n}\n\nconst ROOT_GROUP_PATH: string[] = [];\n\n/**\n * Component for building complex filters. It allows to create filter rules or rule groups based on provided list of properties.\n * @beta\n */\nexport function PropertyFilterBuilder(props: PropertyFilterBuilderProps) {\n const { properties, onFilterChanged, onRulePropertySelected, ruleOperatorRenderer, ruleValueRenderer, ruleGroupDepthLimit, propertyRenderer, isDisabled, initialFilter } = props;\n const { state, actions } = usePropertyFilterBuilderState(initialFilter);\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const firstRender = React.useRef(true);\n const filter = React.useMemo(() => buildPropertyFilter(state.rootGroup), [state]);\n React.useEffect(() => {\n if (!firstRender.current)\n onFilterChanged(filter);\n firstRender.current = false;\n }, [filter, onFilterChanged]);\n\n const contextValue = React.useMemo<PropertyFilterBuilderContextProps>(\n () => ({ actions, properties, onRulePropertySelected, ruleGroupDepthLimit }),\n [actions, properties, onRulePropertySelected, ruleGroupDepthLimit]\n );\n const renderingContextValue = React.useMemo<PropertyFilterBuilderRuleRenderingContextProps>(\n () => ({ ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled }),\n [ruleOperatorRenderer, ruleValueRenderer, propertyRenderer, isDisabled]\n );\n return (\n <PropertyFilterBuilderRuleRenderingContext.Provider value={renderingContextValue}>\n <PropertyFilterBuilderContext.Provider value={contextValue}>\n <ActiveRuleGroupContext.Provider value={useActiveRuleGroupContextProps(rootRef)}>\n <div ref={rootRef} className=\"filter-builder\">\n <PropertyFilterBuilderRuleGroupRenderer path={ROOT_GROUP_PATH} group={state.rootGroup} />\n </div>\n </ActiveRuleGroupContext.Provider>\n </PropertyFilterBuilderContext.Provider>\n </PropertyFilterBuilderRuleRenderingContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,80 @@
1
+ /** @packageDocumentation
2
+ * @module PropertyFilterBuilder
3
+ */
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";
9
+ /**
10
+ * Data structure that describes [[PropertyFilterBuilderContext]] value.
11
+ * @internal
12
+ */
13
+ export interface PropertyFilterBuilderContextProps {
14
+ /** Actions for modifying [[PropertyFilterBuilder]] state. */
15
+ actions: PropertyFilterBuilderActions;
16
+ /** List of available properties. */
17
+ properties: PropertyDescription[];
18
+ /** Callback to invoke when property is selected in any rule. */
19
+ onRulePropertySelected?: (property: PropertyDescription) => void;
20
+ /** Specifies how deep rule groups can be nested. */
21
+ ruleGroupDepthLimit?: number;
22
+ }
23
+ /**
24
+ * Context used to store data for rules and rule groups rendered inside [[PropertyFilterBuilder]] component.
25
+ * @internal
26
+ */
27
+ export declare const PropertyFilterBuilderContext: React.Context<PropertyFilterBuilderContextProps>;
28
+ /**
29
+ * Data structure that describes [[PropertyFilterBuilderRuleRenderingContext]] value.
30
+ * @internal
31
+ */
32
+ export interface PropertyFilterBuilderRuleRenderingContextProps {
33
+ /** Custom renderer for operator selector in rule. */
34
+ ruleOperatorRenderer?: (props: PropertyFilterBuilderRuleOperatorProps) => React.ReactNode;
35
+ /** Custom renderer for value input in rule. */
36
+ ruleValueRenderer?: (props: PropertyFilterBuilderRuleValueProps) => React.ReactNode;
37
+ /** Custom renderer for property selector in rule. */
38
+ propertyRenderer?: (name: string) => React.ReactNode;
39
+ /** Specifies that properties selection is disabled. */
40
+ isDisabled?: boolean;
41
+ }
42
+ /**
43
+ * Context for rendering rules and rule groups inside [[PropertyFilterBuilder]] component.
44
+ * @internal
45
+ */
46
+ export declare const PropertyFilterBuilderRuleRenderingContext: React.Context<PropertyFilterBuilderRuleRenderingContextProps>;
47
+ /**
48
+ * Data structure that describes value of [[ActiveRuleGroupContext]].
49
+ * @internal
50
+ */
51
+ export interface ActiveRuleGroupContextProps {
52
+ /** Element of currently active rule group. */
53
+ activeElement: HTMLElement | undefined;
54
+ /** Even handler for rule group element 'onFocus' event */
55
+ onFocus: React.FocusEventHandler<HTMLElement>;
56
+ /** Even handler for rule group element 'onBlur' event */
57
+ onBlur: React.FocusEventHandler<HTMLElement>;
58
+ /** Even handler for rule group element 'onMouseOver' event */
59
+ onMouseOver: React.MouseEventHandler<HTMLElement>;
60
+ /** Even handler for rule group element 'onMouseOut' event */
61
+ onMouseOut: React.MouseEventHandler<HTMLElement>;
62
+ }
63
+ /**
64
+ * Context for tracking and storing active rule group in [[PropertyFilterBuilder]].
65
+ * Group is considered active if it is focused or hovered.
66
+ * @internal
67
+ */
68
+ export declare const ActiveRuleGroupContext: React.Context<ActiveRuleGroupContextProps>;
69
+ /**
70
+ * Custom hook that created value for [[ActiveRuleGroupContext]].
71
+ * @internal
72
+ */
73
+ export declare function useActiveRuleGroupContextProps(rootElementRef: React.RefObject<HTMLElement>): {
74
+ activeElement: HTMLElement | undefined;
75
+ onFocus: React.FocusEventHandler<HTMLElement>;
76
+ onBlur: React.FocusEventHandler<HTMLElement>;
77
+ onMouseOver: React.MouseEventHandler<HTMLElement>;
78
+ onMouseOut: React.MouseEventHandler<HTMLElement>;
79
+ };
80
+ //# sourceMappingURL=FilterBuilderContext.d.ts.map